Interruptor de alarma de Arduino (2 / 2 paso)

Paso 2: código

// TONES ==========================================

Comenzar por definir la relación entre / / nota, período y frecuencia. #define c 3830 / / 261 Hz #define d 3400 / / 294 Hz #define e 3038 / / 329 Hz #define f 2864 / / 349 Hz #define g 2550 / / 392 Hz #define a 2272 / / 440 Hz #define b 2028 / / 493 Hz #define C 1912 / / 523 Hz / / Define una nota especial, 'R', para representar un resto #define R 0 / Instalación === / / configurar el altavoz en un perno PWM (digital 9 10 u 11) int speakerOut = 9; int speakerOnTime = 250; Declarar redOnTime un int y establecida en 250 msegundos int speakerOffTime = 0; ¿Declarar redOffTime un int y establecida en 250 / / queremos depuración en serie hacia fuera? 1 para sí, 0 para no int DEBUG = 1; int rojo = 10; Declarar redLEDPin un int y establece en pin 20 int redledOnTime = 250; Declarar redOnTime un int y establecida en 250 msegundos int redledOffTime = 0; Declarar redOffTime un int y establecida en 250 int yellowled = 11; Declarar redLEDPin un int y establece en pin 20 int yellowledOnTime = 250; Declarar redOnTime un int y establecida en 250 msegundos int yellowledOffTime = 0; Declarar redOffTime un int y establece en 250 int tecla = 2; int statePin = bajo; void setup() {pinMode (rojo, salida); / / Arduino Dile que redLEDPin es una salida pines pinMode (yellowled, salida); / Arduino Dile que redLEDPin es una salida pines pinMode (botón, salida); pinMode(speakerOut, OUTPUT); si (depurar) {Serial.begin(9600); / / Set serie hacia fuera si queremos depurar}} / / melodía y tiempo === / [melodía] es un conjunto de notas, acompañada de golpes [], / que establece longitud relativa (# más, más Nota) int [] melodía de cada nota = {c g, a, g, f, e, d, c, g, f, e, d, g}; beats de int [] = {8, 8, 8, 8, 16, 8, 8, 8, 16, 16, 8, 8}; int número = sizeof(melody) / 2; Longitud de la melodía, para bucle. Set global tempo largo de tempo = 10000; Duración de pausa entre notas int pausa = 1000; Variable de bucle para aumentar la longitud de resto int rest_count = 100; <-BLETCHEROUS HACK; Ver notas / / inicializar base variables int tone_ = 0; vencer a int = 0; duración = 0; Reproducir tono === / / pulso del altavoz para reproducir un tono para una particular duración nula playTone() {elapsed_time largo = 0; si (digitalRead(button)==HIGH) {si (tone_ > 0) {/ / si esto no es un ritmo de descanso, mientras que el tono tiene / / jugó menos tiempo de 'duración', pulse Altavoz alta y baja mientras (elapsed_time < duración) {digitalWrite(speakerOut,HIGH); delayMicroseconds(tone_ / 2); / / abajo digitalWrite (speakerOut BAJA); delayMicroseconds(tone_ / 2); Hacer un seguimiento de cuánto tiempo hemos pulsado elapsed_time += (tone_); {}} más {/ / resto vencer; tiempos de loop retrasan (int j = 0; j < rest_count; j ++) {/ / ver nota en rest_count delayMicroseconds(duration);}}} } / / Deje el WILD RUMPUS comenzar === void loop() {/ / configurar un contador para tirar de [] de melodía y ritmos [] para (int me = 0; me playTone(); / / pausa entre notas... delayMicroseconds(pause); analogWrite(speakerOut,500); digitalWrite(redled,HIGH); //Turn roja LED en delay(redledOnTime); //Leave en para redOnTime digitalWrite(redled,LOW); //Turn rojo LED off delay(redledOffTime); //Leave de para redOffTime digitalWrite(yellowled,HIGH); //Turn LED rojo delay(yellowledOnTime); //Leave en para redOnTime digitalWrite (yellowled BAJA); Activar LED rojo apagado delay(yellowledOffTime); digitalWrite(speakerOut,HIGH); delayMicroseconds(tone_ / 2); Delay(speakerOnTime); Dejar redOnTime digitalWrite (speakerOut, bajo); delayMicroseconds(tone_ / 2); Delay(speakerOffTime); Deje apagado para redOffTime digitalWrite(redled,HIGH); Activar LED rojo delay(redledOnTime); Dejar redOnTime digitalWrite(redled,LOW); Activar LED rojo apagado delay(redledOffTime); Deje apagado para redOffTime digitalWrite(yellowled,HIGH); Activar LED rojo delay(yellowledOnTime); Dejar redOnTime digitalWrite(yellowled,LOW); Activar LED rojo apagado delay(yellowledOffTime); Dejar de redOffTime}} / * * notas * el programa pretende mantener un tono de microsegundos de 'duración'. * Mentiras mentiras mentiras! Tiene para por lo menos microsegundos de 'duración', _plus_ * cualquier sobrecarga creado por elapsed_time incremeting (podría ser exceso de * K 3 microsegundos) _plus_ sobrecarga de bucle y dos digitalWrites() de ** como resultado, mucho más lentamente que un resto se escuchará un tono de 'duración' * de' duración' rest_count crea una variable de bucle para traer 'resto' beats * en consonancia con los ritmos del 'tono' de la misma longitud. ** rest_count se verán afectadas por la arquitectura de viruta y la velocidad, así como * arriba de mods de cualquier programa. Comportamiento pasado no es garantía de futuro * rendimiento. Su kilometraje puede variar. Fusible luz y escapar. ** Esto puede utilizar una serie de mejoras: * agregar código para dejar que el programador especifique cuantas veces la melodía debe * lazo antes de parar * añadir otra octava * movimiento ritmo, pausa y rest_count a las declaraciones de #define * volver a escribir incluir volumen, usando analogWrite, como con el segundo programa en * http://www.arduino.cc/en/Tutorial/PlayMelody * ADD código para hacer el tempo configurables por pot u otro dispositivo de entrada * ADD código para tomar ritmo o volumen configurable por comunicación serial * (0005 requiere o superior.) * Código de ADD para crear un desplazamiento de tono (superior o inferior) a través de olla etc. * reemplazar melodía al azar con la apertura de bares a 'Humo sobre el agua' * /

