tecnoclara
Published © GPL3+

Magic Music Box

Llama a la puerta de la caja, con unos “toc-toc”, ésta se abrirá y sonará una melodía, después la caja se cerrará sola.

BeginnerShowcase (no instructions)233
Magic Music Box

Things used in this project

Hardware components

Resistor 1M ohm
Resistor 1M ohm
×1
3.6V 0.5W Zener Diode
3.6V 0.5W Zener Diode
×1
Arduino 101
Arduino 101
×1
Shield Educativa
×1
Solderless Breadboard Half Size
Solderless Breadboard Half Size
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×1
Buzzer, Piezo
Buzzer, Piezo
×2
9V to Barrel Jack Connector
9V to Barrel Jack Connector
×1
9V battery (generic)
9V battery (generic)
×1

Story

Read more

Schematics

Magic Music Box

Code

Magic Music Box

Arduino
#include <EducationShield.h>

//Declare the pezio knock sensor. Connected to A0
PiezoKnockSensor sensor=PiezoKnockSensor(A0);

//Declare the servo motor for opening the lid
Servo lidOpener;

void setup(){
  //define the threshold and debounce time of the knock
  //sensor. Threshold defines how hard you need to knock,
  //debounce time prevents the sensor from detecting
  //false knocks, but also limits how rapid you can knock.
  //See the PiezoKnockSensor sketch in the help folder
  //to make sure your values are correct
  sensor.config(100,80);

  //initialize the servo
  lidOpener.attach(9);
  //Rotate servo to close lid a 0º
  lidOpener.write(0);
  pinMode(2, OUTPUT); 
}
void loop(){

  if(sensor.knocked(20)){
	//rotate the servo motor to open the lid
    lidOpener.write(180);
    //play de music
   
    tone(2,294,150); 
    delay(50); 
    tone(2,294,150); 
    delay(50);
    tone(2,294,150); 
    delay(50);
    tone(2,392,900);
    delay(50);
    tone(2,587,900);
    delay(50);
    tone(2,523,150); 
    delay(50);
    tone(2,494,150); 
    delay(50);
    tone(2,440,150); 
    delay(50);
    tone(2,784,150); 
    delay(50);
    tone(2,587,150); 
    delay(50);
    tone(2,523,150); 
    delay(50);
    tone(2,494,150); 
    delay(50);
    tone(2,784,150); 
    delay(50);
     tone(2,587,150); 
    delay(50);
    tone(2,523,150); 
    delay(50);
    tone(2,494,150); 
    delay(50)
    
    //close the lid
    lidOpener.write(0);
    delay(200);
  }

}

Credits

tecnoclara
2 projects • 1 follower

Comments