Tabla de contenido:

Pastel de cumpleaños Arduino: 4 pasos
Pastel de cumpleaños Arduino: 4 pasos

Video: Pastel de cumpleaños Arduino: 4 pasos

Video: Pastel de cumpleaños Arduino: 4 pasos
Video: Cómo hacer una base giratoria casera para pasteles 2024, Noviembre
Anonim

En este instructivo, haré un proyecto arduino muy simple y básico: ¡un pastel de cumpleaños!

Se muestra un pastel de cumpleaños en el protector de pantalla UTFT del arduino y un altavoz reproduce la música de "Feliz cumpleaños".

Cuando soplas en el micrófono, las velas se apagan.

Paso 1: Materiales

Materiales
Materiales
Materiales
Materiales
Materiales
Materiales
Materiales
Materiales

Para este proyecto simple, necesitará:

- un arduino MEGA

- un altavoz o un timbre

- un módulo de micrófono

- un escudo arduino de pantalla UTFT

Decidí usar una placa arduino MEGA para este proyecto por dos razones: tiene mucha memoria y muchos pines.

No puede usar un arduino UNO para este proyecto, porque cuando la pantalla UTFT está enchufada, todos los pines están ocultos (no hay más disponibles para el micrófono y el altavoz), y no tiene suficiente memoria (la biblioteca UTFT es muy grande).

Paso 2: cableado

Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado
Alambrado

El altavoz se conecta a los pines D40 y GND del arduino.

El micrófono se conecta a las clavijas GND ("G"), 5V ("+") y A10 ("A0").

La pantalla UTFT se conecta como un escudo normal.

El protector de pantalla UTFT no es totalmente compatible con el arduino MEGA: el conector USB de la placa arduino es demasiado grande

Para solucionar este problema, conecté la pantalla UTFT en otro escudo arduino (con pines más largos), luego conecté ambos en el arduino.

Paso 3: calibre el micrófono

Calibrar el micrófono
Calibrar el micrófono
Calibrar el micrófono
Calibrar el micrófono

Para calibrar el micrófono, necesitará un destornillador y su computadora.

Primero, cargue el siguiente código en su arduino:

int val = 0;

configuración vacía () {Serial.begin (9600); } bucle vacío () {val = analogRead (10); Serial.println (val); retraso (100); }

Luego vaya al monitor serial y calibre el micrófono girando el potenciómetro con el destornillador cuando no haya sonido, el valor debe ser aproximadamente 30 ~ 40.

Cuando sople en el micrófono, el valor debe ser superior a 100.

Asegúrese de que el valor sea inferior a 100 cuando hable (incluso en voz alta).

Paso 4: el código

Aquí está el código del proyecto.

Muestra un pastel de cumpleaños con velas en el UTFT y reproduce "Feliz cumpleaños" con el altavoz. La tarta está hecha con rectángulos.

Este programa requiere la biblioteca UTFT.

#incluir

extern uint8_t BigFont ; // cambie estos valores según su modelo de pantalla UTFT myGLCD (ITDB28, A5, A4, A3, A2); int melody = {196, 196, 220, 196, 262, 247, 196, 196, 220, 196, 294, 262, 196, 196, 392, 330, 262, 247, 220, 349, 349, 330, 262, 294, 262}; int noteDurations = {8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 4, 3, 8, 8, 4, 4, 4, 2}; int val = 0; configuración vacía () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // fondo azul myGLCD.setColor (200, 125, 50); // pastel marrón myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // glaseado blanco myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // líneas rojas myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // línea amarilla myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // velas rosas myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // fuego de las velas myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // mensaje de feliz cumpleaños myGLCD.print ("¡FELIZ CUMPLEAÑOS!", CENTRO, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // apaga las velas myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // y muestra el mensaje "felicitaciones" myGLCD.print ("¡¡¡FELICITACIONES !!!", CENTRO, 10); retraso (10000); myGLCD.clrScr (); // limpiar la pantalla después de 10 s}}

Recomendado: