Оглавление:
- Шаг 1. Что вам нужно?
- Шаг 2. Разберите радиоуправляемую машину на части
- Шаг 3. Подключите кабели постоянного тока и аккумуляторные батареи
- Шаг 4: светодиодные кабели
- Шаг 5: Подключите кабели светодиодов к плате SSMI
- Шаг 6: Подключите датчики
- Шаг 7: ваш робот готов к работе
- Шаг 8: Установите программное обеспечение
- Шаг 9: Готовы к программированию
- Шаг 10: скопируйте и вставьте исходный код
- Шаг 11: скомпилируйте и загрузите в свой робот
Видео: Как сделать крутого робота из радиоуправляемой машины: 11 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
Этот крутой проект для старшеклассников или любого любителя, который хочет сделать крутого робота. Я долго пытался сделать интерактивного робота, но сделать его непросто, если вы не знаете никакой электроники или специальных языков программирования. Теперь существует совершенно бесплатный язык программирования nqBASIC, позволяющий создать своего собственного робота.
Шаг 1. Что вам нужно?
Для этого крутого проекта вам понадобятся некоторые детали. 1) Найдите радиоуправляемую машину с двумя двигателями постоянного тока. Я нашел очень дешевую машину под названием Thunder Tumbler за 12 долларов. Картинка ниже. 2) Вам понадобится плата контроллера серводатчика под названием SSMI. Вот ссылка для получения https://www.technologicalarts.ca/catalog/product_info.php? Currency = USD & products_id = 2763). Для этой платы вам понадобится микроконтроллер под названием NanoCore12DXhttps://www.technologicalarts.ca/catalog/ product_info.php? cPath = 50_36_92 & products_id = 4294) Если вы хотите сделать своего робота интерактивным, вам понадобятся два датчика. ваш робот для программирования. https://www.technologicalarts.ca/catalog/product_info.php? cPath = 26 & products_id = 386) Классный язык роботов, разработанный для этого продукта, называется nqBASIC. Зайдите на https://www.nqbasic.com и скачайте бесплатно. Вы также можете задать вопросы на их форуме. 7) 4 батарейки AA (щелочные или перезаряжаемые)
Шаг 2. Разберите радиоуправляемую машину на части
1) Вынул всю электронику. Отрежьте кабели от блока контроллера внутри радиоуправляемой машины, оставив только батарею, потому что это было правильным для питания SSMI (платы интерфейса сервопривода / датчика / двигателя для NanoCore12DX).
Шаг 3. Подключите кабели постоянного тока и аккумуляторные батареи
К двум двигателям постоянного тока R / C-автомобиля уже были подключены кабели, поэтому я подключил их к съемным разъемам (поставляется с платой SSMI) на моем SSMI. То же самое проделал и с аккумуляторным кабелем.
Шаг 4: светодиодные кабели
Осталось 4 кабеля. Они тонкие. Это тросы, идущие от колес. У этой радиоуправляемой машины есть светодиоды внутри задних колес. От каждого колеса идет по два кабеля. Ваш робот может быть красивым с этими светодиодами. Я решил использовать эти светодиоды, чтобы сделать робота веселее. Вы можете видеть эти кабели на картинке. Я установил черный кусок пластика, идущий с задней части автомобиля, на переднюю часть автомобиля, чтобы получилась плоская поверхность для крепления платы SSMI. Я использовал липучки для крепления на нем SSMI. Вы можете использовать двухсторонний скотч и немного стяжек, если хотите. Затем я вставил кабели светодиодов через отверстия в передней части автомобиля. Я установил SSMI на машину, а затем подключил электродвигатели постоянного тока и штекеры аккумуляторных батарей на их место.
Шаг 5: Подключите кабели светодиодов к плате SSMI
Затем вставьте кабели светодиодов в нужные места. Вам нужно узнать из руководства по плате SSMI, какие разъемы вы можете использовать. Вставьте их в те же места, что и я. Позже вы сможете научиться прокладывать эти кабели в разных местах, если захотите.
Шаг 6: Подключите датчики
Подключите кабели датчиков в нужные места.
Шаг 7: ваш робот готов к работе
Оборудование вашего робота готово. Теперь вам нужно его запрограммировать.
Шаг 8: Установите программное обеспечение
Перейдите на https://www.nqbasic.com и загрузите программное обеспечение с веб-сайта. Все инструкции есть на сайте - как установить и подготовить компьютер к этому. Также есть отличное видео на YouTube, в котором показано, как бесплатно зарегистрировать программу. Этот язык программирования абсолютно бесплатный. Не стесняйтесь регистрироваться. В противном случае вы не сможете скомпилировать свой код.
Шаг 9: Готовы к программированию
Подключите последовательный кабель от последовательного порта вашего компьютера к последовательному порту SSMI. 1) Запустите nqBASIC и выберите проект и новый проект 2) дайте имя вашему проекту и сохраните его. 3) Он спросит вас, какой модуль наноядра вы используете, выберите NanoCore12DX из списка. Это единственный модуль, который работает с SSMI. 4) Выберите File / New file. Он спросит, хотите ли вы добавить этот файл в свой проект. Скажите «Да». 5) Дайте имя файлу и нажмите «Сохранить».
Шаг 10: скопируйте и вставьте исходный код
/ * Скопируйте отсюда в конец этого текста Пример для DIP32 (8 МГц) * / dim M00 как новый pwm (PP0) dim M01 как новый pwm (PP1) dim M11 как новый pwm (PP2) dim M10 как новый pwm (PP3) dim IR1 as new ADC (PAD05) // ADC object for Sharp Sensor (Front) dim IR1Result as new bytedim IR2 as new ADC (PAD03) // ADC object for Sharp Sensor (Back) dim IR2Result as new bytedim myChar as new byte / / Переменная для сохранения полученных символовdim S как новый SCI (PS0, PS1) // SCI objectdim SPK как новый DIO (PM4) // Использование динамика в SSIMconst ontime = 20dim duration как новое словоConst A2 = 2273 // Music notesConst A3 = 1136 // Музыкальные нотыConst A4 = 568 // Музыкальные ноты для воспроизведения звука, когда робот видит что-то тусклое WLED1 как новый DIO (PM2) // Светодиоды на колесах затемняют WLED2 как новый DIO (PM3) // Светодиоды на колесе затемняют петлю как новый байтConst OFF = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (в байтовых миллисекундах), в то время как (миллисекунды> 0) System. Delay (DEL_1MSEC) // Задержка 1000 микросекунд до 1 миллисекунды миллисекунды onds = миллисекунды - 1 конец whileend subsub stop () // для остановки двигателей M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub goback () // робот вернется назад M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub turnright () // повернуть робота вправо M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft () // повернуть робота налево M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_GOD, конец подзаголовка, 0 () // заставляем робота двигаться вперед M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // левый пост. Ток M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // правый подпод sub wait3 () // мои собственные задержки DelayMsec (A) DelayMsec (A) DelayMsec (A) end sububub wait4 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) end sububub wait5 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A)) end subsub wait10 () // long delay loop = 1 while (loop <11) DelayMsec (A) loop = loop + 1 end whileend subsub playsound () // воспроизводить ноты duration = ontime while (duration> 0) SPK. PIN_Out (PM4, ON) system. Delay (A2) SPK. PIN_Out (PM4, Off) system. Delay (A2) duration = duration - 1 end while DelayMsec (B) duration = ontime while (duration> 0) SPK. PIN_Out). (PM4, ON) system. Delay (A3) SPK. PIN_Out (PM4, Off) system. Delay (A3) duration = duration - 1 end while DelayMsec (B) duration = ontime while (Длительность> 0) SPK. PIN_Out (PM4, ON) system. Delay (A4) SPK. PIN_Out (PM4, Off) system. Delay (A4) duration = duration - 1 end while DelayMsec (B) end sub main PWM. PWM_Res_PP0145 (TIMER_D), IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup (SER_BUFFER_4, BAUD9600) // Настроить SCI и разрешить буферизацию 4 символов System. INTS_On () // ВКЛЮЧИТЬ ПРЕРЫВАНИЯ! S. SER_Put_string ("Это тест") S. SER_Put_char ('\ n') S. SER_Put_char ('\ r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // Считываем значение с переднего датчика резкости IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Считываем значение с заднего датчика резкости IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal (IR2Result, FILLUP_SPACE) // отправляем значение в гиперссылку окна) // отправляем значение терминал S. SER_Put_char ('\ n') // создаем новую строку на гипертерминале S. SER_Put_char ('\ r') if ((IR1Result == 25) или (IR1Result> 25)) stop () playsound () wait5 () WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) goback () wait5 () if ((IR2Result == 25) или (IR2Result> 25)) stop () playsound () wait5 () turnleft () wait3 () goahead () end if turnright () wait3 () else goahead () end if if ((IR2Result == 25) или (IR2Result> 25)) WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) stop () wait5 () turnright () wait3 () WLED1. PIN_Out (PM2, OFF) WLED2. PIN_Out (PM3, OFF) goahead () wait3 () else goahead () end if end whileend m айн
Шаг 11: скомпилируйте и загрузите в свой робот
Убедитесь, что вы вставили батареи в своего робота и включили его. Вы должны увидеть зеленый светодиодный индикатор питания, светящийся на SSMI. На модуле Nanocore12DX есть небольшой переключатель, убедитесь, что он находится в положении нагрузки. Нажмите переключатель сброса на SSMI. Зайдите в nqbasic и выберите Build and load. Он скомпилирует ваш код и загрузит его в вашего робота. Отсоедините последовательный кабель от вашего робота и переключите переключатель из положения нагрузки в рабочее положение на модуле NanoCore12DX. Поместите робота на плоскую поверхность и нажмите кнопку сброса на SSMI. Поздравляем! Если у вас возникнут проблемы с этими шагами, не стесняйтесь писать на форуме nqBASIC. Я буду там и отвечу на все ваши вопросы. Удачи!
Рекомендуемые:
Переделать крутого старого робота: 10 шагов (с картинками)
Переделайте крутого старого робота: познакомьтесь с Арланом, забавным роботом с большой индивидуальностью. Он живет в 5-м классе в классе естественных наук. Я перестроил его, чтобы он стал талисманом школьной команды робототехники, он же помощник в классе. Детям нравится видеть технику в действии, а Арлан гуляет
Обратный огонь радиоуправляемой машины: 4 шага
RC Car Backfire: я оценил сигнал ESC через Arduino, чтобы сделать обратный огонь реалистичным. Backfire срабатывает, когда вы быстро двигаетесь с полностью открытой дроссельной заслонки. Что вам понадобится: Arduino NanoY-кабель JRServo 20 кгс горелка кусок соединительной проволоки
Обнаружение объектов во время вождения радиоуправляемой машины: 9 шагов
Обнаружение объектов во время вождения радиоуправляемого автомобиля: этот проект посвящен использованию ультразвуковых датчиков на автомобиле для обнаружения препятствий
КАК СОБРАТЬ ВПЕЧАТЛЯЮЩУЮ ДЕРЕВЯННУЮ РУКОЯТКУ РОБОТА (ЧАСТЬ 3: РУКОЯТКА РОБОТА) - НА ОСНОВЕ МИКРО: BITN: 8 шагов
КАК СОБРАТЬ ВПЕЧАТЛЯЮЩУЮ ДЕРЕВЯННУЮ РУКОЯТКУ РОБОТА (ЧАСТЬ 3: РУКОЯТКА РОБОТА) - НА ОСНОВЕ МИКРО: BITN: Следующий процесс установки основан на завершении режима избегания препятствий. Процесс установки в предыдущем разделе такой же, как и процесс установки в режиме отслеживания строк. Тогда давайте посмотрим на окончательную форму A
[Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)
[Робот Arduino] Как сделать робота захвата движения | Большой палец руки робота | Серводвигатель | Исходный код: Thumbs Robot. Использовал потенциометр серводвигателя MG90S. Это очень весело и просто! Код очень простой. Это всего около 30 строк. Это похоже на захват движения. Пожалуйста, оставьте любой вопрос или отзыв! [Инструкция] Исходный код https: //github.c