Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino Iron Man bauen: Komponenten, Sensoren & Schritt-für-Schritt-Anleitung

Benötigte Komponenten

Arduino UNO × 1
Jumper-Wires × 1
Ultraschallsensor HC-SR04 × 1
MP3 Modul DFPlayer Mini × 1
4-Kanal-Relais-Modul × 1

Werkzeuge

Software

Projektidee

Eine Iron-Man-Figur wird zum Leben erweckt. Nähert sich eine Person (ca. 1,3 m), erkennt der Ultraschallsensor dies und löst zufällig eine Audio-Datei (Tony-Stark-Zitate) sowie Bewegungen über das Relais-Modul aus (Kopf, Brust, Arme).

Schaltung

Code (Homem_de_FerroV5.ino)

#include 
#include 
#include 

SoftwareSerial mySoftwareSerial(6, 7); // RX, TX
DFRobotDFPlayerMini myDFPlayer;

#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;
String buf;
int pausa = 0;
int equalizacao = 0;
int maxSongs = 0;

void setup() {
  mySoftwareSerial.begin(9600);
  Serial.begin(115200);

  if (!myDFPlayer.begin(mySoftwareSerial)) {
    Serial.println("DFPlayer nicht gefunden!");
    while (true);
  }
  myDFPlayer.setTimeOut(500);
  myDFPlayer.volume(30);
  myDFPlayer.EQ(0);
  maxSongs = myDFPlayer.readFileCounts(DFPLAYER_DEVICE_SD);

  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() {
  distancia = ultra.Ranging(CM);
  Serial.println(String(distancia) + " Lendo fora");

  if ((distancia <= 150) && (x == 3)) {
    buf = String(random(1, 19));
    play();
    delay(3000);
    while (ultra.Ranging(CM) <= 150) {
      digitalWrite(Esquerda, HIGH);
      x = 2;
      delay(1200);
    }
  } else {
    digitalWrite(Direito, LOW);
    x = 3;
  }
}

void play() {
  digitalWrite(Direito, HIGH); delay(300);
  digitalWrite(Direito, LOW); delay(300);
  digitalWrite(Direito, HIGH); delay(300);
  digitalWrite(Direito, LOW); delay(300);

  while (Serial.available() >= 0) {
    int track = buf.toInt();
    if (track >= 1 && track <= maxSongs) {
      myDFPlayer.play(track);
      buf = "-1";
      break;
    }
  }
}

Funktionsablauf

  1. Ultraschallsensor misst kontinuierlich Distanz
  2. Bei Distanz ≤ 150 cm: Zufällige Tracknummer (1–18) wählen
  3. play(): Relais "Direito" (rechter Arm) blinkt 2× kurz als visueller Hinweis
  4. DFPlayer spielt gewählten Track ab
  5. Solange Person im Erfassungsbereich: linker Arm (Esquerda) bewegt sich periodisch
  6. Person verlässt Bereich → Reset, Warte auf nächste Erkennung

Schaltplan

Siehe Bild: Verbindungen von Ultraschallsensor, DFPlayer, Relais und Arduino gemäß Pin-Belegung oben.

Herstellungsprozess

  1. Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
  2. Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
  3. Funktionaler 3D-gedruckter Roboterarm mit Arduino – Schritt-für-Schritt-Anleitung
  4. DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
  5. Berührungsloses Temperatur-Überwachungstor für schnelles Screening
  6. PiBot: Arduino-gesteuerter Klavierroboter für präzise Musikwiedergabe
  7. NeoPixel-Matrix Pong auf Arduino Nano: Neon-Pong selbst bauen
  8. Wetterstation mit Arduino & ThingSpeak IoT (DHT11 + ESP8266)
  9. DIY Arduino Lenkrad / Joystick für Rennspiele – USB-HID-Umbau
  10. Leistungsstarker FM-Radio-Empfänger mit Arduino & TEA5767