Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bagay na Maaaring Kailangan Mo …
- Hakbang 2: Ikonekta ang Hardware
- Hakbang 3: I-program ang Arduino
- Hakbang 4: I-install ang Software
- Hakbang 5: Gamitin ang Interface Program
- Hakbang 6: Maging Malikhain
Video: Batay sa Arduino Serial Servo Controller: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:16
Ito ay isang simpleng serial controller para sa maraming mga servos batay sa Arduino. (ang aking unang itinuturo din:))
Karamihan sa mga gawain sa ito ay nagmula sa pagkuha ng software na makipag-usap sa arduino at paggawa ng isang protokol para maipasa ang data. Tulad ng para sa aspeto ng hardware lahat ng ginamit ko ay dalawang servos (Parallax standard servo dito.) Isang Sparkfun Arduino ProtoShield at isang Arduino Duemilanove na may ATMEGA328, ngunit ang karamihan sa mga bahaging ito ay maaaring mapalitan ng mga katulad na item. Naisip ko ang proyektong ito bilang bahagi ng isang RC system, ngunit ang pag-set up ng komunikasyon ay tumagal ng maraming oras. Kung ang sinuman ay may anumang mga pagpapabuti, ideya, o mga bug mangyaring huwag mag-atubiling magbigay ng puna. EDIT: Sinulat ko ito sandali ang nakaraan, kakailanganin lamang na mai-publish ito kamakailan.
Hakbang 1: Mga Bagay na Maaaring Kailangan Mo …
Ang ilang mga bagay na kakailanganin mong buuin ito. 1. Arduino board (pinili mo) 2. dalawa (o isa) servos 3. jumper wires 4. Visual Studio 2008 Express - link (opsyonal) 5. Arduino IDE - link Paumanhin sa mga tagahanga ng Linux at Apple, tumatakbo lamang ang aking programa windows sa ngayon, ngunit maaari mo pa ring manu-manong magpadala ng mga serial command sa arduino nang hindi binabago ang code.
Hakbang 2: Ikonekta ang Hardware
Walang masyadong kumplikado sa hakbang na ito. Ikonekta lamang ang isang servo sa pin 9 at ang isa pa sa pin 10.
Hakbang 3: I-program ang Arduino
ngayon ay maaari mong i-upload ang sketch papunta sa arduino.
Narito ang isang simpleng pagkasira sa code: # isama ang Servo MyServo; // create servo object upang makontrol ang isang servo Servo MyServo1; int papasokByte = 0, datacount = 0, counter = 0, handa = 0; // para sa papasok na serial data char data [10]; const char verify [8] = "ma11hew"; utos ng char [3]; walang bisa ang pag-setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // bubukas ang serial port, nagtatakda ng rate ng data Serial.println ("Kumusta Arduino Dito!"); // idinagdag upang makatulong na makilala ang serial port Ito ay nagse-set up lamang ng serial port at servos. int i; para sa (i = 0; i <180; i ++) {myservo.write (i); pagkaantala (15); } myservo.write (5); para sa (i = 0; i <180; i ++) {myservo1.write (i); pagkaantala (15); } myservo1.write (5); } Simpleng paggalaw ng pagwawalis upang ma-verify nang tama ang mga servo. void loop () {handa = 0; counter = 0; habang (1 == 1) {kung (Serial.read ()! = verify [counter]) {break; } kung (counter == 6) {pagkaantala (20); utos [0] = Serial.read (); utos [1] = Serial.read (); // if (Serial.read () == ((utos [1] * 12)% 8)) // {handa = 1; //} Serial.println ("nai-save na utos"); } counter ++; antala (2); } Sinusuri nito ang serial buffer para sa tamang string ng pahintulot pagkatapos ay sunggaban ng dalawang byte para sa utos. ang nagkomento kung pinapayagan ang pahayag para sa isang pansamantalang tsekum ngunit gagawing mahirap ang manu-manong pag-interfacing. handa na maaaring itakda sa 0 kaya ang mga utos ay hindi mai-parse tulad ng sa kaso ng nasirang data. // search through utos if (handa == 1) {kung (utos [0] == 'T') {utos [0] = 0; Serial.print ("control ng throttle sa pin 9 hanggang:"); Serial.println (mapa (utos [1], 32, 126, 2, 180), DEC); myservo.write (mapa (utos [1], 32, 126, 2, 180)); } kung (utos [0] == 'S') {utos [0] = 0; Serial.print ("control ng throttle sa pin 10 hanggang:"); Serial.println (mapa (utos [1], 32, 126, 2, 180), DEC); myservo1.write (mapa (utos [1], 32, 126, 2, 180)); }}} ang natitirang code ay upang maghanap ng utos para sa mga wastong utos (T o S.) kung alinman sa pagtutugma tumatagal ng susunod na byte at ipadala ito sa servo. higit pa sa mapa (utos [1], 32, 126, 2, 180) sa paglaon … ang code dito ay napapalawak para sa anumang kailangan mo (hal. mga ilaw, motor, IR, atbp.) Ang code na ito ay dapat gumana nang maayos nang walang mga pagbabago
Hakbang 4: I-install ang Software
Mayroon akong dalawang paraan upang mai-install ito … nsis installer: I-download ang installer ng sarili na kumukuha sa ibaba at patakbuhin ito. Magkakaroon ka ng pagpipilian upang mag-install ng mga mapagkukunan sa panahon ng pag-install. ang installer binary package ay nag-install ng mga pangunahing c ++ dlls upang maaari itong patakbuhin sa isang computer nang hindi naka-install na ang visual c ++. Kapag natapos na ng installer maaari mo itong patakbuhin mula sa desktop o magsimulang menu. zip way (hindi napatunayan): Mag-download at tumakbo, dapat itong gumana. siguro. (Ang zip archive ay may parehong istraktura ng folder na nilikha ng installer, nang walang mga mapagkukunan. Wala akong isang makina na walang visual studio upang subukan ito upang hindi ito gumana.)
Hakbang 5: Gamitin ang Interface Program
Upang magamit ang programa piliin muna ang rate ng baud na tinukoy sa arduino sketch. Ang hindi nabago na sketch ay nagde-default sa 38400 baud ngunit maaaring mabago upang umangkop sa iyong mga pangangailangan para sa mga bagay tulad ng isang mas mabagal na link sa radyo. tandaan: ang mga rate ng baud na mas mataas kaysa sa 38400 ay hindi masyadong matatag, sa palagay ko ito ay dahil napupunan ang uart bago maproseso ang data. Susunod, piliin ang COM port na gagamitin. ang mga default ng programa sa COM4 siguraduhin na baguhin ito o ang programa ay mag-crash. Panghuli, mag-click bukas. Kung naging maayos ang lahat ay bubuksan ng programa ang napiling serial port sa napiling rate ng baud. Kung hindi ang programa ay marahil ay mag-crash nang may isang unhandled na pagbubukod. tiyaking tama ang port at subukang muli. Gamitin ang mga textbox upang magsumite ng direktang mga utos sa arduino. Sinusukat ng "mapa (utos [1], 32, 126, 2, 180) ang lahat ng 94 na posibleng mga utos, * puwang * hanggang ~, nababasa ng arduino sa ASCII hanggang 2 hanggang 180 para sa servo. anumang byte na mas mababa sa ASCII 32 (space) o sa itaas 126 (~) mga default sa 63 (?) Ang mga track bar ay nagbibigay ng isang interface ng eaiser para sa mga direktang utos. Ang bawat hakbang ay nagpapadala ng isang serial command sa arduino incrementally.
Hakbang 6: Maging Malikhain
Mag-isip ng mga cool na bagay na magagawa dito. Ilang mga ideya: 1. Remote na throttle para sa isang kotse. 2. 3D camera mount 3. underwater rover Maglibang !!
Inirerekumendang:
Batay sa Arduino DIY Game Controller - Arduino PS2 Game Controller - Paglalaro ng Tekken Sa DIY Arduino Gamepad: 7 Mga Hakbang
Batay sa Arduino DIY Game Controller | Arduino PS2 Game Controller | Nagpe-play ng Tekken Sa DIY Arduino Gamepad: Kamusta, ang paglalaro ng mga laro ay laging masaya ngunit ang paglalaro ng iyong sariling DIY custom na laro Controller ay mas masaya. Kaya gagawa kami ng isang laro Controller gamit ang arduino pro micro sa mga itinuturo na ito
Batay sa Arduino Hindi Makipag-ugnay sa Infrared Thermometer - Thermometer na Batay sa IR Gamit ang Arduino: 4 na Hakbang
Batay sa Arduino na Hindi Nakikipag-ugnay sa Infrared Thermometer | Thermometer na Batay sa IR Gamit ang Arduino: Kumusta mga tao sa mga itinuturo na ito ay gagawa kami ng isang hindi nakikipag-ugnay na Thermometer gamit ang arduino. Dahil kung minsan ang temperatura ng likido / solid ay masyadong mataas o paraan upang mababa at pagkatapos ay mahirap makipag-ugnay dito at basahin ito temperatura noon sa mga tagpong iyon
Batay sa Autonomous na Batay ng Arduino Gamit ang Ultrasonic Sensor: 5 Mga Hakbang (na may Mga Larawan)
Batay ng Autonomous na Batay ng Arduino Paggamit ng Ultrasonic Sensor: Lumikha ng iyong sariling Arduino based Autonomous Bot gamit ang Ultrasonic Sensor. Ang bot na ito ay maaaring lumipat sa sarili nitong walang pag-crash ng anumang mga hadlang. Karaniwan kung ano ang ginagawa nito ay nakita nito ang anumang uri ng mga hadlang sa paraan nito at nagpapasya ang pinakamahusay na pa
BeanBot - isang Batay sa Autonomous na Robot ng Batay sa Arduino !: 8 Mga Hakbang (na may Mga Larawan)
BeanBot - isang Arduino Batay sa Autonomous Paper Robot !: Mayroon bang anumang mas nakasisigla kaysa sa isang blangko na papel? Kung ikaw ay isang masugid na tinkerer o tagabuo pagkatapos ay walang alinlangan na simulan mo ang iyong mga proyekto sa pamamagitan ng pag-sketch ng mga ito sa papel. Nagkaroon ako ng ideya upang makita kung posible na bumuo ng isang frame ng robot na wala sa papel
Dispenser ng Batay sa Batay ng Arduino: 5 Hakbang (na may Mga Larawan)
Dispenser ng Batay sa Batay ng Arduino: Ito ay napakadaling gawin at sobrang kapaki-pakinabang