Përmbajtje:

ROADRUNNER: 5 hapa
ROADRUNNER: 5 hapa

Video: ROADRUNNER: 5 hapa

Video: ROADRUNNER: 5 hapa
Video: Desperado 5 @ at Roadrunner's Paradise 2006_2 2024, Nëntor
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner është një automjet i vogël i automatizuar, i cili ka funksionin e transportimit të kanaçeve të pijeve tek përdoruesit e etur.

Si punon? Një kanaçe vendoset në bazën e sipërme të automjetit dhe pesha e kutisë shkakton një buton të vogël që i tregon transportit se është gati për të punuar. Për të udhëhequr veten, Roadrunner ndjek një shteg në tokë në formën e një linje të zezë, e cila tregon se ku duhet të shkojë, dhe falë përdorimit të fotosensorëve, ai është në gjendje të zbulojë kur del jashtë rrugës, duke korrigjuar drejtimin e tij, për të qëndruar në këtë mënyrë, gjithmonë brenda pistës. Sapo automjeti të arrijë te përdoruesi, ai merr kanaçen e pijeve duke bërë që transporti i vogël të ndalet në të njëjtin vend. Ai nuk do ta rishqyrtojë marshimin e tij derisa përdoruesi ta vendosë përsëri kavanozin mbi të, në mënyrë që të kthehet në pikën e fillimit dhe të përfundojë punën e tij.

Hapi 1: Mjetet dhe materialet

Mjetet & Materialet
Mjetet & Materialet
Mjetet & Materialet
Mjetet & Materialet

Hapi 2: Asambleja e harduerit

Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit

1. TRUPI

Për trupin kemi përdorur një pjatë alumini, të cilën e kemi prerë dhe përkulur me formën që kemi dashur. Ne gjithashtu bëmë të gjitha vrimat që do të kërkohen për vida.

2. Rrota

Ne përdorëm 2 rrota nga një lojë Mecano që përshtaten në mënyrë të përkryer me robotin tonë. Servot kalojnë nën pllakën e lidhur me ndihmën e vidhave. Për rrotën e përparme kemi përdorur një rrotë "falas", kështu që mund të shkojë me lehtësi në çdo drejtim.

3. FOTOSENSORT

Për fotosensorët RDL ne përdorëm një tabelë qarku dhe e ngjitëm qarkun në të, ai përfshin një rezistencë, LDR, një sinjal pozitiv, negativ dhe sinjal.

4. Bordi ARDUINO

Ne e lidhëm bordin Arduino në pjatë duke përdorur vida. Pastaj sapo lidhëm të gjithë qarkun me të. Për të furnizuar tabelën ne përdorëm 2 bateri 9V, të cilat i kemi bashkuar dhe futur në Arduino.

5. PJATA KRYESORE

Për pllakën e sipërme ne përdorëm një makinë me prerje lazer për të prerë PMMA. Ne e projektuam këtë formë me AutoCad. Përbëhet nga një pjatë e madhe, 3 unaza rrethore dhe një pjesë rrethore për t'u përshtatur në unaza. Ne i dhamë hapësirë pjatës në mënyrë që të mund të vendosnim një buton.

Hapi 3: Lidhjet elektrike

Lidhjet elektrike
Lidhjet elektrike

1. Lidhja e servomotorëve:

Servomotorët përbëhen nga tre kabllo; një e verdhë ose portokalli për sinjal, e kuqe për fuqinë (Vcc) dhe e zezë ose kafe për tokën (GND). E kuqja dhe kafeja janë ngjitur në kunjat sipas Arduino (5V dhe GND). Një servo lidhet me kunjin PWM 10 dhe tjetri me kunjin PWM 11.

2. Butoni i lidhjes:

Butonat elektronikë punojnë në një mënyrë disi të veçantë; lejoni kalimin e tensionit nëpër kunjat diagonalisht, domethënë, nëse kemi katër kunja, duhet të lidhim hyrjen dhe daljen në vetëm dy kunja, 1-4 ose 2-3 për të punuar. Për shembull, nëse zgjedhim kunjat 1-4, ne do të lidhim tokën (GND) me pin 4, dhe dalja do të lidhet me pin PWM 9 dhe, nga ana tjetër, së bashku me një rezistencë prej 1kOhm, lidheni atë me 5V (Vcc).

3. Lidhja e fotosensorëve:

Për të lidhur fotosensorët, duhet të vendosim njërën nga këmbët drejtpërdrejt në furnizimin Vcc, dhe tjetra ta lidhim atë në të njëjtën kohë, me një kunj analog (në këtë rast me kunjat A0 dhe A1) dhe në tokëzimin GND së bashku me një rezistencë prej 1kOhm.

Shënim:

Ju mund të lidhni lidhës të vegjël me tela nëse telat nuk futen drejtpërdrejt në Arduino ose përdorni një protoboard për të lehtësuar lidhjet e ndryshme. Në këtë projekt ne kemi përdorur shirita lidhës për nyje të ndryshme.

Hapi 4: Programimi i Arduino

Programimi i Arduino
Programimi i Arduino
Programimi i Arduino
Programimi i Arduino

KODI

#përfshi Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

void setup () {

// SERVOMOTORST

myservoL.tash (10);

myservoR.tash (11);

Serial.filloj (9600); }

lak void () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// PAKETA E MBAJTUR

nëse (LDR_L> 590 && buttonVal == 0) {

myservoL.shkruaj (180);

//Serial.println(LDR_L); }

tjeter {

myservoL.shkruaj (92);

//Serial.println(LDR_L);

}

// E DREJTA E PAKETES

nëse (LDR_R> 750 && buttonVal == 0) {

myservoR.shkruaj (-270);

//Serial.println(LDR_R); }

tjeter {

myservoR.shkruaj (92);

//Serial.println(LDR_R); }

}

Recommended: