Arduino controla intermitente hadas luces de Navidad con Jingle Bells (7 / 12 paso)

Paso 7: Arranque y parada con un botón

You will need:

  • Mini botón
  • Resistencia de 10 K ohm (código de color: marrón, negro, naranja, oro)
  • 3 * los pines de jumper
  • Cable USB

Conectar el botón - Arduino el tutorial de botón se puede encontrar aquí

  1. Desconecte el USB de la Arduino
  2. Coloque el botón en la línea central de la protoboard - usted notará que el botón adapta a una forma pero no el otro.
  3. Conecte una de las patas a la línea positiva roja usando un perno de puente
  4. Conectar el resistor de 10K de la otra pierna del mismo lado, asegurándose de que es paralelo a las líneas rojas y azules (ver imagen de arriba)
  5. Conecte el otro extremo de la resistencia a la línea negativa azul
  6. En el otro lado de la tecla, conectar la pierna en la misma fila como la resistencia al pin 2 de Arduino
  7. Copiar y pegar el código en un nuevo archivo de Arduino
  8. Conecte el cable USB para Arduino
  9. Subir el archivo
El botón se pulsa para comenzar la música y las luces y presiona otra vez para detenerlo.
 #define C 2100 #define D 1870 #define E 1670 #define f 1580 // Does not seem to like capital F #define G 1400 // Define a special note, 'R', to represent a rest #define R 0 // SETUP ============================================ // Set up speaker on a PWM pin (digital 9, 10 or 11) int speakerOut = 9; int led = 13; int buttonPin = 2; void setup() { pinMode(speakerOut, OUTPUT); pinMode(led, OUTPUT); pinMode(buttonPin, INPUT); } // BUTTON // Variables will change: int on = LOW; // the current state of the output pin int buttonState; // the current reading from the input pin int lastButtonState = LOW; // the previous reading from the input pin // the following variables are long's because the time, measured in miliseconds, // will quickly become a bigger number than can be stored in an int. long lastDebounceTime = 0; // the last time the output pin was toggled long debounceDelay = 50; // the debounce time; increase if the output flickers // MELODY and TIMING ======================================= // melody[] is an array of notes, accompanied by beats[], // which sets each note's relative length (higher #, longer note) int melody[] = {E, E, E,R, E, E, E,R, E, G, C, D, E, R, f, f, f,f, f, E, E,E, E, D ,D,E, D, R, G ,R, E, E, E,R, E, E, E,R, E, G, C, D, E, R, f, f, f,f, f, E, E, E, G,G, f, D, C,R }; int MAX_COUNT = sizeof(melody) / 2; // Melody length, for looping. // Set overall tempo long tempo = 10000; // Set length of pause between notes int pause = 1000; // Loop variable to increase Rest length int rest_count = 30; // Initialize core variables int tone_ = 0; int beat = 0; long duration = 0; // PLAY TONE ============================================== // Pulse the speaker to play a tone for a particular duration void playTone() { long elapsed_time = 0; if (tone_ > 0) { // if this isn't a Rest beat, while the tone has digitalWrite(led, HIGH); // played less long than 'duration', pulse speaker HIGH and LOW while (elapsed_time < duration) { digitalWrite(speakerOut,HIGH); delayMicroseconds(tone_ / 2); // DOWN digitalWrite(speakerOut, LOW); delayMicroseconds(tone_ / 2); // Keep track of how long we pulsed elapsed_time += (tone_); } digitalWrite(led, LOW); } else { // Rest beat; loop times delay for (int j = 0; j < rest_count; j++) { // See NOTE on rest_count delayMicroseconds(duration); } } } void jingleBells(int i){ // Set up a counter to pull from melody[] and beats[] tone_ = melody[i]; beat = 50; duration = beat * tempo; // Set up timing playTone(); // A pause between notes... delayMicroseconds(pause); } void checkOn(int reading){ // check to see if you just pressed the button // (i.e. the input went from LOW to HIGH), and you've waited // long enough since the last press to ignore any noise: // If the switch changed, due to noise or pressing: if (reading != lastButtonState) { // reset the debouncing timer lastDebounceTime = millis(); // toggles the ledState variable each time the button is pressed if (buttonState == HIGH) { on = !on; } } if ((millis() - lastDebounceTime) > debounceDelay) { // whatever the reading is at, it's been there for longer // than the debounce delay, so take it as the actual current state: buttonState = reading; } } // LET THE WILD RUMPUS BEGIN ============================= void loop() { // read the state of the switch into a local variable: int reading = digitalRead(buttonPin); checkOn(reading); if(on){ for (int i=0; i<MAX_COUNT; i++) { int loopReading = digitalRead(buttonPin); jingleBells(i); if(loopReading != reading){ on = !on; break; } } } // save the reading. Next time through the loop, // it'll be the lastButtonState: lastButtonState = reading; } 

Artículos Relacionados

3 canal arduino Powered controlador de luces de Navidad!

3 canal arduino Powered controlador de luces de Navidad!

Para Navidad este año, quise hacer un proyecto genial pero bastante no sabía qué hacer. Como me estaba poniendo la salida de luces de Navidad para decorar, había un viejo temporizador de luz de Navidad roto. Tomé distancia y miró a su alrededor en el
Control luces de Navidad con el Edison Intel + Grove Smart Relay

Control luces de Navidad con el Edison Intel + Grove Smart Relay

Este Instructable le guiará por el proceso de usar el tablero de Edison de Intel y el relé inteligente de Grove para controlar las luces de Navidad (o cualquier otro elemento electrónico para esa materia).Al final de este Instructable, tendrás un enc
Controlar las luces de Navidad con mensajes de texto

Controlar las luces de Navidad con mensajes de texto

Realmente quería ser capaz de controlar mis luces de Navidad de forma remota, con un Arduino.Con esta solución usted puede controlar mis luces remotamente, vía mensajes de texto!Conocimientos necesarios:De soldaduraCableadoCopiar y pegarPaso 1: Compo
Controlado por ordenador luces de Navidad con luz-O-Rama

Controlado por ordenador luces de Navidad con luz-O-Rama

¡ Bienvenido a mi guía paso a paso sobre cómo hacer una increíble pantalla de luz de Navidad! Yo le guiará a través de todos los pasos desde la planificación hasta oprimir start. Vamos a empezar!Paso 1: Introducción y pensando en el futuroEn primer l
Un controlador de relé Programable remotamente (luces de Navidad o central domótica)

Un controlador de relé Programable remotamente (luces de Navidad o central domótica)

¿Qué fue eso?  A ¿cuál es-un-Maja-Thimagig?Sí - uno de esos!  Este Instructable extiende mi controlador Arduino Ethernet para controlar un conjunto de relés de hasta 6, pero no es poco aseado.  La limpia es que hay una máquina de estado basado en la
Luces de Navidad LED circuito

Luces de Navidad LED circuito

este es un circuito simple para decorar su hogar con la construcción de las luces de Navidad con LEDs. Se trata de circuito muy sencillo que le ayudará a desarrollar tus propias luces decorativas. El principal punto de este circuito es que no necesit
Programa de una cadena de luces de Navidad a parpadear el código morse con Arduino y Snap circuitos

Programa de una cadena de luces de Navidad a parpadear el código morse con Arduino y Snap circuitos

esto es un proyecto de mi hijo Dylan (9) y pongo usando una placa de circuito de Arduino, un conjunto de broche de presión del circuito y una cadena de luces de Navidad.Lo que usted necesita:Un Arduino: Un Arduino es un equipo en una sola placa de ci
Caja de Navidad: Arduino/ioBridge internet controla luces de Navidad y show musical

Caja de Navidad: Arduino/ioBridge internet controla luces de Navidad y show musical

mi proyecto de Navidad de la caja consiste en un internet controlado por luces de Navidad y show musical. Una canción de Navidad se puede solicitar on-line que se ponen en una cola y jugó en el orden que se pidió. La música es transmitida en una emis
Arduino Powered pared árbol de Navidad con estrella Wars tema LED luces

Arduino Powered pared árbol de Navidad con estrella Wars tema LED luces

Es un árbol de Navidad DIY perfecta para casas pequeñas, apartamentos o una oficina donde usted no quiere un árbol de verdad y quiere un poco espíritu navideño.Usted puede ir simple o compleja con el diseño aquí pero decidí ir bastante simple con alg
LilyPad Arduino suéter de Navidad con las luces parpadeando y música

LilyPad Arduino suéter de Navidad con las luces parpadeando y música

estoy tomando un curso de este semestre llama juventud y tecnología en las bibliotecas, en la que yo estaba encargada de diseñar algo usando una tabla de desarrollo de Lilypad.  En los siguientes pasos lo guiará a través de cómo creé mi suéter de Nav
Arduino controla el árbol de Navidad de LED RGB posicional

Arduino controla el árbol de Navidad de LED RGB posicional

En este Instructable nos va creando un árbol de Navidad de LED RGB programables y construyendo (X, Y) posición de las luces en el Arduino que podemos crear diferentes patrones tanto animada como estática. Yo recomendaría esto a cualquier persona que
Luces de Navidad de Arduino

Luces de Navidad de Arduino

Me permito añadir esto al principio de este... He hecho algunos errores de seguridad muy grande en esto... por favor si cualquier cosa con esto entiendes la electricidad, cómo debe usarse y cómo no hacerlo como yo lo hice. Hay algunas cosas están bie
Luces de Navidad de música usando Arduino

Luces de Navidad de música usando Arduino

mi esposa y yo hemos querido crear nuestro propio show de luces-conjunto de música de las últimas temporadas de vacaciones.  Inspirado en los dos siguientes de Instructables, se decidió finalmente comenzar este año y decorar nuestro RV  Quería un con
Árbol de Navidad con LED y música, controlado con Arduino

Árbol de Navidad con LED y música, controlado con Arduino

en esta temporada festiva, casi todo el mundo ha hecho su árbol de Navidad en su hogar, pequeña o grande. En este post, veremos cómo crear un árbol de Navidad con unos €, utilizando Arduino. A través de este microcontrolador podrá elegir entre varios