Vai al contenuto

Tutorial Arduino: Mini Antifurto Ultrasuoni con modulo HC-S04


mastercomputer

Messaggi raccomandati

Occorrente:

-Arduino :LOL:

-2 L.E.D.

-2 Resitenze Da 1k Ohm

-Modulo Ultrasuoni HC-S04

-Un Buzzer

-Una BreadBoard oppure Una Millefori

-Dei Jumper (Per la BreadBoard) oppure Dei reofori di scarto (Per La Millefori)

-La libreria Ultrasonic [D]http://www.mediafire.com/?6mobs54zhbuo33l[/D]

 

PinOut del modulo ultrasuoni:

http://s15.postimg.org/f4aw1abe3/HSC04.jpg

Vcc: 5 Volt

Trig: Pin Digitale 5

Echo: Pin Digitale 4

Gnd: Massa Arduino (GND)

 

Come collegare i vari componenti:

L'Anodo del Buzzer al pin Digitale 8 il Catodo alla Massa (GND)

L'Anodo del primo L.E.D. tramite una resistenza da 1k al pin Digitale 9 il Catodo alla Massa (GND)

L'Anodo del secondo L.E.D. tramite una resistenza da 1k al pin Digitale 10 il Catodo alla Massa (GND)

 

Il codice:

#include <Ultrasonic.h>

//#include "Ultrasonic.h"

 

int SPEAKER = 8; // Buzzer Pin

 

int LED1 = 9; // LED1 Pin

int LED2 = 10; // LED2 Pin

 

int TRIG = 5; // Trigger Pin

int ECHO = 4; // Echo Pin

 

int Counter = 1; // Per Contare il numero di Beep.

 

int Range; // La distanza dell'oggetto Dal Sensore

boolean Alarm; // Per testare L'allarme.

 

Ultrasonic ultrasonic(TRIG,ECHO); // Crea e inizializza Il Sensore

 

void setup() {

 

Serial.begin(9600);

pinMode(LED1, OUTPUT);

pinMode(LED2, OUTPUT);

 

}

 

void loop() {

 

Range = ultrasonic.Ranging(CM); // La distanza è calcolata in Centimetri.

// Range = ultrasonic.Ranging(INC); // La distanza è calcolata in Pollici.

Serial.print(Range);

Serial.println(" cm");

 

if (Range < 10) { // La distanza In questo caso 10 Cm.

Alarm = true;

Counter = 1;

}

else if (Counter == 11) {

Alarm = false;

Counter = 1;

}

 

if (Alarm)

AlarmOn();

 

}

 

void AlarmOn(){

 

digitalWrite(LED1, HIGH);

digitalWrite(LED2, LOW);

tone(SPEAKER, 1000);

delay(100);

 

noTone(SPEAKER);

 

digitalWrite(LED2, HIGH);

digitalWrite(LED1, LOW);

delay(100);

 

digitalWrite(LED2, LOW);

digitalWrite(LED1, LOW);

 

Counter++;

 

}

 

Spero di esservi stato utile e al prossimo thread

Link al commento
Condividi su altri siti

  • 1 anno dopo...

ciao volevo dirti che questo programmino non va gli errori riportati sono i seguenti:

 

'class ultrasonic' has no member named 'Ranging'

'CM' was not declared in this scope

function definition does not declare the parameters

 

siccome mi interessa parecchio e non sono molto esperto ma voglio imparare ti pregherei di darci un occhiata e farmi sapere ;)

Link al commento
Condividi su altri siti

  • 5 mesi dopo...

Buonasera a tutti , anche io sono un appassionato di Arduino e questo progettino e' davvero niente male e sicuramente implementabile .

Non so' se mastercomputer ti ha risposto e dato che e' passato molto tempo non vorrei che avesse abbandonato il post che ripeto e' davvero molto interessante.

Aspetto vs news

 

Chicco

Link al commento
Condividi su altri siti

  • 4 settimane dopo...

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



  • Community Hive Community Hive

    Community Hive allows you to follow your favorite communities all in one place.

    Follow on Community Hive
  • Utenti

    Non ci sono membri da mostrare

×
×
  • Crea Nuovo...