Sari la conținut
ELFORUM - Forumul electronistilor

Generator de impulsuri (semnale alarma)?


svsu

Postări Recomandate

Ma intereseaza o idee de a crea un generator de semnale  de alarma ca aici:

 
ALARMĂ LA DEZASTRE

5 sunete a 16 secunde fiecare, cu pauza de 10 secunde între ele. Pentru sirenele cu aer comprimat semnalul se compune din 5 sunete a 8 secunde fiecare, cu pauza de 5 secunde între ele

 
 
 
 
 
PREALARMĂ AERIANĂ

3 sunete a 32 secunde fiecare, cu pauza de 12 secunde între ele. Pentru sirenele cu aer comprimat semnalul se compune din 3 sunete a 16 secunde fiecare, cu pauza de 6 secunde între ele

 
 
 
 
 
ALARMĂ AERIANĂ

15 sunete a 4 secunde fiecare, cu pauza de 4 secunde între ele. Pentru sirenele cu aer comprimat semnalul se compune din 15 sunete a 2 secunde fiecare, cu pauza de 2 secunde între ele

 
 
 
 
 
ÎNCETAREA ALARMEI

Un sunet continuu, de aceeaşi intensitate, cu durata de 2 minute. Pentru sirenele cu aer comprimat semnalul se compune dintr-un sunet continuu, de aceeaşi intensitate, cu durata de 1 minut

 
 
 

 

In esenta eu nu vreau sunetul generat ci seria de impulsuri corespunzatoare tipului de alrma.

 

Apoi vreau ca generatorul sa aiba cinci butoane, patru pentru semnale si unul pentru stop. Si sa poata ataca un releu, care apoi printr-un contactor sa alimenteze motorul trifazat al sirenei actuale.

 

 

Se poate realiza cu microcontroler?

Editat de svsu
Link spre comentariu
  • Răspunsuri 37
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Buna.

 

Incerc sa te ajut eu - da se poate rezliza cu un microcontroler.

 

Pentru mine cel mai usor ar fi sa scriu o aplicatie pe un Arduino - e ok asa ?

Daca nu ai pe acasa un Arduino gasesti la ~20 lei (chiar si pe acest forum).

 

Da-mi un semn daca e ok si te ajut cu placere.

 

Am totusi o conditie: codul aplicatiei si schema vor fi publice (postate aici pe forum).

 

Astept un semn.

Link spre comentariu

pentru ce PWM daca el vrea alimentarea unui releu si nu generarea frecventei ? sau te gandeai sa bazaie releul in loc de motorul ala de aspirator- sirena? ce bine-ar fi de-am citi tot continutul unui post...

prostia asta se face cu case, si niste amarate de delay-uri..

 

@svsu: te-ai complicat in explicatii, si-ai uitat sa specifici un lucru important. sirena ta este "sirenele cu aer comprimat" sau nu ?

ca nu ne-ar interesa teoria aia..despre alarme.

 

offtopic: cam idioata schema gandita(si stiu ca nu e gandita de initiator). sa astepti atatea secunde...minute, ca sa-ti dai seama ca vine un avion, ca s-a terminat sau alte chestii. pe mine ma amuzat.

 

nici nu iti trebuie un arduino. e suficient un attiny85+7805 il lipesti si cu superglue direct de releu reed :) si gata. daca e un releu mai nazdravan atunci mai trebuie si vreun mos ceva. sau alt releu. ca la viteza aia de reactie, mergea si un disc de telefon vechi..modificat genetic la ambreiaj...joke

 

butoanele alea pot fi inseriate cu rezistori, si poti folosi un singur ADC la attiny.

 

ps: se anunta ceva RAID-uri ?

Editat de Vizitator
Link spre comentariu
/*Attiny85*/#include <avr/io.h>const int panouPin = A3; // Attiny85: pin 2const int outputPin = 4; // Attiny85: pin 3boolean Armare = false;void setup(){  pinMode(outputPin,OUTPUT);  delay(1000);}void loop(){  raid(analogRead(panouPin));}void raid(int Button){int mod_functionare = 0;  // selectie mod  if (Button >= 250){mod_functionare=1;}  if (Button >= 500){mod_functionare=2;}  if (Button >= 750){mod_functionare=3;}  if (Button >= 1000){mod_functionare=4;}  if (mod_functionare < 1) {Armare=false;} //resetare  if (Armare == true) {return ;}    switch(mod_functionare){  case 1: //ALARMA LA DEZASTRE  for (int i=0; i<5;i++){	digitalWrite(outputPin,HIGH);	myDelay((16*1000));	digitalWrite(outputPin,LOW);	myDelay((10*1000));  }  Armare = true;  break;    case 2:	//PREALARMA AERIANA  for (int i=0; i<3;i++){	digitalWrite(outputPin,HIGH);	myDelay((32*1000));	digitalWrite(outputPin,LOW);	myDelay((12*1000));  }  Armare = true;    break;    case 3: //ALARMA AERIANA  for (int i=0; i<15;i++){	digitalWrite(outputPin,HIGH);	myDelay((4*1000));	digitalWrite(outputPin,LOW);	myDelay((4*1000));  }  Armare = true;      break;  case 4: // INCETARE ALARMA	digitalWrite(outputPin,HIGH);		myDelay((120*1000));	digitalWrite(outputPin,LOW);  Armare = true;     break;    }//end switch  }void myDelay(int milis){int flagStop = analogRead(panouPin); for (int i=0; i<milis; i++){  delay(1);  if (flagStop < 200) {break;} }}

 

 

programul e facut pentru 4 butoane. daca nici unul nu inchide circuitul, se considera stop. (ar fi bine un rezistor intre Pin2 si Gnd)

cele 4 butoane au nevoie de cate o rezistenta in serie, in asa fel incat sa se implineasca imparteala din cod:

  if (Button >= 250){mod_functionare=1;}  if (Button >= 500){mod_functionare=2;}  if (Button >= 750){mod_functionare=3;}  if (Button >= 1000){mod_functionare=4;}

poti folosi un calculator pentru ADC.

Editat de Vizitator
Link spre comentariu

@Aw Genetix: Intr-adevar, asa e. Credeam ca cere omul cum sa genereze efectiv sunetele. La releu normal ca nu poti sa faci PWM.

 

LE: De ce nu pui butoanele pe cate un pin? Sunt la fix 5 pini pe Attiny85, 4 pentru butoane si 1 pentru releu/MOS.

Editat de keenox
Link spre comentariu

pentru ca pur si simplu asa am gandit eu la acel moment, si mi se pare mai simplu sa vi cu 2 fire de la panou in loc de 5.

nu stiu, pur si simplu..tot timpul am impresia ca raman fara porturi , si-am inceput sa gandesc asa. :)

 

n-ar fi nici o diferenta.

 

sunt curios cum va arata montajul ala, si sper ca testele vor fi facute fara sirena :)

Editat de Vizitator
Link spre comentariu

da. dar lucrurile se complica. foarte mult.

constructia se face in jurul lui SIM900 si un uC. fie atmega32 sau atmega328..

ai putea sa faci modular, cu Arduino UNO sau mai bun, exista module cell dar... :) 200-300RON.. cam pagubasa dorinta.

 

daca ai gasi un telefon vechi care suporta uart, te-ai scos. poti citi cu comenzi AT, sms-urile.

sunt modele, dar nu te pot ajuta cu informatia asta. pentru ca nu mai le stiu. ceva din gama sony - ericson (T230, T290), sa suporte AT si sa aiba Tx/Rx interfatat.

unele telefoane mai noi, suporta AT prin bluetooth, dar...niciodata android. si daca intrebi pe vanzatori o sa se uite la tine ca la poarta.

Editat de Vizitator
Link spre comentariu

e suspect ? de ce ?

 

L.E: hmmm chiar ai dreptate. ce ochi de compilator ai :)

 

update:

/*Attiny85*/#include <avr/io.h>const int panouPin = A3; // Attiny85: pin 2const int outputPin = 4; // Attiny85: pin 3boolean Armare = false;void setup(){  pinMode(outputPin,OUTPUT);  delay(1000);}void loop(){  raid(analogRead(panouPin));}void raid(int Button){int mod_functionare = 0;  // selectie mod  if (Button >= 250){mod_functionare=1;}  if (Button >= 500){mod_functionare=2;}  if (Button >= 750){mod_functionare=3;}  if (Button >= 1000){mod_functionare=4;}  if (mod_functionare < 1) {Armare=false;} //resetare  if (Armare == true) {return ;}    switch(mod_functionare){  case 1: //ALARMA LA DEZASTRE  for (int i=0; i<5;i++){	digitalWrite(outputPin,HIGH);	myDelay((16*1000));	digitalWrite(outputPin,LOW);	myDelay((10*1000));  }  Armare = true;  break;    case 2:	//PREALARMA AERIANA  for (int i=0; i<3;i++){	digitalWrite(outputPin,HIGH);	myDelay((32*1000));	digitalWrite(outputPin,LOW);	myDelay((12*1000));  }  Armare = true;    break;    case 3: //ALARMA AERIANA  for (int i=0; i<15;i++){	digitalWrite(outputPin,HIGH);	myDelay((4*1000));	digitalWrite(outputPin,LOW);	myDelay((4*1000));  }  Armare = true;      break;  case 4: // INCETARE ALARMA	digitalWrite(outputPin,HIGH);		myDelay((120*1000));	digitalWrite(outputPin,LOW);  Armare = true;     break;    }//end switch  }void myDelay(int milis){int flagStop; for (int i=0; i<milis; i++){  delay(1);  flagStop = analogRead(panouPin);  if (flagStop < 200) {break;} }}

 

Editat de Vizitator
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări