Cuprins:

Arduino Mothbot: 11 pași (cu imagini)
Arduino Mothbot: 11 pași (cu imagini)

Video: Arduino Mothbot: 11 pași (cu imagini)

Video: Arduino Mothbot: 11 pași (cu imagini)
Video: ECE 450 Lab 7: Mothbot 2024, Noiembrie
Anonim
Arduino Mothbot
Arduino Mothbot
Arduino Mothbot
Arduino Mothbot

Scopul acestui proiect este de a proiecta și construi un robot simplu de urmărire a luminii folosind o placă de microcontroler Arduino Duemilanove. Mi-am dorit foarte mult să împărtășesc un proiect de robot care să fie ieftin, simplu de construit și care să aibă un set complet de instrucțiuni pentru toți pașii diferiți. Sper că am reușit și mi-ar plăcea să primesc comentarii despre îmbunătățirea acestui lucru.

Proiectarea acestui robot s-a axat pe utilizarea cărții „Noțiuni introductive despre Arduino” de Massimo Banzi și publicată cu [makezine.com Make]. De asemenea, am folosit cod pentru a rula servo-urile dintr-un proiect intitulat: Cum să faci un robot servo controlat Arduino (SERB). Arduino Mothbot este în total un robot destul de rapid de construit. Presupunând că începeți cu toate părțile și nu trebuie să improvizați, proiectul ar trebui să dureze o oră pentru a construi. Asta dacă urmați instrucțiunile și copiați codul. Cu toate acestea, dacă creați o singură caracteristică odată și testați pe parcurs, acest proiect ar putea dura mult mai mult. Avantajul pistei mai lungi este că probabil veți învăța mult mai mult și vă veți distra pe parcurs.

Pasul 1: Strângeți-vă piesele și instrumentele

Construirea acestui robot vă va costa aproximativ 80 USD în părți dacă nu ați făcut niciodată așa ceva până acum. Costul pentru mine a fost semnificativ mai mic, deoarece am o mulțime de produse electronice care lucrează. Cu toate acestea, știu cât de frustrant poate fi să încerci să urmezi un instructable fără să știu ce piese să obții, de unde să comanzi și cât va costa totul în față, așa că am făcut toată treaba asta pentru tine. Odată ce ați obținut toate piesele, trebuie să faceți acest proiect. Urmați următorul link către proiectul meu wiki pentru a obține o listă completă de piese. Lista de piese Arduino Mothbot

Acum vă recomandăm să obțineți câteva instrumente. Deoarece acest proiect folosește o placă de lipit fără sudură, puteți face fără o mulțime de echipamente electronice de lux. Sperăm că veți găsi restul lucrurilor de care aveți nevoie într-un garaj: 1. Clește pentru nas 2. Freze de sârmă 3. Șurubelniță cu cap plat 4. Șurubelniță mică (cu 4 fețe) 5. Cheie reglabilă sau 11/32 " cheie hexagonală 6. Burghiu 7. Burghie de 1/16 ", 5/32" și 7/32 "8. Ferăstrău (opțional) 9. Ochelari de siguranță Vă rugăm să utilizați practici sigure atunci când utilizați orice unelte electrice.

Pasul 2: Etapa de planificare

Etapa de planificare
Etapa de planificare
Etapa de planificare
Etapa de planificare

Înainte de a începe acest proiect, m-am uitat în jurul lui Instructables la multe alte proiecte. De asemenea, am petrecut ceva timp citind cartea „Noțiuni de bază cu Arduino” de Massimo Banzi. Aproape totul din acest proiect este realizat dintr-un exemplu de pe acest site web sau din carte. Am proiectat proiectul în acest fel, încercând să-l fac accesibil robotului novice.

În faza mea de planificare nu m-am uitat doar la hardware și codare, ci și la temele mele electronice. Am vrut să întocmesc o schemă electronică simplă pentru acest proiect, astfel încât să pot urmări ce se întâmpla pe măsură ce îl construiam. Puteți vedea în imagine diferitele componente, liniile de alimentare și pinii Arduino. Sperăm că este o diagramă clară și ilustrează, de asemenea, cât de simplă este electronica pentru acest proiect.

Pasul 3: Conectarea Servo-urilor la Arduino

Conectarea Servo-urilor la Arduino
Conectarea Servo-urilor la Arduino
Conectarea Servo-urilor la Arduino
Conectarea Servo-urilor la Arduino
Conectarea Servo-urilor la Arduino
Conectarea Servo-urilor la Arduino