Artículos Relacionados

Hackear un timbre inalámbrico en un interruptor de alarma sin hilos o interruptor on/off

Hackear un timbre inalámbrico en un interruptor de alarma sin hilos o interruptor on/off

recientemente construyó un sistema de alarma y lo instalamos en mi casa. Utilizan interruptores magnéticos en las puertas y cableado ellos a través del ático. Las ventanas eran otra historia y dura les cableado no era una opción. Necesitaba una soluc
Una Wireless Smart Home (fue: en el simulador de la casa y alarma con Arduino o Atmega328 (actualizado mayo de 2016))

Una Wireless Smart Home (fue: en el simulador de la casa y alarma con Arduino o Atmega328 (actualizado mayo de 2016))

Nota: ahora es un android bluetooth control app ibble para este proyectoNota: Aunque esto comenzó como un proyecto simulando mi presencia en el país, se ha convertido en una casa inteligente, por lo tanto, retitled este InstructableCuando la gente es
Cómo hacer un sistema de alarma con Arduino

Cómo hacer un sistema de alarma con Arduino

Con Arduino es realmente posible hacer proyectos complejos, particularmente a través de Internet, se puede utilizar a través del escudo diferentes disponibles para el microcontrolador. En este artículo, veremos cómo hacer un sistema de alarma profesi
AlarMe: La creciente alarma con Arduino y Pi

AlarMe: La creciente alarma con Arduino y Pi

Aquí está el código de procesamiento que diseñado y utilizado.Para ejecutarlo a sí mismo, proceso de instalar en tu ordenador, descargar el archivo .zip y ejecutar el bosquejo usted mismo. Siga las instrucciones en el código para añadir sus propios a
Interruptor oscuro basados en Arduino

Interruptor oscuro basados en Arduino

Arduino basado interruptor oscuro es un proyecto simple que básicamente es para principiantes de Arduino que acaban de empezar aprendiendo a usar Arduino.Como su nombre indica en este proyecto nos va ser encender las luces automáticamente como la int
INVERNADERO, RACK de servidores, acuario y otros aparatos de temperatura SUPERVISOR con SMS sistema de alarma con Arduino, itbrainpower.net 3G / GSM escudos y 1WIRE SENSOR de temperatura

INVERNADERO, RACK de servidores, acuario y otros aparatos de temperatura SUPERVISOR con SMS sistema de alarma con Arduino, itbrainpower.net 3G / GSM escudos y 1WIRE SENSOR de temperatura

Sobre el proyectoConstruir usted mismo su propio control sistema con umbrales de temperatura máxima y mínimade la temperatura, mantener vivo masajes y paginación de SMS (oldies pero goldies como) y sistema de armado/desarmado remoto. Puede supervisar
Alarma de Arduino para bicicleta

Alarma de Arduino para bicicleta

soy un estudiante de Catalunya, y he hecho un proyecto tecnológico como mi proyecto final del curso. He hecho una alarma de bicicleta con Arduino. Esta alarma no enviar ningún mensaje a un teléfono o Internet, solo hace un sonido si alguien trata de
Control de interruptor remoto CoTech con Arduino (433Mhz)

Control de interruptor remoto CoTech con Arduino (433Mhz)

Hace poco tiempo compré 3 interruptores remotos de Co/Tech 51058 x 10 y una 50027 remoto de Clas Ohlson en Noruega. Utiliza la AM 433mhz banda para comunicarse. Quería controlar con un Arduino, y después de googlear y leer mucho tiempo, no pude encon
Agarrar la alarma usando arduino + LDR piezoeléctrico zumbador

Agarrar la alarma usando arduino + LDR piezoeléctrico zumbador

Este pequeño proyecto le enseñará, cómo hacer un simple gancho agarrador de la alarma utilizando un LDR (resistor dependiente de luz). Cuando intenta mover tu mano sobre la LDR, hay una alarma que se enciende y la alarma se apaga tan pronto como uste
Interruptor de matar TV, Arduino Tv-B-Gone!

Interruptor de matar TV, Arduino Tv-B-Gone!

Así que, ¿qué es esto?! y ¿qué hacer?TV-B-Gone es un control remoto universal, que se apaga o se apaga el TV más, tiene un montón de TV cerrado de códigos, por lo que transmite estos códigos a través de los Led IR y puede tomar hasta 2 minutos en enc
Tutorial un: Arduino interruptor de luz (No Arduino Programming necesario) [principiante]

Tutorial un: Arduino interruptor de luz (No Arduino Programming necesario) [principiante]

en este Instructable dirigido a principiantes en la magia de Arduino, le mostraré cómo hacer un circuito simple que no requiere programación para construir.  I esta dirigido para los niños como yo, que se asombran con el mundo de las computadoras y e
Alarma del Arduino IR

Alarma del Arduino IR

Bueno, esta es la lista de los materiales que necesitamos para construir nuestra alarma infrarroja:1 Sensor de proximidad infrarrojo1 altavoz piezoeléctrico2 LED1 ArduinoCable BredboardPaso 1: Hacer las conexionesLo primero que tenemos que hacer es h
Interruptor HDMI controlado por Arduino

Interruptor HDMI controlado por Arduino

Este instructable le mostrará cómo controlar múltiples fuentes HDMI a su TV usando un microcontrolador como un Arduino para activar y desactivar la transmisión con una línea de control solo.Mi objetivo final es tener un medio robusto pero flexible pa
Mini Alarma PIR Arduino

Mini Alarma PIR Arduino

Saludos a todos!Debo comenzar diciendo de que este es mi primer instructable y está totalmente dedicado a la página Databugs (donde yo participo). Diciendo lo anterior no me quise aventurar a hacerlo en ingles aun, por otro lado es probable que siga