Оглавление:

ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА: 11 шагов
ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА: 11 шагов

Видео: ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА: 11 шагов

Видео: ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА: 11 шагов
Видео: Избегающее расстройство личности | Самопомощь | Лечение | Эмоциональная саморегуляция | Шаг 2 2024, Ноябрь
Anonim
ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА
ЭМОЦИОНАЛЬНОЕ ПРЕПЯТСТВИЕ, ИЗБЕГАЮЩЕЕ РОБОТА

Эмоциональный робот. Этот робот отображает эмоции с помощью неопикселей (светодиоды 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: получайте удовольствие !

Я надеюсь, что вы построите этого робота и весело проведете время, я также надеюсь, что вы по-своему раскрутите этого робота и создадите свои собственные эмоции, чтобы сделать его ЖИВЫМ !!!

Рекомендуемые: