Indholdsfortegnelse:

ROADRUNNER: 5 trin
ROADRUNNER: 5 trin

Video: ROADRUNNER: 5 trin

Video: ROADRUNNER: 5 trin
Video: Full Build: '69 Road Runner Transformed Into Road Burner 2024, November
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner er et lille automatiseret køretøj, der har funktionen til at transportere drikke dåser til de tørstige brugere.

Hvordan det virker? En dåse placeres på køretøjets øverste bund, og dåsens vægt udløser en lille knap, der fortæller transporten, at den er klar til at arbejde. For at guide sig selv følger Roadrunner en sti på jorden i form af en sort linje, der angiver, hvor han skal gå, og takket være brugen af fotosensorer er han i stand til at registrere, når han går af vejen og korrigerer sin retning, for at blive på denne måde, altid inde på sporet. Når køretøjet ankommer til brugeren, henter det drikkevaredåsen, der får den lille transport til at stoppe samme sted. Han vil ikke genudnytte sin march, før brugeren sætter dåsen tilbage på den for at vende tilbage til udgangspunktet og afslutte sit arbejde.

Trin 1: Værktøjer og materialer

Værktøjer og materialer
Værktøjer og materialer
Værktøjer og materialer
Værktøjer og materialer

Trin 2: Hardware -samling

Hardware samling
Hardware samling
Hardware samling
Hardware samling
Hardware samling
Hardware samling

1. KROPP

Til kroppen brugte vi en aluminiumsplade, som vi skar og bukkede med den form, vi ønskede. Vi lavede også alle de huller, der skal bruges til skruerne.

2. HJUL

Vi brugte 2 hjul fra et Mecano -spil, der passede perfekt til vores robot. Servoerne går under pladen sammenføjet ved hjælp af skruer. Til forhjulet brugte vi et "gratis" hjul, så det let kan gå i alle retninger.

3. FOTOSENSORER

Til RDL fotosensorer brugte vi et printkort, og vi svejste kredsløbet til det, det inkluderer en modstand, LDR, et positivt, negativt og signal.

4. ARDUINOBORD

Vi fastgjorde Arduino -kortet til pladen ved hjælp af skruer. Derefter sluttede vi bare hele kredsløbet til det. For at levere kortet brugte vi 2 9V batterier, som vi har forenet og sat i Arduino.

5. TOPPLADE

Til toppladen brugte vi en laserskåret maskine til at skære PMMA. Vi designede denne form med AutoCad. Den består af en stor plade, 3 cirkulære ringe og et cirkulært stykke, der passer ind i ringene. Vi gav pladen plads, så vi kunne passe en knap.

Trin 3: Elektriske forbindelser

Elektriske forbindelser
Elektriske forbindelser

1. Tilslutning af servomotorer:

Servomotorer består af tre kabler; en gul eller orange for signal, rød for strøm (Vcc) og sort eller brun for jord (GND). Den røde og den brune er fastgjort til de tilsvarende stifter på Arduino (5V og GND). Den ene servo er forbundet til PWM pin 10 og den anden til PWM pin 11.

2. Tilslutningsknap:

De elektroniske knapper fungerer på en lidt ejendommelig måde; tillade at passere spændingen over stifterne diagonalt, det vil sige, hvis vi har fire ben, skal vi forbinde indgang og udgang i kun to ben, 1-4 eller 2-3 for at fungere. For eksempel, hvis vi vælger ben 1-4, vil vi forbinde jorden (GND) til pin 4, og udgangen vil forbinde til PWM 9 pin og til gengæld sammen med en modstand på 1 kOhm tilslutte den til 5V (Vcc).

3. Tilslutning af fotosensorer:

For at forbinde fotosensorerne skal vi placere et af benene direkte til Vcc -forsyningen, og det andet tilslutte det på samme tid, til en analog pin (i dette tilfælde til benene A0 og A1) og til jorden GND sammen med en modstand på 1 kOhm.

Bemærk:

Du kan lodde små stik til ledningerne, hvis ledningerne ikke passer direkte ind i Arduino eller bruge et protoboard til at lette de forskellige forbindelser. I dette projekt har vi brugt forbindelseslister til forskellige samlinger.

Trin 4: Programmering af Arduino

Programmering af Arduino
Programmering af Arduino
Programmering af Arduino
Programmering af Arduino

KODE

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

ugyldig opsætning () {

// SERVOMOTORER

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

void loop () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// PAKKE VENSTRE

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

myservoL.write (180);

//Serial.println(LDR_L); }

andet {

myservoL.write (92);

//Serial.println(LDR_L);

}

// PAKKE HØJRE

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

myservoR.write (-270);

//Serial.println(LDR_R); }

andet {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Anbefalede: