INHOUDSOPGAWE:

ROADRUNNER: 5 stappe
ROADRUNNER: 5 stappe

Video: ROADRUNNER: 5 stappe

Video: ROADRUNNER: 5 stappe
Video: Как разводят установщики пластиковых окон! Не попадитесь и вы 2024, November
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner is 'n klein outomatiese voertuig wat die funksie het om drankblikke na die dorstige gebruikers te vervoer.

Hoe dit werk? 'N Blik word op die boonste voet van die voertuig geplaas, en die gewig van die blikkie veroorsaak 'n klein knoppie wat vir die vervoer aandui dat dit gereed is om te werk. Om homself te lei, volg Roadrunner 'n pad op die grond in die vorm van 'n swart lyn, wat aandui waarheen hy moet gaan, en danksy die gebruik van fotosensors kan hy opspoor wanneer hy uit die pad gaan en sy rigting regstel, om op hierdie manier te bly, altyd binne die baan. Sodra die voertuig by die gebruiker aankom, neem dit die drankblik wat die klein vervoer op dieselfde plek stop. Hy sal sy opmars nie herhaal voordat die gebruiker die blik daarop terugsit om terug te keer na die beginpunt en sy werk te voltooi nie.

Stap 1: gereedskap en materiaal

Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal

Stap 2: Hardeware -samestelling

Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering

1. LIGGAAM

Vir die bak het ons 'n aluminiumplaat gebruik wat ons gesny en gebuig het met die vorm wat ons wou hê. Ons het ook al die gate gemaak wat nodig is vir die skroewe.

2. WIELE

Ons het 2 wiele van 'n Mecano -spel gebruik wat perfek by ons robot pas. Die servo's gaan onder die bord vas met skroewe. Vir die voorwiel het ons 'n 'gratis' wiel gebruik, sodat dit maklik in enige rigting kan beweeg.

3. FOTOSENSORE

Vir die RDL -fotosensors het ons 'n kring gebruik en ons het die stroombaan daaraan gelas; dit bevat 'n weerstand, die LDR, 'n positiewe, negatiewe en sein.

4. ARDUINO RAAD

Ons het die Arduino -bord met skroewe aan die bord vasgemaak. Dan het ons net die hele stroombaan daaraan gekoppel. Om die bord te voorsien, het ons 2 9V -batterye gebruik wat ons verenig en in die Arduino ingeprop het.

5. BOBLAD

Vir die boonste plaat gebruik ons 'n lasersnitmasjien om PMMA te sny. Ons het hierdie vorm met AutoCad ontwerp. Dit bestaan uit 'n groot bord, 3 sirkelringe en 'n sirkelvormige stuk wat in die ringe pas. Ons gee ruimte aan die bord sodat ons 'n knoppie kan pas.

Stap 3: Elektriese verbindings

Elektriese aansluitings
Elektriese aansluitings

1. Koppel servomotors:

Servomotors bestaan uit drie kabels; een geel of oranje vir sein, rooi vir krag (Vcc) en swart of bruin vir grond (GND). Die rooi en die bruin een is vasgemaak aan die penne op die Arduino (5V en GND). Een servo is aan PWM -pen 10 en die ander aan PWM -pen 11 gekoppel.

2. Koppelknoppie:

Die elektroniese knoppies werk op 'n ietwat eienaardige manier; laat die spanning diagonaal oor die penne gaan, dit wil sê, as ons vier penne het, moet ons die ingang en die uitset in slegs twee penne, 1-4 of 2-3, verbind om te werk. As ons byvoorbeeld penne 1-4 kies, sal ons die grond (GND) aan pen 4 koppel, en die uitset sal aansluit by die PWM 9-pen en op sy beurt, tesame met 'n weerstand van 1kOhm, dit aan 5V (Vcc).

3. Koppel fotosensors:

Om die fotosensors aan te sluit, moet ons een van die bene direk op die Vcc -toevoer plaas, en die ander moet dit terselfdertyd verbind met 'n analoog pen (in hierdie geval met die penne A0 en A1) en die grond GND saam met weerstand van 1 kOhm.

Let wel:

U kan klein verbindings aan die drade soldeer as die drade nie direk in die Arduino pas nie of 'n protobord gebruik om die verskillende verbindings te vergemaklik. In hierdie projek het ons verbindingsstroke vir verskillende verbindings gebruik.

Stap 4: Arduino programmeer

Programmering van Arduino
Programmering van Arduino
Programmering van Arduino
Programmering van Arduino

KODE

#sluit Servo myservoL in;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

ongeldige opstelling () {

// SERVOMOTORS

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

leemte -lus () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// LINKS PAKKIE

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

myservoL.write (180);

//Serial.println(LDR_L); }

anders {

myservoL.write (92);

//Serial.println(LDR_L);

}

// REGS VERPAK

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

myservoR.write (-270);

//Serial.println(LDR_R); }

anders {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Aanbeveel: