Sisällysluettelo:

ROADRUNNER: 5 vaihetta
ROADRUNNER: 5 vaihetta

Video: ROADRUNNER: 5 vaihetta

Video: ROADRUNNER: 5 vaihetta
Video: Looney Tunes auf Deutsch | Wile E Coyote das Genie | 30 Minuten | WB Kids 2024, Marraskuu
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner on pieni automatisoitu ajoneuvo, jonka tehtävänä on kuljettaa juomatölkkejä janoisille käyttäjille.

Kuinka se toimii? Tölkki asetetaan ajoneuvon yläpohjaan, ja tölkin paino laukaisee pienen painikkeen, joka kertoo kuljetukselle, että se on valmis työskentelemään. Ohjaamaan itseään Roadrunner seuraa polkua maassa mustan viivan muodossa, joka osoittaa minne hänen pitäisi mennä, ja valokennojen käytön ansiosta hän pystyy havaitsemaan, kun hän menee pois tieltä ja korjaa suuntaa, pysyäkseen tällä tavalla aina radan sisällä. Kun ajoneuvo saapuu käyttäjälle, se hakee juomatölkin ja pysäyttää pienen kuljetuspaikan samaan paikkaan. Hän ei toista marssiaan ennen kuin käyttäjä laittaa tölkin takaisin siihen palatakseen lähtöpisteeseen ja lopettamaan työnsä.

Vaihe 1: Työkalut ja materiaalit

Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit
Työkalut ja materiaalit

Vaihe 2: Laitteiston kokoaminen

Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano
Laitteiston kokoonpano

1. RUNKO

Rungossa käytimme alumiinilevyä, jonka leikkasimme ja taivutimme haluamallamme tavalla. Teimme myös kaikki ruuveihin tarvittavat reiät.

2. PYÖRÄT

Käytimme Mecano -pelistä 2 pyörää, jotka sopivat täydellisesti robottiimme. Servot menevät ruuvien avulla yhdistetyn levyn alle. Etupyörässä käytimme "vapaata" pyörää, joten se voi kulkea helposti mihin tahansa suuntaan.

3. VALOKUVAT

RDL -valoantureille käytimme piirilevyä ja hitsasimme piirin siihen, se sisältää vastuksen, LDR: n, positiivisen, negatiivisen ja signaalin.

4. ARDUINO BOARD

Kiinnitämme Arduino -levyn levyyn ruuveilla. Sitten liitettiin vain kaikki piirit siihen. Levyn toimittamiseen käytimme 2 9 V: n akkua, jotka olemme yhdistäneet ja liittäneet Arduinoon.

5. YLÄLEVY

Ylälevyssä käytimme laserleikkauslaitetta PMMA: n leikkaamiseen. Suunnittelimme tämän muodon AutoCadilla. Se koostuu suuresta levystä, 3 pyöreästä renkaasta ja pyöreästä kappaleesta, joka sopii renkaisiin. Annoimme levylle tilaa, jotta mahtuisimme napin.

Vaihe 3: Sähköliitännät

Sähköliitännät
Sähköliitännät

1. Servomoottorien liittäminen:

Servomoottorit koostuvat kolmesta kaapelista; yksi keltainen tai oranssi signaalille, punainen teholle (Vcc) ja musta tai ruskea maalle (GND). Punainen ja ruskea on kiinnitetty Arduinon vastaaviin nastoihin (5V ja GND). Toinen servo on kytketty PWM -nastaan 10 ja toinen PWM -nastaan 11.

2. Liitäntäpainike:

Elektroniset painikkeet toimivat hieman erikoisella tavalla; anna jännitteen kulkea nastojen poikki diagonaalisesti, eli jos meillä on neljä nastaa, meidän on kytkettävä tulo ja lähtö vain kahdessa nastassa, 1-4 tai 2-3 toimimaan. Jos esimerkiksi valitsemme nastat 1-4, liitämme maadoituksen (GND) nastaan 4, ja lähtö kytketään PWM 9 -tapaan ja vuorostaan yhdessä 1 kOhm: n vastuksen kanssa 5 V: n (Vcc).

3. Valokennojen liittäminen:

Valoanturien liittämiseksi meidän on asetettava toinen jaloista suoraan Vcc -virtalähteeseen ja toinen kytkettävä se samaan aikaan analogiseen tappiin (tässä tapauksessa nastoihin A0 ja A1) ja maahan GND yhdessä vastus 1 kOhm.

Huomautus:

Voit juottaa pieniä liittimiä johtoihin, jos johdot eivät sovi suoraan Arduinoon, tai käytä protoboardia eri liitosten helpottamiseen. Tässä projektissa olemme käyttäneet liitosliuskoja eri saumoihin.

Vaihe 4: Arduinon ohjelmointi

Arduinon ohjelmointi
Arduinon ohjelmointi
Arduinon ohjelmointi
Arduinon ohjelmointi

KOODI

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int -painikeVal = 1;

void setup () {

// PALVELIMOOTTORIT

myservoL.attach (10);

myservoR.attach (11);

Sarja.alku (9600); }

void loop () {

int LDR_L = analoginen luku (A2);

int LDR_R = analoginen lukema (A1);

buttonVal = digitalRead (inPin);

// PAKETTI VASEN

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

myservoL.write (180);

//Sarja.println (LDR_L); }

muu {

myservoL.write (92);

//Sarja.println (LDR_L);

}

// PAKKAUS OIKEA

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

myservoR.write (-270);

//Sarja.println (LDR_R); }

muu {

myservoR.write (92);

//Sarja.println (LDR_R); }

}

Suositeltava: