Sadržaj:
- Korak 1: Stvari koje će vam možda trebati …
- Korak 2: Povežite hardver
- Korak 3: Programirajte Arduino
- Korak 4: Instalirajte softver
- Korak 5: Koristite program za sučelje
- Korak 6: Budite kreativni
Video: Serijski servo kontroler zasnovan na Arduinu: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:10
Ovo je jednostavan serijski kontroler za više servo servera zasnovanih na Arduinu. (i moje prvo uputstvo:))
Većina posla u ovome dolazi od dobijanja 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 sa ATMEGA328, ali većina ovih dijelova može se zamijeniti sličnim stavkama. Zamišljao sam ovaj projekt kao dio RC sistema, ali postavljanje komunikacije oduzelo je puno vremena. Ako neko ima poboljšanja, ideje ili greške, neka komentira. EDIT: Ovo sam napisao maloprije, nedavno sam to trebao objaviti.
Korak 1: Stvari koje će vam možda trebati …
Neke stvari će vam trebati da ovo izgradite. 1. Arduino ploča (po vašem izboru) 2. dva (ili jedan) servo upravljač 3. kratkospojne žice 4. Visual Studio 2008 Express - veza (opcionalno) 5. Arduino IDE - veza Nažalost, ljubitelji 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; // kreiranje 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 podataka Serial.println ("Zdravo Arduino ovdje!"); // dodano za pomoć pri identifikaciji serijskog porta Ovim se samo postavljaju serijski port i servo upravljači. 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 proveru 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"); } counter ++; kašnjenje (2); } ovo provjerava da li serijski bafer ima ispravan autorizacijski niz, a zatim zgrabi dva bajta za naredbu. komentirana izjava if dopušta improvizirani kontrolni zbroj, ali bi otežalo ručno povezivanje. ready se može postaviti na 0 pa naredbe neće biti raščlanjene, na primjer u slučaju oštećenih podataka. // pretražujemo naredbe if (ready == 1) {if (command [0] == 'T') {command [0] = 0; Serial.print ("kontrola gasa na pinu 9 do:"); Serial.println (mapa (naredba [1], 32, 126, 2, 180), DEC); myservo.write (map (naredba [1], 32, 126, 2, 180)); } if (naredba [0] == 'S') {naredba [0] = 0; Serial.print ("kontrola gasa na pinu 10 do:"); Serial.println (mapa (naredba [1], 32, 126, 2, 180), DEC); myservo1.write (map (naredba [1], 32, 126, 2, 180)); }}} ostatak koda je traženje naredbi za važeće naredbe (T ili S.) ako se podudaraju, uzima sljedeći bajt i šalje ga na servo. više na karti (naredba [1], 32, 126, 2, 180) kasnije … kod se ovdje može proširiti za sve što vam zatreba (npr. svjetla, motori, IC, itd.) ovaj kôd bi trebao dobro funkcionirati bez modifikacije.
Korak 4: Instalirajte softver
Imam dva načina da instaliram ovaj … nsis instalacijski program: Preuzmite samoraspakirajući instalacijski program ispod i pokrenite ga. Imat ćete mogućnost instaliranja izvora tokom instalacije. binarni paket za instalaciju instalira core c ++ dlls tako da se može pokrenuti na računaru bez već instaliranog vizuelnog c ++. Kada instalacijski program završi, možete ga pokrenuti sa radne površine ili izbornika Start. zip način (neprovjeren): Preuzmite i pokrenite, trebalo bi raditi. možda. (Zip arhiva ima istu strukturu fascikli koju je kreirao instalater, bez izvora. Nemam mašinu bez vizuelnog studija na kojoj bi je testirala kako ne bi radila.)
Korak 5: Koristite program za sučelje
Za korištenje programa prvo odaberite brzinu prijenosa definiranu u arduino skici. Nepromijenjena skica je zadana na 38400 baud, ali se može promijeniti prema vašim potrebama za stvari poput sporije radio veze. napomena: brzine prijenosa veće od 38400 nisu bile baš 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 u redu, program će otvoriti odabrani serijski port odabranom brzinom prijenosa. U protivnom će se program vjerojatno srušiti s neobrađenim izuzetkom. provjerite je li port ispravan i pokušajte ponovo. Koristite tekstne okvire za slanje izravnih naredbi arduinu. "Karta (naredba [1], 32, 126, 2, 180)" skalira svih 94 moguće naredbe, * razmak * do ~, koje arduino u ASCII -u može čitati na 2 do 180 za servo. bilo koji bajt manji od ASCII 32 (razmak) ili veći od 126 (~) prema zadanim postavkama je 63 (?) Trake za praćenje pružaju interfejs za direktnu komandu. svaki korak postepeno šalje serijsku naredbu arduinu.
Korak 6: Budite kreativni
Smislite neke kul stvari koje možete napraviti s ovim. Neke ideje: 1. Daljinski gas za automobil. 2. Nosač 3D kamere 3. Podvodni rover Zabavite se !!
Preporučuje se:
Telefon zasnovan na Arduinu (prototip): 7 koraka
Arduino bazirani telefon (prototip): Pozdrav svima, Danas ćemo u ovom uputstvu vidjeti telefone zasnovane na arduinu. Ovaj telefon je prototip koji se još uvijek razvija. Izvorni kod je otvorenog izvora, svatko može promijeniti kôd. Karakteristike u telefonu: 1. Muzika 2. Video zapisi 3
3D štampani RD predajnik zasnovan na Arduinu: 25 koraka (sa slikama)
3D štampani RD predajnik zasnovan na Arduinu: Ovaj projekat će vam pokazati kako sam krenuo u projektovanje i izgradnju RD predajnika zasnovanog na Arduinu. Moj cilj za ovaj projekat je bio da dizajniram RC predajnik sa 3D štampanjem koji bih mogao koristiti za kontrolu drugih Arduino projekata. Htio sam da kontroler bude
Inteligentni Romote automobil zasnovan na Arduinu: 5 koraka
Inteligentni Romote automobil zasnovan na Arduinu: Ovaj projekt se temelji na razvojnoj ploči Arduino UNO za izradu pametnog automobila. Automobil ima bežičnu Bluetooth kontrolu, izbjegavanje prepreka, alarm zujalice i druge funkcije, a radi se o automobilu s pogonom na sva četiri kotača, lako se okreće
Lični asistent zasnovan na Arduinu. (BHAI): 4 koraka
Lični asistent zasnovan na Arduinu. (BHAI): Uvod: Napravljeno u saradnji sa Kundan Singh ThakurOvo je moje prvo uputstvo, pa vas molim da se pridržavate svih grešaka koje sam možda napravio. Ostavite i komentare u slučaju bilo kakvih nedoumica ili problema. Lični asistent zasnovan na arduinu sličan je vašem djevu
Humanoidni robot zasnovan na Arduinu koji koristi servo motore: 7 koraka (sa slikama)
Humanoidni robot na bazi Arduina koji koristi servo motore: Pozdrav svima, ovo je moj prvi humanoidni robot, izrađen od PVC pjene. Dostupan je u različitim debljinama. Ovdje sam koristio 0,5 mm. Ovaj robot sada može samo hodati kad sam ga uključio. Sada radim na povezivanju Arduina i Mobitela putem Bluetootha