Cuprins:
- Pasul 1: Piese și instrumente
- Pasul 2: tăierea pieselor
- Pasul 3: Asamblare
- Pasul 4: Cablare
- Pasul 5: Testare și depanare
- Pasul 6: Programare
- Pasul 7: Finalizat, alții care au terminat și viitorul
Video: Robot servo controlat Arduino (SERB): 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
Ce modalitate mai bună de a începe experimentarea cu micro-controlere open source (Arduino), apoi prin construirea propriului robot open source (CC (SA -BY))? Ce să faci cu SERB-ul tău?
- (aici) - Cum să vă conectați SERB-ul la internet și să îl conduceți printr-un apel video Skype.
- (aici) - Cum să vă controlați SERB-ul folosind accelerometrele unui nunchuck Wii
- (aici) - Cum să adăugați mustăți de detectare a obstacolelor la robotul dvs.
- (aici) - Cum se fac 30 de truse (Open Manufacturing)
Caracteristici:
- Complet programabil folosind un microcontroler Arduino Duemilanove (sau un alt microcontroler la alegere).
- Nu este nevoie să lipiți.
- Alegerea opțiunilor de tăiere pentru piese acrilice. (ferăstrău cu scroll, acces la un tăietor cu laser, achiziționarea de piese pre-tăiate)
- Extensibil și modificabil cu ușurință, cu găuri de șuruburi suplimentare și panou inclus.
- Roată spate cu rulment cu bile dublu.
- În funcțiune în 1-2 ore. (din trusa)
- Design open source (construiți câte doriți)
(Plug Shameless) În Marea Britanie și vă plac lucrurile Arduino? verificați magazinul nostru web nou deschis oomlout.co.uk Un videoclip rapid al unui servo robot complet controlat Arduino - (SERB) care rulează programul de testare inclus (pasul 6) Notă: Fișierele sursă sunt disponibile într-un paralel Instructabil (Fișierele sursă pentru) - Cum să faci un robot servo controlat Arduino - (SERB)
Pasul 1: Piese și instrumente
Toate șuruburile pot fi găsite la Home Depot-ul local. Celelalte părți pot fi găsite online (am inclus un link către sursa mea preferată pentru fiecare). Lista pieselor: un pachet care conține toate articolele hardware poate fi achiziționat de la magazinul oomlout.com (aici) (120 USD) Nuts and Bolts:
- Surub 3mm x 15mm (x20)
- Surub 3mm x 10mm (x12)
- Piuliță de 3 mm (x34)
- Spălător de 3 mm (x12)
- Șurub de 8 mm x 25 mm (x2)
- Piuliță de 8 mm (x2)
- Rulmenți pentru skate (x2) (VXB) (acestea sunt rulmenți standard pentru skate, astfel încât să poată fi recuperate dintr-o pereche de pale cu role sau de pe un skateboard)
Anvelope
- Inel O mare (4.5 "ID 3/16" Bead Dash # 349) (x2) (produs McMaster-Carr nr. 9452K407)
- Inel O mic (3/4 "ID 3/16" Bead Dash # 314) (x1) (produs McMaster-Carr nr. 9452K387)
Electronică
- Arduino Duemilanove (x1) (Maker Shed)
- Servo rotatie continua (x2) (paralela)
- 400 Contact Breadboard (x1) (Toate aparatele electronice))
- Cutie de baterii Quad AA (x1) (Toate aparatele electronice)
- Clemă pentru baterie de 9V (x1) (toate aparatele electronice)
- Fișă de 2,1 mm (x1) (toate aparatele electronice)
- Antet cu 3 pini (x2) (Toate aparatele electronice)
- Cablu USB A-B - stil imprimantă (x1) (toate aparatele electronice) (nu este inclus în kit)
Baterii:
- Baterie AA (x4) (nu este inclusă în kit)
- Baterie 9v (x1) (nu este inclusă în kit)
Sârmă: (toate firele sunt 22 AWG solide, le cumpăr pe ale mele prin McMaster-Carr)
- 15 cm Violet (x2)
- 15 cm negru (x1)
- 5 cm negru (x2)
- 5 cm roșu (x2)
Instrumente
- Șurubelniță (x1) (Philips)
- Cleste cu vârful acului (x1)
Pasul 2: tăierea pieselor
Vă rugăm să alegeți ce pași urmați în funcție de opțiunea de tăiere pe care ați ales-o. Opțiunea 1 (Achiziționarea de piese pre-tăiate)
Achiziționați un șasiu pre-tăiat din magazinul oomlout.com (aici) (60 USD, inclusiv transportul către SUA și Canada)
Opțiunea 2 (Fabricare digitală (de exemplu, Ponoko) / Acces la un dispozitiv de tăiere cu laser)
- Descărcați aspectul tăietorului laser ("03 SERB Ponoko Cutting Layout P2.eps" sau "03- (SERB) -Ponoko Cutting Layout (P2).cdr")
- Tăiați fișierele folosind Ponoko sau pe propriul tăietor laser (folosind acrilic de 3 mm,.118 "(uneori vândut ca.125")
Opțiunea 3 (ferăstrău și burghiu)
- Descărcați și tipăriți modelul PDF (vă rugăm să alegeți fișierul corespunzător dimensiunii dvs. de hârtie) 03- (SERB) -ScrollSaw Pattern (letter).pdf 03- (SERB) -ScrollSaw Pattern (A4).pdf (este important să nu scalați desenul în timpul tipăririi)
- Măsurați rigla de pe imprimare cu o riglă în care aveți încredere, dacă acestea nu se potrivesc cu modelul a fost redimensionat și trebuie să vă uitați la setările imprimantei înainte de a retipări. Dacă se potrivesc, încolo.
- Lipiți modelul pe foaia acrilică (3mm,.118 "(uneori vândută ca.125").
- Gauri de burghiu.
- Decupați piese folosind un ferăstrău cu role
Pasul 3: Asamblare
Felicitări pentru că ați ajuns până la 90% din procesul finalizat, trebuie doar să descărcați instrucțiunile de asamblare din acest pas (04- (SERB) -Assembly Guide.pdf) și după o mică asamblare în stil lego / mecanic veți fi gata să conectați. Pentru a vă distra pe parcurs, iată un time-lapse al adunării mele:
Pasul 4: Cablare
Cu toate piesele mari la un loc, este timpul să adăugați micile vene electrice care vor permite robotului nostru să fie controlat. Pentru a face acest lucru, descărcați și imprimați schema de cablare (05- (SERB) -Wiring Diagram.pdf). O primă privire asupra acestuia poate părea destul de descurajantă, totuși, dacă faceți fiecare conexiune în mod secvențial și vă ocupați timpul, se reunesc remarcabil de repede. Cablarea este destul de simplă și nu vă poate dăuna circuitului până când nu adăugați baterii. Deci, conectați totul, verificați-l, apoi adăugați energie.
Pasul 5: Testare și depanare
Dacă ați comandat un kit, Arduino a fost preîncărcat cu un program de testare. Doar introduceți 4 baterii AA și conectați bateria de 9v la Arduino. Și dacă totul a fost făcut corect robotul dvs. va începe să se miște (se va întoarce într-o direcție aleatorie pentru un timp cuprins între 0,1 și 1 secundă înainte de a merge înainte pentru un timp aleatoriu între 1 și 2 secunde, apoi faceți o pauză timp de 2 secunde înainte de a porni din nou). Dacă nu ați achiziționat un kit, este necesar un pas suplimentar. Descărcați fișierul zip atașat (07- (SERB) - SERB-Test Arduino Program.zip). Apoi dezarhivați-l în directorul de schițe Arduino (implicit „documentele mele / Arduino \”) și descărcați-l pe placa dvs. arduino. (dacă sunteți nou în Arduino, treceți mai departe cu un pas în care există legături către tutoriale excelente pentru început) Probleme obișnuite: SERB-ul meu se mișcă încet când ar trebui oprit. Acesta este rezultatul faptului că servo-urile dvs. nu au fost calibrate destul de bine, pentru a vă calibra servo-urile, așteptați până când programul dvs. are servo-urile oprite, apoi cu o șurubelniță mică rotiți potențiometrul în interiorul servo-ului (mica deschidere din carcasa servo-ului chiar deasupra unde sunt cablurile). Rotiți-l fie la stânga, fie la dreapta până când servo-ul este într-adevăr oprit. Lucrurile nu funcționează corect. Trimiteți-ne un e-mail cu simptomele dvs. și vom încerca să vă ajutăm, în timp ce așteptați un răspuns, verificați-vă toate firele cu schema de cablare de la pasul 4. Dacă întâmpinați vreo problemă, vă rugăm să adăugați un comentariu la acest Instructable sau trimiteți un e-mail la [email protected] și vom încerca tot posibilul să vă ajutăm să funcționați SERB
Pasul 6: Programare
Robotul fizic a terminat timpul să înceapă să-i dea un creier. Înainte de a intra în detaliile programării unui Arduino Controlled Servo Robot - (SERB) - câteva linkuri către câteva resurse excelente de programare Arduino de pe internet. Ghid de pornire Arduino - Un ghid pentru a vă ajuta să începeți cu Arduinos, de la descărcarea mediului de programare până la scrierea primului dvs. program de referință Arduino - Un ghid complet ușor de referit la limbajul de programare Arduino. - Cum funcționează biblioteca Arduino Servo (modul în care ne controlăm serv-urile). Bine, cu învățarea din cale, putem obține programarea. Există trei modalități de a începe programarea robotului Arduino Controlled Servo - (SERB). Opțiunea 1: (Modificarea SERB_Test.pde) Uneori, când programați cel mai ușor lucru este să luați un program de lucru și să începeți să adăugați propriul cod. Pentru a face acest lucru, descărcați programul SERB_Test zip (07- (SERB) - SERB-Test Arduino Program.zip). Continuați să dezarhivați acest fișier în schița Arduino (implicit „Documentele mele / Arduino \”). În cele din urmă, deschideți mediul de programare Arduino și descărcați-l pe Arduino. Codul este bine comentat. (Sau copiați și lipiți codul din apendice la acest pas într-o nouă schiță Arduino) Opțiunea 2: (Adăugarea rutinelor SERB la programul dvs.) Adăugați câteva rutine simple la programul dvs. preexistent (cum ar fi goForward (), setSpeed (int) etc.). Pentru aceasta descărcați rutinele din fișierul text (07- (SERB) - Simple Routines Text.txt). 1. Copiați și lipiți porțiunea de preambul la începutul programului dvs. Copiați și lipiți porțiunea de rutină în corpul programului dvs. Adăugați un apel la serbSetup (); la rutina de configurare () Opțiunea 3: (Crearea propriului program de la zero) Acest lucru nu este prea dificil. Tot ce este necesar este să vă familiarizați cu Arduino Servo Library. Apoi, servo dreapta este conectat la pinul 9, iar servo stânga la pinul 10. Notă: Programele suplimentare vor fi adăugate aici pe măsură ce sunt dezvoltate; sau dacă dezvoltați ceva și doriți să apară, trimiteți-mi un mesaj privat și acesta poate fi adăugat. Anexă: (Cod SERB_Test.pde)
/ * * Arduino Controlled Servo Robot (SERB) - Program de testare * Pentru mai multe detalii vizitați: https://www.oomlout.com/serb * * Comportament: Un program simplu de testare care face ca SERB * să se întoarcă aleatoriu, fie la stânga, fie la dreapta pentru o perioadă de timp aleatorie cuprinsă între 0,1 și 1 secundă. * SERB va conduce apoi înainte pentru o perioadă de timp aleatorie * între 1 și 2 secunde. În cele din urmă * pauză timp de 2 secunde înainte de a începe din nou. * * Cablare: Semnal Servo Dreapta - pin 9 * Semnal Servo Stânga - Pin 10 * * Licență: Această lucrare este licențiată sub licența Creative Commons * Atribuire-Distribuire în condiții identice 3.0 Unported. Pentru a * vizualiza o copie a acestei licențe, vizitați * https://creativecommons.org/licenses/by-sa/3.0/ * sau trimiteți o scrisoare la Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * STATELE UNITE ALE AMERICII. * * / // --------------------------------------------- ----------------------------- // ÎNCEPUTUL ROBOTULUI SERVO CONTROLAT ARDUINO (SERB) PREAMBUL # include #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo leftServo; Servo dreapta Servo; viteza int = 100; // setează viteza robotului (ambele servere) // un procent între 0 și 100 // FINALUL ROBOTULUI SERVO CONTROLAT ARDUINO (SERB) PREAMBUL // ---------------- -------------------------------------------------- -------- / * * setează pinii la stările corespunzătoare și atașează servouri. Apoi face pauze * 1 secundă înainte ca programul să înceapă * / void setup () {serbSetup (); // setează starea tuturor necesară // pini și adaugă servos la schița randomSeed (analogRead (0)); // setează numărul aleatoriu cu // ceva întârziere ușor aleatorie (1000);} / * * întoarce robotul la stânga sau la dreapta (aleatoriu) pentru o perioadă cuprinsă între * 0,1 și 1 secundă. Înainte de a merge înainte pentru o perioadă de timp aleatorie * între 1 și 4 secunde. Înainte de a face o pauză timp de două secunde, apoi începe din nou *. * / Void loop () {turnRandom (100, 1000); // Se întoarce aleatoriu la stânga sau la dreapta pentru o // perioadă de timp aleatoriu între.1 secundă // și o secundă goForwardRandom (1000, 2000); // Merge înainte pentru o perioadă de timp aleatorie // între // 1 și 2 secunde goStop (); // Oprește întârzierea robotului (2000); // face o pauză timp de 2 secunde (în timp ce este oprit)} / * * întoarce robotul în mod aleatoriu la stânga sau la dreapta pentru o perioadă de timp aleatorie între * minTime (milisecunde) și maxTime (milisecunde) * / void turnRandom (int minTime, int maxTime) {int alegere = aleatorie (2); // Număr aleatoriu de decis // între stânga (1) și dreapta (0) int turnTime = random (minTime, maxTime); // Număr aleatoriu pentru pauză // timp dacă (alegere == 1) {goLeft ();} // Dacă număr aleatoriu = 1, atunci rotiți // left else {goRight ();} // If number random = 0 then virare // întârziere la dreapta (turnTime); // întârziere pentru timp aleatoriu} / * * merge înainte pentru o perioadă de timp aleatorie între minTime (milisecunde) * și maxTime (milisecunde) * / void goForwardRandom (int minTime, int maxTime) {int forwardTime = random (minTime, maxTime); // determină un timp aleatoriu pentru // merge înainte goForward (); // setează întârzierea înainte de SERB (forwardTime); // întârzieri pentru o perioadă de timp aleatorie} // ---------------------------------------- -------------------------------- // ÎNCEPUTUL RUTINELOR SERVO ROBOT (SERB) CONTROLATE ARDUINO / * * configurează arduino pentru a vă adresa SERB-ului folosind rutinele incluse * / void serbSetup () {setSpeed (speed); pinMode (LEFTSERVOPIN, OUTPUT); // setează pinul de semnal servo stâng // la pinMode de ieșire (RIGHTSERVOPIN, OUTPUT); // setează pinul de semnal servo drept // la ieșirea leftServo.attach (LEFTSERVOPIN); // atașează servo stânga rightServo.attach (RIGHTSERVOPIN); // atașează servo dreapta goStop ();} / * * setează viteza robotului între 0- (oprit) și 100- (viteză maximă) * NOTĂ: viteza nu va schimba viteza curentă trebuie să schimbați viteza * apoi sunați una a metodelor go înainte ca modificările să apară. * / void setSpeed (int newSpeed) {if (newSpeed> = 100) {newSpeed = 100;} // dacă viteza este mai mare de 100 // faceți-o 100 if (newSpeed <= 0) {newSpeed = 0;} // dacă viteza este mai mică de 0 faceți // viteza 0 = newSpeed * 0.9; // scalează viteza la // între 0 și 90} / * * trimite robotul înainte * / void goForward () {leftServo.write (90 + viteză); rightServo.write (90 viteze);} / * * trimite robotul înapoi * / void goBackward () {leftServo.write (90 viteze); rightServo.write (90 + viteză);} / * * trimite robotul dreapta * / void goRight () {leftServo.write (90 + viteză); rightServo.write (90 + viteză);} / * * trimite robotul la stânga * / void goLeft () {leftServo.write (90 - viteză); rightServo.write (90 viteze);} / * * oprește robotul * / void goStop () {leftServo.write (90); rightServo.write (90);} // SFÂRȘITUL RUTINELOR SERVO CONTROLATE ARDUINO (SERB) // ---------------------------- -----------------------------------------------
Pasul 7: Finalizat, alții care au terminat și viitorul
Felicitări pentru că ați ajuns până aici și sper că vă distrați cu robotul dvs. servo Arduino Controlled - (SERB). SERB-ul lui Michael Beck -Michael a găsit planurile pentru SERB la Thingiverse.com și i-a tăiat acrilul galben și roșu. Cred că arată grozav. SERB-ul lui Mike - Mike (de la clubul robot Robby din St. Louis Area) a avut un prieten care a tăiat cu laser un șasiu SERB și și-a folosit propriile sale cunoștințe robotice pentru ao pune în funcțiune. Cred că pare minunat făcut în albastru. (consultați site-ul său pentru detalii despre acest lucru, precum și despre ceilalți roboți ai săi (aici) Această secțiune va conține detalii despre evoluțiile viitoare și atașamentele (acestea vor fi prezentate aici înainte ca acestea să fie documentate corespunzător). Dar aș dori, de asemenea, să prezint imagini a altor popoare SERB. Deci, dacă ați terminat, trimiteți-mi un mesaj privat cu o fotografie și câteva cuvinte (fie că este o descriere sau un link către site-ul dvs.) și îl voi adăuga aici. (Shameless Plug) Dacă v-a plăcut acest instructiv verificați oomlout.com pentru alte proiecte open source distractive.
Premiul I în concursul SANYO eneloop alimentat de baterie
Recomandat:
Montare pe perete pentru iPad ca panou de control de automatizare la domiciliu, folosind un magnet controlat servo pentru a activa ecranul: 4 pași (cu imagini)
Montare pe perete pentru iPad Ca panou de control pentru automatizarea casei, folosind un magnet controlat servo pentru a activa ecranul: în ultimul timp am petrecut destul de mult timp automatizând lucrurile în și în jurul casei mele. Folosesc Domoticz ca aplicație de automatizare a casei, consultați www.domoticz.com pentru detalii. În căutarea unei aplicații de tablou de bord care afișează toate informațiile Domoticz
Word Clock controlat de 114 Servo-uri: 14 pași (cu imagini)
Word Clock Controled by 114 Servos: Ce are 114 LED-uri și funcționează întotdeauna? După cum știți, răspunsul este un ceas cu cuvinte. Ce are 114 LED-uri + 114 servo-uri și este mereu în mișcare? Răspunsul este acest ceas cu cuvânt servo controlat. Pentru acest proiect, am făcut echipă cu un prieten de-al meu care s-a transformat
Labirint de marmură controlat servo cu 2: 6 pași (cu imagini)
Servo Controlled Marble Maze Build 2: Aceasta este o versiune actualizată bazată pe un instructable anterior. Acesta este mai ușor de realizat și arată puțin mai bine. În plus, unele noi tehnici de construcție, cum ar fi utilizarea magneților pentru a atașa labirintul Lego, sunt cam grozave.Proiectul este pentru un site web
Servo controlat Alexa: 9 pași (cu imagini)
Servo controlat Alexa: Introducere Am un laptop pe un raft în biroul meu care monitorizează mai multe camere care se află în exteriorul casei mele. Mă avertizează cu privire la livrări și vizitatori. Deși pot folosi un browser web pentru a le vedea imaginile, este mai ușor să
Labirint de marmură controlat servo: 5 pași (cu imagini)
Labirint de marmură controlat servo: Aceasta este versiunea labirintului clasic de marmură (există opțiuni în cale), în care tigaia și înclinarea sunt controlate de servocomandele hobby. Cu servo-urile, puteți lucra labirintul cu un controler R / C sau un PC etc. Am construit acesta pentru a fi utilizat cu TeleToyl