Sisukord:
- Samm: asjad, mida vajate…
- Samm: ühendage riistvara
- Samm: programmeerige Arduino
- Samm: installige tarkvara
- Samm: kasutage liideseprogrammi
- 6. samm: olge loominguline
Video: Arduino -põhine jadaservo kontroller: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:51
See on lihtne jadakontroller mitmele servole, mis põhinevad Arduino -l. (ka minu esimene juhendatav:))
Suurem osa tööst tuli sellest, et saada tarkvara arduinoga rääkima ja koostada protokoll andmete edastamiseks. Riistvara osas kasutasin ainult kahte servot (siin Parallaxi standardservo.) Sparkfun Arduino ProtoShield ja Arduino Duemilanove koos ATMEGA328 -ga, kuid enamiku neist osadest saab asendada sarnaste esemetega. Mõtlesin selle projekti välja RC -süsteemi osana, kuid kommunikatsiooni seadistamine võttis palju aega. Kui kellelgi on parandusi, ideid või vigu, palun kommenteerige. EDIT: Kirjutasin selle mõni aeg tagasi, alles hiljuti jõudsin selle avaldamiseni.
Samm: asjad, mida vajate…
Selle ehitamiseks on vaja mõningaid asju. 1. Arduino plaat (teie valite) 2. kaks (või üks) servot 3. hüppaja juhtmed 4. Visual Studio 2008 Express - link (valikuline) 5. Arduino IDE - link Vabandust Linuxi ja Apple'i fännid, minu programm töötab ainult aknad praegu, kuid saate siiski arduinole käsitsi jada käske saata ilma koodi muutmata.
Samm: ühendage riistvara
Selles etapis pole midagi väga keerulist. Lihtsalt ühendage üks servo tihvtiga 9 ja teine tihvtiga 10.
Samm: programmeerige Arduino
nüüd saate eskiisi arduinole üles laadida.
Siin on lihtne koodijaotus: #include Servo myservo; // servoobjekti loomine servo juhtimiseks Servo myservo1; int sissetulev bait = 0, andmete arv = 0, loendur = 0, valmis = 0; // sissetulevate jadaandmete kohta char andmed [10]; const char pārbaudīt [8] = "ma11hew"; char käsk [3]; tühine seadistus () {myservo.attach (9); myservo1.attach (10); Seriaalne algus (38400); // avab jadapordi, määrab andmeedastuskiiruse Serial.println ("Tere Arduino siin!"); // lisatud jadapordi tuvastamiseks See lihtsalt seab jadapordi ja servod. int i; jaoks (i = 0; i <180; i ++) {myservo.write (i); viivitus (15); } myservo.write (5); jaoks (i = 0; i <180; i ++) {myservo1.write (i); viivitus (15); } myservo1.write (5); } Lihtne pühkimine liigutuste abil, et kontrollida, kas servod töötavad õigesti. void loop () {valmis = 0; loendur = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {break; } kui (loendur == 6) {viivitus (20); käsk [0] = Serial.read (); käsk [1] = Serial.read (); // kui (Serial.read () == ((käsk [1] * 12) % 8)) // {valmis = 1; //} Serial.println ("salvestatud käsk"); } loendur ++; viivitus (2); } see kontrollib jadapuhvris õige autoriseerimisstringi olemasolu ja seejärel võtab käsu jaoks kaks baiti. kommenteeris, kui avaldus lubab teha ajutise kontrollsumma, kuid raskendaks käsitsi liidestamist. valmis saab seada väärtusele 0, nii et käske ei analüüsita, näiteks rikutud andmete korral. // otsi käskudest if (ready == 1) {if (command [0] == 'T') {command [0] = 0; Serial.print ("gaasihoovastik nööpnõelal 9 kuni:"); Serial.println (kaart (käsk [1], 32, 126, 2, 180), DEC); myservo.write (kaart (käsk [1], 32, 126, 2, 180)); } if (käsk [0] == 'S') {käsk [0] = 0; Serial.print ("gaasihoovastik nööpnõelal 10 kuni:"); Serial.println (kaart (käsk [1], 32, 126, 2, 180), DEC); myservo1.write (kaart (käsk [1], 32, 126, 2, 180)); }}} ülejäänud kood on otsida käsust kehtivaid käske (T või S.), kui kumbki sobib, võtab järgmise baidi ja saadab selle servole. rohkem kaardil (käsk [1], 32, 126, 2, 180) hiljem … koodi saab laiendada mis tahes muu jaoks, mida vajate (nt tuled, mootorid, IR jne), see kood peaks hästi toimima ilma muudatusi.
Samm: installige tarkvara
Mul on kaks võimalust selle installimiseks … nsis installer: Laadige alla allpool olev isepõhine installer ja käivitage see. Installimise ajal saate allikaid installida. paigaldaja binaarpakett installib põhilised c ++ dll -id, nii et seda saab käivitada arvutis ilma visuaalset c ++ juba installimata. Kui installija on lõpetanud, saate selle käivitada töölaualt või menüüst Start. zip viis (kinnitamata): laadige alla ja käivitage, see peaks toimima. võib olla. (Zip -arhiivil on sama kaustastruktuur, mille on loonud installija, ilma allikateta. Mul pole masinat ilma visuaalse stuudioga, et seda testida, nii et see ei pruugi töötada.)
Samm: kasutage liideseprogrammi
Programmi kasutamiseks valige esmalt arduino visandis määratletud edastuskiirus. Modifitseerimata eskiis on vaikimisi 38400 baud, kuid seda saab muuta vastavalt teie vajadustele, näiteks aeglasema raadioside jaoks. märkus: üle 38400 edastuskiirus ei ole olnud väga stabiilne, arvan, et see on tingitud sellest, et uart täitub enne andmete töötlemist. Seejärel valige kasutatav COM -port. programm vaikimisi on COM4, muutke seda kindlasti või muidu jookseb programm kokku. Lõpuks klõpsake nuppu Ava. Kui kõik läks hästi, avab programm valitud jadapordi valitud andmeedastuskiirusega. Kui ei, siis programm tõenäoliselt jookseb kokku ilma käsitlemata erandiga. veenduge, et port oleks õige ja proovige uuesti. Kasutage tekstikaste, et esitada arduinole otsekäske. "Kaart (käsk [1], 32, 126, 2, 180)" skaleerib kõik 94 võimalikku käsku, * tühik * läbi ~, mida arduino ASCII -s saab lugeda servo jaoks 2 kuni 180. iga bait, mis on väiksem kui ASCII 32 (tühik) või üle 126 (~), on vaikimisi 63 (?) Rööbasteed pakuvad otsekäskude jaoks kõrvuliidest. iga samm saadab arduinole järk -järgult seeriakäsu.
6. samm: olge loominguline
Mõtle lahedaid asju, mida sellega teha. Mõned ideed: 1. Kauggaas auto jaoks. 2. 3D kaamera kinnitus 3. veealune rover Have fun !!
Soovitan:
Ehitage Arduino MIDI -kontroller: 5 sammu (piltidega)
Ehitage Arduino MIDI -kontroller: Tere kõigile! Selles juhendis näitan teile, kuidas luua oma Arduino toitega MIDI -kontroller. MIDI tähistab muusikariistade digitaalset liidest ja see on protokoll, mis võimaldab arvutitel, muusikariistadel ja muul riistvaral suhelda
IOT DMX -kontroller koos Arduino ja Stage Monster Live'iga: 6 sammu
IOT DMX-kontroller koos Arduino ja Stage Monster Live'iga: kontrollige lava valgustust ja muid DMX-seadmeid oma telefonist või mõnest muust veebitoega seadmest. Näitan teile, kuidas Arduino Mega abil kiiresti ja lihtsalt luua oma DMX -kontroller, mis töötab platvormil Stage Monster Live
Arduino valgusfoori kontroller, kasutades RBG LED -i - 4-suunaline: 3 sammu
Arduino valgusfoori kontroller, kasutades RBG LED -i | 4-suunaline: selles postituses saate teada, kuidas Arduino valgusfoori kontrollerit valmistada. Seda valgusfoori regulaatorit kasutatakse liiklusvoo juhtimiseks. Neid saab rakendada tiheda liiklusega piirkondades, et vältida liiklusummikuid või õnnetusi
Arduino valgusfoori kontroller - 4-suunaline: 3 sammu
Arduino valgusfoori kontroller | 4-suunaline: selles postituses saate teada, kuidas Arduino valgusfoori kontrollerit valmistada. Seda valgusfoori regulaatorit kasutatakse liiklusvoo juhtimiseks. Neid saab rakendada tiheda liiklusega piirkondades, et vältida liiklusummikuid või õnnetusi
Arduino Attiny85 nutikas ventilaatori kontroller: 3 sammu
Arduino Attiny85 nutikas ventilaatori kontroller: