Mundarija:

ROADRUNNER: 5 qadam
ROADRUNNER: 5 qadam

Video: ROADRUNNER: 5 qadam

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

Roadrunner - chanqoq foydalanuvchilarga ichimlik qutilari tashish vazifasini bajaradigan kichik avtomatlashtirilgan avtomobil.

U qanday ishlaydi? Mashinaning yuqori poydevoriga banka qo'yilgan va uning og'irligi transportga ishlashga tayyorligini bildiruvchi kichik tugmani ishga tushiradi. O'ziga yo'l ko'rsatishi uchun, Roadrunner erdagi qora chiziq ko'rinishidagi yo'lni kuzatadi, u qayerga borishi kerakligini ko'rsatadi va fotosensor yordamida u yo'ldan chiqib ketganini aniqlay oladi va yo'nalishini to'g'rilaydi., shu yo'l bilan qolish uchun, har doim trek ichida. Avtotransport vositasi foydalanuvchiga etib kelganida, u xuddi shu joyda kichik transport to'xtab turadigan ichimlik idishini oladi. Foydalanuvchi boshlang'ich nuqtaga qaytishi va ishini tugatishi uchun bankani qayta joyiga qo'ymaguncha, u o'z yurishini qayta tekshirmaydi.

1 -qadam: Asboblar va materiallar

Asboblar va materiallar
Asboblar va materiallar
Asboblar va materiallar
Asboblar va materiallar

2 -qadam: Uskuna yig'ish

Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish

1. TANA

Korpus uchun biz alyuminiy plastinadan foydalandik, uni biz xohlagan shakli bilan kesib oldik. Shuningdek, biz vintlar uchun kerak bo'ladigan barcha teshiklarni qildik.

2. G'ildiraklar

Biz robotimizga to'liq mos keladigan Mecano o'yinining 2 ta g'ildiragidan foydalandik. Servo vintlar yordamida biriktirilgan plastinka ostiga kiradi. Old g'ildirak uchun biz "erkin" g'ildirakdan foydalanganmiz, shuning uchun u har qanday yo'nalishda oson o'tishi mumkin.

3. FOTOSENSORLAR

RDL fotosensorlari uchun biz elektron platani ishlatardik va unga sxemani payvandladik, unga qarshilik, LDR, musbat, manfiy va signal kiradi.

4. ARDUINO taxtasi

Biz vintlar yordamida plastinkaga Arduino kartasini biriktirdik. Keyin biz faqat barcha sxemani unga uladik. Kengashni etkazib berish uchun biz Arduino -ga ulangan va ulangan 2 ta 9V batareyadan foydalanganmiz.

5. YUQORI TABAK

Yuqori plastinka uchun biz PMMAni kesish uchun lazerli kesish mashinasidan foydalandik. Biz bu shaklni AutoCad yordamida yaratdik. U katta plastinkadan, 3 dumaloq halqadan va halqalarga sig'adigan dumaloq bo'lakdan iborat. Biz tugmachani joylashtirishimiz uchun plastinkaga joy berdik.

3 -qadam: Elektr aloqasi

Elektr aloqalari
Elektr aloqalari

1. Servomotorlarni ulash:

Servomotorlar uchta kabeldan iborat; signal uchun bitta sariq yoki to'q sariq, kuch uchun qizil (Vcc) va er uchun qora yoki jigarrang (GND). Qizil va jigarrang Arduino pinlariga (5V va GND) biriktirilgan. Bir servo PWM pin 10 ga, ikkinchisi PWM pin 11 ga ulanadi.

2. Ulanish tugmasi:

Elektron tugmalar biroz o'ziga xos tarzda ishlaydi; pimdagi kuchlanishni diagonal ravishda o'tkazishga ruxsat bering, ya'ni agar bizda to'rtta pin bo'lsa, biz kirish va chiqishni ishlash uchun faqat 1-4 yoki 2-3 pinli ulashimiz kerak. Masalan, agar biz 1-4-gachasi pimlarni tanlasak, biz yerni (GND) 4-pinga ulaymiz va chiqish PWM 9-piniga ulanadi va o'z navbatida 1kOm qarshilik bilan 5V ga ulanadi. Vcc).

3. Fotosensorlarni ulash:

Fotosensorlarni ulash uchun biz bir oyog'imizni to'g'ridan -to'g'ri Vcc tarmog'iga, ikkinchisini esa bir vaqtning o'zida analog pinga (bu holda A0 va A1 pinlariga) va GND erga ulashimiz kerak. 1kOm qarshilik.

Eslatma:

Agar simlar to'g'ridan -to'g'ri Arduino -ga mos kelmasa yoki turli ulanishlarni osonlashtirish uchun protobarddan foydalansangiz, siz kichik ulagichlarni simlarga lehimlashingiz mumkin. Ushbu loyihada biz turli bo'g'inlar uchun bog'lovchi chiziqlardan foydalanganmiz.

4 -qadam: Arduino dasturlash

Arduino dasturlash
Arduino dasturlash
Arduino dasturlash
Arduino dasturlash

KOD

#Servo myservoL ni qo'shing;

Xizmat ko'rsatish xizmati;

int inPin = 7;

int tugmasiVal = 1;

bo'sh o'rnatish () {

// SERVOMOTORLAR

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

void loop () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// PAKET QOLGAN

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

myservoL.write (180);

//Serial.println(LDR_L); }

boshqa {

myservoL.write (92);

//Serial.println(LDR_L);

}

// O'NLASH

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

myservoR.write (-270);

//Serial.println(LDR_R); }

boshqa {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Tavsiya: