Innehållsförteckning:

ROADRUNNER: 5 steg
ROADRUNNER: 5 steg

Video: ROADRUNNER: 5 steg

Video: ROADRUNNER: 5 steg
Video: The Writer's Journey: Mythic Structure For Writers - Christopher Vogler [FULL INTERVIEW] 2024, November
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner är ett litet automatiserat fordon som har funktionen att transportera dryckesburkar till de törstiga användarna.

Hur det fungerar? En burk placeras på fordonets ovansida, och burkens vikt utlöser en liten knapp som säger till transporten att den är redo att fungera. För att vägleda sig själv följer Roadrunner en väg på marken i form av en svart linje, vilket indikerar vart han ska gå, och tack vare användning av fotosensorer kan han upptäcka när han går ur vägen och korrigerar sin riktning, för att stanna på detta sätt, alltid inne på banan. När fordonet anländer till användaren tar det upp dryckesbehållaren så att den lilla transporten stannar på samma plats. Han kommer inte att ompröva sin marsch förrän användaren sätter på burken igen för att återgå till utgångspunkten och avsluta sitt arbete.

Steg 1: Verktyg och material

Verktyg och material
Verktyg och material
Verktyg och material
Verktyg och material

Steg 2: Hårdvarumontage

Hårdvara Montering
Hårdvara Montering
Hårdvara Montering
Hårdvara Montering
Hårdvara Montering
Hårdvara Montering

1. KROPP

Till kroppen använde vi en aluminiumplatta, som vi klippte och böjde med den form vi ville ha. Vi gjorde också alla hål som behövs för skruvarna.

2. HJUL

Vi använde 2 hjul från ett Mecano -spel som passade perfekt till vår robot. Servon går under plattan fogad med hjälp av skruvar. Till framhjulet använde vi ett "fritt" hjul, så det kan gå åt vilket håll som helst.

3. FOTOSENSORER

För RDL -fotosensorer använde vi ett kretskort och vi svetsade kretsen till den, den innehåller ett motstånd, LDR, en positiv, negativ och signal.

4. ARDUINO STYRELSE

Vi fäst Arduino -kortet på plattan med skruvar. Sedan anslöt vi bara hela kretsen till den. För att leverera kortet använde vi 2 9V batterier, som vi har förenat och anslutit till Arduino.

5. TOPPLÄTTA

För topplattan använde vi en laserskärmaskin för att skära PMMA. Vi utformade denna form med AutoCad. Den består av en stor tallrik, 3 cirkulära ringar och en cirkulär bit som passar in i ringarna. Vi gav plats till tallriken så att vi kunde passa en knapp.

Steg 3: Elektriska anslutningar

Elektriska anslutningar
Elektriska anslutningar

1. Anslutande servomotorer:

Servomotorer består av tre kablar; en gul eller orange för signal, röd för effekt (Vcc) och svart eller brun för mark (GND). Den röda och den bruna är fästa vid motsvarande stift på Arduino (5V och GND). En servo är ansluten till PWM -stift 10 och den andra till PWM -stift 11.

2. Anslutningsknapp:

De elektroniska knapparna fungerar på ett något märkligt sätt; låta spänningen passera över stiften diagonalt, det vill säga om vi har fyra stift måste vi ansluta ingången och utgången i endast två stift, 1-4 eller 2-3 för att fungera. Till exempel, om vi väljer stiften 1-4, kommer vi att ansluta marken (GND) till stift 4, och utgången kommer att ansluta till PWM 9-stiftet och, i sin tur, tillsammans med ett motstånd på 1 kOhm, ansluta det till 5V (Vcc).

3. Anslutning av fotosensorer:

För att ansluta fotosensorerna måste vi placera ett av benen direkt till Vcc -försörjningen, och det andra ansluta det samtidigt, till en analog stift (i detta fall till stiften A0 och A1) och till marken GND tillsammans med ett motstånd på 1 kOhm.

Notera:

Du kan lödda små kontakter till trådarna om ledningarna inte passar direkt i Arduino eller använda ett protoboard för att underlätta de olika anslutningarna. I detta projekt har vi använt anslutningsremsor för olika skarvar.

Steg 4: Programmering av Arduino

Programmering av Arduino
Programmering av Arduino
Programmering av Arduino
Programmering av Arduino

KODA

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

void setup () {

// 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);

// PACK VÄNSTER

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

myservoL.write (180);

//Serial.println(LDR_L); }

annat {

myservoL.write (92);

//Serial.println(LDR_L);

}

// PACK HÖGER

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

myservoR.write (-270);

//Serial.println(LDR_R); }

annat {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Rekommenderad: