Construa um Homem de Ferro com Arduino: Componentes, Sensores e Guia Passo a Passo
Componentes e Materiais
![]() |
Arduino UNO | × | 1 |
![]() |
Jumpers (genéricos) | × | 1 |
![]() |
Sensor Ultrassônico HC-SR04 | × | 1 |
| Módulo MP3 DFPlayer Mini | × | 1 | |
| Módulo Relé 4 Canais | × | 1 |
Ferramentas
- Pistola de cola quente
- Ferro de solda
- Limpa/ponta de solda
Aplicativos
- Arduino IDE
Sobre o Projeto
O objetivo é dar vida a um boneco do Homem de Ferro. Usa-se Arduino Uno para controlar tudo. A biblioteca MP3 DFPlayer e a função random() selecionam arquivos de áudio do Tony Stark (renomeados como 001, 002, 003...). Quando alguém se aproxima (~1,3 m), o sensor ultrassônico detecta e o Arduino toca um áudio aleatório e aciona relés para movimentar partes do boneco (cabeça, peito, braços).
Materiais
- Arduino Uno
- Placa relé 4 canais
- Módulo ultrassônico
- Resistor 330 Ω
- Módulo MP3 Player Mini
- Cabo P2
Passos
- Conecte o circuito conforme esquemático.
- Carregue os arquivos de áudio no cartão SD do DFPlayer (pasta
mp3). - Faça upload do código.
- Posicione o sensor ultrassônico para detectar aproximação.
Circuito
Circuito das Lâmpadas (Olhos/Reator)
Código
#include
#include
#include
SoftwareSerial mySoftwareSerial(6, 7); // RX, TX
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("DFRobot DFPlayer Mini");
Serial.println("Inicializando modulo DFPlayer... (3~5 segundos)");
if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println("Nao inicializado:");
Serial.println("1.Cheque as conexoes do DFPlayer Mini");
Serial.println("2.Insira um cartao SD");
while (true);
}
Serial.println("Modulo DFPlayer Mini inicializado!");
myDFPlayer.setTimeOut(500);
myDFPlayer.volume(30);
myDFPlayer.EQ(0);
maxSongs = myDFPlayer.readFileCounts(DFPLAYER_DEVICE_SD);
Serial.print("Numero de arquivos no cartao SD: ");
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)) + " Lendo fora");
distancia = ultra.Ranging(CM);
if ((distancia <= 150) && (x == 3)) {
buf = String(random(1, 19));
play();
delay(3000);
Serial.println("voltei");
delay(100);
while (ultra.Ranging(CM) <= 150) {
digitalWrite(Esquerda, HIGH);
x = 2;
delay(1200);
}
} else {
digitalWrite(Direito, LOW);
Serial.println("Nd indentificado");
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 track = buf.toInt();
if (track >= 1 && track <= maxSongs) {
Serial.print("Reproduzindo musica: ");
Serial.println(track);
myDFPlayer.play(track);
buf = "-1";
break;
}
}
}
Esquemático
Processo de manufatura
- Dados Digital com Arduino: Gere Números Aleatórios 1-6 em LCD 16x2
- Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
- Construa um Braço Robótico 3D Impresso Funcional com Arduino – Guia Passo a Passo
- Controlador de Umidificador DIY com Arduino e Relé – Configuração Segura de Alta Tensão
- Portão de Triagem de Temperatura Sem Contato para Monitoramento Rápido e Preciso
- PiBot: Robô Pianista Arduino para Performance Musical de Precisão
- Jogo Pong Neon em Matriz NeoPixel com Arduino Nano
- Monitoramento Meteorológico em Tempo Real com Arduino e ThingSpeak IoT
- Volante Joystick Arduino Personalizado para Jogos
- Construa um Receptor FM Potente com Arduino e Módulo TEA5767


