Pages: [1] 2   Go Down
Author Topic: Creare un allarme  (Read 515 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve ragazzi ho cercato di creare un allarme ma ho un problema con lo sketch ho collegato un interruttore a chiave ad arduino


Code:
int Chiave;
int Sensore;
int Led=3;

void setup()
{
  Serial.begin(9600);
  pinMode(A0,INPUT); //Sensore PIR
  pinMode(4,INPUT);  //Chiave
  pinMode(3,OUTPUT); //LED
  Chiave=digitalRead(4);
  Sensore=digitalRead(A0); 
}

void loop()
{
  if((Chiave==LOW) and (Sensore==LOW));
  {
    Serial.println("Allarme Inserito");
    delay(5000);   
    Serial.println("Zona 1 OK!");
    digitalWrite(Led,LOW);
  }
  if((Chiave==LOW) and (Sensore==HIGH));
  {
    Serial.println("Attenzione!Zona 1");
    delay(20000);
    digitalWrite(Led,HIGH);
  }
  if((Chiave==HIGH) and (Sensore==LOW));
  {
    Serial.println("Allarme Disinserito");
    digitalWrite(Led,HIGH);
    delay(1000);
    digitalWrite(Led,LOW);
  }
  if((Chiave==HIGH) and (Sensore==HIGH));
  {
    Serial.println("Allarme Disinserito");
    digitalWrite(Led,HIGH);
    delay(1000);
    digitalWrite(Led,LOW);
  } 
}
Logged

Parma
Offline Offline
Edison Member
*
Karma: 20
Posts: 2359
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il punto e virgola dopo gli if
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gli ho tolti ma non funziona lo stesso non mi legge la chiave ne il sensore
Logged

ivrea (to)
Online Online
Faraday Member
**
Karma: 77
Posts: 4647
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1. Non esiste in C la keyword AND.   Devi usare &&
2. le letture dei sensori le devi fare di continuo, non solo nella setup(). Quella viene eseguita una sola volta. Devi spostare queste due nella loop():
Code:
Chiave=digitalRead(4);
Sensore=digitalRead(A0); 
Poi magari lo schema di come hai collegato i sensori e interruttore può essere utile.
« Last Edit: September 11, 2013, 07:19:05 am by nid69ita » Logged

my name is IGOR, not AIGOR

Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io in un altro sketch lo usato AND funzionava normalmente
Logged

ivrea (to)
Online Online
Faraday Member
**
Karma: 77
Posts: 4647
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cerca Logical operators in questo link:
http://www.cplusplus.com/doc/tutorial/operators/

La and e la or non esistono in C ne in C++ ne in Arduino (che è poi C++)
http://arduino.cc/en/Reference/Boolean
Logged

my name is IGOR, not AIGOR

Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok ho sistemato ho messo la && ma adesso rimane sempre disattivato al contrario di prima che rimaneva sempre attivo e non leggeva il sensore
Logged

ivrea (to)
Online Online
Faraday Member
**
Karma: 77
Posts: 4647
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

2. le letture dei sensori le devi fare di continuo, non solo nella setup(). Quella viene eseguita una sola volta. Devi spostare queste due nella loop():

Questo lo hai fatto?
metti anche 2 Serial.println() dei valori delle due variabili Chiave e Sensore. Così puoi verificare se cambiano e se la logica degli if è coerente.
Logged

my name is IGOR, not AIGOR

Offline Offline
God Member
*****
Karma: 9
Posts: 550
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

forse la AND è definita da qualche parte come
#define AND &&

la mia è un'ipotesi..
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok grazie mille funziona voglio farvi due domande sempre su questo progetto come faccio a collegare un Piezo buzzer è un interruttore a chiave(a 2 Poli uno N l'altro L)
Logged

ivrea (to)
Online Online
Faraday Member
**
Karma: 77
Posts: 4647
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In questo link del forum puoi trovare un pò di schemi di collegamento fatti da @xxxpighi:
http://forum.arduino.cc/index.php?topic=146152.new#new
Logged

my name is IGOR, not AIGOR

Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao  è troppo piccolo non riesco a vedere quale resistenza usare per il piezo buzzer e non riesco a trovare come collegare l' interruttore a chiave
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 112
Posts: 5900
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao  è troppo piccolo non riesco a vedere quale resistenza usare per il piezo buzzer e non riesco a trovare come collegare l' interruttore a chiave

Vai sul sito di Pighixxx, QUI, ti scegli il set di schede e TE LO SCARICHI !!!

Guglielmo
Logged

Search is Your friend ... or I am Your enemy !

Offline Offline
Jr. Member
**
Karma: 1
Posts: 70
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao grazie Guglielmo io non ho una resistenza da 100 ohm la più piccola che ho è da 220 ohm la posso usare lo stesso?
Logged

ivrea (to)
Online Online
Faraday Member
**
Karma: 77
Posts: 4647
miaaao ^-^
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sempre da sito di xxxpighi, utility per il calcolo delle resistenze se messe in parallelo:
http://www.pighixxx.com/tools/resistenze-in-parallelo/

Ovvero, metti 2 R da 220 in parallelo => 110 ohm
Logged

my name is IGOR, not AIGOR

Pages: [1] 2   Go Up
Jump to: