Cov txheej txheem:

Yooj Yim Arduino Robotics Platform!: 5 Kauj Ruam
Yooj Yim Arduino Robotics Platform!: 5 Kauj Ruam

Video: Yooj Yim Arduino Robotics Platform!: 5 Kauj Ruam

Video: Yooj Yim Arduino Robotics Platform!: 5 Kauj Ruam
Video: Table Soccer || Kev lom zem. ຄວາມມັນຫຼັງຈາກເລີກວຽກ 2024, Lub Xya hli ntuj
Anonim
Yooj Yim Arduino Robotics Platform!
Yooj Yim Arduino Robotics Platform!
Yooj Yim Arduino Robotics Platform!
Yooj Yim Arduino Robotics Platform!

Kuv nyuam qhuav tau txais Arduino tom qab ua si ib puag ncig nrog qee tus AVR microcontrollers thaum Robotics pab pawg sib tham. Kuv nyiam lub tswv yim ntawm qhov pheej yig programmable nti uas tuaj yeem ua haujlwm tsuas yog txhua yam los ntawm kev siv lub khoos phis tawj yooj yim yog li kuv tau txais Arduino vim tias nws twb muaj lub rooj tsav xwm zoo thiab USB interface. Rau kuv thawj qhov haujlwm Arduino, Kuv tau khawb Vex Robotics cov khoom kuv tau tso ib puag ncig los ntawm qee qhov kev sib tw uas kuv tau ua hauv tsev kawm theem siab. Kuv ib txwm xav ua lub khoos phis tawj tsav neeg hlau ua haujlwm tab sis Vex microcontroller xav tau lub xov tooj cua programming uas kuv tsis muaj. Kuv txiav txim siab siv kuv tus Arduino tshiab (thiab tej zaum tom qab tsis muaj AVR nti yog tias kuv tau nws ua haujlwm) los tsav lub platform. Thaum kawg kuv xav tau txais netbook thiab tom qab ntawd kuv tuaj yeem tsav tus neeg hlau siv WiFi thiab saib nws lub vev xaib nyob deb.

Kuv tswj kom tau txais cov txheej txheem tsim nyog thiab cov piv txwv yooj yim uas tsav cov neeg hlau siv Xbox 360 maub los txuas nrog lub Linux PC.

Kauj Ruam 1: Nws Yuav Ua Dab Tsi …

Nws Yuav Ua Dab Tsi …
Nws Yuav Ua Dab Tsi …
Nws Yuav Ua Dab Tsi …
Nws Yuav Ua Dab Tsi …

Arduino yog lub platform muaj ntau yam. Kuv lub hom phiaj yooj yim tsuas yog kom tau txais Arduino los cuam tshuam ob lub Vex lub cev muaj zog rau lub PC, tab sis kuv muaj ntau cov khoom siv tso tawm/tawm pins thiab txiav txim siab ntxiv qee yam ntxiv. Tam sim no kuv muaj RGB LED rau cov xwm txheej chaw nres nkoj (ntsuab yog pob ntawv zoo, liab yog tias lawv tsis zoo) thiab lub PC kiv cua uas tsav los ntawm lub transistor. Kuv tseem tuaj yeem ntxiv cov hloov pauv thiab cov ntsuas ntsuas tab sis kuv tsis tau tso ib qho ntawm nws rau qhov zoo tshaj plaws txog nws yog tias koj tuaj yeem ntxiv txhua yam koj xav tau rau Arduino neeg hlau. Nws tsuas yog siv sijhawm me ntsis ntawm tus lej interface los tswj cov khoom ntxiv thiab tau txais kev nkag mus rau lub khoos phis tawj.

Kauj Ruam 2: Qhov Chaw

Qhov
Qhov
Qhov
Qhov
Qhov
Qhov

Rau kuv tus neeg hlau, Kuv siv ob peb qhov sib txawv. Feem ntau ntawm cov khoom yog los ntawm cov khoom qub uas kuv tau tso puag ncig kuv hauv qab daus. 1) Arduino Duemilanove w/ ATMega328 Qhov no yog qhov tshiab tshaj plaws Arduino, thiab txij li kuv nyuam qhuav tau txais nws ob peb hnub dhau los kuv muaj qhov tshiab tshaj plaws. Txawm li cas los xij, txoj cai me me txaus uas nws yuav tsum yooj yim haum ntawm ib qho Arduino. Nws tuaj yeem zaum txawm tias haum rau ATTiny (yog tias kuv tsim tus tswj hwm neeg hlau sib nrug los ntawm Arduino, ATTiny 2313 zoo li qhov kev xaiv zoo, nws me dua thiab pheej yig dua tab sis tseem muaj ntau qhov tso tawm thiab ntu UART interface) 2) Vex Robotics PlatformI tau txais Vex cov khoom siv ob peb xyoos dhau los los tsim lub xov tooj cua tswj cov neeg hlau kom khaws cov khoom rau kev sib tw hauv tsev kawm theem siab. Kuv tsim lub hauv paus "square bot" puag uas muaj 4 lub log tsav los ntawm ob lub cav. Koj tuaj yeem hloov lwm lub hauv paus neeg hlau yog tias koj muaj lwm lub platform koj xav tsav. Qhov tseem ceeb uas yuav tsum nco ntsoov yog Vex lub cev muaj zog yog qhov tseem ceeb hloov pauv kev pabcuam, lawv siv cov tes taw dav dav hloov kho kom pom tias nrawm npaum li cas thiab tig mus rau qhov twg. Lub Vex lub cev muaj zog zoo vim tias lawv muaj ntau yam ntawm kev ua haujlwm hluav taws xob, nyob ib puag ncig zoo li 5 txog 15 volts. Kuv siv 12V vim tias kuv muaj roj teeb 12V. Rau feem ntau cov haujlwm nyiam ua haujlwm, koj yuav xav tau qis dua hluav taws xob (feem ntau 6 volts).3) Roj teeb Tus neeg hlau tsis muaj txiaj ntsig yam tsis muaj lub zog siv. Txog kev sim kuv siv tus qauv 9V phab ntsa-wart adapter los ntawm RadioShack, tab sis rau kev ua haujlwm tsis muaj kab kuv pom 12V NiMH roj teeb pob hauv lub laptop qub. Txawm hais tias nws tsis muaj nqi txaus los khiav lub khoos phis tawj nws ua rau kuv lub Vex neeg hlau zoo xwb. Nws kuj tseem tuaj yeem siv lub zog Arduino siv Vin tus pin nkag rau lub zog txuas, Arduino yuav tswj hwm 12V nqis mus rau 5 thiab txawm tias nws tso tawm 5V tus pin tso rau ntawm lub hwj chim txuas. 4) Cov Breadboard Pib Kuv tam sim no siv lub khob cij rau xaim txhua yam. Thaum kawg kuv mam li tau txais daim phiaj tsim qauv zoo dua qub thiab cov laug ntawm qee qhov txuas txuas mus tas li tab sis tam sim no lub khob cij ua rau nws yooj yim hloov yam. Kuv lub khob cij yog SparkFun's "lub khob cij yooj yim", tsuas yog lub khob cij ntawm lub phaj hlau nrog 3 lub dav hlau. 5) MAX232-based RS232-TTL hloov pauv Yog tias koj xav tsav koj lub neeg hlau siv RS-232 qhov chaw nres nkoj txuas (tsis zoo li Arduino tau ua) hauv USB) koj tuaj yeem siv RS232-TTL hloov pauv. Kuv tab tom siv MAX232 vim tias kuv muaj ob peb ntawm lawv dag ib ncig thiab kuv tau muab nws tso rau ntawm ib qho me me ntawm lub rooj tsav xwm tsim qauv nrog cov khoom siv xav tau. Kuv xav tau RS-232 vim tias kuv lub khoos phis tawj qub tsuas muaj ib qho chaw nres nkoj USB thiab kuv siv qhov ntawd rau tus tswj kev ua si kom tsav tus neeg hlau. 6) Cov khoom ntxiv raws li qhov xav tau Rau kev yooj yim debug ntawm cov txheej txheem, kuv muab RGB LED rau nws (tau txais ib qho nrog kuv qhov kev txiav txim Arduino ua rau lawv zoo li txias). Lub teeb ci liab, ntsuab, xiav nyob ua ntu zus thaum Arduino khau looj plab hlaub kom pom tus neeg hlau tau rov pib dua thiab tom qab ntawd teeb dua Ntsuab thaum tau txais lub cev pob khoom, Xiav thaum tau txais lub pob kiv cua, thiab Liab thaum qhov tsis zoo lossis tsis paub tau txais pob ntawv. Txhawm rau tsav lub kiv cua kuv siv tus qauv NPN transistor (tib yam kuv tau qhia hauv kuv qhov Kev Qhia Kawg) thiab tus tiv thaiv nyob nruab nrab ntawm transistor thiab Arduino (transistor tau kos ntau dhau tam sim no thiab ua kom sov Arduino, yog li kuv tso qhov txwv resistor nyob rau hauv kom nws).

