In questo progetto imparerai come creare il tuo allarme Arduino
Questo è un bel progetto per la tua stanza, puoi posizionarlo quasi ovunque ed è facile adattarsi all'ambiente con il semplice codice. Imparerai anche a lavorare con l'HC-SR04.
In questo progetto utilizziamo il sensore ad ultrasuoni HC-SR04, un cicalino e 3 LED di colore diverso. Con il sensore a ultrasuoni misuriamo la distanza di un oggetto o di una persona. Se questa persona si avvicina troppo, suonerà un allarme e si accenderà un LED rosso.
- Livello – Base 25%
- Durata – 45/75 Min 40%
- Costi – € 48.85 euro completo 40%
Passaggio 1: forniture per l'allarme Arduino
Passaggio 2: creazione e cablaggio dell'allarme
Ora costruiamo il progetto.
Iniziamo con il cablaggio e il posizionamento dei componenti sul paneboard fallo secondo la foto qui sotto assicurati che il sensore ultrasonico sia puntato nella giusta direzione in modo da staccare il paneboard spento. Quindi i 3 LED e il cicalino necessitano di una resistenza. In modo che la tensione non diventi troppo alta e faccia esplodere i componenti. È necessario prestare attenzione a quale pin dei LED e del cicalino a cui è collegata la resistenza. Il pin lungo dei LED e del buzzer è il + questo può essere cablato direttamente ai pin di Arduino secondo lo schema. Colleghiamo le resistenze al – (il pin corto) dei LED e del buzzer. Queste resistenze sono collegate in parallelo sulla riga – del paneboard collegato. Assicurati di collegare questi componenti nel modo corretto, altrimenti il tuo Arduino Alarm non funzionerà!Quindi collega gli altri cavi del jumper secondo lo schema.
È anche importante collegare i componenti corretti ai pin Arduino corretti, altrimenti il codice non funzionerà!
Trigger -> pin 7
Eco -> pin 6
Buzzer + -> pin 3
Led rosso + -> pin 11
Led giallo + -> pin 10
Led verde + -> pin 9
Passaggio 3: programmazione dell'allarme Arduino
#define trigPin 7 //#define nomina i punti di connessione che utilizziamo.
#define ecoPin 6
#defineLedverde 9
#define gialloLed 10
#defineredLed 11
#definisci cicalino 3
suono int = 500; //Qui creiamo una variabile per Hertz (hz) che suonerà il cicalino.
void setup ()
{
serial.begin(9600); //Qui prepariamo i punti di connessione e il monitor seriale
pinMode(trigPin, USCITA);
pinMode(echoPin, INPUT);
pinMode(GreenLed,OUTPUT);
pinMode(ledgiallo, USCITA);
pinMode(rossoLed, OUTPUT);
pinMode(cicalino, USCITA);
}
void loop ()
{
lunga durata; //Qui creiamo altre due variabili per la distanza e la durata in cui il segnale del sensore è in arrivo.
lunga distanza;
digitalWrite(trigPin, LOW); //Qui calcoliamo con la durata del segnale qual è la distanza dall'oggetto.
ritardoMicrosecondi(2);
digitalWrite(trigPin, ALTO);
ritardoMicrosecondi(10);
digitalWrite(trigPin, BASSO);
durata = pulseIn(echoPin, HIGH);
distanza = (durata / 2) / 29.1;
Serial.print(distanza); //Qui scriviamo la distanza sul monitor seriale
Serial.println(”cm”);
if(distanza > 50) //Se la distanza è grande, allora 50 cm:
{
digitalWrite(Ledverde, ALTO);
digitalWrite(Ledgiallo, BASSO);
digitalWrite(rossoLed, BASSO);
}
else if(distanza < 50 || distanza > 10) //Se la distanza è compresa tra 50 e 10 cm:
{
digitalWrite(Led verde, BASSO);
digitalWrite(gialloLed, ALTO);
digitalWrite(rossoLed, BASSO);
}
else if(distanza < 10) //Se la distanza è inferiore a 10 cm:
{
digitalWrite(Led verde, BASSO);
digitalWrite(Ledgiallo, BASSO);
digitalWrite(rossoLed, HIGH);
tono (cicalino, suono);
ritardo (100);
noTono(cicalino);
}
else if(distanza <=0) //Se la distanza è minore o uguale a 0: (messaggio di errore)
{
Serial.println("Fuori campo");
tono (cicalino, suono);
ritardo (500);
noTono(cicalino);
}
ritardo (300);
}
Ora hai un allarme Arduino funzionante!
Ciao, io e mio figlio abbiamo ricreato questo circuito (senza buzzer). Abbiamo dovuto cambiare alcune cose nel codice per far funzionare le cose: invece di tutti i #define all'inizio, lo abbiamo immediatamente trasformato in int con un compito. (quindi 'int trigPin = 7 ; ' ecc.)
Ma il cambiamento più importante: nel controllo se il giallo deve essere acceso, il codice sopra indica 'distanza 10', l'abbiamo cambiato in 'distanza 10' aggiungendo '||' sostituire con '&&', che farà funzionare tutto secondo i piani.
Ben fatto ho una domanda che provo a farla su un arduino leonardo. con un pulsante e con un contatore quando ti avvicini. sai come implementarlo al meglio nel codice?