Maak een slimme pratende humanoïde robot met Arduino UNO
Onderdelen en benodigdheden
| Arduino UNO (of Pro Mini 5 V 16 MHz) | 1 |
| Nabijheidssensor (IR) | 3 |
| SD‑kaart TF‑module | 1 |
| Servo's (Tower Pro MG996R of micro SG90) | 3 |
| Micro SD‑kaart (max 2 GB) | 1 |
| Vero‑printplaat, header‑pennen, karton voor lichaam | 1 set |
Apps en online diensten
- Arduino IDE
Over dit project
Deze robot – Mofiza (vreemde naam) – kan ZIEN, PRATEN en REAGEREN op haar omgeving. Bekijk eerst de video:
Sinds ik pratende robots zag maken, gebruikten mensen meestal andere ontwikkelborden dan Arduino. Maar het is volkomen mogelijk om een humanoïde robot met Arduino te bouwen die kan praten en met veel servos kan bewegen. Laten we beginnen:
Update (Hoe ik het maakte):
Stap 1: Benodigde onderdelen
- Arduino Pro Mini (5 V 16 MHz) [elk bordje werkt, maar ik koos dit voor compactheid]
- Female header‑pennen voor PCB‑aansluiting
- Male header‑pennen
- Vero‑printplaat voor de schakeling
- SD‑kaart TF‑module (voor audio‑afspeling)
- Micro SD‑kaart (max 2 GB)
- 3× IR‑nabijheidssensor
- 3× servomotor (ik gebruikte micro servo SG90)
- Karton voor het lichaam
Stap 2: IR‑sensoren en het lichaam aansluiten
Maak een lichaam van wat je wilt, ik heb karton gebruikt. Het is vrij simpel.
Ik heb de IR‑sensoren gesoldeerd met lintkabel, met aan één kant een female header. Twee sensoren zitten in de ogen, één in de borst.
De robot spreekt een welkomstbericht als de borstsensor iets detecteert, en zegt "aaaah.. raak mijn oog niet" als een oogsensor getriggerd wordt. De servo in dat gebied beweegt dan omhoog.
Stap 3: De schakeling
De schakeling ziet er ingewikkeld uit, maar is eigenlijk heel simpel. Je kunt het met één batterij voeden. Soldeer de schakeling en alle componenten op een vero‑printplaat en voeg de overige servo's voor hoofd en handen toe.
(Schema‑afbeeldingen zijn in de originele tutorial te vinden.)
Stap 4: Code
Voordat we naar de code gaan: ik gebruikte twee bibliotheken:
- TMRpcm.h – voor het afspelen van audio vanaf SD‑kaart (praten) – GitHub
- ServoTimer2.h – om conflicten met TMRpcm te voorkomen en servo's via timer2 aan te sturen (TMRpcm gebruikt timer1) – Arduino Project Hub
Voeg de ServoTimer2‑bibliotheek toe voordat je de code compileert, anders werkt de robot niet.
Hier is de code voor het welkomstbericht. Je kunt je eigen omgeving en code maken.
#include "ServoTimer2.h"
#define SD_ChipSelectPin 10
#include "TMRpcm.h"
TMRpcm tmrpcm;
ServoTimer2 matha; // hoofd
ServoTimer2 lhand; // linkerhand
ServoTimer2 rhand; // rechterhand
int in1 = 6, in2 = 7, in3 = 8;
void setup() {
matha.attach(2);
lhand.attach(3);
rhand.attach(4);
tmrpcm.speakerPin = 9;
Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD FAIL");
return;
}
}
void loop() {
if (!(digitalRead(in3))) { // borstsensor laag = detectie
tmrpcm.play("welcome.wav");
lhand.write(2500);
delay(2000);
lhand.write(1200); // handdrukpositie
delay(9000);
} else {
lhand.write(300);
rhand.write(1700);
matha.write(1500);
}
}
Stap 5: Afronden
Nu alleen nog voeding aansluiten en je bent klaar. Een slimme robot is geboren. [Ik zal later meer foto's en details uploaden]
Als ik meer pinnen had, zou ik de robot laten lopen. Maar ik had nog slechts 3 digitale pinnen over, wat onvoldoende is.
Ondersteun me door in te schrijven op mijn YouTube‑kanaal.
Code
mofiza.welcome.code(hierboven)- Volledige code v1.1: GitHub
Schema's
Zie bijgevoegde afbeelding in de originele tutorial.
Productieproces
- Bouw een Internet-gecontroleerde Video-streamende Robot met Arduino & Raspberry Pi
- Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
- Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
- Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- Bouw Een Autonome Lijnvolgende Robot Met Arduino UNO
- Bestuur Je Roomba Create 2 Met Arduino En Android: Stapsgewijze Handleiding
- Bouw een Stemgecontroleerde Robot met Arduino Nano
- Arduino robotarm besturen via speciale Android-app
- Geavanceerde slimme batterijlader met multiplexing en digitaal display
- Arduino Nano eetrobot bouwen: stap-voor-stap handleiding