Kauj Ruam 3: Arduino thiab PC Programming

Arduino thiab PC Programming
Arduino thiab PC Programming

Txhawm rau program Arduino, koj yuav pom tseeb xav tau Arduino software thiab USB cable. Koj tseem tuaj yeem ua haujlwm Arduino siv lub chaw nres nkoj txuas thiab TTL hloov pauv yog tias koj lub PC muaj chaw nres nkoj txuas. Nco ntsoov tias USB cov ntawv sib txuas yuav tsis sib txuas lus nrog Arduino's ATMega processor yog tias muaj qib hloov pauv txuas nrog Arduino tus lej txuas (pins 0 thiab 1) yog li txiav nws ua ntej siv USB. Ntawm Arduino peb yuav xav tau tus lej txuas uas tso cai rau PC los tswj lub cav. Peb tseem yuav xav tau PWM servo tsav system kom xa cov cim raug rau Vex lub cev muaj zog thiab xyuas kom lawv mus raws cov lus qhia raug thaum muab qhov raug. Kuv kuj tseem ntxiv qee qhov teeb pom kev zoo LED, feem ntau yog rau qhov xwm txheej tab sis kuj vim tias nws zoo li txias. Ntawm lub PC peb yuav xav qhib qhov chaw nres nkoj thiab xa cov ntas ntawm cov ntaub ntawv uas Arduino program yuav nkag siab. Lub PC tseem yuav tsum tau los nrog qhov muaj txiaj ntsig ntawm lub cev. Ib txoj hauv kev yooj yim los ua qhov no yog siv USB game pad lossis joystick, Kuv tab tom siv Xbox 360 maub los. Lwm qhov kev xaiv yog siv lub khoos phis tawj sib txuas (ib lub netbook lossis lub mini ITX board) ntawm tus neeg hlau nws tus kheej kom tsav wirelessly. Nrog netbook, koj tseem tuaj yeem siv lub webcam onboard kom rov qab tau cov vis dis aus thiab tsav koj cov neeg hlau nyob deb. Kuv siv Linux cov kab ke txhawm rau ua cov phiaj xwm phiaj xwm rau kuv teeb tsa. Ib txoj haujlwm ("tus neeg siv khoom siv joystick") tau ua haujlwm ntawm lub PC cais uas muaj tus tswj kev txuas rau nws, thiab lwm qhov haujlwm ("tus neeg siv khoom") tau khiav ntawm netbook txuas nrog Arduino. Qhov no txuas ob lub khoos phis tawj thiab xa cov ntaub ntawv xov tooj cua mus rau netbook, uas tom qab ntawd xa tawm cov ntawv ntim mus rau Arduino uas tsav tus neeg hlau. Txhawm rau txuas rau Arduino siv Linux PC (hauv C ++) koj yuav tsum xub qhib qhov chaw nres nkoj ntawm qhov tseeb baud tus nqi thiab tom qab ntawd xa qhov txiaj ntsig siv tus txheej txheem uas koj kuj tau siv ntawm Arduino tus lej. Kuv cov ntawv teev npe yog yooj yim thiab siv tau. Kuv siv 4 bytes ib "thav duab" xa ob lub cav nrawm (txhua yog ib qho byte nkaus xwb). Thawj thiab zaum kawg bytes yog cov lej nyuaj uas tau siv los khaws Arduino los ntawm kev xa cov byte tsis raug mus rau PWM tus lej thiab ua rau cov motors mus vwm. Qhov no yog lub hom phiaj tseem ceeb ntawm RGB LED, nws ua rau liab thaum lub teeb duab tsis tiav. 4 bytes muaj raws li hauv qab no: 255 (nyuaj cim "pib" byte),,, 200 (nyuaj coded "kawg" byte) Txhawm rau kom ntseeg tau txais kev ntseeg tau ntawm cov ntaub ntawv, xyuas kom tseeb tias koj tso sijhawm txaus ntawm qhov program loops. Yog tias koj khiav koj lub PC code nrawm dhau, nws yuav ua rau dej nyab qhov chaw nres nkoj thiab Arduino yuav pib poob qis lossis txawm tias nyeem tsis raug bytes. Txawm hais tias nws tsis poob cov ntaub ntawv nws kuj tseem tuaj yeem hla Arduino qhov chaw nres nkoj tsis nyob rau. Vex motors, Kuv siv Arduino Servo lub tsev qiv ntawv. Txij li thaum Vex lub cev muaj zog tsuas yog siv lub cav sib hloov tas li, lawv siv tib lub cim qhia uas siv servos. Txawm li cas los xij, hloov ntawm 90 degrees ua qhov chaw nruab nrab, nws yog qhov chaw nres tsheb uas lub cav tsis tig. Txo qhov "kaum" ua rau lub cav pib tig rau hauv ib qho kev taw qhia, thaum nce lub kaum sab xis ua rau nws tig mus rau lwm qhov kev taw qhia. Qhov deb dua ntawm qhov chaw koj nyob, qhov nrawm dua lub cav yuav tig. Thaum nws yuav tsis tawg ib yam dab tsi yog tias koj xa qhov muaj txiaj ntsig ntau dua 180 degrees rau lub cav, Kuv yuav qhia kom txwv qhov txiaj ntsig los ntawm 0 txog 180 degrees (uas qhov no yog qhov nrawm ntxiv). Vim tias kuv xav tau kev tswj hwm ntau dua thiab tsawg dua ntawm kev tswj tus neeg tsav tsheb, Kuv tau ntxiv software "txwv tsis pub tshaj" rau kuv qhov haujlwm uas tsis tso cai rau qhov nrawm nce siab dua 30 "qib" hauv ob qho kev qhia (ntau yog 90 +/- 30). Kuv npaj yuav ntxiv cov lus txib chaw nres nkoj uas hloov pauv qhov nrawm, yog li lub khoos phis tawj tuaj yeem tshem qhov txwv ntawm yoov yog tias koj xav mus nrawm (Kuv tau sim hauv chav me me yog li kuv tsis xav kom nws nrawm dua) thiab tsoo rau hauv phab ntsa, tshwj xeeb tshaj yog nrog netbook ntawm nws). Yog xav paub ntxiv, rub cov kab ntawv txuas tom kawg ntawm Cov Lus Qhia no.

Kauj Ruam 4: Ntxiv Netbook los Tshawb Nrhiav Lub Ntiaj Teb Tsis Paub Los Ntawm Qhov Nyob Mus Ib Txhis

Ntxiv Netbook los Tshawb Nrhiav Lub Ntiaj Teb Tsis Paub Los Ntawm Qhov Nyob Mus Ib Txhis
Ntxiv Netbook los Tshawb Nrhiav Lub Ntiaj Teb Tsis Paub Los Ntawm Qhov Nyob Mus Ib Txhis
Ntxiv Netbook los Tshawb Nrhiav Lub Ntiaj Teb Tsis Paub Los Ntawm Qhov Nyob Mus Ib Txhis
Ntxiv Netbook los Tshawb Nrhiav Lub Ntiaj Teb Tsis Paub Los Ntawm Qhov Nyob Mus Ib Txhis

Nrog lub PC puv ntawm koj lub Arduino neeg hlau, koj tuaj yeem tsav koj lub neeg hlau los ntawm kom deb li deb koj li WiFi tuaj yeem ncav cuag yam tsis muaj txoj hlua los txwv tus neeg hlau mus rau ib cheeb tsam. Ib tus neeg sib tw zoo rau txoj haujlwm no yog netbook, vim tias netbooks me me, lub teeb yuag, muaj lub roj teeb built-in, muaj WiFi, thiab feem ntau txawm tias tau tsim hauv webcams uas tuaj yeem siv los rub cov neeg hlau rov qab mus rau qhov chaw nyab xeeb uas koj tswj tau nws. Tsis tas li, yog tias koj lub netbook tau nruab nrog kev pabcuam broadband, koj qhov ntau yog siv tau yam tsis muaj kev txwv. Nrog lub roj teeb txaus koj tuaj yeem tsav koj lub neeg hlau mus rau qhov chaw pizza hauv zos thiab xaj xaj hla lub vev xaib (tsis pom zoo, cov neeg hlau feem ntau tsis tau tso cai hauv pizza chaw, txawm tias lawv yog cov neeg zoo li yuav sim nyiag neeg hlau thiab tej zaum txawm pizza). Nws kuj tseem yuav yog txoj hauv kev zoo los tshawb txog qhov tob tob ntawm koj lub hauv qab los ntawm kev nplij siab ntawm koj lub rooj zaum hauv chaw ua haujlwm, txawm hais tias ntxiv qee lub teeb taws yuav pab tau zoo rau qhov no.

Muaj ntau txoj hauv kev kom ua haujlwm no, ntau yam yog qhov yooj yim dua li kuv li, txawm hais tias kuv tsis paub nrog Kev Ua lossis cov ntawv raws li cov lus yog li kuv tau xaiv los siv Linux thiab C ++ los tsim kev sib txuas wireless tswj ntawm kuv lub chaw nres tsheb hauv paus (aka qub ThinkPad) thiab kuv lub Lenovo IdeaPad netbook tshiab uas txuas nrog rau Arduino tsav hauv paus. Ob lub PC tau khiav Ubuntu. Kuv ThinkPad tau txuas rau hauv kuv lub tsev kawm ntawv LAN thiab kuv Lub Tswv Yim tau txuas nrog kuv li WiFi nkag mus uas tseem txuas rau lub tsev kawm ntawv LAN (Kuv tsis tuaj yeem tau txais cov vis dis aus tso tawm los ntawm tsev kawm ntawv WiFi txij li txhua tus neeg siv nws, yog li kuv teeb tsa nce kuv tus kheej router los muab kev sib txuas zoo). Kev sib txuas zoo yog qhov tseem ceeb tshwj xeeb hauv kuv cov xwm txheej txij li kuv tsis tau ua ib qho yuam kev-kuaj lossis sijhawm tas sijhawm. Yog tias kev sib txuas hauv network poob qis, tus neeg hlau txuas ntxiv mus txog thaum nws tsoo rau qee yam lossis kuv khiav thiab nres nws. Qhov no yog lub hauv paus tseem ceeb tom qab kuv qhov kev txiav txim siab ua kom qeeb ntawm kev tsav tsheb ob qho tib si los ntawm kev siv lub cav qis thiab ua kom siv software nrawm txwv.

Kauj ruam 5: Tau txais Video Pub

