Съдържание:

Направете брони за роботи (с код): 4 стъпки
Направете брони за роботи (с код): 4 стъпки

Видео: Направете брони за роботи (с код): 4 стъпки

Видео: Направете брони за роботи (с код): 4 стъпки
Видео: 46 СУМАСШЕДШИХ ТОВАРОВ ДЛЯ ПРАНКОВ с Aliexpress, От Которых Ты Офигеешь + КОНКУРС 2024, Ноември
Anonim
Направете брони за роботи (с код)
Направете брони за роботи (с код)

Тази инструкция ще преведе читателите как да създават и кодират брони на Boe-бот, който ще може да се движи през лабиринт, докато открива препятствия. Кодирането на проекта беше направено с помощта на софтуер за програмиране BASIC Stamp и робота Boe-Bot, а за успешното създаване на тези брони е необходимо основно разбиране на схемите и програмирането.

Консумативи

За да създадете тези брони, ще ви трябва:

- робот Boe-Bot

- Софтуер за програмиране BASIC Stamp

- Пръчици от лапчета

- гъба

- Алуминиево фолио

- Кламери

- 8 прилично дълги проводника (поне 6 инча)

- 2 LED лампи

-2 кафяво-черно-жълти резистора

-2 червено-червено-кафяви резистора

- Лента и горещо лепило (или подобно лепило)

- Батерии за вашия Boe-Bot

Стъпка 1: Стъпка 1: Създаване на верига

Стъпка 1: Създаване на верига
Стъпка 1: Създаване на верига
Стъпка 1: Създаване на верига
Стъпка 1: Създаване на верига

Следвайте схемата на макета по -горе, за да създадете схема за ориентиране и работа с вашата макет. В крайна сметка вашата дъска трябва да изглежда подобна на изображението вляво.

Неща, които трябва да запомните:

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

- Vss служи като основа на този макет, което означава, че има стойност нула, а Vdd има стойност 1.

- Работна верига има стойност 0. Изключена верига има стойност 1.

Стъпка 2: Стъпка 2: Програмиране за Boe-бота

Следният код програмира робота да завие наляво и надясно на 90 градуса в зависимост от това коя от броните е натисната (повече подробности за създаването на бронята в следващата стъпка). Този код гарантира, че роботът ще завие наляво при натискане на проводниците на дясната броня и ще завие надясно, когато се натиснат проводниците на лявата броня.

Някои основни езикови преводи:

- GOSUB = подпрограма (трябва да бъде последвана от заявка в кода)

- Ако.. Else = посочва група код, която трябва да бъде изпълнена, ако условията са верни, и изпълнява инструкции, ако условията са невярни

Кодът:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ***************************************** ******************************** 'Нулиране на кода за рестартиране' Използвайте бутона за нулиране, за да спрете и стартирате робота '** ************************************************** *********************** temp VAR байт "временно хранилище RunStatus DATA $ 00" променлива, съхранявана в ROM READ RunStatus, temp 'Прочетете променливата от ROM temp = ~ temp 'обърнете стойността от 0 до 1 или от 1 до 0 WRITE RunStatus, temp' Запишете променливата обратно в ROM IF (temp> 0) THEN END 'Проверете дали стойността е 1' ако е така END the program PAUSE 3000 'Pause to allow да движите „ръката си, когато натиснете нулиране“************************************* ************************************ '************* ************************************************** *********** „Игли и константи“Използва се за опростяване на програмирането “***************************** ********************************************* LMOTOR PIN 15 RMOTOR PIN 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '******************************* **************************************** '********* ************************************************** ************** 'Променливи' Използвани за опростяване на програмирането '**************************** ********************************************* MLoopC VAR Word 'За.. Следваща променлива до 65000ish sideCount VAR Byte turnAngle VAR Word '********************************** ************************************** '----------- -------------------------------------------------- ------------- "Основен код" --------------------------------- ----------------------------------------- НАПРАВЕТЕ АКО IN10 = 0 ТОГАВА „Ако проводник в пин 10 е включен, след това завийте наляво GOSUB НалявоTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Ако проводникът в щифт 11 е включен, завийте надясно GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Преместете напред един импулс LOOP ' --------------------------------- ------------------------------------- '** КРАЙ НА ОСНОВНИЯ КОД ****** ********************************************** '- -------------------------------------------------- --------------------- '**************************** ******************************************** '** Подпрограми / Подпроцедура / Методи ******************************** '*********** ************************************************** *********** '************************************** ********************************** '*************** ************************************************** ******* RightTurn90: „Подпроцедура за завиване на 90 градуса надясно“********************************** *********************************** HIGH 1 LOW 0 FOR MLoopC = 1 TO 22 PULSOUT LMOTOR, Lfast 'преместване напред с един импулс PULSOUT RMOTOR, RfastRev' с помощта на пинове и константи PAUSE 20 '20mS позволява на робота да се движи NEXT' преди NEXT pulse RETURN '******************** ************************************************** * LeftTurn90: „Подпроцедура за завъртане на 90 градуса надясно“** ************************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 TO 22 PULSOUT LMOTOR, LfastRev 'преместване напред с един импулс PULSOUT RMOTOR, Rfast' с помощта на щифтове и константи PAUSE 20 ' 20mS позволява на робота да се движи NEXT 'преди NEXT pulse RETURN' ************************************ ********************************* ForwardFast: „Подпроцедура за преместване на робота напред с един квадрат бързо“**** ************************************************** ***************** ЗА MLoopC = 1 до 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NEXT RETURN '************** ************************************************** ****** ReverseTurnLeft: „Подпроцедура за обръщане и завъртане на робота наляво, когато дясната броня е ударена“*************************** ******************************************* За MLoopC = 1 до 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev ПАУЗА 20 СЛЕДВАЩО ВРЪЩАНЕ '************************************** ********************************* ReverseTurnRight: 'Подпроцес издърпайте назад и завъртете робота надясно, когато лявата броня е ударена '************************************ ******************************************************************* FOR MLoopC = 1 до 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 СЛЕДВАЩО ВРЪЩАНЕ '******************************************** ************************* 'КРАЙ НА ПОДБРУТИНИ' ******************** ************************************************** *

Стъпка 3: Стъпка 3: Използване на алуминиево фолио и пръчици за телени брони

Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони
Стъпка 3: Използване на алуминиево фолио и пръчици за локуси за телени брони

Преди да започнете тази стъпка, уверете се, че 4 -те проводника от макета (вижте стъпка 1) са разделени на двойки, като всяка двойка контролира дясна или лява броня. Светодиодите функционират в тази ситуация, за да проверят дали кодът е ефективен на дясната и лявата броня. На пръчките от Popsicle, един проводник от всяка двойка споделя единия край на пръчката Popsicle (това означава, че проводниците от една и съща двойка НЕ МОГАТ да бъдат на една и съща броня).

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

За да държите фолиото и проводниците залепени за пръчките от Popsicle, използвайте 1-2 кламери, за да държите материалите заедно. Щипките за хартия също осигуряват по -голяма достъпност, за да се докоснат пръчките на Popsicle без много външна намеса. Плъзнете кламерчето върху пръчката Popsicle точно както бихте направили с нормален куп хартия. Повторете това и за четирите парчета фолио и за всеки край на двете пръчици от мокасини.

Стъпка 4: Стъпка 4: Сглобяване на останалата част от броните

Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните
Стъпка 4: Сглобяване на останалата част от броните

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

По избор: Нарежете допълнително пръчица от Popsicle наполовина и я залепете под ъгъл на върха на външната броня на Popsicle stick. Това засилва удара от удара на бронята в стената и завъртането.

Не забравяйте да огънете проводниците, така че броните да се изкривят точно пред Bot-бота.

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