Circuite

Cum se construiește un robot - Lecția 2: Construiți un robot de bază Arduino: 19 pași

The Freakishly Fast World of Robot Sumo

The Freakishly Fast World of Robot Sumo

Cuprins:

Anonim

După prima lecție (Cum se construiește un robot - Introducere), aveți acum o cunoaștere de bază a ceea ce este un robot Arduino, ce aveți nevoie pentru a construi un robot, precum și cum să utilizați instrumentele. Acum, este timpul să începeți să faceți!

În acest al doilea tutorial, veți fi învățați să construiți un robot de bază Arduino. Pentru a face acest tutorial ușor de urmărit, este folosit aici un exemplu de kit de robot Arduino (Pirate: Arduino Mobile Robot Kit 4WD cu Bluetooth 4.0).

Lecții Meniu:

Lecția 1: Introducere

Lectia 2: Construieste un Arduino Robo de baza

Lectia 3: Construieste un Robot Arduino de urmarire a liniei

Lectia 4: Construieste un Robot Arduino care ar putea evita obstacolele

Lectia 5: Construieste un Robot Arduino cu efecte de lumina si sunet

Lectia 6: Construieste un Robot Arduino care ar putea monitoriza mediul

Lectia 7: Construieste un Robot Arduino controlat cu Bluetooth

Instrucțiuni de asamblare

PASUL 1: Asamblați motorul propriu

Uită-te în punga ta pentru opt șuruburi lungi. Acestea sunt folosite pentru fixarea și fixarea motoarelor în poziție. Așezați motoarele în alinierea corectă, apoi înșurubați-le în poziție, după cum se arată în imaginea de mai jos.

Vă rugăm să rețineți că șaibele și garniturile sunt de asemenea incluse în sacul pentru piese. Șaibele pot fi utilizate pentru a mări frecarea, ceea ce ajută la fixarea motoarelor în poziție. Garniturile ajută la prevenirea slăbirii și caderii piulițelor în urma mișcărilor și coliziunilor robotului.

Furnituri:

Pasul 1:

PASUL 2: lipirea cablurilor

Luați firele negre și roșii din punga de piese. Atașați un cablu negru și un fir roșu (15 cm lungime) la fiecare motor (4 motoare în total). Apoi, utilizați dispozitivul de stripare a firului pentru a îndepărta izolația la ambele capete ale firelor (asigurați-vă că nu lipiți prea mult - consultați imaginile de mai jos). Apoi lipiți firele de pinii atașați la motoare. Repetați procesul de lipire pentru toate cele patru motoare.

NOTĂ: Acordați atenție poziționării corecte a firelor roșii și negre la lipire. Consultați următoarele fotografii pentru detalii.

Pasul 2:

PASUL 3: Asamblați controlerul Romeo BLE

Uită-te în punga ta pentru trei suporturi de cupru. Acele suporturi de 1 cm sunt folosite pentru a fixa placa de control Romeo. După cum se arată în imaginea de mai jos, există trei găuri în placa de comandă. Așezați cele trei suporturi de cupru în orificii, apoi fixați-le cu șuruburile corespunzătoare.

Pasul 3:

PASUL 4: Asamblați bateria

Scoateți două șuruburi conturate (capetele lor sunt plane). Apoi urmați pașii prezentați în imaginea de mai jos și atașați bateria la baza mașinii.

Pasul 4:

PASUL 5: Construirea comutatorului de alimentare

Bateriile sunt sângele esențial al roboților. Pentru a controla consumul de energie, trebuie să folosim un întrerupător de alimentare: comutatorul se oprește atunci când nu este utilizat, menținând astfel energia electrică și durata de viață a bateriei. Consultați imaginea de mai jos înainte de asamblarea și instalarea comutatorului de alimentare.

Vă rugăm să acordați atenție secvenței garniturilor și piulițelor în timpul montării comutatorului.

Pasul 5:

După asamblarea comutatorului, dorim să începem să lipim firele. Luați din restul restului de sârmă rămas. Stripați cablajul de pe ambele capete ale cablurilor astfel încât interiorul firului să fie expus (același proces ca și cu motoarele înainte). Vrem să lipim capătul expus al firelor la pinii de pe comutator. Când lipiți, este foarte important să notăm poziția pinilor comutatorului.

Pasul 6:

Să facem acest lucru pas cu pas.

a) Conectați comutatorul la încărcătorul bateriei. Fiți atenți la locația exactă a ambelor elemente.

Pasul 7:

b) Fixați cablurile roșii care conectează comutatorul cu încărcătorul, așa cum se arată în imaginea de mai jos.

Pasul 8:

Iată o altă imagine pentru a face lucrurile mai clare.

c) În final, luați un cablu roșu și un cablu negru. Atașați un capăt al unui cablu la polul negativ al încărcătorului și la unul dintre capetele celuilalt cablu la polul pozitiv al încărcătorului. Apoi atașați celelalte capete ale ambelor cabluri la controlerul Romeo BLE.

Pasul 9:

c) În final, luați un cablu roșu și un cablu negru. Atașați un capăt al unui cablu la polul negativ al încărcătorului și la unul dintre capetele celuilalt cablu la polul pozitiv al încărcătorului. Apoi atașați celelalte capete ale ambelor cabluri la controlerul Romeo BLE.

Pasul 10:

Privind această imagine extinsă ar trebui să vă dați o idee mai bună despre modul în care firele ar trebui să fie conectate. După lipire, asigurați-vă că verificați dacă cablajul dintre baterie și controlerul Romeo este consecvent de la început până la sfârșit și se potrivește cu imaginile de mai sus.

Pasul 6: Asamblați baza mașinii

Folosind șase șuruburi M3x6mm, atașați plăcile laterale la plăcile de protecție față și spate, după cum arată diagrama de mai jos.

NOTĂ: Atunci când strângeți șuruburile în timpul acestei etape, asigurați-vă că nu strângeți complet șuruburile la început - în acest fel, putem detașa cu ușurință placa superioară în etapele ulterioare, dacă este necesar să efectuăm reglaje.

Pasul 11:

Apoi, remontați placa de bază la caroseria automobilului așa cum se arată în imaginea de mai jos.

Pasul 12:

** Aceasta este ceea ce baza de masina ar dori dupa ce a fost asamblat - amintiți-vă să instalați acumulatorul!

PASUL7: Conectați motoarele la placa microcontrolerului

Acum avem nevoie de motoarele cu placa de microcontroler. Realizați cu atenție următoarea diagramă: firele roșii și negre ale motorului din stânga trebuie să fie lipite în M2; firele roșii și negre ale motorului drept trebuie să fie lipite la M1. Acordați o atenție deosebită bateriei: sârma neagră trebuie să fie lipită în portul firului care citește GND, în timp ce firul roșu trebuie să fie sudat în portul de sârmă etichetat VND. Folosiți șurubelnița pentru a slăbi și strângeți porturile firului - asigurați-vă că aceste porturi sunt bine fixate odată ce firele au fost introduse.

NOTĂ: Asigurați-vă că firele de la un motor (adică motorul din stânga) sunt lipite în portul motorului. (adică portul M2 din diagrama de mai jos - nu lipiți firele unui motor în două porturi separate).

Pasul 13:

După lipirea firelor motorului pe placa microcontrolerului, suntem gata să atașăm placa superioară la baza mașinii.

Înainte de a atașa placa superioară, aveți opțiunea de a atașa o placă de senzor (vezi diagrama de mai jos) - dacă nu intenționați să utilizați senzorii încă, puteți sări peste acest pas suplimentar.

Pasul 14:

După atașarea vârfului platformei, platforma dvs. robotică ar trebui să semene cu imaginea de mai jos.

Pasul 15:

STEP8: Atașați un nivel suplimentar robotului tău

Găsiți cele patru găuri de pe placa superioară a bazei. Înșurubați cele patru suporturi de cupru M3x60mm, apoi atașați placa superioară suplimentară, după cum se arată în diagrama de mai jos - utilizați șuruburi M3x6mm pentru a fixa placa la dispozitivele de cupru.

Pasul 16:

Luați niște roți pe platforma dvs. robotică și sunteți gata să lăsați-o să biciui!

Pasul 17:

CODIFICAREA

După asamblare, este timpul să încărcați codul pe microcontroler și să vă mutați robotul dvs. Arduino. Robotul are toate componentele care se mișcă o dată asamblate. Priviți codurile de eșantioane pentru fișierul Arduino intitulat "MotorTest.ino".

Exemplu de cod MotorTest:

#include

Robot DFMobile (4,5,7,6); // inițiați știftul Motor

void setup () {

Robot.Direction (LOW, HIGH); // inițiați direcția pozitivă

}

void loop () {

Robot.Speed ​​(255,255); //Redirecţiona

întârziere (1000);

Robot.Speed ​​(-255, -255); //Înapoi

întârziere (2000);

}

Descărcați codul, apoi încărcați-l pe microcontroler. Motoarele și roțile ar trebui să vină în grabă. Dacă nu, verificați dacă bateriile și comutatorul de alimentare sunt instalate corect. Odată ce motoarele funcționează, felicitări! Ați terminat un pas mare - este aproape timpul să vă puneți cauciucul pe drum.

Apoi observați robotul dvs. și verificați dacă acesta poate merge mai departe în 1 secundă și se va deplasa înapoi în 1 secundă. În acest caz, BUNĂ LUCĂ. Nu trebuie să reglați componentele. Pentru cei care au nevoie să facă unele ajustări la baza mașinii sau la motoare, găsiți următoarele informații despre modul în care se mișcă robotul.

Verificați dacă platforma dvs. robotică urmează codul afișat mai sus: ar trebui să meargă înainte cu o secundă, apoi să inverseze o secundă. Dacă este cazul, eliminați conținutul de mai jos și apoi sunteți gata să plecați!

Majoritatea oamenilor vor trebui însă să-și adapteze motoarele. Înainte de a face acest lucru, să examinăm pe scurt funcționarea și codul motorului robotului nostru.

Cum să faci mișcarea înainte a robotului? Pentru a înțelege această întrebare, să examinăm prima mișcare a robotului.

Diagrama de mai jos ilustrează această mișcare înainte.

Pasul 18:

Săgeata roșie de mai sus reprezintă direcția roților. Așa cum se arată în harta de mai sus, mașina se poate deplasa înainte numai dacă ambele roți / motoarele stânga și dreapta se deplasează înainte. Așa cum am arătat mai sus, robotul Arduino se mișcă înainte când ambele motoare și roți din stânga și din dreapta se mișcă înainte.

Sinopsisul codului

Prima linie de cod este:

#include // biblioteca de apeluri

Nu trebuie să ne gândim prea mult la această linie. Tot ceea ce facem este chemarea / angajarea unui set de funcții - biblioteca DFMobile - care există în afara cadrului de bază al lui Arduino. Pentru mai multe informații despre bibliotecile Arduino, vă rugăm să consultați site-ul web Arduino.

Următorul rând de cod este:

Robot DFMobile (4,5,7,6); // inițiați știftul Motor

Această funcție este preluată din biblioteca DFMobile (adică nu este o funcție universală Arduino).Îl folosim aici pentru a inițializa pinii motorului (4, 5, 7, 6) de pe microcontroler - fără aceasta, motoarele nu vor porni.

Vom folosi această funcție mai târziu.

Aruncați o privire la funcția de mai jos:

Robotul DFMobile

(EnLeftPin, LeftSpeedPin, EnRightPin, RightSpeedPin);

Această funcție este utilizată pentru a inițializa cele patru pinii motorului (4, 5, 7, 6) și este împărțită în patru parametri separați:

EnLeftPin: Pin care controlează direcția motorului din stânga

LeftSpeedPin: Pin care controlează viteza stânga a motorului

EnRightPin: Pin care controlează direcția corectă a motorului

RightSpeedPin: Pin care controlează viteza motorului dreapta

Rețineți: motoarele robotului nu vor funcționa fără includerea acestei funcții. De asemenea, această funcție trebuie plasată în câmpul void setup () din schița dvs. Arduino.

Pentru a testa mișcarea înainte a robotului dvs., s-ar putea să fi întâmpinat o anumită problemă: mașina va începe să se răsucească, să schimbe direcțiile și să nu urmeze codul pe care l-am dat. Acest lucru se datorează faptului că firele motorului nu sunt lipite bateriilor în mod corect.

Nu vă faceți griji - putem corecta acest lucru prin cod. Prin utilizarea valorilor LOW / HIGH, putem regla direcția de viraj a mașinii.

Cum să reglați direcția dreaptă pentru mașina robotului?

Pentru a regla direcția motoarelor și a roților, avem nevoie de următoarea linie de cod:

Robot.Direction (LOW, HIGH);

Funcția este după cum urmează:

Direcție robot (LeftDirection, RightDirection);

Această funcție este utilizată pentru a face ca motoarele să se deplaseze într-o direcție înainte. Funcția este împărțită în doi parametri: LeftDirection & RightDirection, care sunt scrise în codul Arduino ca LOW sau HIGH.

Mai devreme, am trecut pe scurt modul de a face robotul Arduino să se miște într-o direcție înainte. Aici vom folosi LOW / HIGH pentru a corecta mișcarea robustă a robotului. De exemplu, LeftDirection este setat ca LOW în codul eșantion. Dar roțile din stânga ale robotului se pot roti înapoi în loc să se rotească înainte. Acum tot ce trebuie să faceți este să schimbați LeftDirection de la LOW la HIGH. Aceleași metode s-ar aplica și pentru roțile drepte.

De exemplu: în acest exemplu de cod, LeftDirection este configurat ca LOW. Să presupunem că roțile din stânga, mai degrabă decât să avanseze așa cum ar trebui, să se mute înapoi. În acest caz, modificați configurația LeftDirection de la LOW la HIGH. Odată ce îl schimbați la HIGH, încărcați codul încă o dată - ar trebui să observați că roata din stânga se mișcă în față acum în loc de spate. Dacă această ajustare funcționează, procedați la fel pentru RightDirection (LOW to HIGH sau invers).

Odată ce ați ajustat cu succes direcția robotului dvs. Arduino, sunteți pregătiți! Felicitări - acum puteți folosi toate funcțiile de bază ale robotului. Înainte de a finaliza, totuși, merită să discutăm pe scurt funcția Robot.Speed ​​().

Luați un gand la următoarea funcție:

Robot.Speed ​​(LeftSpeed, RightSpeed);

Această funcție cu două elemente (LeftSpeed ​​și RightSpeed) este utilizată pentru a seta viteza motorului. Puteți scrie un număr între -255 și 255. 255 este cifra maximă și semnul minus reprezintă direcția.

Această funcție este utilizată pentru a configura viteza motoarelor. Funcția este împărțită în doi parametri: LeftSpeed ​​& RightSpeed. Acești parametri sunt scrise în codul Arduino ca o valoare cuprinsă între -255 și 255. 255 este cea mai rapidă viteză care se mișcă înainte; -255 este cea mai rapidă viteză care se mișcă înapoi (adică, invers).

Am configurat deja viteza robotului în secțiunea void setup () din codul nostru. Acum, putem folosi funcția de viteză () pentru a controla viteza mașinii și chiar direcția înainte / înapoi.

Vedeți dacă puteți înțelege următoarele două linii:

Robot.Speed ​​(255,255);

Robot.Speed ​​(-255, -255);

Prima linie arată că mașina se mișcă înainte cu viteză maximă - cu viteză maximă în față, dacă vreți (aye aye, căpitan). A doua linie arată că mașina se mișcă înapoi (invers) la viteză maximă.

În acest sens, viteza () este o funcție indispensabilă. Apoi, vom revedea ultima noastră secțiune: principiile care stau în spatele modului în care robotul se mișcă și se întoarce.

Cum se mișcă robotul și se întoarce

Hartă de mai jos prezintă o modalitate regulată de mișcări pentru robotul mașinii. De exemplu, în cazul în care viteza direcției din stânga este zero, robotul se va întoarce la stânga dacă oferiți roților drepte o forță pentru a avansa.

Următoarea diagramă afișează o serie de moduri în care robotul Arduino se poate mișca și se poate întoarce. De exemplu, dacă viteza roților din stânga este setată la 0, aceasta va face ca roțile drepte să se deplaseze înainte - astfel, robotul Arduino se va întoarce spre stânga.

Pasul 19:

Ceva de luat în considerare: cum putem face robotul să se rotească în cercuri în timp ce este în staționare?

În cele din urmă: dacă doriți, puteți rula un cod mai mult pentru a testa și a calibra mișcarea propriului robot. Deschideți fișierul "MotorTest2.ino". Acest cod vă va ajuta să înțelegeți și să măsurați mai bine posibilitățile de mișcare înainte și înapoi, pe lângă rotirile stânga și dreapta. Având în vedere acest lucru, puneți aceste anvelope pe șosea (sau covor) și loviți-vă!

Felicitări, acum ați construit primul robot! Are funcții bacis care ar putea merge mai departe, înapoi, la stânga și la dreapta.

Te simți emoționat? În următoarele câteva tutoriale, vă vom învăța cum să construiți un robot mai avansat care să evite obstacolele și linia de urmărire, de exemplu.