Tom qab koj tus neeg tshawb nrhiav neeg hlau tuaj yeem tsav lub wireless, koj yuav zaum xav tau cov vis dis aus los ntawm netbook yog li koj tuaj yeem qhia qhov twg koj tus neeg hlau nyob. Yog tias koj siv Ubuntu (lossis txawm tias koj tsis yog!) Kuv pom zoo siv VLC Media Player kom ntws. Yog tias koj tsis tau teeb tsa nws, koj tau ploj mus tiag, yog li nruab nws siv cov lus txib "sudo apt-get install vlc", xauj rau VLC hauv Ubuntu Software Center (9.10 nkaus xwb), lossis rub tawm lub installer ntawm videolan. org yog tias koj nyob ntawm Windows. Koj yuav xav tau VLC khiav ntawm ob lub PC. VLC muaj peev xwm tshaj tawm nrog rau kev ua kwj ntawm lub network. Ntawm netbook (neeg hlau PC) ua ntej kom ntseeg tau tias koj lub vev xaib (txawm yog ua-hauv lossis USB txuas) ua haujlwm los ntawm txhaj Qhib Capture Device thiab sim Video rau Linux 2 (qee cov cuab yeej laus dua yuav xav tau Video rau Linux ntau dua li 2 version tshiab). Koj yuav tsum pom lub koob yees duab pom ntawm lub vijtsam netbook. Txhawm rau ntws nws, xaiv Tshaj tawm los ntawm Cov Ntawv Qhia zaub mov thiab tom qab ntawd xaiv lub Capture Device tab nyob rau sab saum toj ntawm lub qhov rais uas tshwm. Nco ntsoov tias Ubuntu (thiab ntau lwm Linux kev cuam tshuam) cia koj tuav Alt kom nyem thiab rub lub qhov rais uas loj dhau rau koj lub vijtsam (tshwj xeeb yog muaj txiaj ntsig ntawm cov netbooks qub, txawm hais tias txawm tias kuv Lub Tswv Yim muaj qhov txawv 1024x576 daws tsis pom qhov laj thawj). Txhawm rau txo qis, nyem rau "Qhia Ntxiv Kev Xaiv" thiab txo tus nqi caching. Tus nqi uas koj tuaj yeem txo qis nws qee zaum nyob ntawm lub cuab yeej, nws tsis ruaj khov yog tias koj txo qis nws ntau dhau. Ntawm 300ms koj yuav tau txais qeeb me ntsis tab sis nws tsis phem heev.

Tom ntej no, nyem kwj mus rau cov ntawv qhia zaub mov tom ntej. Nyem Tom ntej, tom qab ntawd xaiv thiab ntxiv HTTP ua qhov chaw tshiab. Tam sim no teeb tsa Transcoding los ua kom cov kwj deg me dua. Kuv tau tsim qhov kev cai uas siv M-JPEG ntawm 60kb/s thiab 8fps. Qhov no yog vim tias siv cov lej codec zoo li MPEG lossis Theora yuav noj CPU lub sijhawm loj ntawm netbook's Atom processor thiab qhov no tuaj yeem ua rau koj cov vis dis aus tso tseg yam tsis muaj laj thawj. MJPEG yog cov codec yooj yim uas siv tau yooj yim ntawm tus nqi qis. Tom qab pib koj cov kwj, qhib VLC ntawm koj lub PC qub, qhib lub network txuas, xaiv HTTP, thiab tom qab ntawd ntaus tus IP chaw nyob ntawm koj lub netbook (hauv zos lossis Is Taws Nem nyob ntawm seb koj txuas li cas) ua raws li ": 8080". Koj yuav tsum tau hais qhia qhov chaw nres nkoj rau qee qhov laj thawj khib, txwv tsis pub nws ua rau koj yuam kev. Yog tias koj muaj kev sib txuas zoo, koj yuav tsum pom koj lub webcam pub rau koj lwm lub PC, tab sis nws yuav muaj qhov qeeb me ntsis (li ib pliag). Kuv tsis paub xyov yog vim li cas qhov kev ncua no tshwm sim, tab sis kuv tsis tuaj yeem txiav txim siab yuav tshem nws li cas. Tam sim no qhib lub app tswj thiab pib tsav koj lub netbook neeg hlau. Tau txais kev xav tias qhov kev ncua ua haujlwm li cas thaum tsav tsheb yog li koj yuav tsis tsoo ib yam dab tsi. Yog tias nws ua haujlwm, koj lub netbook neeg hlau ua tiav.

Pom zoo: