Inhoudsopgave:

ROADRUNNER: 5 stappen
ROADRUNNER: 5 stappen

Video: ROADRUNNER: 5 stappen

Video: ROADRUNNER: 5 stappen
Video: Революционная батарея Теслы на 1 600 000 км 2024, November
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner is een klein automatisch voertuig, dat de functie heeft om drankblikjes naar de dorstige gebruikers te vervoeren.

Hoe het werkt? Een blikje wordt op de bovenzijde van het voertuig geplaatst en het gewicht van het blikje activeert een kleine knop die het transport vertelt dat het klaar is om te werken. Om zichzelf te begeleiden, volgt Roadrunner een pad op de grond in de vorm van een zwarte lijn, die aangeeft waar hij heen moet, en dankzij het gebruik van fotosensoren kan hij detecteren wanneer hij uit de weg gaat en zijn richting corrigeren, om op deze manier altijd binnen de baan te blijven. Zodra het voertuig bij de gebruiker arriveert, pakt het het drankblikje op en stopt het kleine transport op dezelfde plaats. Hij zal zijn mars niet opnieuw bevochtigen totdat de gebruiker het blikje er weer op zet, om terug te keren naar het startpunt en zijn werk af te maken.

Stap 1: Gereedschap & Materialen

Gereedschap & Materialen
Gereedschap & Materialen
Gereedschap & Materialen
Gereedschap & Materialen

Stap 2: Hardwaremontage

Hardware-assemblage
Hardware-assemblage
Hardware-assemblage
Hardware-assemblage
Hardware-assemblage
Hardware-assemblage

1. LICHAAM

Voor de carrosserie hebben we een aluminium plaat gebruikt, die we hebben gesneden en gebogen in de vorm die we wilden. We hebben ook alle gaten gemaakt die nodig zijn voor de schroeven.

2. WIELEN

We gebruikten 2 wielen van een Mecano-spel die perfect bij onze robot passen. De servo's gaan onder de plaat die is verbonden met behulp van schroeven. Voor het voorwiel hebben we een "vrij" wiel gebruikt, zodat het gemakkelijk alle kanten op kan.

3. FOTOSENSOREN

Voor de RDL-fotosensoren hebben we een printplaat gebruikt en we hebben het circuit eraan gelast, het bevat een weerstand, de LDR, een positief, negatief en signaal.

4. ARDUINO-BORD

We hebben het Arduino-bord met schroeven op de plaat bevestigd. Dan hebben we gewoon het hele circuit erop aangesloten. Om het bord te voeden, hebben we 2 9V-batterijen gebruikt, die we hebben verenigd en op de Arduino hebben aangesloten.

5. BOVENSTE PLAAT

Voor de bovenplaat hebben we een lasersnijmachine gebruikt om PMMA te snijden. We hebben deze vorm ontworpen met AutoCad. Het bestaat uit een grote plaat, 3 ronde ringen en een rond stuk dat in de ringen past. We hebben de plaat ruimte gegeven zodat we een knop konden plaatsen.

Stap 3: Elektrische aansluitingen

Elektrische verbindingen
Elektrische verbindingen

1. Servomotoren aansluiten:

Servomotoren bestaan uit drie kabels; één geel of oranje voor signaal, rood voor voeding (Vcc) en zwart of bruin voor aarde (GND). De rode en de bruine zijn bevestigd aan de overeenkomstige pinnen op de Arduino (5V en GND). Eén servo is aangesloten op PWM-pin 10 en de andere op PWM-pin 11.

2. Verbindingsknop:

De elektronische knoppen werken op een ietwat eigenaardige manier; laat de spanning diagonaal over de pinnen passeren, dat wil zeggen, als we vier pinnen hebben, moeten we de ingang en de uitgang in slechts twee pinnen verbinden, 1-4 of 2-3 om te werken. Als we bijvoorbeeld pinnen 1-4 kiezen, verbinden we de aarde (GND) met pin 4, en de uitgang wordt verbonden met de PWM 9-pin en, op zijn beurt, samen met een weerstand van 1kOhm, verbinden we deze met 5V (vc).

3. Fotosensoren aansluiten:

Om de fotosensoren aan te sluiten, moeten we een van de poten rechtstreeks op de Vcc-voeding plaatsen en de andere tegelijkertijd aansluiten op een analoge pin (in dit geval op de pinnen A0 en A1) en op de massa GND samen met een weerstand van 1kOhm.

Opmerking:

Je kunt kleine connectoren aan de draden solderen als de draden niet direct in de Arduino passen of een protoboard gebruiken om de verschillende verbindingen te vergemakkelijken. In dit project hebben we verbindingsstrips gebruikt voor verschillende verbindingen.

Stap 4: Arduino programmeren

Arduino programmeren
Arduino programmeren
Arduino programmeren
Arduino programmeren

CODE

#include Servo myservoL;

Servo mijnservoR;

int inPin = 7;

int knopVal = 1;

ongeldige setup() {

//SERVOMOTOREN

myservoL.attach(10);

mijnservoR.attach (11);

Serieel.begin(9600); }

lege lus() {

int LDR_L = analoog lezen (A2);

int LDR_R = analoog lezen (A1);

buttonVal = digitalRead (inPin);

// PACK LINKS

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

mijnservoL.write(180);

//Serial.println(LDR_L); }

anders {

myservoL.write (92);

//Serial.println(LDR_L);

}

//PAKKET RECHTS

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

mijnservoR.write(-270);

//Serial.println(LDR_R); }

anders {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Aanbevolen: