Cuprins:

ROADRUNNER: 5 pași
ROADRUNNER: 5 pași

Video: ROADRUNNER: 5 pași

Video: ROADRUNNER: 5 pași
Video: rode rai ne vaide vimal ne le dos/रोडे रई ने वाइदे विमल ने ले दोस/Ramesh damor 2023 timli song 2024, Noiembrie
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner este un vehicul mic automat, care are funcția de a transporta cutii de băuturi către utilizatorii însetați.

Cum functioneaza? O cutie este plasată pe baza superioară a vehiculului, iar greutatea cutiei declanșează un mic buton care spune transportului că este gata să funcționeze. Pentru a se ghida, Roadrunner urmează o cale pe sol sub forma unei linii negre, care indică unde ar trebui să meargă și, datorită utilizării fotosenzorilor, este capabil să detecteze când iese din drum, corectându-și direcția., să rămână în acest fel, mereu în interiorul pistei. Odată ce vehiculul ajunge la utilizator, acesta preia cutia de băuturi făcând micul popas de transport în același loc. El nu își va reanuda marșul până când utilizatorul nu pune cutia la loc, pentru a reveni la punctul de plecare și a-și termina lucrarea.

Pasul 1: Instrumente și materiale

Instrumente și materiale
Instrumente și materiale
Instrumente și materiale
Instrumente și materiale

Pasul 2: Asamblare hardware

Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware

1. CORP

Pentru corp am folosit o placă de aluminiu, pe care am tăiat-o și îndoită-o cu forma dorită. De asemenea, am făcut toate găurile care vor fi necesare șuruburilor.

2. ROȚI

Am folosit 2 roți dintr-un joc Mecano care se potrivesc perfect robotului nostru. Servo-urile trec sub placa îmbinată cu ajutorul șuruburilor. Pentru roata din față am folosit o roată „liberă”, deci poate merge cu ușurință în orice direcție.

3. FOTOSENZORI

Pentru senzorii fotosensibili RDL am folosit o placă de circuit și am sudat circuitul la acesta, acesta include o rezistență, LDR, un semnal pozitiv, negativ și semnal.

4. PLACA ARDUINO

Am atașat placa Arduino la placă folosind șuruburi. Apoi am conectat tot circuitul la acesta. Pentru alimentarea plăcii am folosit 2 baterii de 9V, pe care le-am unit și le-am conectat la Arduino.

5. PLACA SUPERIOARA

Pentru placa superioară am folosit o mașină de tăiat cu laser pentru a tăia PMMA. Am conceput această formă cu AutoCad. Se compune dintr-o placă mare, 3 inele circulare și o piesă circulară pentru a se potrivi în inele. Am dat spațiu plăcii, astfel încât să putem încadra un buton.

Pasul 3: Conexiuni electrice

Legăturile electrice
Legăturile electrice

1. Conectarea servomotoarelor:

Servomotoarele constau din trei cabluri; unul galben sau portocaliu pentru semnal, roșu pentru putere (Vcc) și negru sau maro pentru sol (GND). Cea roșie și cea maro sunt atașate la pinii corespunzători de pe Arduino (5V și GND). Un servo este conectat la pinul PWM 10, iar celălalt la pinul PWM 11.

2. Buton de conectare:

Butoanele electronice funcționează într-un mod oarecum ciudat; permiteți trecerea tensiunii peste pinii în diagonală, adică dacă avem patru pini, trebuie să conectăm intrarea și ieșirea în doar doi pini, 1-4 sau 2-3 pentru a funcționa. De exemplu, dacă alegem pinii 1-4, vom conecta pământul (GND) la pinul 4, iar ieșirea se va conecta la pinul PWM 9 și, la rândul său, împreună cu o rezistență de 1kOhm, îl vom conecta la 5V (Vcc).

3. Conectarea fotosenzorilor:

Pentru a conecta fotosenzorii, trebuie să așezăm unul dintre picioare direct la sursa Vcc, iar celălalt să îl conectăm în același timp, la un pin analogic (în acest caz la pinii A0 și A1) și la solul GND împreună cu o rezistență de 1kOhm.

Notă:

Puteți lipi conectori mici la fire dacă firele nu se încadrează direct în Arduino sau puteți utiliza un protoboard pentru a facilita diferitele conexiuni. În acest proiect am folosit benzi de legătură pentru diferite îmbinări.

Pasul 4: Programarea Arduino

Programarea Arduino
Programarea Arduino
Programarea Arduino
Programarea Arduino

COD

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

configurare nulă () {

// SERVOMOTOARE

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

bucla nulă () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// PACK STÂNGA

if (LDR_L> 590 && buttonVal == 0) {

myservoL.write (180);

//Serial.println(LDR_L); }

altceva {

myservoL.write (92);

//Serial.println(LDR_L);

}

// PACK DREPT

if (LDR_R> 750 && buttonVal == 0) {

myservoR.write (-270);

//Serial.println(LDR_R); }

altceva {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Recomandat: