Оглавление:
- Шаг 1: ЧАСТИ
- Шаг 2: неопиксели
- Шаг 3: Схема
- Шаг 4: Код
- Шаг 5: лицо
- Шаг 6: функция счастья
- Шаг 7: Печальная функция
- Шаг 8: функция злости
- Шаг 9: испуганная функция
- Шаг 10: мощность
- Шаг 11: получайте удовольствие !
Видео: ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА: 11 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Эмоциональный робот. Этот робот отображает эмоции с помощью неопикселей (светодиоды RGB), такие как грусть, счастье, гнев и испуг, он также может избегать препятствий и совершать определенные движения во время определенных эмоций. Мозг этого робота - мега Arduino. имейте в виду, что это мой первый запрограммированный робот, который я когда-либо построил, и он заставил меня влюбиться в программирование, сам код очень новичок и, скорее всего, можно было бы упростить.
Шаг 1: ЧАСТИ
-3,2 фута неопиксельной полосы
-HC-SR04 ультразвуковой датчик (или любой другой ультразвуковой датчик)
-переключатель наклона
-3 литий-ионный аккумулятор 3,7 в (18650)
-boost преобразователь (поясняется в шаге мощности)
-фоторезистор (любой номинал)
-аналоговый датчик звука
-2 двигателя постоянного тока 6В
-l293d (водитель мотора)
-пластиковый лист
картон
-колесное колесо
Шаг 2: неопиксели
Из-за того, что у меня был ограниченный бюджет, самый простой и дешевый способ воплотить в жизнь эмоции моих роботов - это неопиксели, все, что у них есть, - это 3 входа и выхода. три контакта на входе имеют маркировку 5В, DIN (вход данных) и GND (земля); выход помечается так же, как вход, но вместо данных в его DO (выход данных). Вы подключаете эти светодиоды параллельно друг другу, так что 5В подключается к 5В на другом светодиоде, а GND подключается к другому светодиоду GND, DO первого светодиода подключается к DIN второго светодиода, а затем этот процесс продолжается до тех пор, пока вы не достигнете желаемой длины светодиодной ленты. Для всей полосы неопикселей требуется только один цифровой выходной вывод от входа, это потому, что DO и DIN соединены в длинную цепочку, поэтому все они обмениваются данными друг с другом. Это необходимо, потому что нам нужно включать и выключать определенные светодиоды в определенное время. Полезное руководство по этому поводу - NEOPIXEL HELP.
Шаг 3: Схема
Схема очень проста, так как большая часть робота просто запрограммирована, двигатели работают от напряжения около 7 В с драйвером двигателя l293d, чтобы управлять двигателями, чтобы двигаться вперед или назад. Остальные соединения - это датчики Arduino. Вот и все!
Шаг 4: Код
Первым делом я загрузил необходимые библиотеки, чтобы немного упростить кодирование. Я использовал библиотеки FastLED.h и NewPing.h. Быстрый светодиод предназначен для светодиодов, а новый - для ультразвуковых датчиков. Следующее, что я сделал, это сделал все определения для контактов, которые я использовал, после этого была установка void, здесь я установил режимы контактов и neostrip «FastLED.addLeds (leds, NUM_LEDS);» Я определил NUM_LEDS как 56, так как я использовал 56 светодиодов, конфигурации светодиодов будут объяснены на этапе отображения лица. Затем я создал кучу функций для моего робота, чтобы он двигался вперед и назад, а также имел определенные эмоции, после чего я перехожу в цикл void, здесь я вызываю все свои функции в определенной последовательности, которую я хочу, например, если бы я хотел, чтобы мой робот улыбался, я бы поставил smile ();. Если бы я хотел, чтобы загорелся какой-то светодиод, я бы поставил: leds [45] = CRGB:: Green;, светодиод 45 станет зеленым. Когда я ставлю цвет на черный, это просто означает выключение. Теперь имейте в виду, что это одна из моих первых программ, поэтому она явно не идеальна, но все же работала.
КОД
Шаг 5: лицо
Для лица я использовал 56 светодиодов, что составляет почти полную 3,2-футовую неопиксельную полосу. Я разрезал полоску на 7 полосок по 8 светодиодов, первые 3 полосы я использовал для глаз, а последние 4 - для рта. Я соединил полоски в виде змеи, надеюсь, вы лучше поймете схему. Когда я закончил лицо, я положил тонкий пластиковый лист (толщиной около 2 мм) поверх светодиодных лент.
Шаг 6: функция счастья
Эта функция является самой простой из всех, поскольку она не использует никаких датчиков, вместо этого, как только вы включаете бота, он мгновенно улыбается вам. Но это не только улыбка; когда он улыбается, он также находится в режиме избегания препятствий. Режим обхода препятствий представлен в моем коде как функция roam. Режим избегания препятствий или блуждания работает с использованием двух ультразвуковых датчиков на стороне робота, когда датчик приближается на 30 см к чему-либо, он может отступить, и перемещается либо вправо, либо влево в зависимости от датчика, который находится ближе всего к объекту.
Шаг 7: Печальная функция
Чтобы робот стал грустным, мне нужно было подумать о чертах характера этого робота, поэтому я решил огорчить его, когда он находится в темноте. Для этого я использовал фоторезистор, чувствующий свет. Чем темнее окружающая среда, тем выше сопротивление, а чем светлее окружающая среда, тем ниже сопротивление. Схема работает как делитель напряжения, который представляет собой схему с двумя резисторами, подключенными последовательно к + 5 В и GND, в средней точке подключения резистора находится напряжение, которое может быть определено следующим уравнением: входное напряжение * (R2 / R1 + R2). когда аналоговый вывод Arduino считывает это значение, он преобразует напряжение в диапазон от 0 до 1023.
Шаг 8: функция злости
Чтобы разозлить робота, я решил его перевернуть / опрокинуть. Это работает с помощью переключателя наклона, а переключатель наклона в основном является обычным переключателем, но вместо кнопки или качельки у вас есть ртутный шарик, который при наклоне под определенным углом соединит два контакта и включится; так что значение из этого либо 0, либо 1, 0 для выключения и 1 для включения. Когда робот злится, он также игнорирует режим обхода препятствий и таранит все, что находится в поле зрения в прямом направлении, из-за своего гнева.
Шаг 9: испуганная функция
Последней функцией робота является функция испуга, в которой используется звуковой датчик, который размещается прямо на верхней части робота. Когда робот слышит шум нагрузки, он пугается и дрожит, когда движется назад. Звуковой датчик работает с использованием конденсаторного микрофона, который является микрофоном, когда он улавливает звуки или вибрацию, он создает небольшое напряжение, обычно около 100 мВ, это напряжение затем усиливается и считывается через аналоговый вывод Arduino, чем выше напряжение или чем громче звук, тем выше аналоговое значение, и наоборот.
Шаг 10: мощность
Теперь, когда вы создали все необходимое для его питания, я изначально пытался питать его от 8 батареек AA, но это было слишком громоздко и непрактично. Затем я использовал 3 литий-ионных батареи, каждая из которых вмещает около 3,5 В, я подключил одну батарею к повышающему преобразователю, который является усилителем напряжения, это увеличило мои 3,5 В до 5 В для питания Arduino, затем я использовал две батареи и подключил их напрямую. это для двигателей и светодиодов, это не такая уж хорошая идея, так как напряжение не регулировалось, но у меня не было регулятора напряжения, если вы попытаетесь построить это, я рекомендую использовать регулятор напряжения, который может сделать 5 В примерно на 2–3 ампера, примером этого является LM78S05. Или вы можете использовать LM7805 для питания Arduino и вместо этого получить понижающий преобразователь или понижающий преобразователь для понижения напряжения и питания светодиодов и двигателей.
Шаг 11: получайте удовольствие !
Я надеюсь, что вы построите этого робота и весело проведете время, я также надеюсь, что вы по-своему раскрутите этого робота и создадите свои собственные эмоции, чтобы сделать его ЖИВЫМ !!!
Рекомендуемые:
Миниатюризация автономного робота Arduino (Land Rover / Car) Stage1Model3: 6 шагов
Миниатюризация автономного робота Arduino (Land Rover / Car) Stage1Model3: я решил миниатюризировать Land Rover / Car / Bot, чтобы уменьшить размер и энергопотребление проекта
Препятствие обнаруживает белую трость: 5 шагов
Белая трость, обнаруживающая препятствия: В моей школе мой учитель говорил о вспомогательных технологиях и о том, как мы можем создавать инструменты, чтобы помогать другим людям. Меня заинтриговала эта идея, поэтому я решил создать систему предупреждения о непредсказуемых препятствиях для слабовидящих. Фо
КАК СОБРАТЬ ВПЕЧАТЛЯЮЩУЮ ДЕРЕВЯННУЮ РУКОЯТКУ РОБОТА (ЧАСТЬ 3: РУКОЯТКА РОБОТА) - НА ОСНОВЕ МИКРО: BITN: 8 шагов
КАК СОБРАТЬ ВПЕЧАТЛЯЮЩУЮ ДЕРЕВЯННУЮ РУКОЯТКУ РОБОТА (ЧАСТЬ 3: РУКОЯТКА РОБОТА) - НА ОСНОВЕ МИКРО: BITN: Следующий процесс установки основан на завершении режима избегания препятствий. Процесс установки в предыдущем разделе такой же, как и процесс установки в режиме отслеживания строк. Тогда давайте посмотрим на окончательную форму A
[Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)
[Робот Arduino] Как сделать робота захвата движения | Большой палец руки робота | Серводвигатель | Исходный код: Thumbs Robot. Использовал потенциометр серводвигателя MG90S. Это очень весело и просто! Код очень простой. Это всего около 30 строк. Это похоже на захват движения. Пожалуйста, оставьте любой вопрос или отзыв! [Инструкция] Исходный код https: //github.c
Создайте очень маленького робота: сделайте самого маленького в мире колесного робота с захватом: 9 шагов (с изображениями)
Создайте очень маленького робота: создайте самого маленького в мире колесного робота с захватом. Создайте робота объемом 1/20 куб. Дюйма с захватом, который может поднимать и перемещать мелкие предметы. Он управляется микроконтроллером Picaxe. На данный момент я считаю, что это может быть самый маленький в мире колесный робот с захватом. Без сомнения, ч