Sadržaj:
- Korak 1: Stvari koje bi vam mogle zatrebati …
- Korak 2: Povežite hardver
- Korak 3: Programirajte Arduino
- Korak 4: Instalirajte softver
- Korak 5: Koristite program sučelja
- Korak 6: Budite kreativni
Video: Serijski servo upravljač zasnovan na Arduinu: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:38
Ovo je jednostavan serijski kontroler za više servo servera zasnovanih na Arduinu. (i moj prvi instruktor:))
Većina posla u ovome došla je od dobivanja softvera za razgovor s arduinom i izrade protokola za prijenos podataka. Što se tiče hardverskog aspekta, sve što sam koristio su dva serva (ovdje standardni Parallax servo.) Sparkfun Arduino ProtoShield i Arduino Duemilanove s ATMEGA328, ali većina ovih dijelova može se zamijeniti sličnim stavkama. Zamišljao sam ovaj projekt kao dio RC sustava, ali postavljanje komunikacije oduzelo je puno vremena. Ako netko ima poboljšanja, ideje ili greške, neka komentira. EDIT: Ovo sam napisao prije nekog vremena, nedavno sam to trebao objaviti.
Korak 1: Stvari koje bi vam mogle zatrebati …
Neke stvari će vam trebati da to izgradite. 1. Arduino ploča (po vašem izboru) 2. dva (ili jedan) servo upravljač 3. kratkospojne žice 4. Visual Studio 2008 Express - veza (izborno) 5. Arduino IDE - veza Nažalost, obožavatelji Linuxa i Applea, moj program radi samo na Windows za sada, ali i dalje možete ručno slati serijske naredbe na arduino bez promjene koda.
Korak 2: Povežite hardver
U ovom koraku nema ništa složeno. Samo povežite jedan servo na pin 9, a drugi na pin 10.
Korak 3: Programirajte Arduino
sada možete postaviti skicu na arduino.
Evo jednostavne analize koda: #include Servo myservo; // izrada servo objekta za upravljanje servo Servo myservo1; int incomingByte = 0, broj podataka = 0, brojač = 0, spreman = 0; // za dolazne serijske podatke char podataka [10]; const char verify [8] = "ma11hew"; naredba char [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // otvara serijski port, postavlja brzinu prijenosa Serial.println ("Zdravo Arduino ovdje!"); // dodano kako bi se identificirao serijski port Ovo samo postavlja serijski port i servosisteme. int i; za (i = 0; i <180; i ++) {myservo.write (i); kašnjenje (15); } myservo.write (5); za (i = 0; i <180; i ++) {myservo1.write (i); kašnjenje (15); } myservo1.write (5); } Jednostavno pomeranje za provjeru ispravnosti servo pogona. void loop () {spreman = 0; brojač = 0; while (1 == 1) {if (Serial.read ()! = verify [brojač]) {break; } if (brojač == 6) {odgoda (20); naredba [0] = Serial.read (); naredba [1] = Serial.read (); // if (Serial.read () == ((naredba [1] * 12) % 8)) // {spreman = 1; //} Serial.println ("spremljena naredba"); } brojač ++; kašnjenje (2); } ovo provjerava je li serijski međuspremnik ispravan autorizacijski niz, a zatim zgrabi dva bajta za naredbu. komentirana izjava if dopušta improvizirani kontrolni zbroj, ali bi otežala ručno povezivanje. ready može biti postavljeno na 0 pa se naredbe neće raščlaniti, na primjer u slučaju oštećenih podataka. // pretraživanje po naredbama if (ready == 1) {if (command [0] == 'T') {command [0] = 0; Serial.print ("kontrola gasa na pinu 9 do:"); Serial.println (karta (naredba [1], 32, 126, 2, 180), DEC); myservo.write (karta (naredba [1], 32, 126, 2, 180)); } if (naredba [0] == 'S') {naredba [0] = 0; Serial.print ("kontrola gasa na pinu 10 do:"); Serial.println (karta (naredba [1], 32, 126, 2, 180), DEC); myservo1.write (karta (naredba [1], 32, 126, 2, 180)); }}} ostatak koda je traženje naredbe za valjane naredbe (T ili S.) ako bilo koje podudaranje uzima sljedeći bajt i šalje ga servo -u. više na karti (naredba [1], 32, 126, 2, 180) kasnije … ovdje se kôd može proširiti za sve što vam zatreba (npr. svjetla, motori, IC, itd.) ovaj kôd bi trebao dobro funkcionirati bez preinake.
Korak 4: Instalirajte softver
Imam dva načina za instaliranje ovog … nsis instalacijskog programa: Preuzmite samoraspakirajući instalacijski program ispod i pokrenite ga. Tijekom instalacije imat ćete mogućnost instaliranja izvora. instalacijski binarni paket instalira jezgru c ++ dlls tako da se može pokrenuti na računalu bez već instaliranog vizualnog c ++. Nakon što instalacijski program završi, možete ga pokrenuti s radne površine ili izbornika Start. zip način (neprovjeren): Preuzmite i pokrenite, to bi trebalo funkcionirati. može biti. (Zip arhiva ima istu strukturu mapa koju je stvorio instalater, bez izvora. Nemam stroj bez vizualnog studija na kojem bi je testirao kako ne bi funkcionirao.)
Korak 5: Koristite program sučelja
Za korištenje programa najprije odaberite brzinu prijenosa definiranu u arduino skici. Nepromijenjena skica zadano je postavljena na 38400 bauda, ali se može promijeniti prema vašim potrebama za stvari poput sporije radio veze. napomena: brzine prijenosa veće od 38400 nisu bile jako stabilne, mislim da je to zato što se uart napuni prije nego što se podaci mogu obraditi. Zatim odaberite COM port koji ćete koristiti. program prema zadanim postavkama na COM4 svakako ga promijenite ili će se program srušiti. Na kraju kliknite Otvori. Ako je sve prošlo dobro, program će otvoriti odabrani serijski port odabranom brzinom prijenosa. U protivnom će se program vjerojatno srušiti s neobrađenom iznimkom. provjerite je li port ispravan i pokušajte ponovno. Pomoću tekstualnih okvira pošaljite izravne naredbe arduinu. "Karta (naredba [1], 32, 126, 2, 180)" skalira sve 94 moguće naredbe, * razmak * do ~, koje arduino u ASCII -u može čitati na 2 do 180 za servo. svaki bajt manji od ASCII 32 (razmak) ili veći od 126 (~) prema zadanim postavkama iznosi 63 (?) Trake za praćenje pružaju sučelje za lakše izravne naredbe. svaki korak postepeno šalje serijsku naredbu arduinu.
Korak 6: Budite kreativni
Smislite neke super stvari s ovim. Neke ideje: 1. Daljinski gas za automobil. 2. Nosač 3D kamere 3. Podvodni rover Zabavite se !!
Preporučeni:
IRduino: Arduino daljinski upravljač - oponašajte izgubljeni daljinski upravljač: 6 koraka
IRduino: Arduino daljinski upravljač - oponašajte izgubljeni daljinski upravljač: Ako ste ikada izgubili daljinski upravljač za televizor ili DVD uređaj, znate koliko je frustrirajuće morati hodati do, pronaći i koristiti gumbe na samom uređaju. Ponekad ti gumbi čak ne nude istu funkcionalnost kao daljinski. Primiti
RoverBluetooth: Bluetooth automobil zasnovan na Arduinu: 5 koraka
RoverBluetooth: Bluetooth automobil zasnovan na Arduinu: RoverBluetooth je ime koje sam dao Bluetooth automobilu sa sjedištem u Arduinu koji sam napravio za školski ispit kad sam imao samo trinaest godina. Također sam to pokazao na Maker Faire Romeu s FabLabom (i bio sam jedan od najmlađih tamo)! Vrlo je jednostavno za napraviti (samo nekoliko niskih
Autonomni bot zasnovan na Arduinu pomoću ultrazvučnog senzora: 5 koraka (sa slikama)
Autonomni bot zasnovan na Arduinu pomoću ultrazvučnog senzora: Izradite vlastiti autonomni bot zasnovan na Arduinu pomoću ultrazvučnog senzora. Ovaj se bot može prilično sam kretati bez sudara s preprekama. U osnovi, ono što radi jest otkrivanje bilo kakvih prepreka na svom putu i odlučivanje o najboljem
BeanBot - autonomni papirni robot zasnovan na Arduinu!: 8 koraka (sa slikama)
BeanBot - autonomni robotski papir temeljen na Arduinu !: Postoji li nešto inspirativnije od praznog papira? Ako ste strastveni majstor u gradnji ili gradnji, onda bez sumnje započinjete svoje projekte skicirajući ih na papiru. Imao sam ideju vidjeti je li moguće konstruirati okvir robota od papira
Jednostavan zaslon ergometra zasnovan na Arduinu s različitim povratnim informacijama: 7 koraka (sa slikama)
Jednostavan zaslon ergometra zasnovan na Arduinu s različitim povratnim informacijama: Kardio vježbe su dosadne, osobito kada vježbate u zatvorenom prostoru. Nekoliko postojećih projekata pokušavaju to ublažiti radeći super stvari, poput spajanja ergometra s igraćom konzolom, ili čak simulacijom prave vožnje biciklom u VR -u. Uzbudljivo kao