Go Down

Topic: sirena (Read 2 times) previous topic - next topic

tazma

ok lo revisare a ver si e conectado algo mal gracias

xlopez

Que el Arduino se pueda alimentar con 12 voltios no significa que internamente trabaje con 12 voltios.

El Arduino tiene un regulador de tensión, todo lo que pasa de 5 voltios lo convierte en calor, y a su salida sólo salen 5 voltios, que son los que se pasan al resto de la circuitería.

Alimentándolo con 12 voltios estás desperdiciando 7 de cada 12 voltios, eso es mas de un 58% de energía que se va a la basura.

El único sitio por el que sale el voltaje de los 12 voltios es por Vin, ahí si que tendrás 12 voltios.

Debes usar un rele, la parte de control conectada al pin de salida que quieras del arduino, la parte de potencia conectada a masa, a Vin (12 voltios) y entre medias la alarma. Aunque siempre es mejor usar fuentes de alimentación separadas, para evitar que entre ruido al Arduino.

tazma

#7
Jul 18, 2011, 05:26 pm Last Edit: Jul 18, 2011, 07:18 pm by tazma Reason: 1
ok ya esta montado muchas gracias



ahora me encuentro con que claro la alarma esta montada y va ok
pero no puedo trastear con el arduino en este caso que es lo que se hace comprar otro arduino ?

este es el codigo por si alguien lo quiere
que quede claro que el codigo no es mio ya quisiera yo poder hacerlo
en el caso que quisiera que la sirena suene mas rato que parte tendria que modificar
temgo una ligera idea pero no quiero tocar y cargarmelo

int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
int pinSpeaker = 10; //Set up a speaker on a PWM pin (digital 9, 10, or 11)
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
pinMode(pinSpeaker, OUTPUT);
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
digitalWrite(ledPin, HIGH); // turn LED ON
playTone(300, 160);
delay(150);
// playTone(300, 120);
// delay(150);
if (pirState == LOW) {
// we have just turned on
Serial.println("Motion detected!");
// We only want to print on the output change, not state
pirState = HIGH;
}
} else {
digitalWrite(ledPin, LOW); // turn LED OFF
playTone(0, 0);
delay(300);
if (pirState == HIGH){
// we have just turned off
Serial.println("Motion ended!");
// We only want to print on the output change, not state
pirState = LOW;
}
}
}
// duration in mSecs, frequency in hertz
void playTone(long duration, int freq) {
duration *= 1000;
int period = (1.0 / freq) * 1000000;
long elapsed_time = 0;
while (elapsed_time < duration) {
digitalWrite(pinSpeaker,HIGH);
delayMicroseconds(period / 2);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(period / 2);
elapsed_time += (period);
}
}

ionhs

No tengas miedo de tocar hombre que así se aprende, mientras no cambies en el programa que pines son de entrada y cuales son de salida es poco probable que te lo cargues. Encima cuando te lo cargas seguro que vas a aprender una lección inolvidable.   :smiley-yell: no entiendo la frase esta


ahora me encuentro con que claro la alarma esta montada y va ok
pero no puedo trastear con el arduino en este caso que es lo que se hace comprar otro arduino ?


A que te refieres que si tienes la alarma puesta y en marcha no puedes hacer más proyectos? Hombre o desmontas la alarma y haces otro proyecto y luego vuelves a montar la alarma o sino puedes comprar los componentes mínimos que hace falta para el atmega328p-pu y creas una placa con el programa y asi liberas el arduino. La placa arduino yo entiendo que es una plataforma para poder hacer pruebas, una vez que hayas desarrollado el proyecto y quieras que este perpetuo es más rentable hacer lo que te he comentado arriba.

Respecto a cambiar el tiempo de encendido y apagado te recomiendo que salsees un poco, he mirado por encima el programa pero si juegas con los delay() y cambias el número de dentro de la paréntesis, cambiaras el tiempo. El número creo que representa milisegundos. Salu2

xlopez

Sirena + relé + playTone es una combinación muy mala.

Los relés no están diseñados para conmutar tantas veces por segundo como le dice el playTone.

El sonido que estarás obteniendo probablemente no sea lo que diga el playTone.

Además, el relé con tanto cambio de estado, se va romper mas bien pronto.

Go Up