Dacă aveți de gând să construiți un robot, primul lucru pe care probabil doriți să-l rezolvați este cum să îl faceți să se miște. Cel mai probabil doriți să îl puteți trimite înainte, înapoi, dreapta, stânga și să-l opriți. Dacă nu vă dați seama cum să comandați să se deplaseze corect, este puțin probabil să îl puteți face să faceți ceva atunci când conectați toți senzorii. Mai jos sunt pașii pentru conectarea motorului la Arduino.

1. Primul lucru pe care trebuie să îl faceți atunci când configurați placa de sudură fără sudură este să configurați solul (GND) și puterea (+ 6V) pentru servomotoare. Am ales să folosesc cele două benzi lungi de pe tablă care ar fi cele mai apropiate de Arduino. 2. Odată ce pământul și liniile de alimentare sunt identificate, conectați pământul plăcii Arduino la banda de pământ de pe placa de sudură fără sudură. Nu conectați încă alimentarea la placa de sudură fără sudură. 3. Fiecare servo are trei fire care ies din ele. Al meu are un fir negru, roșu și alb pentru fiecare. Negrul este pentru sol, roșul este pentru putere, iar albul este firul de control. Tăiați trei fire jumper pentru fiecare servo de aceeași dimensiune (deci 6 în total). 4. Atașați firele jumperului la capătul firelor servo și apoi fiecare servo la placa de sudură fără sudură. 5. Acum utilizați jumperi pentru a conecta solul și puterea de la fiecare servo la sol și puterea plăcii fără sudură. 6. Acum conectați firele de control de la fiecare servo la Arduino. Conectați servo stânga la ieșirea digitală (PWM) 3 și servo dreapta la ieșirea digitală (PWM) 11. 7. În cele din urmă, conectați masa și alimentarea de la bateriile 4AA la masa și alimentarea plăcii fără sudură. Nu vă alarmați dacă serverele încep să se miște când Arduino nu are putere sau nu este încă programat. 8. Folosind codul, acum ar trebui să puteți rula motoarele în direcțiile înainte, înapoi, stânga sau dreapta folosind funcțiile incluse.

Pasul 4: Testarea motoarelor

Cred că este important să includ o parte din codul de testare pe care l-am folosit când am montat Arduino Mothbot. Dacă sunteți interesat și doriți să puneți timpul la dispoziție, cred că veți găsi aceste fragmente de cod educative și utile în alte proiecte. Înainte de a posta orice cod mai jos, vreau să fac cunoscut faptul că următoarele se bazează pe un alt proiect extraordinar numit How to Make a Arduino Controlled Servo Robot (SERB). Am învățat multe din urmărirea muncii pe acel instructabil și vreau să dau credit acolo unde trebuie.

github.com/chrisgilmerproj/Mothbot/blob/master/motor_test1.pde

Pasul 5: Integrarea butonului On / Off

Integrarea butonului On / Off
Integrarea butonului On / Off
Integrarea butonului On / Off
Integrarea butonului On / Off
Integrarea butonului On / Off
Integrarea butonului On / Off
Integrarea butonului On / Off
Integrarea butonului On / Off

Acum este posibil să doriți să porniți și să opriți robotul prin simpla apăsare a unui buton. Arduino în sine va rula codul într-o buclă nesfârșită până când îl deconectați, ceea ce poate fi destul de frustrant atunci când conectați robotul pe masă și începe să fugă de dvs.! Integrarea butonului este un pas minunat în acest proces, deoarece veți învăța, de asemenea, cum să utilizați butoanele pentru alte lucruri, cum ar fi crearea unei bare de protecție pentru a detecta când robotul lovește un perete. panoul de lipit fără sudură pentru majoritatea fotografiilor mele. Acest lucru ajută la clarificarea imaginii atunci când afișez pași diferiți. Pentru început, deconectați alimentarea de la servomotoare înainte de a mai face o lucrare. Nu uitați să faceți acest lucru de fiecare dată când adăugați ceva la acest proiect. Acum este posibil să doriți să puteți porni și opri robotul, spre deosebire de faptul că robotul începe imediat să se miște atunci când conectați alimentarea. Identificați o bandă de pe partea opusă a panoului fără sudură pentru a activa butonul de pornire / oprire (și ulterior senzorii). Folosind un cablu jumper lung conectați puterea (+ 5V) de la Arduino la banda pe care tocmai ați identificat-o. Conectați două fire jumper la comutatorul momentan și conectați un capăt la puterea (+ 5V) 6. Conectați celălalt capăt al întrerupătorului momentan într-o bandă mai mică din mijlocul panoului fără sudură. De la aceeași bandă conectați un rezistor de 10K ohm la bandă și celălalt capăt la sol8. În cele din urmă, conectați un fir de la bandă cu comutatorul și rezistorul la un capăt și plasați celălalt capăt în intrarea digitală 7 de pe Arduino. Acum, cu codul, ar trebui să puteți utiliza butonul pentru a porni și opri robotul. Dacă utilizați codul cu LED-ul (ieșirea digitală 13), veți vedea LED-ul de la bord pornit și oprit cu robotul. Aceasta este o modalitate excelentă de a testa codul Arduino dacă aveți puterea motoarelor deconectate.

Pasul 6: Testarea butonului On / Off

Acest nou cod include informațiile pentru utilizarea butonului On / Off și pentru a face să clipească LED-ul de la bord.

github.com/chrisgilmerproj/Mothbot/blob/master/motor_test2.pde

Pasul 7: Integrarea senzorilor de lumină

Integrarea senzorilor de lumină
Integrarea senzorilor de lumină
Integrarea senzorilor de lumină
Integrarea senzorilor de lumină
Integrarea senzorilor de lumină
Integrarea senzorilor de lumină

Ce ar fi un Arduino Mothbot dacă nu ar avea senzori de lumină? Scopul acestui proiect simplu este de a crea un robot care să fie atras de cea mai puternică lumină. Pentru aceasta va trebui să integrăm niște senzori de lumină, cunoscuți și sub numele de foto-rezistențe.

1. Din nou, deconectați alimentarea de la servomotoare înainte de a face acest pas 2. Configurarea senzorilor de lumină se va face de două ori. Este aproape aceeași configurație ca și comutatorul momentan. De fapt, este aceeași configurare, dar de data aceasta veți folosi senzorul de lumină (foto-rezistor) în loc de un comutator momentan. 3. Deoarece acest robot va folosi cei doi senzori de lumină pentru a alege o direcție de conducere, se recomandă să configurați fiecare senzor de lumină pe laturile opuse ale panoului fără sudură sau cât mai departe posibil. 4. Conectați un capăt al senzorului de lumină la linia de alimentare (+ 5V) și celălalt capăt într-o bandă mică în centrul plăcii. 5. Conectați un rezistor de 10k ohm la aceeași bandă și celălalt capăt la masă 6. Conectați acum un cablu jumper de la banda mică (unde sunt conectați rezistorul foto și rezistorul obișnuit) și conectați celălalt capăt la o intrare analogică. 7. Conectați senzorul din stânga la intrarea analogică 0 de pe Arduino și senzorul din dreapta la intrarea analogică 1. 8. Acum ar trebui să puteți folosi senzorii de lumină pentru a muta servomotoarele.

Pasul 8: Codul final

Codul final
Codul final
Codul final
Codul final

Iată codul final folosit pentru a rula Arduino Mothbot. În cod am inclus declarații de imprimare în portul serial Arduino. Dacă aveți dispozitivul Arduino conectat prin portul USB al computerului, ar trebui să puteți vedea declarațiile de tipărire care vă spun în ce direcție intenționează să meargă robotul. Poate doriți să reglați valoarea pragului senzorului de lumină pentru a regla fin comportamentul robotului. Pragul depinde în principal de senzorii dvs. și de lumina ambientală a locației în care vă aflați.

github.com/chrisgilmerproj/Mothbot/blob/master/mothbot.pde

Pasul 9: Construiește corpul Mothbot

Construiește corpul Mothbot
Construiește corpul Mothbot
Construiește corpul Mothbot
Construiește corpul Mothbot
Construiește corpul Mothbot
Construiește corpul Mothbot

Robotul pe care îl construiești nu este cu adevărat bun decât dacă se poate menține împreună. Din acest motiv are nevoie de un corp. Am încercat din răsputeri să fac acest lucru un proiect de construcție cât mai simplu posibil. Cu toate acestea, va trebui să faceți un pic de lucru pe cont propriu pentru a afla măsurătorile corecte. Vă sugerez metoda veche "măsurați de două ori, tăiați o dată". Corpul robotului este realizat dintr-o foaie mică de lemn de plop pe care am cumpărat-o la magazinul de feronerie tăiat la 6 "x 24". Am redus-o pe a mea la 6 "x 8" folosind ferăstrăul furnizat în magazinul de hardware.2. Apoi am făcut găuri spre partea din față a plăcii pentru a atașa consolele servo pentru fiecare servo. Pentru aceasta am folosit un burghiu de dimensiuni 5/32 ". Am forat și într-o gaură din spatele plăcii pentru roata rotativă care echilibrează robotul. Pentru aceasta am folosit un burghiu de dimensiuni 7/32". Am ales să folosesc un burghiu puțin mai mic, astfel încât să pot obține o frecare strânsă cu roata mea, deoarece nu foloseam o combinație de piulițe și șuruburi pentru a o atașa. Apoi am atașat consolele la tablă cu piulițele și șuruburile. Acest lucru a fost făcut folosind șurubelnița cu cap plat și cheia reglabilă. După atașarea parantezelor, am atașat fiecare servo la paranteze cu piulițele și șuruburile. 6. În cele din urmă, am împins roata rotativă în întreg.

Pasul 10: Realizarea roților

Realizarea roților
Realizarea roților
Realizarea roților
Realizarea roților

Roțile au fost o problemă dificilă pentru mine. De fapt, am botat niște roți de robot certificate, dar mi-am dat seama că erau a) prea grele și b) nu aveam nicio modalitate de a le atașa la servoanele alese. Atunci mi-am amintit că am folosit capacele de borcan în liceu pentru un proiect similar. Așadar, a ieșit la magazin în căutarea unei alternative potrivite pentru roți robotice. Fiecare roată este realizată din capacul unui container Ziploc Twist 'n Loc. Alte capace bune sunt cele de pe borcanele cu unt de arahide sau alte produse alimentare. Nu pledez pentru risipa de alimente, dar vă scutesc capacele și s-ar putea să găsiți că una este de dimensiunea potrivită pentru proiectul dvs. de robot. Am folosit recipientele rămase pentru a păstra piesele colectate. Primul lucru pe care l-am făcut a fost să aleg claxonul servo pe care îl doream pentru roți. Le-am ales pe cele care aveau patru coarne și care erau incluse cu servo-urile mele când le-am cumpărat. Înainte de a face ceva, găuriți o gaură în centrul roții. Vă recomand să faceți acest lucru cu burghiul dvs. de 5/32 ". Veți avea nevoie de acest lucru pentru a ajunge la șurubul care conectează claxonul la servo.4. Acum înșurubați capacul la claxon. Am folosit patru șuruburi incluse cu fiecare servo pentru a conecta capacele la coarne. S-ar putea să fie mai ușor dacă pre-găuriți găuri mici prin capac așa cum am făcut-o. Am folosit un burghiu de 1/16 "pentru asta. Dar fiți atenți, găurirea prin acest plastic cu un burghiu greu și un pic mic poate fi dificilă. Acum conectați coarnele la servos cu ajutorul șurubelniței mici (cu 4 fețe). În cele din urmă, înfășurați benzi de cauciuc în jurul fiecărei roți pentru a vă oferi mai multă tracțiune. Mi-am luat benzile de cauciuc din produsele pe care le-am cumpărat la magazinul alimentar. Sperăm că aveți câțiva culcați în jur. În acest moment, întregul corp și roțile trebuie asamblate.

Pasul 11: Finalizarea Arduino Mothbot

Finalizarea Arduino Mothbot
Finalizarea Arduino Mothbot

Cu caroseria și roțile asamblate, este ușor să plasați panoul Arduino și panoul fără sudură chiar deasupra corpului robotului. Asigurați-vă că puteți accesa în continuare intrarea USB de pe Arduino în cazul în care trebuie să modificați programarea. Am folosit niște bandă electrică neagră sub fiecare pentru a le lipi de corp. Banda electrică este ușor de îndepărtat și se menține destul de bine. Bandați Arduino și placa de sudură fără sudură în partea superioară a corpului robotului pe care l-ați construit. Folosind din nou bandă este o idee bună să conectați suportul bateriei 4AA și bateria de 9V la corp. Asigurați-vă că firele ajung. Conectați firele servo la placa de sudură fără sudură dacă le-ați îndepărtat anterior. Conectați puterea Arduino5. Conectați puterea servomotorului6. Acum așezați robotul la sol și apăsați comutatorul de pornire / oprire! Acum ar trebui să prindă viață și să alerge lumina din jurul camerei:) Ca viitor proiect suplimentar aș include un senzor de protecție sau de perete simplu. Acesta ar fi un comutator, la fel ca butonul On / Off utilizat în acest proiect. Cu toate acestea, când butonul a fost apăsat, acesta i-ar spune robotului să inverseze direcția, să se întoarcă la stânga sau la dreapta și să continue cu programul. Odată ce acest lucru este finalizat, acest robot ar fi o mică platformă de testare pentru alți senzori și dispozitive.

Recomandat: