Съдържание:

MrK Blockvader: 6 стъпки (със снимки)
MrK Blockvader: 6 стъпки (със снимки)

Видео: MrK Blockvader: 6 стъпки (със снимки)

Видео: MrK Blockvader: 6 стъпки (със снимки)
Видео: White Tiger 4K (military, dir. Karen Shakhnazarov, 2012, with subtitles) 2024, Ноември
Anonim
Image
Image
3D печат
3D печат

През годините съм виждал много интересни проекти за роботи с 3D печатни ровери и ми харесва как технологията за 3D печат е помогнала на роботизираната общност да увеличи повече разнообразие в дизайна и избора на материали. Искам да добавя малък принос към роботизираната общност, като публикувам MrK_Blockvader на Instructable за общността на създателите.

MrK_Blockvader е забавен малък робот с мъничък зумер, но не позволявайте на блоковия вид да ви заблуди. Той може да бъде оборудван със сензор за цвят, сензор за разстояние, радиомодул за комуникация с други Blocky с еднакви възможности, с база или с контролер.

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

Консумативи

1 * Arduino Nano

1 * DC мотор драйвер

2 * DC двигател с скоростна кутия

1 * 650 mAh батерия Venom LiPo

2 * 1/24 RC колела за камиони

2 * Бели светодиоди

1 * Сензор за разстояние

1 * Цветен сензор

1 * пробивна платка nRF24

1 * радио платка nRF24

1 * Звуков сигнал

1 * Превключвател

1* 26 AUG Черен проводник

1* 26 AUG Синя жица

1* 22 AUG Черен проводник

1* 22 AUG Червен проводник

Стъпка 1: 3D печат

Използвам CEL Robox 3D принтер, отпечатан с карбонов материал за лека и издръжливост. Ще прикача STL файловете по -долу. Моля, оставете коментара, ако имате въпроси относно процеса на 3D печат и настройките.

Стъпка 2: Подгответе Arduino Nano

Пригответе Arduino Nano
Пригответе Arduino Nano
Пригответе Arduino Nano
Пригответе Arduino Nano
Пригответе Arduino Nano
Пригответе Arduino Nano
Пригответе Arduino Nano
Пригответе Arduino Nano

Научих, че извършването на подготвителни работи за всички електрически компоненти е от ключово значение за чист проект.

Този проект включва свързване на пробивната платка nRF24, направих това в отделен проект, наречен NRF24 Wireless LED Box, тук можете да намерите информация как да свържете nRF24 пробивната платка към Arduino.

Забележка: Използвам по -дебел проводник 22AWG за захранване на Nano и тънки 26 AWG сини и черни проводници за всички други сигнални цели. Обичам тези проводници с размер 26 AWG, те са гъвкави, но все пак здрави и осигуряват най -доброто от двата свята.

Подготовка за Arduino Nano:

  1. Запоявайте заглавката на сигналния щифт към Arduino Nano.
  2. Навлажняването на тези щифтове с спойка ще направи запояването много по -късно по -късно.
  3. Запояйте група от син проводник към 5V, за да захранвате всички сензори и светодиоди.
  4. Запояйте група черен проводник към GND, за да осигурите заземяване на всички сензори и светодиоди.

Подготвителна работа на борда за разбиване на NRF 24:

  1. Запояйте 5 проводника към платката за пробив nRF24 за сигналите.
  2. Запояйте 2 проводника към захранващата платка nRF24.
  3. Проверете връзката, за да се уверите как да свържете пробивната платка към Arduino.
  4. Запоявайте сигналните 5 проводника от nRF24 към Arduino Nana.

Подготовка на зумера:

  1. Запояйте черен проводник към един от краката на зумера за заземяване.
  2. запоявайте син проводник към другия крак на зумера за управление на сигнала.

Подготовка на фоторезистора: (налична е диаграма)

  1. Запояйте син проводник към един от краката на фоторезистора за 5V.
  2. Запоявайте 10K резистор към другия крак на фоторезистора.
  3. Запоявайте син сигнал между 10K резистора и фоторезистора за сигнала.
  4. Запоявайте черен проводник към 10K резистора за маса.

Подготовка на светодиодите:

  1. Запоявайте син проводник от положителния десен светодиод към положителния ляв светодиод.
  2. Запоявайте черен проводник от отрицателния десен светодиод към отрицателния ляв светодиод.
  3. Запоявайте син проводник към положителния десен светодиод за управление на сигнала.
  4. Запоявайте черен проводник към отрицателния десен светодиод за маса.

Стъпка 3: Подгответе DC двигател, драйвер за DC двигател и сензори

Подгответе DC мотор, DC двигател и сензори
Подгответе DC мотор, DC двигател и сензори
Подгответе DC мотор, DC двигател и сензори
Подгответе DC мотор, DC двигател и сензори

MrK_Blockvador има няколко опции за сензори и допълнителните сензори не влияят на цялостната работа, но цветният сензор няма да може да се инсталира, след като DC моторът е залепен на място.

Подготовка на DC мотора:

  1. Запоявайте черен и червен проводник към DC двигателя.
  2. Увийте края на двигателя с лента Lear.
  3. Напълнете зоната с горещо лепило, за да запечатате съединителите на двигателя.

Подготовка на драйвер за постоянен двигател:

  1. Запояйте 6 -те сигнални проводника на драйвера на двигателя.
  2. Запоявайте сигналния проводник към правилния щифт на Arduino Nano.
  3. Инсталирайте 12V проводниците, за да захранвате драйвера на двигателя от батерията. Уверете се, че имате проводниците достатъчно дълги, за да ги спуснете надолу и навън от задната страна на робота.
  4. Инсталирайте 5V проводниците, за да захранвате Arduino Nano от драйвера на двигателя.

Подготовка на сензора за цвят (по избор):

  1. Запояйте 2 -те проводника за сигнала.
  2. Запоявайте 2 проводника за захранване.
  3. Запоявайте 1 проводник, за да контролирате супер яркия светодиод.

Подготовка на сензора за разстояние: (по избор)

  1. Запояйте син проводник за сигнала.
  2. Запояйте друг син проводник към положителния порт за положително 3V.
  3. Запоявайте черен проводник за отрицателния порт за заземяване.

Стъпка 4: Сглобете

Image
Image
Съберете
Съберете

След цялата подготвителна работа, сега е моментът, в който нещата се събират.

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

Процес на сглобяване:

  1. Горещо залепете цветния сензор към шасито и прокарайте проводника на цветния сензор през канала. (по избор)
  2. Залепете горещо моторите с постоянен ток към шасито, уверете се, че двигателят с постоянен ток е разположен на едно ниво с шасито.
  3. Супер лепилната Blocvader глава към нейното шаси се уверете, че всички проводници преминават.
  4. Сензор за разстояние от горещо лепило. (по избор)
  5. Светодиоди с горещо лепило за очи Blockvador.
  6. Поставете проводниците на постояннотоковия двигател към драйвера на постояннотоковия двигател докрай и завийте здраво.
  7. Проведете 12V захранващите проводници от DC драйвера надолу под и извън задната част на шасито за превключвателя за включване/изключване.
  8. Уверете се, че всички проводници от всички сензори са чисти, преди да залепите драйвера на DC двигателя.
  9. Качете тестовия код и отстранете проблема, ако има такъв.

Стъпка 5: Код

Image
Image
Какво следва?
Какво следва?

Основен код:

Роботът използва своя фоторезистор и открива нивото на осветеност на помещението и реагира при промяна на нивото на осветеност с течение на времето

Сърцето на кода:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Light level:"); Serial.println (lightLevel); Serial.print ("Текуща светлина:"); Serial.println (Current_Light); if (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("Chill mode");} if (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Serial. println ("Активен режим");}}

Роботът може да се управлява с помощта на контролер и превключване към частичен автономен режим с помощта на контролера.

Сърцето на кода:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Проверете дали има данни за получаване, ако (radio.available ()) {radio.read (& data, sizeof (Data_Package)); if (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} if (data. C_mode == 1) {Trim_Value = 0; Autonomous_mode ();} if (data. C_mode == 2) {Trim_Value = 0; Chill_mode ();} if (debug> = 1) {if (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} if (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} if (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} if (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} if (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} if (data. M_Switch_State == 1) {Serial.println (" M_Switch_State = LOW ");} Сериен.print ("\ n"); Serial.print ("Режим на роувър:"); Serial.println (data. C_mode); Serial.print ("L_XJoy_Value ="); Serial.print (data. L_XJoy_Value); Serial.print ("; L_YJoy_Value ="); Serial.print (data. L_YJoy_Value); Serial.print ("; R_YJoy_Value ="); Serial.print (data. R_YJoy_Value); Serial.print ("; Throtle_Value ="); Serial.println (data. Throtle_Value); забавяне (отстраняване на грешки*10); } lastReceiveTime = millis (); // В този момент получихме данните} // Проверете дали продължаваме да получаваме данни, или имаме връзка между двата модула currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Ако текущото време е повече от 1 секунда, откакто сме получили последните данни, {// това означава, че сме загубили връзката resetData (); // Ако връзката се загуби, нулирайте данните. Предотвратява нежелано поведение, например ако дрон има дроселна клапа и загубим връзка, той може да продължи да лети, освен ако не нулираме стойностите}}

Стъпка 6: Какво следва?

Този проект е началото на по -голям проект, където мрежа от тези малки момчета работят заедно, за да архивират обща цел.

Тези роботи обаче ще трябва да докладват за състоянието си на комуникационна станция, след което тази станция ще комбинира всички доклади от всички ботове, за да вземе решение за следващото необходимо действие.

Поради тази причина следващата фаза на проекта би била контролер, който да действа като комуникационна станция. Това ще помогне за по -нататъшното развитие на проекта.

Самият контролер е робот, но е по -пасивен от блокатора. Следователно контролерът изоставя собствената си инструкция, така че настройте се за бъдещ проект; D

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