Съдържание:

ROADRUNNER: 5 стъпки
ROADRUNNER: 5 стъпки

Видео: ROADRUNNER: 5 стъпки

Видео: ROADRUNNER: 5 стъпки
Видео: 5 потрясающих рецептов из лаваша! Очень просто и недорого! 2024, Ноември
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner е малък автоматизиран автомобил, който има функцията да транспортира кутии за напитки до жадните потребители.

Как работи? Кутия се поставя върху горната основа на превозното средство, а теглото на кутията задейства малък бутон, който казва на транспорта, че е готов за работа. За да се ръководи, Roadrunner следва път на земята под формата на черна линия, която показва къде трябва да отиде, и благодарение на използването на фотосензори, той е в състояние да открие, когато излиза от пътя, коригирайки посоката си, за да остане по този начин, винаги вътре в пистата. След като превозното средство пристигне до потребителя, то взема кутията за напитки, което прави малкия транспорт да спре на същото място. Той няма да обнови похода си, докато потребителят не постави обратно кутията върху него, за да се върне към началната точка и да завърши работата си.

Стъпка 1: Инструменти и материали

Инструменти и материали
Инструменти и материали
Инструменти и материали
Инструменти и материали

Стъпка 2: Сглобяване на хардуер

Хардуерен монтаж
Хардуерен монтаж
Хардуерен монтаж
Хардуерен монтаж
Хардуерен монтаж
Хардуерен монтаж

1. ТЯЛО

За тялото използвахме алуминиева плоча, която изрязахме и огънахме с желаната от нас форма. Направихме и всички отвори, които ще са необходими за винтовете.

2. КОЛЕЛА

Използвахме 2 колела от игра на Mecano, които пасват идеално на нашия робот. Сервомоторите преминават под плочата, съединена с помощта на винтове. За предното колело използвахме „свободно“колело, така че може лесно да се движи във всяка посока.

3. ФОТОСЕНЗОРИ

За фотосензорите RDL използвахме платка и заварихме веригата към нея, тя включва съпротивление, LDR, положителен, отрицателен и сигнал.

4. ДЪСКА ARDUINO

Прикрепихме дъската Arduino към плочата с помощта на винтове. Тогава просто свързахме цялата верига към него. За захранването на платката използвахме 2 9V батерии, които сме обединили и включили в Arduino.

5. ГОРНА ПЛОЧА

За горната плоча използвахме машина за лазерно рязане за рязане на PMMA. Ние проектирахме тази форма с AutoCad. Състои се от голяма плоча, 3 кръгли пръстена и кръгло парче, което да се побере в пръстените. Дадохме място на чинията, за да можем да поставим бутон.

Стъпка 3: Електрически връзки

Електрически връзки
Електрически връзки

1. Свързване на сервомотори:

Сервомоторите се състоят от три кабела; едно жълто или оранжево за сигнал, червено за захранване (Vcc) и черно или кафяво за земя (GND). Червеният и кафявият са прикрепени към съответните щифтове на Arduino (5V и GND). Едното серво е свързано към PWM пин 10, а другото към PWM пин 11.

2. Бутон за свързване:

Електронните бутони работят по някакъв особен начин; позволяват да преминат напрежението през щифтовете по диагонал, тоест ако имаме четири пина, трябва да свържем входа и изхода само в два пина, 1-4 или 2-3, за да работят. Например, ако изберем щифтове 1-4, ще свържем земята (GND) към щифт 4, а изходът ще се свърже с PWM 9 пина и на свой ред заедно със съпротивление от 1 kOhm ще го свърже към 5V (Vcc).

3. Свързване на фотосензори:

За да свържете фотосензорите, трябва да поставим единия крак директно към Vcc захранването, а другият да го свърже едновременно, към аналогов щифт (в този случай към щифтовете A0 и A1) и към заземяващия GND заедно с съпротивление от 1 kOhm.

Забележка:

Можете да запоявате малки конектори към проводниците, ако проводниците не се вписват директно в Arduino или да използвате протоборд, за да улесните различните връзки. В този проект сме използвали свързващи ленти за различни фуги.

Стъпка 4: Програмиране на Arduino

Програмиране на Arduino
Програмиране на Arduino
Програмиране на Arduino
Програмиране на Arduino

КОД

#include Servo myservoL;

Servo myservoR;

int inPin = 7;

int buttonVal = 1;

void setup () {

// СЕРВОМОТОРИ

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

void loop () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// ОПАКУВАНЕ НАЛЯВО

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

myservoL.write (180);

//Serial.println(LDR_L); }

иначе {

myservoL.write (92);

//Serial.println(LDR_L);

}

// ПАКЕТ ПРАВ

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

myservoR.write (-270);

//Serial.println(LDR_R); }

иначе {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Препоръчано: