Esempio numero 5 segnala il tipo di URTO

by / venerdì, 09 Gennaio 2015 / Published in Esempi di Robotica, Francesco, Il blog











ESEMPIO – LEGGERE DUE SENSORI DI URTO e
ACCENDERE IL LED OPPORTUNO

Verrà acceso un LED di colore diverso a seconda dell’urto.

E’ stata utilizzato un prototipo funzionale dei circuiti per un Mini Robot (descritto a parte), un cavetto USB e un PC con istallato il programma Arduino.

/**************************************************************
* LEGGERE 2 SENSORI DI URTO
* ACCENDERE TRE LED
* URTO – SINISTRO/DESTRO/CENTRO
**************************************************************/

int urtoSX=7; // 2 sensori di urto
int urtoDX=2;

int led_urtoSX=8; // 3 LED
int led_urtoDX=5;
int led_urtoCX=6;

int val_urtoSX; // due variabili per immagazzinare i valori letti
int val_urtoDX;

void setup()
{
Serial.begin(9600); // velocità di comunicazione per la porta seriale (scrivere sul monitor)
pinMode (urtoSX,INPUT); // DEFINIZIONE DEL TIPO DEI PIEDINI UTILIZZATI
pinMode (urtoDX,INPUT);
pinMode (led_urtoSX,OUTPUT);
pinMode (led_urtoDX,OUTPUT);
pinMode (led_urtoCX,OUTPUT);
digitalWrite(led_urtoSX,LOW); // SPEGNI LED
digitalWrite(led_urtoDX,LOW); // SPEGNI LED
digitalWrite(led_urtoCX,LOW); // SPEGNI LED
delay(500);
}

void loop()
{
val_urtoSX=digitalRead(urtoSX); // leggere i due sensori di urto
val_urtoDX=digitalRead(urtoDX);

if ((val_urtoSX==HIGH)&&(val_urtoDX==HIGH)) // URTO CENTRO
{
digitalWrite(led_urtoCX,HIGH); // ACCENDI LED
Serial.println(“Urto centro”);
delay(1000);
digitalWrite(led_urtoCX,LOW); // SPEGNI LED
}
if ((val_urtoSX==HIGH)&&(val_urtoDX==LOW)) // URTO SINISTRO
{
digitalWrite(led_urtoSX,HIGH); // ACCENDI LED
Serial.println(“Urto sinistro”);
delay(1000);
digitalWrite(led_urtoSX,LOW); // SPEGNI LED
}
if ((val_urtoSX==LOW)&&(val_urtoDX==HIGH)) // URTO DESTRO
{
digitalWrite(led_urtoDX,HIGH); // ACCENDI LED
Serial.println(“Urto destro”);
delay(1000);
digitalWrite(led_urtoDX,LOW); // SPEGNI LED
}

}

con questo esempio se premiamo il sensore di urto SINISTRO si accende per un secondo il LED GIALLO, se premiamo il sensore di urto DESTRO si accende per un secondo il LED ROSSO, se premiamo contemporaneamente i due sensori di urto si accende per un secondo il LED VERDE.

NOTA: quando trovo un urto accendo i led ed aspetto 1 secondo, in questo periodo ulteriori pressioni degli urti non sono rilevate


(173)

Tagged under: ,
TOP