Есть ли способ повторно использовать старого робота с помощью Arduino?
Пару лет назад я купил простого робота (по имени Qu-Bot) для школьного проекта. После проекта она просто ушла на чердак. Несколько дней назад я купил Arduino Uno и начал изучать, как с ним работать. Но прежде чем я смог купить светодиоды, датчики, ЖК-дисплеи и т. д., в моей стране была введена полная изоляция из-за коронавируса.
Можно ли запрограммировать этого старого робота в Arduino IDE так же, как я программирую свой Uno?
Я не уверен, полезно это или нет, но когда я выполняю
$ lsusb
, бот отображается какBus 001 Device 018: ID 067b:2303 Prolific Technology, Inc. .Последовательный порт PL2303
Вот ссылка на документацию по боту: http://www.technogravity.com/products/qu_bot/qu_bot_downloads.php
Вот фотографии всех 3-х фишек, которые я вижу на плате бота:
@Fitz Watson, 👍1
2 ответа
Что касается вашего вопроса, могу ли я программировать в ArduinIDE - Да.
- Основной чип от AVR ATMEGA16,
- ЖК-дисплей имеет размер 16x2 (распиновка для использования с ЖК-библиотекой прилагается)
- драйвер двигателя (большое спасибо Юраю, это не тайна) ULN2803. Пример для работы можно найти здесь.
Прилагаемая принципиальная схема:
Как использовать в ArduinoIDE:
- Сначала установите драйвер для Prolific и убедитесь, что ваша ОС находит робота (готово)
- Затем установите MightyCore с поддержкой ATMega16 — есть подробные инструкции, как это сделать
- Начните с примера с мигающим светодиодом (выводы на схеме), скомпилируйте и загрузите для тестирования
- Затем простой пример ЖК-дисплея и т. д.
Еще один вариант – разобрать бота и спасти большую часть деталей.
Если это возможно, в руководстве указано, какие детали можно удалить без пайки
Для начала вам потребуются драйверы USB для ОС и оригинальное ПО для тестирования. если QBot все еще в порядке с аппаратной точки зрения,
Затем вы можете спасти его детали для использования с Arduino:
Затем вам нужно сделать новую опорную плиту (погуглите фотографии опорных плит 2-колесного робота) и получить драйвер двигателя (я рекомендую для новичка дешевый моторный щит, такой как клон Adafruit V2, 5-7 $).
Поскольку вы, вероятно, загрузили последнюю версию ArduinoIDE для своей ОС, получите несколько примеров программ и начните экспериментировать.
На указанном вами веб-сайте мне не удалось открыть примеры программ (404 Not Found). Сайт кажется очень устаревшим (на нем есть новости за 2015 год). Поэтому я не могу быть уверен, как робот должен быть запрограммирован.
Но: Atmega16A — это программируемый микроконтроллер, и, скорее всего, это мозг робота. В зависимости от того, как был запрограммирован исходный бот, у вас может быть 2 пути:
Если изначально он был построен на платформе Arduino, а это означает, что в нем уже есть подходящий загрузчик, вы можете программировать напрямую через USB/последовательный порт из Arduino IDE.
Если нет, вы можете запрограммировать его с помощью Arduino IDE через ISP, используя Arduino Uno в качестве программатора. Посмотрите этот сайт с документацией для более подробного описания того, как это делается. Обратите внимание, что вам, скорее всего, придется удалить Атмегу из бота для программирования, так как программирование может мешать схеме бота (Атмега, кажется, находится в гнезде, так что вы можете удалить его оттуда). После программирования вы можете снова вставить его в бота.
В обоих случаях вам необходимо установить правильное ядро для этого чипа в Arduino IDE, например, следуя это руководство (найдено быстрым поиском, не проверено). (Возможно, вы даже сможете найти ядро именно для этого робота)
Другие показанные чипы, по-видимому, являются драйверами двигателей.
вы не знаете MightyCore? https://github.com/MCUdude/MightyCore, @Juraj
Вот ссылка на примеры кодов: http://robokitsworld.com/downloads/QBVLab%20Sample%20Codes.zip, @Fitz Watson
- C++ против языка Arduino?
- avrdude ser_open() can't set com-state
- Как читать и записывать EEPROM в ESP8266
- Float печатается только 2 десятичных знака после запятой
- устаревшее преобразование из строковой константы в 'char*'
- Запрограммировать ATMega328P и использовать его без платы Arduino.
- Разница между print() и println()
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
как вы думаете, у него есть Optiboot для MightyCore?, @Juraj
может ли ULN2803APG быть драйвером двигателя? https://cdn-shop.adafruit.com/datasheets/ULN2803A.pdf, @Juraj
Я рассмотрю решение MightyCore завтра утром. Большое спасибо за это. Что касается его утилизации, я не думаю, что это возможно, так как детали спаяны без особого запаса, чтобы удалить их., @Fitz Watson
@ Codebreaker007 Я выполнил указанные шаги. Произошла ошибка: https://pastebin.com/b4biZqYE, @Fitz Watson
@ФитцВатсон, конечно. загрузка ожидает загрузчика Optiboot в ATmega, @Juraj