Умный говорящий робот-гуманоид только с Arduino!
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 3 | |||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 | ||||
![]() |
| × | 1 |
Приложения и онлайн-сервисы
![]() |
|
Об этом проекте
Этот робот - Мофиза- (странное имя) может ВИДЕТЬ, ГОВОРИТЬ и РЕАГИРОВАТЬ на свое окружение. Прежде чем продолжить, посмотрите видео:
С тех пор, как я увидел создание говорящих роботов, я увидел, что люди на самом деле используют другие платы для разработки, а не Arduino, для создания говорящих роботов. Но вполне возможно создать робота-гуманоида с Arduino, который может разговаривать, и добавить множество сервоприводов, чтобы он двигался. Итак, приступим:
Обновление (как я это сделал) -
Шаг 1. Детали, которые вам понадобятся



- Arduino Pro mini (5v 16 Mhz) [подойдет любая плата, но я использовал ее, чтобы сделать ее маленькой)
- Штыри разъема "мама" для подключения к печатной плате
- Штыри заголовка "папа"
- Плата Vero для создания схемы
- Модуль TF SD-карты (чтобы он разговаривал)
- карта micro sd (не более 2 ГБ)
- 3-кратный ИК-датчик приближения.
- 3х серводвигатель (я использовал микро сервопривод SG90)
- Картон, чтобы сделать тело.
Шаг 2. Подключение ИК-датчика к корпусу



Делайте туловище из чего угодно, я сделал это из картона. Это довольно просто.
Я припаял ИК-датчики ленточным кабелем, вот так, с гнездовой головкой на одном конце, и добавил два в два глаза и один в груди.
Робот произнесет приветственное сообщение, если обнаружит что-либо в датчике грудной клетки, и скажет «аааа ... не трогайте мой глаз», если какой-либо датчик глаза высокий. и сервопривод в нем будет двигаться вверх.
Шаг 3. Схема


Схема выглядит немного сложной, но не слишком простой, вы можете просто включить ее от одной батареи. припаиваем схему и все другие компоненты к плате Vero и добавляем сервопривод на голову и руки.
Шаг 4. Код
Перед кодами:
Для этого робота пришлось использовать две библиотеки.
TMRpcm.h - для воспроизведения звука с SD-карты - обсуждение https://github.com/TMRh20/TMRpcm
ServoTimer2.h - избегайте конфликта с TMRpcm и запускайте серводвигатели, используя timer2, поскольку TMRpcm использует Timer1 на arduino. https://create.arduino.cc/projecthub/ashraf_minhaj/how-to-use-servotimer2-library-simple-explain-servo-sweep-512fd9?ref=user&ref_id=507819&offset=1
Это код для приветствия. Вы можете создать свою собственную среду и код. Прежде чем приступить к программированию, вам необходимо добавить библиотеку ServoTimer2. И робот не сбежит.
И затем вверх Код:
#include "ServoTimer2.h" # include # define SD_ChipSelectPin 10 # include "TMRpcm.h" #includeTMRpcm tmrpcm; ServoTimer2 matha; ServoTimer2 lhand; ServoTimer2 rhand; int in1 =6; int in2 =7; int in2 =7; in3 =8; пустая настройка () {matha.attach (2); lhand.attach (3); rhand.attach (4); tmrpcm.speakerPin =9; Serial.begin (9600); если (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD FAIL"); возвращение; }} void loop () {if (! (digitalRead (in3))) {tmrpcm.play ("welcome.wav"); lhand.write (2500); задержка (2000); lhand.write (1200); // задержка позиции рукопожатия (9000); } еще {lhand.write (300); rhand.write (1700); matha.write (1500); }}
Шаг 5. Готово
Теперь просто включите его, и все готово. Умный робот готов. [Скоро загружу другие изображения и подробности]
Если бы я мог достать больше булавок, я бы заставил робота ходить. но у меня осталось всего 3 контакта (цифровых). Это меньше, чем мне нужно.
Поддержите меня, подписавшись на мой канал на YouTube.
Код
- mofiza.welcome.code
mofiza.welcome.code C / C ++
#include "ServoTimer2.h" # include # define SD_ChipSelectPin 10 # include "TMRpcm.h" #includeTMRpcm tmrpcm; ServoTimer2 matha; // matha означает HEADServoTimer2 lhand; ServoTimer2 rhand; int in1 =6; int in2 =7; int in3 =8; void setup () {matha.attach (2); lhand.attach (3); rhand.attach (4); tmrpcm.speakerPin =9; Serial.begin (9600); если (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD FAIL"); возвращение; }} void loop () {if (! (digitalRead (in3))) {tmrpcm.play ("welcome.wav"); lhand.write (2500); задержка (2000); lhand.write (1200); // задержка позиции рукопожатия (9000); } еще {lhand.write (300); rhand.write (1700); matha.write (1500); }}
mofiza.fullCode.v1.1
https://github.com/ashraf-minhaj/Mofiza--Humanoid-social-robotСхема

Производственный процесс
- Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
- Умные жалюзи
- Управление монетоприемником с помощью Arduino
- Робот с сервомотором избегает препятствий
- Arduino с Bluetooth для управления светодиодом!
- Робот-последователь линии
- Управление роботом Roomba с помощью Arduino и устройства Android
- Робот, управляемый речью
- Управление манипулятором Arduino с помощью приложения для Android
- Умный мультиплексор зарядного устройства с умным дисплеем