Orodha ya maudhui:

HackerBox 0024: Maono ya Maono: Hatua 11
HackerBox 0024: Maono ya Maono: Hatua 11

Video: HackerBox 0024: Maono ya Maono: Hatua 11

Video: HackerBox 0024: Maono ya Maono: Hatua 11
Video: HackerBox #0024: Vision Quest 2024, Julai
Anonim
HackerBox 0024: Maono ya Maono
HackerBox 0024: Maono ya Maono

Jaribio la Maono - Mwezi huu, wadukuzi wa HackerBox wanajaribu na Maono ya Kompyuta na Ufuatiliaji wa Mwendo wa Servo. Inayoweza kufundishwa ina habari ya kufanya kazi na HackerBox # 0024, ambayo unaweza kuchukua hapa wakati vifaa vinadumu. Pia, ikiwa ungependa kupokea HackerBox kama hii kwenye sanduku lako la barua kila mwezi, tafadhali jiandikishe kwenye HackerBoxes.com na ujiunge na mapinduzi!

Mada na Malengo ya Kujifunza ya HackerBox 0024:

  • Kujaribu Maono ya Kompyuta
  • Kuanzisha OpenCV (Maono ya Kompyuta)
  • Kupanga Arduino Nano kutoka IDE ya Arduino
  • Kudhibiti Servo Motors na Arduino Nano
  • Kukusanya Pan ya Mitambo na Kusanyiko la Kuelekeza
  • Kudhibiti Pan na Tilt Motion na Microcontroller
  • Inafanya Ufuatiliaji wa Uso ukitumia OpenCV

HackerBoxes ni huduma ya sanduku la usajili la kila mwezi kwa vifaa vya elektroniki vya DIY na teknolojia ya kompyuta. Sisi ni watendaji wa hobby, watunga, na majaribio. Sisi ndio waotaji wa ndoto. HACK Sayari!

Hatua ya 1: HackerBox 0024: Yaliyomo ndani ya kisanduku

HackerBox 0024: Yaliyomo kwenye Sanduku
HackerBox 0024: Yaliyomo kwenye Sanduku
  • HackerBoxes # 0024 Kadi ya Marejeleo inayokusanywa
  • Pan ya Bracket tatu na Mkutano wa Tilt
  • MG996R Servos mbili na Vifaa
  • Vipande viwili vya Aluminium Servo Couplers
  • Arduino Nano V3 - 5V, 16MHz, MicroUSB
  • Mkutano wa Kamera ya dijiti na Cable ya USB
  • Lenses tatu na Universal Clip Mount
  • Nuru ya Kalamu ya Ukaguzi wa Matibabu
  • Wanarukaji wa Dume / Waume wa Dupont
  • Cable ya MicroUSB
  • Maamuzi ya kipekee ya OpenCV
  • Daraja la kipekee la Dia de Muertos

Vitu vingine ambavyo vitasaidia:

  • Ndogo chakavu cha bodi ya mbao kwa wigo wa kamera
  • Chuma cha kulehemu, solder, na zana za msingi za kutengenezea
  • Kompyuta ya kuendesha zana za programu

Jambo muhimu zaidi, utahitaji hali ya kujifurahisha, roho ya DIY, na udadisi wa hacker. Elektroniki ngumu ya DIY sio jambo dogo, na hatutoi maji kwa ajili yako. Lengo ni maendeleo, sio ukamilifu. Unapoendelea na kufurahiya raha hiyo, kuridhika sana kunaweza kupatikana kutokana na kujifunza teknolojia mpya na kwa matumaini kupata miradi kadhaa ikifanya kazi. Tunashauri kuchukua kila hatua pole pole, tukizingatia maelezo, na usisite kamwe kuomba msaada.

MASWALI YANAYoulizwa Mara kwa Mara: Tunapenda kuwauliza washiriki wote wa HackerBox neema kubwa sana. Tafadhali chukua dakika chache kukagua Maswali Yanayoulizwa Sana kwenye wavuti ya HackerBoxes kabla ya kuwasiliana na msaada. Ingawa sisi ni wazi tunataka kuwasaidia washiriki wote kadri inahitajika, barua pepe zetu nyingi za msaada zinajumuisha maswali rahisi ambayo yameangaziwa wazi katika Maswali Yanayoulizwa Sana. Asante kwa kuelewa!

Hatua ya 2: Maono ya Kompyuta

Maono ya Kompyuta
Maono ya Kompyuta

Maono ya kompyuta ni uwanja wa taaluma mbali mbali unaoshughulikia jinsi kompyuta hupata uelewa wa hali ya juu kutoka kwa picha au video za dijiti. Kwa mtazamo wa uhandisi, maono ya kompyuta hutafuta kugeuza majukumu ambayo mfumo wa kuona wa mwanadamu unaweza kufanya. Kama nidhamu ya kisayansi, maono ya kompyuta yanahusika na nadharia nyuma ya mifumo bandia ambayo hutoa habari kutoka kwa picha. Takwimu za picha zinaweza kuchukua aina nyingi, kama mfuatano wa video, maoni kutoka kwa kamera nyingi, au data anuwai kutoka kwa skana ya matibabu. Kama nidhamu ya kiteknolojia, maono ya kompyuta hutafuta kutumia nadharia zake na mifano kwa ujenzi wa mifumo ya maono ya kompyuta. Sehemu ndogo za maono ya kompyuta ni pamoja na ujenzi wa eneo, kugundua hafla, ufuatiliaji wa video, utambuzi wa kitu, makadirio ya pose ya 3D, ujifunzaji, kuorodhesha hesabu ya mwendo, na urejesho wa picha.

Inafurahisha kugundua kuwa maono ya kompyuta yanaweza kuzingatiwa kuwa inverse ya picha za kompyuta.

Hatua ya 3: Usindikaji na OpenCV

Usindikaji na OpenCV
Usindikaji na OpenCV

Usindikaji ni kitabu cha sketchbook rahisi na lugha ya kujifunza jinsi ya kuweka nambari ndani ya muktadha wa sanaa ya kuona. Usindikaji umeendeleza kusoma na kuandika programu ndani ya sanaa ya kuona na kusoma kwa kuona ndani ya teknolojia. Kuna makumi ya maelfu ya wanafunzi, wasanii, wabunifu, watafiti, na hobbyists ambao hutumia Usindikaji kwa ujifunzaji na mfano.

OpenCV (Open Source Computer Vision Library) ni maono ya wazi ya kompyuta na maktaba ya programu ya kujifunza mashine. OpenCV ilijengwa kutoa miundombinu ya kawaida kwa matumizi ya maono ya kompyuta na kuharakisha utumiaji wa mtazamo wa mashine katika bidhaa za kibiashara. Maktaba ya OpenCV ina zaidi ya maumbo bora ya 2500, ambayo ni pamoja na seti kamili ya maono ya kompyuta ya hali ya juu na ya hali ya juu na algorithms ya ujifunzaji wa mashine. Hizi algorithms zinaweza kutumiwa kugundua na kutambua nyuso, kutambua vitu, kuainisha vitendo vya wanadamu kwenye video, kufuatilia harakati za kamera, kufuatilia vitu vinavyohamia, na kadhalika.

Sakinisha OpenCV ndani ya Usindikaji kutoka kwenye Faili> Menyu ya Mifano kwa kuchagua "Ongeza Mifano" na kisha chini ya kichupo cha Maktaba kusanikisha Video na maktaba ya OpenCV. Fungua mfano wa LiveCamTest kwa ufuatiliaji wa msingi wa uso. Angalia OpenCV nyingine kwa mifano ya Usindikaji hapa.

Rasilimali Zaidi:

Kuanza na Maono ya Kompyuta ni mradi wa kitabu unaotoa kiingilio rahisi cha majaribio ya ubunifu na maono ya kompyuta. Inaleta nambari na dhana zinazohitajika kujenga miradi ya maono ya kompyuta.

Kupanga Maono ya Kompyuta na Python ni kitabu cha O'Reilly kwenye PCV, moduli ya chanzo wazi ya Python kwa maono ya kompyuta.

Kujifunza OpenCV

Maono ya Kompyuta: Algorithms na Matumizi

Kusimamia OpenCV

Kozi ya Stanford CS231n Mitandao ya Neural ya kubadilika kwa Utambuzi wa Kuona (Video 16)

Chris Urmson TED Ongea Jinsi gari lisilo na dereva linaona barabara

Hatua ya 4: Jukwaa la Microcontroller la Arduino Nano

Jukwaa la Microcontroller la Arduino Nano
Jukwaa la Microcontroller la Arduino Nano

Tunaweza kutumia jukwaa lolote la kawaida la kudhibiti kudhibiti servos kwenye sufuria yetu na kuinua mlima wa kamera. Arduino Nano ni mlima wa uso, wa kupendeza wa mkate, bodi ya Arduino yenye miniaturized na USB iliyojumuishwa. Ni ya kushangaza kamili iliyoonyeshwa na rahisi kudukua.

vipengele:

  • Mdhibiti Mdogo: Atmel ATmega328P
  • Voltage: 5V
  • Pini za I / O za Dijitali: 14 (6 PWM)
  • Pini za Kuingiza Analog: 8
  • DC ya sasa kwa Pin ya I / O: 40 mA
  • Kiwango cha Kumbukumbu: 32 KB (2KB kwa bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Kasi ya Saa: 16 MHz
  • Vipimo: 17mm x 43mm

Tofauti hii ya Arduino Nano ni muundo mweusi wa Robotdyn. Muunganisho huo ni kwa bandari ya MicroUSB iliyo kwenye bodi ambayo inaambatana na nyaya zile zile za MicroUSB zinazotumiwa na simu nyingi na vidonge.

Nanos za Arduino zinajumuisha chip ya daraja la USB / Serial. Kwenye tofauti hii, chip ya daraja ni CH340G. Kumbuka kuwa kuna aina zingine za chipu za daraja za USB / Serial zinazotumiwa kwenye aina anuwai za bodi za Arduino. Chips hizi hukuruhusu bandari ya USB ya kompyuta kuwasiliana na kiolesura cha serial kwenye chip ya processor ya Arduino.

Mfumo wa uendeshaji wa kompyuta unahitaji Dereva wa Kifaa kuwasiliana na chip ya USB / Serial. Dereva anaruhusu IDE kuwasiliana na bodi ya Arduino. Dereva maalum ya kifaa ambayo inahitajika inategemea toleo la OS na pia aina ya chip ya USB / Serial. Kwa CH340 USB / Serial chips, kuna madereva yanayopatikana kwa mifumo mingi ya uendeshaji (UNIX, Mac OS X, au Windows). Mtengenezaji wa CH340 hutoa madereva haya hapa.

Wakati wa kwanza kuziba Arduino Nano kwenye bandari ya USB ya kompyuta yako, taa ya nguvu ya kijani inapaswa kuwaka na muda mfupi baada ya mwangaza wa bluu kuanza kuangaza polepole. Hii hufanyika kwa sababu Nano imepakiwa mapema na programu ya BLINK, ambayo inaendesha Arduino Nano mpya kabisa.

Hatua ya 5: Mazingira ya Jumuishi ya Maendeleo (IDE)

Mazingira ya Jumuishi ya Maendeleo (IDE)
Mazingira ya Jumuishi ya Maendeleo (IDE)

Ikiwa bado haujaweka IDE ya Arduino, unaweza kuipakua kutoka Arduino.cc

Ikiwa ungependa maelezo ya ziada ya utangulizi ya kufanya kazi katika mazingira ya Arduino, tunashauri kuangalia maagizo ya Warsha ya Starter ya HackerBoxes.

Chomeka Nano kwenye kebo ya MicroUSB na mwisho mwingine wa kebo kwenye bandari ya USB kwenye kompyuta, uzindue programu ya Arduino IDE, chagua bandari inayofaa ya USB kwenye IDE chini ya zana> bandari (jina linalowezekana na "wchusb" ndani yake). Chagua pia "Arduino Nano" katika IDE chini ya zana> bodi.

Mwishowe, pakia kipande cha nambari ya mfano:

Faili-> Mifano-> Misingi-> Blink

Kwa kweli hii ni nambari ambayo ilipakiwa mapema kwenye Nano na inapaswa kuendeshwa sasa hivi ili kupepesa polepole LED ya samawati. Ipasavyo, ikiwa tutapakia nambari hii ya mfano, hakuna kitu kitabadilika. Badala yake, wacha tubadilishe nambari kidogo.

Kuangalia kwa karibu, unaweza kuona kuwa programu inawasha LED, inasubiri milliseconds 1000 (sekunde moja), inazima LED, inasubiri sekunde nyingine, halafu inafanya tena - milele.

Rekebisha msimbo kwa kubadilisha taarifa zote mbili za "kuchelewesha (1000) kuwa" kuchelewesha (100) ". Marekebisho haya yatasababisha LED kuangaza kwa kasi mara kumi, sivyo?

Wacha tupakie nambari iliyobadilishwa kwenye Nano kwa kubofya kitufe cha "PAKUA" (aikoni ya mshale) juu tu ya nambari yako iliyobadilishwa. Tazama hapa chini nambari ya maelezo ya hali: "kuandaa" na kisha "kupakia". Hatimaye, IDE inapaswa kuonyesha "Kupakia Kukamilisha" na LED yako inapaswa kuangaza haraka.

Ikiwa ndivyo, hongera! Umebadilisha tu kipande chako cha kwanza cha nambari iliyoingizwa.

Mara tu toleo lako la kupepesa haraka likiwa limebeba na kufanya kazi, kwanini usione ikiwa unaweza kubadilisha nambari tena ili kusababisha LED kuangaza haraka mara mbili na kisha subiri sekunde kadhaa kabla ya kurudia? Jaribu! Je! Vipi kuhusu mifumo mingine? Mara tu unapofanikiwa kuibua matokeo unayotaka, kuiweka kificho, na kuyatazama ili kufanya kazi kama ilivyopangwa, umechukua hatua kubwa kuelekea kuwa mwindaji mahiri wa vifaa.

Hatua ya 6: Servo Motors

Servo Motors
Servo Motors

Motors za Servo kwa ujumla hudhibitiwa na mfululizo wa mapigo ya umeme ambayo upana wa kunde huonyesha msimamo wa servo. Ishara ya kudhibiti upana wa mpigo (PWM) mara nyingi hutengenezwa na mdhibiti mdogo wa kawaida kama Arduino.

Huduma ndogo za kupendeza, kama vile MG996R, zimeunganishwa kupitia unganisho la kawaida la waya tatu: waya mbili za usambazaji wa umeme wa DC na waya moja wa kubeba vidonda vya kudhibiti. Servos za MG996R zina hasira ya voltage ya uendeshaji ya 4.8-7.2 VDC.

Hatua ya 7: Kukusanya Mfumo wa Pan na Tilt

Kukusanya Pan na Tilt Mechanism
Kukusanya Pan na Tilt Mechanism
  1. Vuta servos zote za MG996R kutoka kwenye mifuko yao na uweke kando vifaa vilivyojumuishwa kwa sasa.
  2. Ambatisha alumini, servo coupler ya duara kwa kila servo. Kumbuka kuwa waunganishaji huja katika mifuko tofauti kutoka kwa servos. Coupler ni fit sana. Anza kwa kubonyeza coupler hadi mwisho wa pato la servo na kisha unganisha screw kwenye shimo la katikati. Kaza uzi ili kuteka coupler kwenye pato la servo.
  3. Kumbuka kuwa kuna mabano matatu kwa mkutano wa kuteleza - mabano mawili ya sanduku na bracket moja ya U.
  4. Weka moja ya mabano kwenye sanduku la alumini kwa moja ya servos. Tutaita servo hii pan servo. Elekeza kisanduku-mabano na ukuta wake wa katikati dhidi ya mduara wa aluminium ili kwamba kuta zingine mbili za mabano ya sanduku ziangalie mbali na servo ya pan. Tumia mashimo ya katikati kwenye ukuta wa kati wa bracket ya sanduku. Mpangilio huu unapaswa kuruhusu sufuria servo kuzunguka sanduku-bracket iliyoambatanishwa karibu mara itakapotekelezwa.
  5. Weka servo nyingine (tilt servo) ndani ya bracket ya sanduku ambayo imeambatanishwa na duara la aluminium ya ser ser. Tumia angalau karanga mbili na bolts kubandika servo ya kuelekeza - moja kwa kila upande.
  6. Kushikilia bracket ya U, ingiza shaba "kuzaa" kutoka ndani ya U kupitia moja ya mashimo makubwa ya kufunga.
  7. Weka bracket ya U na kubeba kwenye servo ya kuelekeza ambayo iko ndani ya bracket ya sanduku kama kwamba shimo lingine kubwa linalopanda (ambalo halina kuzaa) linalingana na mduara wa alumini kwenye servo ya kuelekeza.
  8. Tumia screws kubandika U-bracket kwenye mduara wa aluminium upande mmoja wa U-bracket.
  9. Kwa upande mwingine wa bracket ya U, kaza screw moja kupitia kuzaa na ndani ya shimo dogo kwenye bracket ndani. Hii inapaswa kuruhusu U-bracket kuzunguka karibu na sanduku-bracket baadaye wakati servo ya kuinama inapoendeshwa.

Hatua ya 8: Kuweka Mkutano wa Pan na Tilt

Kuweka Mkutano wa Pan na Tilt
Kuweka Mkutano wa Pan na Tilt
Kuweka Mkutano wa Pan na Tilt
Kuweka Mkutano wa Pan na Tilt

Sanduku-bracket iliyobaki inaweza kukandamizwa chini kwa chakavu kidogo cha bodi ya mbao ili kutumika kama msingi wa kamera kama inavyoonyeshwa kwenye picha. Mwishowe, pan servo imewekwa ndani ya bracket iliyobaki ya sanduku ikitumia angalau karanga mbili na bolts kuweka servo kwenye bracket - moja kila upande.

Hatua ya 9: Waya na Jaribu Mkutano wa Pan na Tilt

Waya na Jaribu Mkutano wa Pan na Tilt
Waya na Jaribu Mkutano wa Pan na Tilt

Ili waya servos kulingana na mpango, ni haraka zaidi kukata tu viunganishi vya kike vya asili kutoka kwa servos na kisha utumie jumper ya kike ya DuPont kuishia kupata ishara na mistari ya ardhini iliyowekwa kwenye pini za Nano.

Nano haina sasa ya kutosha kwenye usambazaji wa 5V kuwezesha servos kutoka USB, kwa hivyo usambazaji wa ziada unapendekezwa. Hii inaweza kuwa chochote katika anuwai ya Volt 4.8-7.2. Kwa mfano, betri nne za AA (katika safu) zitafanya kazi vizuri. Ugavi wa benchi au wart ya ukuta pia ni chaguo nzuri.

Mfano rahisi wa nambari ya Arduino iliyoambatanishwa hapa kama PanTiltTest.ino inaweza kutumika kupima udhibiti wa servos mbili kutoka kwa mfuatiliaji wa serial kwenye IDE ya Arduino. Weka kiwango cha baud ya kufuatilia ili ilingane na 9600bps zilizowekwa kwenye nambari ya mfano. Kuingiza maadili ya pembe kati ya digrii 0 na 180 kutaweka servos ipasavyo.

Mwishowe, Moduli ya Kamera ya USB (au sensa nyingine) inaweza kuwekwa kwenye U-Bracket ya Bunge la Pan-Tilt kwa matumizi ya ufuatiliaji wa programu.

Hatua ya 10: Ufuatiliaji wa uso na OpenCV

Image
Image
Hack Sayari
Hack Sayari

Mfumo wa ufuatiliaji wa ufuatiliaji wa mashine unaweza kutekelezwa kwa kuchanganya mifumo ndogo kama inavyoonyeshwa kwenye mchoro wa block. Mchoro wa SerialServoControl wa Arduino unaweza kupatikana katika mafunzo yafuatayo ya Sparkfun pamoja na onyesho linalohusiana kutumia OpenCV, Usindikaji, Arduino, Kamera ya USB, na Mkutano wa Pan / Tilt kufuatilia uso wa mwanadamu. Demo hutumia servos mbili kuweka tena kamera ili kuweka uso katikati ya fremu ya video hata wakati mtumiaji anahama kwenye chumba. Kwa mfano nambari katika C #, angalia hifadhi ya GitHub ya video ya CamBot.

Hatua ya 11: Hack Sayari

Ikiwa umefurahiya hii inayoweza kusomeka na ungependa kuwa na sanduku la miradi ya elektroniki na teknolojia ya kompyuta kama hii iliyotolewa kwenye sanduku lako la barua kila mwezi, tafadhali jiunge nasi kwa KUJISALITISHA HAPA.

Fikia na ushiriki mafanikio yako katika maoni hapa chini au kwenye Ukurasa wa Facebook wa HackerBoxes. Hakika tujulishe ikiwa una maswali yoyote au unahitaji msaada wowote kwa chochote. Asante kwa kuwa sehemu ya HackerBoxes. Tafadhali weka maoni yako na maoni yako yaje. HackerBoxes ni masanduku YAKO. Wacha tufanye kitu kizuri!

Ilipendekeza: