Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
Onderdelen en benodigdheden
- 1x Arduino UNO
- 1x 4-kanaals relay bord
- 1x Ultrasonische sensor HC-SR04
- 1x 330 ohm weerstand
- 1x MP3 module DFPlayer Mini
- 1x P2 kabel (audio)
Benodigde tools en machines
- Lijm pistool
- Solderbout
- Tin reiniger, loodvrij
Apps en online diensten
- Arduino IDE
Over dit project
Iron Man is een fictieve stripfiguur van Marvel Comics. Zijn ware identiteit is multimiljonair Tony Stark, die high-tech pantser gebruikt in de strijd tegen misdaad.
Materiaal
- Arduino Uno
- 4-kanaals relay bord
- Ultrasonische module
- 330 ohm weerstand
- MP3 DFPlayer Mini module
- P2 kabel
Stappen
Doel: een Iron Man pop tot leven wekken. De Arduino Uno regelt alles. Bij programmeren gebruiken we de MP3 DFPlayer bibliotheek en de functie random() om willekeurig audiofragmenten af te spelen.
De audiofragmenten stammen uit Tony Stark-filmen, hernoemd naar nummers (001, 002, 003) voor de MP3-module. Link naar audiobestanden: GitHub
Wanneer een persoon zich nader tot ~1,3 meter, detecteert de ultrasoon-module dit en stuurt de Arduino een MP3-afspeelcommando.
Schema
_jiEBVSHqr3.jpeg?auto=compress%2Cformat&w=680&h=510&fit=max)
_yc4M2xlz7r.jpeg?auto=compress%2Cformat&w=680&h=510&fit=max)
_dA4bksBRXe.jpeg?auto=compress%2Cformat&w=680&h=510&fit=max)
Lampenschakeling
_apvdtLHAVp.jpeg?auto=compress%2Cformat&w=680&h=510&fit=max)

Code
Homem_de_FerroV5.ino
#include <Ultrasonic.h>
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
// Software serial op pinnen 6 (RX) en 7 (TX)
SoftwareSerial mySoftwareSerial(6, 7);
DFRobotDFPlayerMini myDFPlayer;
String buf;
int pausa = 0;
int equalizacao = 0;
int maxSongs = 0;
#define Gnd 5
#define Echo 4
#define Trig 3
#define Vcc 2
Ultrasonic ultra(Trig, Echo);
int distancia;
#define Cabeca 13
#define Peito 12
#define Esquerda 11
#define Direito 10
int x = 3;
void setup() {
mySoftwareSerial.begin(9600);
Serial.begin(115200);
Serial.println();
Serial.println("DFRobot DFPlayer Mini");
Serial.println("Initialiseren module DFPlayer... (3~5 seconden)");
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println("Niet geinitialiseerd:");
Serial.println("1. Controleer DFPlayer Mini verbindingen");
Serial.println("2. Plaats een SD-kaart");
while (true);
}
Serial.println();
Serial.println("DFPlayer Mini module geinitialiseerd!");
myDFPlayer.setTimeOut(500);
myDFPlayer.volume(30);
myDFPlayer.EQ(0);
maxSongs = myDFPlayer.readFileCounts(DFPLAYER_DEVICE_SD);
Serial.print("Aantal bestanden op SD-kaart: ");
Serial.println(maxSongs);
pinMode(Cabeca, OUTPUT);
pinMode(Peito, OUTPUT);
pinMode(Esquerda, OUTPUT);
pinMode(Direito, OUTPUT);
pinMode(Vcc, OUTPUT);
pinMode(Gnd, OUTPUT);
digitalWrite(Gnd, LOW);
digitalWrite(Vcc, HIGH);
digitalWrite(Cabeca, HIGH);
digitalWrite(Peito, HIGH);
digitalWrite(Esquerda, HIGH);
distancia = ultra.Ranging(CM);
}
void loop() {
Serial.println(String(ultra.Ranging(CM)) + " Lezen buiten");
distancia = ultra.Ranging(CM);
if ((distancia <= 150) && (x == 3)) {
buf = String(random(1, 19));
play();
delay(3000);
Serial.println("terug");
delay(100);
while (ultra.Ranging(CM) <= 150) {
digitalWrite(Esquerda, HIGH);
x = 2;
delay(1200);
}
} else {
digitalWrite(Direito, LOW);
Serial.println("Niet gedetecteerd");
x = 3;
}
}
void play() {
digitalWrite(Direito, HIGH);
Serial.println("POU");
delay(300);
digitalWrite(Direito, LOW);
delay(300);
digitalWrite(Direito, HIGH);
Serial.println("POU");
delay(300);
digitalWrite(Direito, LOW);
delay(300);
while (Serial.available() >= 0) {
int songNum = buf.toInt();
if ((songNum >= 1) && (songNum <= maxSongs)) {
Serial.print("Afspelen nummer: ");
Serial.println(songNum);
myDFPlayer.play(songNum);
buf = "-1";
break;
}
}
}
Schema's

Productieproces
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- Bouw een Functionele, Arduino-aangedreven 3D-geprinte Robotarm – Stap-voor-Stap Handleiding
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- Contactloze temperatuurgate voor snelle, accurate screening
- PiBot: De Arduino-aangedreven pianorobot voor precisiemuziek
- NeoPixel Matrix Pong op Arduino Nano: Bouw je eigen neon Pong-spel
- Realtime Weerstation met Arduino & ThingSpeak IoT
- Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
- Bouw een krachtige FM-radio ontvanger met Arduino en TEA5767 module
- Arduino 101: Bouw een teller met DHT11 sensor & LCD display