Satura rādītājs:
- Solis: lietas, kas jums var būt vajadzīgas…
- 2. darbība: pievienojiet aparatūru
- 3. solis: ieprogrammējiet Arduino
- 4. solis: instalējiet programmatūru
- 5. darbība: izmantojiet interfeisa programmu
- 6. darbība: esiet radošs
Video: Arduino bāzes seriālais servo kontrolieris: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 11:00
Šis ir vienkāršs sērijas kontrolieris vairākiem servos, pamatojoties uz Arduino. (arī mans pirmais pamācāmais:))
Lielāko daļu darba šajā jomā radīja programmatūras saruna ar arduino un protokola sastādīšana datu nodošanai. Attiecībā uz aparatūras aspektu viss, ko es izmantoju, bija divi servos (Parallax standarta servo šeit.) Sparkfun Arduino ProtoShield un Arduino Duemilanove ar ATMEGA328, taču lielāko daļu šo daļu var aizstāt ar līdzīgiem priekšmetiem. Es izdomāju šo projektu kā daļu no RC sistēmas, taču komunikācijas izveidošana aizņēma daudz laika. Ja kādam ir kādi uzlabojumi, idejas vai kļūdas, lūdzu, komentējiet. EDIT: Es to uzrakstīju pirms kāda laika, tikai nesen to publicēju.
Solis: lietas, kas jums var būt vajadzīgas…
Dažas lietas, kas jums būs nepieciešamas, lai to izveidotu. 1. Arduino tāfele (jūs izvēlaties) 2. divi (vai viens) servos 3. džemperu vadi 4. Visual Studio 2008 Express - saite (pēc izvēles) 5. Arduino IDE - saite Atvainojiet Linux un Apple cienītājus, mana programma darbojas tikai logi pagaidām, bet jūs joprojām varat manuāli nosūtīt sērijas komandas arduino, nemainot kodu.
2. darbība: pievienojiet aparatūru
Šim solim nav nekas ļoti sarežģīts. Vienkārši pievienojiet vienu servo pie tapas 9 un otru - pie tapas 10.
3. solis: ieprogrammējiet Arduino
tagad jūs varat augšupielādēt skici arduino.
Šeit ir vienkāršs koda sadalījums: #include Servo myservo; // izveidot servo objektu, lai kontrolētu servo Servo myservo1; int ienākošais baits = 0, datu skaits = 0, skaitītājs = 0, gatavs = 0; // par ienākošajiem sērijas datu char datiem [10]; const char pārbaudīt [8] = "ma11hew"; char komanda [3]; void setup () {myservo.attach (9); myservo1.attach (10); Sērijas sākums (38400); // atver seriālo portu, nosaka datu pārraides ātrumu Serial.println ("Hi Arduino Here!"); // pievienots, lai palīdzētu identificēt seriālo portu Tas tikai nosaka seriālo portu un servos. int i; par (i = 0; i <180; i ++) {myservo.write (i); kavēšanās (15); } myservo.write (5); par (i = 0; i <180; i ++) {myservo1.write (i); kavēšanās (15); } myservo1.write (5); } Vienkārša slaucīšanas kustība, lai pārbaudītu servo pareizu darbību. void loop () {gatavs = 0; skaitītājs = 0; while (1 == 1) {if (Serial.read ()! = pārbaudīt [skaitītājs]) {break; } ja (skaitītājs == 6) {kavēšanās (20); komanda [0] = Serial.read (); komanda [1] = Serial.read (); // ja (Serial.read () == ((komanda [1] * 12) % 8)) // {gatavs = 1; //} Serial.println ("saglabāta komanda"); } skaitītājs ++; kavēšanās (2); } tas pārbauda sērijas buferi, lai atrastu pareizo autorizācijas virkni, un pēc tam paņem divus baitus komandai. komentēja, ja paziņojums pieļauj pagaidu pārbaudes summu, bet apgrūtinātu manuālu saskarni. gatavs var iestatīt uz 0, tāpēc komandas netiks parsētas, piemēram, bojātu datu gadījumā. // meklēt, izmantojot komandas, ja (gatavs == 1) {ja (komanda [0] == 'T') {komanda [0] = 0; Serial.print ("droseļvārsta vadība uz 9. tapas līdz:"); Serial.println (karte (komanda [1], 32, 126, 2, 180), DEC); myservo.write (karte (komanda [1], 32, 126, 2, 180)); } ja (komanda [0] == 'S') {komanda [0] = 0; Serial.print ("droseļvārsta vadība uz tapas 10 līdz:"); Serial.println (karte (komanda [1], 32, 126, 2, 180), DEC); myservo1.write (karte (komanda [1], 32, 126, 2, 180)); }}} pārējais kods ir meklēt komandā derīgas komandas (T vai S.), ja abas atbilst, tas aizņem nākamo baitu un nosūta to uz servo. vairāk par karti (komanda [1], 32, 126, 2, 180) vēlāk … kodu šeit var paplašināt, lai iegūtu kaut ko citu, kas jums varētu būt nepieciešams (piemēram, gaismas, motori, IR utt.), šim kodam vajadzētu darboties labi bez modifikācijas.
4. solis: instalējiet programmatūru
Man ir divi veidi, kā instalēt šo … nsis installer: Lejupielādējiet zemāk esošo pašizpletes instalētāju un palaidiet to. Instalēšanas laikā jums būs iespēja instalēt avotus. instalētāja binārā pakotne instalē pamata c ++ dll, lai to varētu palaist datorā bez vizuālas c ++ instalēšanas. Kad instalētājs ir pabeidzis, varat to palaist no darbvirsmas vai izvēlnes Sākt. zip veids (nepārbaudīts): lejupielādējiet un palaidiet, tam vajadzētu darboties. var būt. (ZIP arhīvam ir tāda pati mapju struktūra, ko izveidoja instalētājs, bez avotiem. Man nav mašīnas bez vizuālās studijas, lai to pārbaudītu, tāpēc tas var nedarboties.)
5. darbība: izmantojiet interfeisa programmu
Lai izmantotu programmu, vispirms izvēlieties arduino skicē noteikto datu pārraides ātrumu. Nemodificētās skices noklusējuma vērtība ir 38400 baudi, taču to var mainīt atbilstoši jūsu vajadzībām, piemēram, lēnākam radio savienojumam. piezīme: pārsūtīšanas ātrums, kas lielāks par 38400, nav bijis ļoti stabils, es domāju, ka tas ir tāpēc, ka urāts piepildās, pirms datus var apstrādāt. Pēc tam atlasiet izmantojamo COM portu. pēc noklusējuma programma COM4, noteikti nomainiet to, pretējā gadījumā programma avarēs. Visbeidzot, noklikšķiniet uz Atvērt. Ja viss noritēja labi, programma atvērs izvēlēto seriālo portu ar izvēlēto pārraides ātrumu. Pretējā gadījumā programma, iespējams, avarēs ar neapstrādātu izņēmumu. pārliecinieties, vai ports ir pareizs, un mēģiniet vēlreiz. Izmantojiet tekstlodziņus, lai arduino iesniegtu tiešas komandas. "Karte (komanda [1], 32, 126, 2, 180)" mērogo visas 94 iespējamās komandas, * atstarpi * līdz ~, ko arduino var nolasīt ASCII, no 2 līdz 180 servo. jebkurš baits, kas mazāks par ASCII 32 (atstarpe) vai lielāks par 126 (~), pēc noklusējuma ir 63 (?) Ierakstu joslas nodrošina eaiser saskarni tiešām komandām. katrs solis pakāpeniski nosūta sērijas komandu arduino.
6. darbība: esiet radošs
Izdomājiet foršas lietas, ko ar to pagatavot. Dažas idejas: 1. Tālvadības droseļvārsts automašīnai. 2. 3D kameras stiprinājums 3. zemūdens roveris Have fun !!
Ieteicams:
Mikro: bitu MU redzes sensors - seriālais savienojums un OLED ekrāns: 10 soļi
Micro: bit MU Vision Sensor - Serial Connection un OLED Screen: Šī ir mana trešā rokasgrāmata par MU redzes sensoru. Līdz šim mēs esam mēģinājuši izmantot MU, lai atpazītu kartes ar cipariem un formām, bet, lai izpētītu mūsu MU sensoru ar sarežģītāku projektu, mēs vēlētos iegūt labāku rezultātu. Mēs nevaram iegūt tik daudz informācijas
DIY spēļu kontrolieris uz Arduino bāzes - Arduino PS2 spēļu kontrolieris - Spēlējot Tekken ar DIY Arduino Gamepad: 7 soļi
DIY spēļu kontrolieris uz Arduino bāzes | Arduino PS2 spēļu kontrolieris | Spēlēt Tekken ar DIY Arduino Gamepad: Sveiki, puiši, spēlēt spēles vienmēr ir jautri, bet spēlēt ar savu DIY pielāgoto spēļu kontrolieri ir jautrāk. Tāpēc šajā instrukcijā mēs izveidosim spēles kontrolieri, izmantojot arduino pro micro
IOT bāzes ūdens līmeņa kontrolieris, izmantojot NodeMCU ESP8266: 6 soļi
IOT bāzes ūdens līmeņa kontrolieris, izmantojot NodeMCU ESP8266: Tas ir pamācāms, kā izveidot uz IOT balstītu ūdens līmeņa kontrolieri. Šī projekta iezīmes ir šādas:- Ūdens līmeņa atjauninājumi reāllaikā Android lietotnē. Automātiski ieslēdziet ūdens sūkni, kad ūdens sasniedz zem minimālā līmeņa. Au
Arduino viedtālruņu komi/seriālais monitors, izmantojot Bluetooth HC-05, HC-06: 4 soļi (ar attēliem)
Arduino viedtālruņu kompozīcijas/seriālais monitors, izmantojot Bluetooth HC-05, HC-06: Tas ir neticami noderīgi, ja vēlaties pārbaudīt savu skici reālās pasaules vidē, prom no datora. Rezultāts ir tāds, ka jūsu viedtālrunis darbojas tāpat kā datora Arduino sērijas monitors. Ir pieejami HC-05 un HC-06 Bluetooth moduļi
Android G1 seriālais un USB kabelis: 8 soļi
Kabelis no Android G1 sērijas uz USB: uzziniet, kā izveidot Android G1 2.8v sērijas un USB seriālās ierīces adapteri (izmantojot 3.3V ttl uz USB seriālo adapteri). To var izmantot kodola atkļūdošanai/etc ar datoru. Šim projektam nevajadzētu izmaksāt vairāk par 40 dolāriem, ja jums jau ir