Lezione 4

by / sabato, 05 Dicembre 2015 / Published in Archivio Robotica

LEZIONE n° 4 – URTI e LUCI

La lezione è sui sensori digitali ed analogici e la loro gestione.

Abbiamo 2 ingressi connessi a due interruttori e 3 uscite connesse a tre LED.

Quando schiacciamo il primo interruttore si accende il LED rosso, quando schiacciamo il secondo interruttore si accende il LED giallo, quando li schiacciamo insieme si accende il LED verde.

Per provare a fare le modifiche proposte copiare il listato (colorato in rosso) ed incollarlo in un editor di solo testo [Notepad ad esempio]

listato programma esempio numero 5:

// urti con led

int urtoSX=2;

int urtoDX=7;

int led_urtoSX=6;

int led_urtoDX=5;

int led_urtoCX=8;

int tempo_led;

int val_urtoSX;

int val_urtoDX;

void setup()

{

Serial.begin(9600);

pinMode (urtoSX,INPUT);

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);

val_urtoDX=digitalRead(urtoDX);

tempo_led=500;

if ((val_urtoSX==HIGH)&&(val_urtoDX==HIGH))

{

digitalWrite(led_urtoCX,HIGH); // ACCENDI LED

Serial.println(“Urto centro”);

delay(tempo_led);

digitalWrite(led_urtoCX,LOW); // SPEGNI LED

}

if ((val_urtoSX==HIGH)&&(val_urtoDX==LOW))

{

digitalWrite(led_urtoSX,HIGH); // ACCENDI LED

Serial.println(“Urto sinistro”);

delay(tempo_led);

digitalWrite(led_urtoSX,LOW); // SPEGNI LED

}

if ((val_urtoSX==LOW)&&(val_urtoDX==HIGH))

{

digitalWrite(led_urtoDX,HIGH); // ACCENDI LED

Serial.println(“Urto destro”);

delay(tempo_led);

digitalWrite(led_urtoDX,LOW); // SPEGNI LED

}

}

LE MODIFICHE PROPOSTE SONO:

CAMBIARE COLORE ai LED (via software)

invece di ACCENDERE il LED farlo LAMPEGIARE PER 3 VOLTE

Abbiamo 1 ingresso ANALOGICO di cui leggiamo il valore e stampiamo sul monitor il valore letto.

listato programma esempio numero 6:

/*

lettura sensore di luce

*/

int sensorPin = A4;

int sensorValue = 0; // variable to store the value coming from the sensor

int soglia = 500; //soglia

int TEMPO = 1000; //soglia

void setup()

{

Serial.begin(9600);

}

void loop()

{

// read the state of the pushbutton value:

sensorValue = analogRead(sensorPin);

// print the results to the serial monitor:

Serial.print(” sensor = ” );

Serial.print(sensorValue);

Serial.print(“\n “);

// Serial.println(outputValue);

delay(10);

delay(TEMPO);

}

LE MODIFICHE PROPOSTE SONO:

TROVARE LA SOGLIA DELLA LUCE A 20 cm DI DISTANZA

QUANDO SI TROVA LA LUCE ACCENDERE UN LED

di seguito le slide della lezione

(58)

Tagged under: , ,
TOP