Sisukord:

ROADRUNNER: 5 sammu
ROADRUNNER: 5 sammu

Video: ROADRUNNER: 5 sammu

Video: ROADRUNNER: 5 sammu
Video: Roadrunner TB x Roadrunner Savy "5 Zips" (A Shooter and Co. Production) 2024, November
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner on väike automatiseeritud sõiduk, mille ülesanne on transportida joogipurke janustele kasutajatele.

Kuidas see töötab? Sõiduki ülemisele alusele asetatakse purk ja purgi kaal käivitab väikese nupu, mis teatab transpordile, et see on tööks valmis. Enda juhendamiseks järgib Roadrunner maapinnal asuvat rada musta joone kujul, mis näitab, kuhu ta peaks minema, ning tänu fotosensorite kasutamisele suudab ta tuvastada teelt välja mineku, parandades oma suunda, jääda selliseks, alati raja sees. Kui sõiduk jõuab kasutajani, võtab ta joogipurgi üles ja teeb väikese transpordipeatuse samas kohas. Ta ei alusta oma marssi enne, kui kasutaja paneb purgi tagasi, et naasta lähtepunkti ja lõpetada oma töö.

Samm: tööriistad ja materjalid

Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid

2. samm: riistvara kokkupanek

Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek

1. KEHA

Kere jaoks kasutasime alumiiniumplaati, mille lõikasime ja painutasime soovitud kujuga. Samuti tegime kõik augud, mida kruvide jaoks vaja läheb.

2. RATTAD

Me kasutasime Mecano mängust kahte ratast, mis sobivad ideaalselt meie robotiga. Servod lähevad kruvide abil ühendatud plaadi alla. Esiratta jaoks kasutasime "vaba" ratast, nii et see võib hõlpsalt igas suunas liikuda.

3. FOTOSENSORID

RDL -fotosensorite jaoks kasutasime trükkplaati ja keevitasime selle külge, see sisaldab takistust, LDR -i, positiivset, negatiivset ja signaali.

4. ARDUINO LAUA

Kinnitasime Arduino plaadi kruvide abil plaadi külge. Siis ühendasime lihtsalt kogu vooluahela sellega. Plaadi varustamiseks kasutasime 2 9V akut, mille oleme ühendanud ja ühendanud Arduinoga.

5. ÜLEMINE PLAAT

Ülemise plaadi jaoks kasutasime PMMA lõikamiseks laserlõikamismasinat. Kujundasime selle kuju AutoCadiga. See koosneb suurest plaadist, 3 ümmargusest rõngast ja ringikujulisest osast, mis sobib rõngastesse. Andsime plaadile ruumi, et saaksime nööbi ära mahutada.

Samm: elektriühendused

Elektriühendused
Elektriühendused

1. Servomootorite ühendamine:

Servomootorid koosnevad kolmest kaablist; üks kollane või oranž signaal, punane toide (Vcc) ja must või pruun maa jaoks (GND). Punane ja pruun on kinnitatud Arduino vastavate tihvtide külge (5V ja GND). Üks servo on ühendatud PWM tihvtiga 10 ja teine PWM tihvtiga 11.

2. Ühendusnupp:

Elektroonilised nupud töötavad mõnevõrra omapäraselt; võimaldada pinge läbimist üle tihvtide diagonaalselt, see tähendab, et kui meil on neli tihvti, peame tööks sisendi ja väljundi ühendama ainult kahe tihvtiga, 1-4 või 2-3. Näiteks kui valime tihvtid 1-4, ühendame maanduse (GND) tihvtiga 4 ja väljund ühendatakse PWM 9 tihvtiga ning omakorda koos takistusega 1 kOhm ühendame selle 5V (Vcc).

3. Fotosensorite ühendamine:

Fotosensorite ühendamiseks peame ühe jalad asetama otse Vcc -toiteallikaga ja teise ühendama samaaegselt analoogpistikuga (antud juhul tihvtidega A0 ja A1) ning maapinnaga GND -ga. takistus 1 kOhm.

Märge:

Kui juhtmed ei mahu otse Arduinole, saate juhtmete külge jootma väikeseid pistikuid või kasutada erinevate ühenduste hõlbustamiseks protobokki. Selles projektis oleme kasutanud ühendusliistu erinevate vuukide jaoks.

Samm: Arduino programmeerimine

Arduino programmeerimine
Arduino programmeerimine
Arduino programmeerimine
Arduino programmeerimine

KOOD

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int nuppVal = 1;

tühine seadistus () {

// SERVOMOTORID

myservoL.attach (10);

myservoR.attach (11);

Seriaalne algus (9600); }

void loop () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// PAKK VASAK

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

myservoL.write (180);

//Sarja.println(LDR_L); }

muu {

myservoL.write (92);

//Sarja.println(LDR_L);

}

// PAKENDI ÕIGE

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

myservoR.write (-270);

//Sarja.println(LDR_R); }

muu {

myservoR.write (92);

//Seriaalne.println (LDR_R); }

}

Soovitan: