Paso 3: Añadir el código
Para conseguir el código de trabajo fue más difícil de lo que pensaba. Elegir una canción tradicional 'Sinterklaas' para abrir el cuadro y esa canción tiene repitiendo tonos en él lo que no funcionó para el primer código que escribí.
La melodía de la abertura de mi caja es gcceddFbbdc.
Necesita comprender algunos codificación de Arduino si quieres cambiar esto en su propia melodía. No es un croquis de la largo o difícil para que usted conseguirá probablemente si tienes un poco de experiencia con un Arduino.
El boceto:
gcceddFbbdc 25576684465
#include
Servo myservo;
int buttonPin = A0;
botón int = 0;
piezoeléctrico de int = 3;
toon int = 0; f = 1 g = 2 a = 3 b = 4 c = 5 d = 6 e = 7 F = 8
descarga de int = true;
teller de int = 1;
void setup() {}
Serial.Begin(9600); depuración de
pinMode (13, salida);
myservo.Attach(9);
myservo.writeMicroseconds(1000); }
void loop() {}
Delay(30); Debounce
botón = analogRead(buttonPin);
Serial.Print(Toon);
Serial.Print(volgende);
Serial.println(Button); depuración de
Si (botón > 400) {tono (piezo, 349), toon = 8; descarga = false;} / / F
Else {si (botón > 150) {tono (piezo, 330), toon = 7; descarga = false;} / / e
Else {si (botón > 100) {tono (piezo, 294), toon = 6; descarga = false;} / / d
Else {si (botón > 80) {tono (piezo, 262), toon = 5; descarga = false;} / / c
Else {si (botón > 60) {tono (piezo, 247), toon = 4; descarga = false;} / / b
Else {si (botón > 48) {tono (piezo, 220), toon = 3; descarga = false;} / / a
Else {si (botón > 38) {tono (piezo, 196), toon = 2; descarga = false;} / / g
Else {si (botón > 20) {tono (piezo, 175); toon = 1; descarga = false;} / / f
Else{noTone(piezo); descarga = true ;}}}
Si (teller == 1 & & toon == 2 & & descarga == true) {teller = 2; descarga = false;}
Si (teller == 2 & & toon == 5 & & descarga == true) {teller = 3; descarga = false;} persona {si (descarga == true & & teller == 2 & & toon! = 2) {teller = ;}} 1
Si (teller == 3 & & toon == 5 & & descarga == true) {teller = 4; descarga = false;} persona {si (descarga == true & & teller == 3 & & toon! = 2) {teller = ;}} 1
Si (teller == 4 & & toon == 7 & & descarga == true) {teller = 5; descarga = false;} otro {si (descarga == true & & teller == 4 & & toon! = 7 & & toon! = 5) {teller = ;}} 1
Si (teller == 5 & & toon == 6 & & descarga == true) {teller = 6; descarga = false;} persona {si (descarga == true & & teller == 5 & & toon! = 7) {teller = ;}} 1
Si (teller == 6 & & toon == 6 & & descarga == true) {teller = 7; descarga = false;} persona {si (descarga == true & & teller == 6 & & toon! = 7) {teller = ;}} 1
Si (teller == 7 & & toon == 8 & & descarga == true) {teller = 8; descarga = false;} otro {si (descarga == true & & teller == 7 & & toon! = 6 & & toon! = 8) {teller = ;}} 1
Si (teller == 8 & & toon == 4 & & descarga == true) {teller = 9; descarga = false;} persona {si (descarga == true & & teller == 8 & & toon! = 8) {teller = ;}} 1
Si (teller == 9 & & toon == 4 & & descarga == true) {teller = 10; descarga = false;} persona {si (descarga == true & & teller == 9 & & toon! = 8) {teller = ;}} 1
Si (teller == 10 & & toon == 6 & & descarga == true) {teller = 11; descarga = false;} persona {si (descarga == true & & teller == 10 & & toon! = 4) {teller = ;}} 1
Si (teller == 11 & & toon == 5 & & descarga == true) {teller = 12; descarga = false;} persona {si (descarga == true & & teller == 11 & & toon! = 6) {teller = ;}} 1
Si (teller == 12 & & descarga == true) {teller = 13; digitalWrite (13, HIGH); myservo.writeMicroseconds(2000); delay(5000);} //2000 es el valor para el servo abierto
Si (teller == 13 & & descarga == true & & toon! = 5) {digitalWrite (13, bajo); teller = 1; myservo.writeMicroseconds(1000);} //1000 es el valor para el servo del cerrado
}