Surfin ' Bird (estilo Arduino) (2 / 4 paso)

Paso 2: El código

/*
* //////////////////////////////////////////////////
* la salida de sentido //making del sensor PIR de Parallax
* //////////////////////////////////////////////////
*
* Interruptores LED según el estado de los sensores de salida pin.
* Determina el principio y el final de secuencias de movimiento continuo.
*
* Kristian Gohlke / krigo (_) web.de / http://filformat.net
* 3. Septiembre de 2006
*
* kr1 (hendidura) 2006
* lanzado bajo una creative commons "Reconocimiento-NoComercial-CompartirIgual 2.0" licencia
* http://creativecommons.org/licenses/by-nc-sa/2.0/de/
*
*
* El Sensor PIR de Parallax es un módulo de sensor de movimiento infrarrojo digital fácil de usar.
* (http://www.parallax.com/detail.asp?product_id=555-28027)
*
* El pin de salida sensor´s va al alta si el movimiento está presente.
* Sin embargo, incluso si hay movimiento va a la baja de vez en cuando,
* que no podría dar la impresión de movimiento está presente.
* Este programa se ocupa de este problema haciendo caso omiso de baja-fases más cortas que un momento dado,
* Suponiendo movimiento continuo está presente durante estas fases.
*
*/

/////////////////////////////
VARS
#include
#include
#include "util.h"
#include "wave.h"

Tarjeta de AF_Wave;
Archivo f;
Wavefile onda;

int calibrationTime = 30; el tiempo nos da el sensor a calibrar a sí mismo (10-60 segundos según la hoja de datos)
tiempo unsigned int lowIn; el momento cuando el sensor produce un impulso de baja
pausa larga unsigned int = 5000; la cantidad de milisegundos que el sensor tiene que ser baja antes de que asuma todo el movimiento se ha detenido

Boolean lockLow = true;
takeLowTime Boolean;

pirPin int = 6; el pin digital conectado a la salida del sensor PIR
int ledPin = 13;

/////////////////////////////
PROGRAMA DE INSTALACIÓN
void setup() {}
Serial.Begin(9600);
pinMode (pirPin, entrada);
pinMode (ledPin, salida);
pinMode (2, salida);
pinMode (3, salida);
pinMode (4, salida);
pinMode (5, salida);
digitalWrite (pirPin, LOW);

dar el sensor de tiempo para calibrar
Serial.Print ("calibración sensor");
para (int i = 0; i < calibrationTime; i ++) {}
Serial.Print(".");
Delay(1000);
}
Serial.println ("hecho");
Serial.println ("SENSOR activo");
Delay(50);
Si (! {card.init_card())}
retorno;
}
Si (! {card.open_partition())}
retorno;
}
Si (! {card.open_filesys())}
retorno;
}
Si (! {card.open_rootdir())}
retorno;
}
}

////////////////////////////
LAZO
void loop() {}

if(digitalRead(pirPin) == HIGH) {}
digitalWrite (ledPin, HIGH); el led visualiza el estado de pin de salida de sensores
{if(lockLow)}
lockLow = false; Asegúrese de que esperamos una transición a la baja antes de cualquier salida más
Serial.println("---");
Serial.Print ("movimiento detectado en");
Serial.Print(Millis()/1000);
Serial.println ("sec");
Delay(50);
}
takeLowTime = true;
}

if(digitalRead(pirPin) == LOW) {}
digitalWrite (ledPin, LOW); el led visualiza el estado de pin de salida de sensores

{if(takeLowTime)}
lowIn = millis(); ahorrar el tiempo de la transición de alto a bajo
takeLowTime = false; Asegúrese de que esto sólo se hace en el inicio de una fase
}

Si (! lockLow & & millis() - lowIn > pausa) {//if el sensor es baja por más de la pausa dada, suponemos que no hay movimiento más va a pasar
lockLow = true; se asegura de que este bloque de código sólo se ejecuta otra vez después de que se ha detectado una nueva secuencia de movimiento
Serial.Print ("movimiento terminada en"); salida
Serial.Print((Millis() - pausa) / 1000);
Serial.println ("sec");
Delay(50);
}
Switch(digitalRead(pirPin) == HIGH) {}

caso 1:
playcomplete("03SURF~1.wav");

}
}}

void playcomplete(char *name) {}
playfile(Name);
mientras (wave.isplaying);
Card.close_file(f);
}

void playfile(char *name) {}
detener cualquier archivo ya jugar
Si (wave.isplaying) {}
Wave.STOP();
Card.close_file(f);
}

f = card.open_file(name);
Si (f & & {wave.create(f))}
Wave.Play();
}

}

Artículos Relacionados

Paleta pelota, estilo Arduino

Paleta pelota, estilo Arduino

No soy muy coordinado y pelota paleta nunca ha sido una gran habilidad para mí. Pensé que podía realizar un Arduino, asistido por un servo motor y algunas piezas impresas 3d, a la par conmigo. No me decepcionó.Paso 1:Empezar por la base (que se desli
Menta mágica Morse - estilo Arduino

Menta mágica Morse - estilo Arduino

este instructivo ha sido eliminado pero lamentablemente el sistema no me permita anular la publicación.  La mayoría de la información y el código contenido en este instructable está disponible en los foros en Arduino.ccRay Burne ya no participa con a
Cómo utilizar el módulo de WiFi en el IDE de Arduino en pcDuino

Cómo utilizar el módulo de WiFi en el IDE de Arduino en pcDuino

pcDuino v2 tiene un módulo incorporado de WiFi que ofrece conexión a Internet. ¿Los usuarios preguntan cómo utilizar el módulo de WiFi al estilo Arduino IDE en pcDuino? ¿Es lo mismo que WiFi escudo para Arduino?pcDuino v2 es un ordenador de linux sol
Regulador de tiro de Honda de Angry Birds

Regulador de tiro de Honda de Angry Birds

aprende a hacer un tiro de Honda simple dispositivo para jugar Angry Birds con Arduino Leonardo. A continuación es el código de Arduino con explicación en Comentarios./*Este código es de dominio públicoAutor: alpeshVithaFecha: 18 de mayo de 2013*/sPu
Reloj comunicador

Reloj comunicador

Dispositivos de comunicación minúsculo pequeñito que puede prender en tu pecho, correa para el brazo, o pop en la oreja han sido de largo un tropo de ciencia ficción. Mientras que la pulsera "radios de dos vías" sobre todo o han sido los juguete
Estación meteorológica

Estación meteorológica

Recuperar el poder de pronóstico del tiempo de su meteorólogo local y comenzar su propia incursión en el mundo de la ciencia de Meteorología y ciudadano amateur con su propia estación meteorológica DIY y registrador de datos. En este Instructable, te
Espejo inteligente interactivo (Intel IoT)

Espejo inteligente interactivo (Intel IoT)

Este proyecto es sobre como hacer el espejo inteligente. Añadir sensores y utilizar api para hacer el espejo inteligente. La idea básica es hacer que la luz cerca de espejo controlado automáticamente dependiendo de la presencia del usuario (usando el
PCB cuadrotor (sin cepillo)

PCB cuadrotor (sin cepillo)

Quadrotors están los Segways nuevos: una plataforma auto estabilizador, algo mágica y fascinante que cada persona tecnología quiere tener. Usted no puede montar un cuadrotor (bueno, tal vez usted puede), pero vuelan, y se puede construir uno mismo de
Smart Relay energía Box(SiriProxy Compatible)

Smart Relay energía Box(SiriProxy Compatible)

si siempre han querido controlar voltajes/corrientes elevadas con un Arduino, configurar un temporizador de luz complicadas, o incluso tener Siri encender una lámpara. Entonces este es un instructivo para usted! En este instructable en unos sencillos
Ejecutar el vinculador RTC en pcDuino

Ejecutar el vinculador RTC en pcDuino

vinculador RTC es una especie de módulo de reloj de tiempo real basado en el DS1307. DS1307 es un bajo consumo de energía,con no perder completo BCD código reloj calendario en tiempo real reloj 56 bytes, la dirección y los datos sontransmitida a trav
Arduino Uno controlado por semáforo (estilo norteamericano)

Arduino Uno controlado por semáforo (estilo norteamericano)

proyecto el diario: hacer modelo semáforo con arduino uno.compré el arduino hace sólo unos días, y soy totalmente nuevo en él y estaba aburrido, así que pensé trataría de mi mano una programación y quería un conjunto de luces de tráficoasí que hice e
Cómo hacer un obstáculos evitando Robot Arduino estilo

Cómo hacer un obstáculos evitando Robot Arduino estilo

que siempre has querido hacer uno de esos robots cool que básicamente pueden evitar cualquier objeto. Pero no tienes suficiente dinero para comprar uno de esos realmente caros, con piezas del corte ya que todos los materiales donde allí para usted. S
Cómo hacer un estilo de calabaza de halloween de angry birds! ¿

Cómo hacer un estilo de calabaza de halloween de angry birds! ¿

Pensando en decorar tu calabaza Halloween? ¿Por qué no hacerlo enojado aves estilo? Este es un arte proyectos (Time lapse) tutorial sobre cómo pintar una calabaza enojado aves
Sistema de riego automático con sonda capacitiva y Arduino en el barato (y serio)

Sistema de riego automático con sonda capacitiva y Arduino en el barato (y serio)

Descargo de responsabilidad: Yo no soy un ingeniero en electrónica, por lo que no puedo ofrecer ninguna garantía para el diseño (mucho menos para su implementación). Sólo sé la presentó solución trabajada para mí por lo menos unos 5-6 meses (por lo q