Sadržaj:

ULAGAČ: 5 koraka
ULAGAČ: 5 koraka

Video: ULAGAČ: 5 koraka

Video: ULAGAČ: 5 koraka
Video: Under Armour Curry 5 /// ОБЗОР И ТЕСТИРОВАНИЕ КРОССОВОК 2024, Studeni
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner je malo automatizirano vozilo koje ima funkciju transporta limenki za piće do žednih korisnika.

Kako radi? Limenka se postavlja na gornju podlogu vozila, a težina limenke pokreće mali gumb koji prijevozu govori da je spreman za rad. Da bi se vodio, Roadrunner slijedi put na tlu u obliku crne crte koja označava kamo bi trebao ići, a zahvaljujući upotrebi fotosenzora, u stanju je detektirati kad mu se skrene s puta, ispravljajući njegov smjer, ostati na ovaj način, uvijek unutar staze. Nakon što vozilo stigne do korisnika, preuzima limenku za piće, pa se mali prijevoz zaustavlja na istom mjestu. Neće obnoviti svoj marš sve dok korisnik ne stavi natrag limenku, kako bi se vratio na početnu točku i završio svoj posao.

Korak 1: Alati i materijali

Alati i materijali
Alati i materijali
Alati i materijali
Alati i materijali

Korak 2: Sklapanje hardvera

Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera

1. TIJELO

Za tijelo smo koristili aluminijsku ploču, koju smo izrezali i savili u željenom obliku. Napravili smo i sve rupe koje su potrebne za vijke.

2. KOTAČI

Koristili smo 2 kotača iz Mecano igre koji savršeno pristaju našem robotu. Servomotori idu ispod ploče spojene uz pomoć vijaka. Za prednji kotač koristili smo "slobodni" kotač, tako da može lako ići u bilo kojem smjeru.

3. FOTOSENZORI

Za fotosenzore RDL koristili smo pločicu i zavarili smo krug na nju, ona uključuje otpor, LDR, pozitivan, negativan i signal.

4. ARDUINO PLOČA

Arduino ploču smo pričvrstili na ploču pomoću vijaka. Tada smo samo spojili sav krug na njega. Za opskrbu ploče koristili smo 2 9V baterije, koje smo ujedinili i priključili u Arduino.

5. TOP PLOČA

Za gornju ploču koristili smo stroj za lasersko rezanje za rezanje PMMA. Ovaj smo oblik osmislili s AutoCad -om. Sastoji se od velike ploče, 3 kružna prstena i kružnog komada koji se uklapa u prstenove. Ploči smo dali prostora kako bismo mogli staviti gumb.

Korak 3: Električne veze

Električni priključci
Električni priključci

1. Priključivanje servomotora:

Servomotori se sastoje od tri kabela; jedna žuta ili narančasta za signal, crvena za napajanje (Vcc) i crna ili smeđa za uzemljenje (GND). Crvena i smeđa su pričvršćene na odgovarajuće pinove na Arduinu (5V i GND). Jedan servo je priključen na PWM pin 10, a drugi na PWM pin 11.

2. Gumb za povezivanje:

Elektronički gumbi rade na pomalo osebujan način; dopustiti da napon prolazi preko pinova dijagonalno, to jest, ako imamo četiri pina, moramo spojiti ulaz i izlaz u samo dva pina, 1-4 ili 2-3 za rad. Na primjer, ako odaberemo pinove 1-4, spojit ćemo uzemljenje (GND) na pin 4, a izlaz će se spojiti na PWM 9 pin i, zauzvrat, zajedno s otporom od 1 kOhm, spojiti ga na 5V (Vcc).

3. Priključivanje fotosenzora:

Za spajanje fotosenzora moramo postaviti jednu nogu izravno na Vcc opskrbu, a drugu u isto vrijeme, na analogni pin (u ovom slučaju na pinove A0 i A1) i na uzemljeni GND zajedno s otpor 1 kOhm.

Bilješka:

Možete spojiti male konektore na žice ako žice ne stanu izravno u Arduino ili upotrijebiti protoboard za olakšavanje različitih veza. U ovom smo projektu koristili spojne trake za različite spojeve.

Korak 4: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina
Programiranje Arduina
Programiranje Arduina

KODIRATI

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

void setup () {

// SERVOMOTORI

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

void loop () {{100} {101}

int LDR_L = analogRead (A2);

int LDR_R = analogno čitanje (A1);

buttonVal = digitalRead (inPin);

// LIJEVO PAKIRANJE

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

myservoL.write (180);

//Serial.println(LDR_L); }

drugo {

myservoL.write (92);

//Serial.println(LDR_L);

}

// DESNO PAKIRAJTE

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

myservoR.write (-270);

//Serial.println(LDR_R); }

drugo {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Preporučeni: