Iron Man
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Herramientas y máquinas necesarias
| ||||
| ||||
|
Aplicaciones y servicios en línea
|
Acerca de este proyecto
Iron Man es un personaje de cómic de ficción publicado por Marvel Comics. Su verdadera identidad es la del empresario y multimillonario Tony Stark, que usa armaduras de alta tecnología en la lucha contra el crimen.
Material
- Arduino Uno
- Tablero de relés de 4 canales
- Módulo ultrasónico
- Resistencia de 330 ohmios
- Modulo mini reproductor MP3
- Cable p2
Pasos
El propósito de este proyecto es darle vida a un muñeco de Iron Man. Usamos un Ardudino Uno para controlar todo. Al programar, usamos la biblioteca MP3 DFPlayer y llamamos a la función random () para hacer las elecciones de los archivos de audio de Iron Man.
El audio se tomó de las películas pesimistas de Tony Stark y se renombró con números (001, 002, 003) para ser interpretado por el módulo MP3. Enlace de algunos archivos de audio:https://github.com/Sandromesquita/audioIronMan
Cuando una persona se acerca (alrededor de 1,3 m), el módulo ultrasónico identifica y ordena al Arduino que llame a un comando BURF (comando de reproducción MP3).
Circuito
Circuito de lámpara >
Código
- Homem_de_FerroV5.ino
Homem_de_FerroV5.ino Arduino
#include#include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" // Inicia una serie por software nos pinos 10 e 11SoftwareSerial mySoftwareSerial (6,7); // RX, TX // Objeto responsvel pela comunicao com o mdulo MP3 (DFPlayer Mini) DFRobotDFPlayerMini myDFPlayer; // varivel responsvel por armazenar os comandos enviados para controlar o playerString buf; // varivel responsvel por armazenar o estado do player (0:tocando; 1:pausado) int pausa =0; // varivel responsvel por armazenar o estado da equalizao // varia de 0 a 5int equalizacao =0; // varivel responsvel por armazenar o total de msicas presentes no SD card.int maxSongs =0; #define Gnd 5 // Preto # define Echo 4 // Laranja com fita preta # define Trig 3 // Preto com fita preta #define Vcc 2 // LaranjaUltrasonic ultra (Trig, Echo); int distancia; / * * Rel 1 Cabea * Rel 2 Peito * Rel 3 Brao esquerdo * Rel 4 Brao direito * / #define Cabeca 13 #define Peito 12 #define Esquerda 11 #define Direito 10 int x =3; void setup () {// Comunicacao serial com o módulo mySoftwareSerial.begin (9600); // Inicializa un serial do Arduino Serial.begin (115200); // Verifica si modulo esta respondiendo e se o // cartao SD foi encontrado Serial.println (); Serial.println ("DFRobot DFPlayer Mini"); Serial.println ("Inicializando módulo DFPlayer ... (3 ~ 5 segundos)"); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println ("Nao inicializado:"); Serial.println ("1.Cheque como conexiones hacen DFPlayer Mini"); Serial.println ("2.Insira um cartao SD"); mientras (verdadero); } Serial.println (); Serial.println ("Modulo DFPlayer Mini inicializado!"); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Tiempo de espera de serie 500ms myDFPlayer.volume (30); // Volumen 10 myDFPlayer.EQ (0); // Equalizacao normal // recupera o numero de Msicas encontradas no SD. maxSongs =myDFPlayer.readFileCounts (DFPLAYER_DEVICE_SD); Serial.println (); Serial.print ("Numero de arquivos no cartao SD:"); Serial.println (maxSongs); pinMode (Cabeca, SALIDA); pinMode (Peito, SALIDA); pinMode (Esquerda, SALIDA); pinMode (Direito, SALIDA); pinMode (Vcc, SALIDA); pinMode (Gnd, SALIDA); digitalWrite (Gnd, BAJO); escritura digital (Vcc, ALTA); escritura digital (Cabeca, ALTA); digitalWrite (Peito, ALTO); escritura digital (Esquerda, ALTA); distancia =ultra.Ranging (CM);} bucle vacío () {Serial.println (String (ultra.Ranging (CM)) + "Lendo foros"); distancia =ultra.Ranging (CM); if ((distancia <=150) &&(x ==3)) {buf =aleatorio (1, 19); tocar(); retraso (3000); Serial.println ("voltei"); retraso (100); while (ultra.Ranging (CM) <=150) {digitalWrite (Esquerda, HIGH); x =2; retraso (1200); }} else {digitalWrite (Direito, LOW); Serial.println ("Nd indentificado"); x =3; }} void play () {digitalWrite (Direito, HIGH); Serial.println ("POU"); retraso (300); digitalWrite (Direito, BAJO); retraso (300); digitalWrite (Direito, ALTO); Serial.println ("POU"); retraso (300); digitalWrite (Direito, BAJO); retraso (300); // Aguarda una entrada de dados pela serial while (Serial.available ()> =0) {// Reproducao if ((buf.toInt ()> =1) &&(buf.toInt () <=maxSongs)) {Serial .print ("Reproduzindo musica:"); Serial.println (buf.toInt ()); // buf =buf - 48; myDFPlayer.play (buf.toInt ()); buf =-1; descanso; }}}
Esquemas
Proceso de manufactura
- Dados digitales Arduino
- Encuéntrame
- Brazo robótico Arduino impreso en 3D
- Control del humidificador Arduino
- Puerta de control de temperatura sin contacto
- Robot de piano controlado por Arduino:PiBot
- NeoMatrix Arduino Pong
- Estación meteorológica ThingSpeak Arduino
- Joystick de Arduino
- Receptor de radio FM Arduino TEA5767
- Podómetro (Arduino 101)