Мазмұны:

ROADRUNNER: 5 қадам
ROADRUNNER: 5 қадам

Бейне: ROADRUNNER: 5 қадам

Бейне: ROADRUNNER: 5 қадам
Бейне: 👍 Дерзкий рейтинг: топ-10 бензиновых движков по мнению "АвтоСтронг-М". 2024, Қараша
Anonim
ROADRUNNER
ROADRUNNER

Roadrunner - бұл шағын автоматтандырылған автокөлік, ол сусыз банкаларды шөлдегендерге тасымалдау функциясын атқарады.

Бұл қалай жұмыс істейді? Автокөліктің жоғарғы негізіне банка қойылады, ал банканың салмағы тасымалдауға оның жұмысқа дайын екенін білдіретін кішкене түймені қосады. Өзін бағыттау үшін Roadrunner қара сызық түрінде жердегі жолмен жүреді, ол қайда бару керектігін көрсетеді және фотосенсорларды қолданудың арқасында ол жолдан шығып кеткенде, бағытын түзете алады., осылай қалу үшін, әрқашан тректің ішінде. Көлік пайдаланушыға жеткенде, ол сол жерде шағын көлік аялдамасын құрайтын сусын құтысын алады. Ол бастапқы нүктеге оралып, жұмысын аяқтауы үшін қолданушы банкаға қайта салмайынша, ол өз жүрісін қайта тексермейді.

1 -қадам: Құралдар мен материалдар

Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар

2 -қадам: аппараттық құралдарды жинау

Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы
Аппараттық қондырғы

1. ДЕНЕ

Дене үшін біз алюминий пластинаны қолдандық, оны біз қалаған пішінмен кесіп, бүктедік. Біз сондай -ақ бұрандалар үшін қажет болатын барлық тесіктерді жасадық.

2. Дөңгелектер

Біз роботқа өте жақсы сәйкес келетін Mecano ойынының 2 дөңгелегін қолдандық. Серво бұрандалардың көмегімен бекітілген пластинаның астына түседі. Алдыңғы доңғалақ үшін біз «бос» дөңгелекті қолдандық, сондықтан ол кез келген бағытта оңай жүре алады.

3. ФОТОСЕНСОРЛАР

RDL фотосенсорлары үшін біз тізбекті қолдандық және оған схеманы дәнекерледік, оған кедергі, LDR, оң, теріс және сигнал кіреді.

4. ARDUINO тақтасы

Біз бұрандалар көмегімен тақтаға Arduino тақтасын жапсырдық. Содан кейін біз оған барлық тізбекті қостық. Тақтаны жеткізу үшін біз Arduino -ға қосылған 9 9В батареясын қолдандық.

5. Үстіңгі тақта

Үстіңгі тақта үшін біз PMMA кесу үшін лазерлік кескіш машинаны қолдандық. Біз бұл пішінді AutoCad көмегімен жасадық. Ол үлкен пластинадан, 3 дөңгелек сақинадан және сақиналарға сәйкес келетін дөңгелек бөліктен тұрады. Біз түймені орналастыру үшін табаққа орын бердік.

3 -қадам: Электр қосылымдары

Электр қосылыстары
Электр қосылыстары

1. Сервомоторларды қосу:

Сервомоторлар үш кабельден тұрады; бір сары немесе қызғылт сары, сигнал үшін қызыл (Vcc) және қара немесе қоңыр жер үшін (GND). Қызыл және қоңыр түсті Arduino (5V және GND) сәйкес түйреуіштерге бекітілген. Бір серво PWM пин 10 -ға, екіншісі PWM -pin 11 -ге қосылады.

2. Қосу түймесі:

Электрондық түймелер біршама ерекше жұмыс істейді; түйреуіштердегі кернеуді диагональ бойынша өткізуге рұқсат етіңіз, яғни егер бізде төрт түйреуіш болса, онда біз кіріс пен шығуды жұмыс істеу үшін 1-4 немесе 2-3 екі түйреуішке қосуымыз керек. Мысалы, егер біз 1-4 түйреуіштерді таңдасақ, онда біз жерді (GND) 4 түйреуге қосамыз, ал шығыс PWM 9 түйреуішіне қосылады және өз кезегінде 1кОм кедергісімен бірге оны 5В (Vcc).

3. Фотосенсорларды қосу:

Фотосенсорларды қосу үшін біз бір аяқты тікелей Vcc желісіне, ал екіншісін бір уақытта аналогтық түйреуішке (бұл жағдайда A0 және A1 түйреуіштеріне) және жерге GND жерге қосуымыз керек. кедергісі 1 кОм.

Ескерту:

Егер сымдар Arduino -ға тікелей сәйкес келмесе немесе әр түрлі қосылыстарды жеңілдету үшін протоборды қолданса, шағын қосқыштарды сымдарға дәнекерлеуге болады. Бұл жобада біз әр түрлі буындарға арналған байланыстырушы белдеулерді қолдандық.

4 -қадам: Arduino бағдарламалау

Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау
Arduino бағдарламалау

КОД

#қосу Servo myservoL;

Сервис myservoR;

int inPin = 7;

int buttonVal = 1;

жарамсыз орнату () {

// ҚЫЗМЕТКЕРЛЕР

myservoL.attach (10);

myservoR.attach (11);

Serial.begin (9600); }

void loop () {

int LDR_L = analogRead (A2);

int LDR_R = analogRead (A1);

buttonVal = digitalRead (inPin);

// Пакет СОЛҒА

егер (LDR_L> 590 && buttonVal == 0) {

myservoL.write (180);

//Serial.println(LDR_L); }

басқа {

myservoL.write (92);

//Serial.println(LDR_L);

}

// ДҰРЫСТЫҚ ПАК

егер (LDR_R> 750 && buttonVal == 0) {

myservoR.write (-270);

//Serial.println(LDR_R); }

басқа {

myservoR.write (92);

//Serial.println(LDR_R); }

}

Ұсынылған: