Cum de a construi un robot acasă
Doriți să învățați cum să vă construiți propriul robot? Există o mulțime de diferite tipuri de roboți pe care le puteți face singur. Majoritatea oamenilor vor să vadă un robot să îndeplinească sarcinile simple de a se deplasa de la punctul A la punctul B. Puteți face un robot complet din componente analogice sau puteți cumpăra un kit de pornire de la zero! Construirea propriului robot este o modalitate excelentă de a vă învăța atât electronica, cât și de programarea pe calculator.
Pași
Partea 1 din 6:
Asamblarea robotului1. Strângeți-vă componentele. Pentru a construi un robot de bază, veți avea nevoie de mai multe componente simple. Puteți găsi cele mai multe, dacă nu toate, ale acestor componente la magazinul local de hobby-uri electronice sau mai mulți comercianți cu amănuntul online. Unele kituri de bază pot include și toate aceste componente. Acest robot nu necesită nici o lipire:
- Arduino Uno (sau alt microcontroler)
- 2 servoci de rotație continuă
- 2 roți care se potrivesc servomotorului
- 1 rulou de role
- 1 Breadboard mic fără lipire (căutați un panou de paine care are două linii pozitive și negative pe fiecare parte)
- 1 senzor de distanță (cu cablu de conector cu patru pini)
- 1 comutator de buton mini
- 1 rezistență 10kΩ
- 1 cablu USB A la B
- 1 set de anteturi separaway
- 1 6 x AA Suport pentru baterii cu mufa de alimentare DC 9V DC
- 1 pachet de fire de jumper sau sârmă cu cârlig de 22 de ecartament
- Bandă puternică cu două fețe sau lipici cald
2. Răsturnați acumulatorul de acumulator, astfel încât spatele plat să fie orientat în sus. Veți construi corpul robotului folosind acumulatorul ca bază.
3. Aliniați cele două servo-uri de la capătul acumulatorului. Acest lucru ar trebui să fie sfârșitul că firul ambalajului bateriei iese din servomotoare trebuie să atingă fundul, iar mecanismele de rotație ale fiecăruia ar trebui să fie orientate spre partea laturilor acumulatorului. Serviciul trebuie să fie aliniat corespunzător, astfel încât roțile să meargă drept. Firele pentru servo-uri ar trebui să fie de pe partea din spate a acumulatorului.
4. Afișează servo-urile cu banda sau adezivul. Asigurați-vă că acestea sunt atașate solid la acumulatorul. Spatele servomotorului ar trebui să fie aliniat cu spatele acumulatorului.
5. Afișează panoul de panificație perpendicular pe spațiul deschis de pe acumulatorul. Ar trebui să stea peste partea din față a acumulatorului doar un pic și se va extinde dincolo de fiecare parte. Asigurați-vă că este fixat în siguranță înainte de a continua. "A" rândul ar trebui să fie cel mai apropiat de servomotoare.
6. Atașați microcontrolerul Arduino la vârfurile servomotorului. Dacă ați atașat servomotorul în mod corespunzător, ar trebui să existe un spațiu plat realizat de ele atingând. Stick bordul Arduino pe acest spațiu plat, astfel încât conectorii USB și de putere al lui Arduino și de putere se confruntă cu spatele (departe de panou). Partea frontală a arduinului ar trebui să fie abia suprapunerea panoului.
7. Puneți roțile pe servomotive. Apăsați ferm roțile pe mecanismul rotativ al servotului. Acest lucru poate necesita o cantitate semnificativă de forță, deoarece roțile sunt proiectate să se potrivească cât mai bine posibil pentru cea mai bună tracțiune.
8. Atașați robotul în partea de jos a panoului de bord. Dacă răsturnați șasiul, ar trebui să vedeți un pic de pâine care se extinde prin intermediul acumulatorului. Atașați ruloul la această piesă extinsă, folosind creșterile, dacă este necesar. Casterul acționează ca roata din față, permițând robotului să se întoarcă cu ușurință în orice direcție.
Partea 2 din 6:
Cablarea robotului1. Întrerupeți două anteturi cu 3 pini. Veți folosi aceste lucruri pentru a conecta servo-urile la panoul de bord. Împingeți pinii în jos prin antet, astfel încât știfturile să iasă la o distanță egală pe ambele părți.
2. Introduceți cele două anteturi în pini 1-3 și 6-8 pe Roul E al panoului de bord. Asigurați-vă că acestea sunt introduse ferm.
3. Conectați cablurile servomotorului la anteturi, cu cablul negru pe partea stângă (PIN 1 și 6). Acest lucru va conecta servo-ul la panoul de bord. Asigurați-vă că servo-ul stâng este conectat la antetul stâng și servo-dreapta în antetul drept.
4. Conectați firele de jumper roșu de la PIN C2 și C7 la știfturile roșii (pozitive). Asigurați-vă că utilizați șina roșie pe partea din spate a panoului de pain (mai aproape de restul șasiului).
5. Conectați firele de jumper negru de la știfturile B1 și B6 la Blue (sol). Asigurați-vă că utilizați șina albastră pe partea din spate a panoului de bord. Nu le conectați la știfturile de cale ferată roșie.
6. Conectați firele de jumper alb de la PIN 12 și 13 pe Arduino la A3 și A8. Acest lucru va permite Arduino să controleze servo-urile și să transforme roțile.
7. Atașați senzorul în partea din față a panoului de bord. Nu se conectează la șinele de putere exterioare de pe panoul de bord, ci în primul rând de pini de scris (J). Asigurați-vă că îl plasați în centrul exact, cu un număr egal de știfturi disponibile pe fiecare parte.
8. Conectați un fir de jumper negru de la PIN I14 la primul știft albastru albastru disponibil din partea stângă a senzorului. Acest lucru se va împământa senzorul.
9. Conectați un fir de jumper roșu de la PIN I17 la primul știft de șină roșie disponibil în partea dreaptă a senzorului. Aceasta va alimenta senzorul.
10. Conectați firele de jumper alb de la PIN I15 la PIN 9 de pe Arduino și de la I16 la PIN 8. Aceasta va alimenta informații de la senzor la microcontroler.
Partea 3 din 6:
Cablarea puterii1. Răsturnați robotul de partea sa, astfel încât să puteți vedea bateriile din pachet. Orientați-o astfel încât cablul de acumulator să vină în stânga din partea de jos.
2. Conectați un fir roșu la al doilea primăvară din stânga din partea inferioară. Asigurați-vă că acumulatorul este orientat corect.
3. Conectați un fir negru în ultimul primăvară de pe partea dreaptă jos. Aceste două cabluri vor ajuta la asigurarea tensiunii corecte la Arduino.
4. Conectați firele roșii și negre la știfturile roșii și albastre din partea din spate a panoului de bord. Cablul negru trebuie să fie conectat la știftul de șină albastră la pinul 30. Cablul roșu trebuie să fie conectat la știftul de șină roșie la pinul 30.
5. Conectați un fir negru de la știftul GND de pe Arduino la spatele albastru din spate. Conectați-l la PIN 28 pe șina albastră.
6. Conectați un fir negru de pe șina albastră din spate la șina albastră frontală la PIN 29 pentru fiecare. Do nu Conectați șinele roșii, deoarece probabil va afecta arduinoul.
7. Conectați un fir roșu de la față Rail roșu la Pin 30 la Pinul 5V de pe Arduino. Acest lucru va oferi putere arduinoului.
8. Introduceți butonul de apăsare a butonului în decalajul dintre rândurile de pe pini 24-26. Acest comutator vă va permite să opriți robotul fără a fi nevoie să deconectați alimentarea.
9. Conectați un fir roșu de la H24 la șina roșie din următorul știft disponibil în partea dreaptă a senzorului. Aceasta va alimenta butonul.
10. Utilizați rezistorul pentru a conecta H26 la șina albastră. Conectați-l la PIN direct lângă firul negru pe care l-ați conectat cu câțiva pași în urmă.
11. Conectați un fir alb de la G26 la Pin 2 pe Arduino. Acest lucru va permite Arduino să înregistreze butonul de apăsare.
Partea 4 din 6:
Instalarea software-ului Arduino1. Descărcați și extrageți ARDUINO IDE. Acesta este mediul de dezvoltare Arduino și vă permite să programați instrucțiunile pe care le puteți încărca la microcontrolerul ARDUINO. Îl puteți descărca gratuit de la Arduino.CC / EN / Software / Software. Dezarhivați fișierul descărcat făcând dublu clic pe acesta și mutați folderul în interiorul unei locații ușor de accesat. Nu veți instala de fapt programul. În schimb, o veți rula din folderul extras prin dublu clic Arduino.exe.
2. Conectați acumulatorul la Arduino. Conectați mufa din spate a bateriei în conectorul de pe Arduino pentru a le oferi putere.
3. Conectați Arduino în computer prin USB. Windows nu va recunoaște probabil dispozitivul.
4. presa . ⊞ câștiga+R și tip Devmgmt.MSc. Acest lucru va lansa managerul dispozitivului.
5. Faceți clic dreapta pe "Dispozitiv necunoscut" în "Alte dispozitive" secțiune și selectați "Actualizați software-ul driverului." Dacă nu vedeți această opțiune, faceți clic pe "Proprietăți" În schimb, selectați "Conducător auto" fila, apoi faceți clic pe "Actualizați driver-ul."
6. Selectați "Răsfoiți computerul pentru software-ul șoferului." Acest lucru vă va permite să selectați driverul livrat împreună cu IDE ARDUINO.
7. Clic "Naviga" Apoi navigați la dosarul pe care l-ați extras mai devreme. Veți găsi A "drivere" dosarul din interior.
8. Selectează "drivere" dosar și faceți clic pe "O.K." Confirmați că doriți să continuați dacă sunteți avertizat despre software necunoscut.
Partea 5 din 6:
Programarea robotului1. Porniți IDE-ul Arduino prin dublu clic pe Arduino.exe Fișier în dosarul IDE. Veți fi întâmpinați cu un proiect gol.
2. Lipiți următorul cod pentru a face robotul să meargă drept. Codul de mai jos va face ca Arduino dvs. să avanseze continuu.
#include // acest adaugă "Servo" Biblioteca la program // Următoarele creează două servo Objectsservo stângaci-servo dreapta Setup () {Leftmotor.Atașați (12) - // Dacă ați schimbat accidental numerele PIN pentru servo-ul dvs., puteți schimba numerele de susmotor.Atașați (13) -} Void Loop () {Leftmotor.Scrieți (180) - // cu rotație continuă, 180 spune servo-ului să se deplaseze la viteză maximă "redirecţiona."dreaptaMotor. scrie (0) - // Dacă ambele sunt la 180, robotul va merge într-un cerc, deoarece servo-urile sunt flipped. "0," îi spune să se miște viteza completă "înapoi."}
3. Construiți și încărcați programul. Faceți clic pe butonul săgeată dreapta din colțul din stânga sus pentru a construi și încărca programul la ARDUINO conectat.
4. Adăugați funcționalitatea comutatorului de ucidere. Adăugați codul următor la "buclă void ()" secțiunea de cod pentru a activa comutatorul de ucidere, deasupra "scrie()" Funcții.
dacă (DigitalRead (2) == High) // acest registru atunci când butonul este apăsat pe pinul 2 al lui Arduino {în timp ce (1) {Leftmotor.Scrieți (90) - // "90" este o poziție neutră pentru servo-uri, ceea ce le spune să se oprească de întoarcere.Scrieți (90) -}}
5. Încărcați și testați codul. Cu codul de switch Kill a adăugat, puteți încărca și testa robotul. Ar trebui să continue să conducă înainte până când apăsați comutatorul, moment în care se va opri în mișcare. Codul complet ar trebui să arate astfel:
#include // Următoarele creează două servo ObjectSservo stângaci-servo dreapta Setup () {Leftmotor.Atașați (12) -RightMotor.Atașați (13) -} Void Loop () {IF (2) == High) {în timp ce (1) {Leftmotor.Scrieți (90) -DareaMotor.Scrieți (90) -} Leftmotor.Scrieți (180) -RightMotor.Scrieți (0) -}
Partea 6 din 6:
Exemplu1. Urmați un exemplu. Următorul cod va folosi senzorul atașat robotului pentru ao face să se întoarcă spre stânga ori de câte ori întâmpină un obstacol. Consultați comentariile din cod pentru detalii despre ce face fiecare parte. Codul de mai jos este întregul program.
#include servo dreapta dreaptaMotor-const int serialperiod = 250 - // Aceasta limitează ieșirea la consola la o dată la fiecare 1/4 second-verbal Long timeserialldelay = 0-const int loopperiod = 20 - // Acest lucru se stabilește cât de des are un senzor Citirea la 20ms, care este o frecvență de 50hzunsed Long TimeLoopDelay = 0 - // Aceasta atribuie funcțiile Trig și Echo la pinii de pe Arduino. Faceți ajustări la numerele de aici dacă ați conectat diferit int ultrasonic2trigpin = 8-const int ultrasonic2echopin = 9-int ultrasonic2distance-int ultrasonic2duration - // Aceasta definește cele două posibile stări pentru robot: conducere înainte sau rotire stânga # define Drive_Forward0 # definet turn_left1int Statul = Drive_Forward- // 0 = Drive Forward (implicit), 1 = Rotiți Configurarea Leftvoid () {Serial.Începeți (9600) - // Aceste configurații cu pini senzorspinmode (ultrasonic2trigpin, ieșire) -pinmode (ultrasonic2echopin, intrare) - // Aceasta atribuie motoarele la Arduino PinleftMotor.Atașați (12) -RightMotor.Atașați (13) -} vad bucla () {IF (2) == High) // Detectează comutatorul de ucidere {în timp ce (1) {Leftmotor.Scrieți (90) -DareaMotor.Scrieți (90) -}} Debugoutput () - // Aceasta imprimă mesajele de depanare la consolele seriale (Millis () - TIMELOOPDELAY >. {dacă (ultrasonic2distance > 6 ||. ultrasonic2distance < 0) // Dacă nu există nimic în fața robotului. Ultrasonicadistance va fi negativă pentru unele ultrasonice dacă nu există nici un obstacol {// Drive TrimitereMotor.Scrieți (180) -LEFTMOTOR.Scrieți (0) -} Alte // Dacă există un obiect în fața noastră {statul = turn_left -}} altfel dacă (statul == turn_left) // Dacă este detectat un obstacol, rotiți stânga {TIMETOTNLLELLEFT = 500- / / Este nevoie de .5 secunde pentru a roti 90 de grade. Este posibil să trebuiască să ajustați acest lucru dacă roțile dvs. sunt o dimensiune diferită de exemplul de turnstartime lungime = Millis () - // economisiți timpul pe care l-am întors ((Millis () - TurnstartTime) < Timetoturnleft) // Rămâneți în această buclă până când TimetotoTurnleft a scurs {// Virați la stânga, amintiți-vă că atunci când ambele sunt setate la "180" Se va întoarce.dreaptaMotor.Scrieți (180) -LEFTMOTOR.Scrieți (180) -} State = Drive_Forward -}} VOID ReadultrasonSensors () {// Aceasta este pentru ultrasunete 2. Este posibil să trebuiască să schimbați aceste comenzi dacă utilizați un alt senzor.DigitalWrite (Ultrasonic2trigpin, ridicat) -DayyMicroSeconds (10) - // păstrează PIN-ul TRIG ridicat pentru cel puțin 10 microsecondsdigitalscrie (Ultrasonic2trigpin, scăzut) -ultrasonic2Duration = Pulsein (ultrasonic2echopin, ridicat) -ultrasonic2distance = (Ultrasonic2Duration / 2) / 29-} // Următoarele sunt pentru debugarea erorilor în consola.Void Debugoutput () {IF ((Millis () - TimeServElay) > serialperiod) {serial.imprimare("Ultrasonic2Distance: ")-Serial.Print (Ultrasonic2Distance) -Serial.imprimare("cm")-Serial.Println () - TimeServyriaLDELAY = Millis () -}}
Video
Prin utilizarea acestui serviciu, unele informații pot fi împărtășite cu YouTube.
sfaturi
Partajați pe rețeaua socială: