Taula de continguts:

ROADRUNNER: 5 passos
ROADRUNNER: 5 passos

Vídeo: ROADRUNNER: 5 passos

Vídeo: ROADRUNNER: 5 passos
Vídeo: ROADRUNNER: A Film About Anthony Bourdain - Official Trailer [HD] - In Theaters July 16 2024, Desembre
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner és un petit vehicle automatitzat que té la funció de transportar llaunes de beguda als usuaris que tenen set.

Com funciona? Es col·loca una llauna a la base superior del vehicle i el pes de la llauna activa un petit botó que indica al transport que està preparat per funcionar. Per guiar-se, Roadrunner segueix un camí a terra en forma de línia negra, que indica cap a on ha d’anar i, gràcies a l’ús de fotosensors, és capaç de detectar quan surt del camí, corregint la seva direcció., per mantenir-se així, sempre dins de la pista. Un cop el vehicle arriba a l’usuari, agafa la llauna de beguda fent la petita parada de transport al mateix lloc. No reanudarà la seva marxa fins que l'usuari hi torni a posar la llauna, per tornar al punt de partida i acabar el seu treball.

Pas 1: Eines i materials

Eines i materials
Eines i materials
Eines i materials
Eines i materials

Pas 2: Muntatge de maquinari

Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari

1. COS

Per al cos hem utilitzat una placa d'alumini, que hem tallat i doblegat amb la forma que volíem. També hem fet tots els forats necessaris per als cargols.

2. RODES

Vam fer servir dues rodes d’un joc Mecano que s’adaptaven perfectament al nostre robot. Els servos van sota la placa unida amb l'ajut de cargols. Per a la roda davantera hem utilitzat una roda "lliure", de manera que pot anar fàcilment en qualsevol direcció.

3. FOTOSENSORS

Per als fotosensors RDL hem utilitzat una placa de circuit i hem soldat el circuit amb ella, inclou una resistència, la LDR, un senyal positiu, negatiu i.

4. TAULA ARDUINO

Hem fixat la placa Arduino a la placa mitjançant cargols. Després només hi hem connectat tot el circuit. Per subministrar la placa hem utilitzat 2 bateries de 9V, que hem unit i endollat a l’Arduino.

5. PLATA SUPERIOR

Per a la placa superior hem utilitzat una màquina de tall per làser per tallar PMMA. Hem dissenyat aquesta forma amb AutoCad. Consisteix en una placa gran, 3 anells circulars i una peça circular per encabir-hi. Vam donar espai a la placa per poder encabir un botó.

Pas 3: connexions elèctriques

Connexions elèctriques
Connexions elèctriques

1. Servomotors de connexió:

Els servomotors consten de tres cables; un de groc o taronja per a senyal, vermell per a alimentació (Vcc) i negre o marró per a terra (GND). El vermell i el marró s’uneixen als pins corresponents de l’Arduino (5V i GND). Un servo està connectat al pin 10 de PWM i l’altre al pin 11 de PWM.

2. Botó de connexió:

Els botons electrònics funcionen d’una manera una mica peculiar; permetre passar la tensió a través dels pins en diagonal, és a dir, si tenim quatre pins, haurem de connectar l’entrada i la sortida en només dos pins, 1-4 o 2-3 per funcionar. Per exemple, si escollim els pins 1-4, connectarem la terra (GND) al pin 4 i la sortida es connectarà al pin PWM 9 i, al seu torn, juntament amb una resistència d’1kOhm, el connectarem a 5V (Vcc).

3. Connexió de fotosensors:

Per connectar els fotosensors, hem de col·locar una de les potes directament al subministrament de Vcc i l’altra connectar-la al mateix temps, a un pin analògic (en aquest cas als pins A0 i A1) i a la terra GND juntament amb una resistència d'1kOhm.

Nota:

Podeu soldar connectors petits als cables si els cables no s’adapten directament a l’Arduino o bé utilitzeu una proto-placa per facilitar les diferents connexions. En aquest projecte hem utilitzat tires de connexió per a diferents juntes.

Pas 4: Programació d'Arduino

Programació d'Arduino
Programació d'Arduino
Programació d'Arduino
Programació d'Arduino

CODI

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

configuració nul·la () {

// SERVOMOTORS

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

bucle buit () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = DigitalRead (inPin);

// PACK ESQUERRA

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

myservoL.write (180);

//Serial.println(LDR_L); }

més {

myservoL.write (92);

//Serial.println(LDR_L);

}

// PACK DRET

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

myservoR.write (-270);

//Serial.println(LDR_R); }

més {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Recomanat: