cR_2019_lezione2

by / sabato, 30 novembre 2019 / Published in Archivio Robotica, Corso Robotica 19-20, Robotica

 

 

LEZIONE n° 2

SENSORI DIGITALI

 

 

La lezione CORSO DI ROBOTICA del 2019-20 è sui sensori e sulla loro gestione. Premettiamo che per analizzare i risultati utilizzeremo il monitor o dei LED.

I primi sensori che vediamo sono i sensori di URTO (BUMP) che sono dei sensori di tipo DIGITALE.

Se premiamo il sensore di urto, collegato all’opportuno pin di Aruino, andremo a variare il valore di una variabile e successivamente utilizzando una istruzione IF decideremo l’azione da intraprendere (scrittura sul monitor o accensione del led).

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 1:

//////////////// CORSO ROBOT 2019-20 LEZIONE n° — 2 — ESERCIZIO n° 4

value_rig = digitalRead(bump_rig);

value_lef = digitalRead(bump_lef);

/*************************************************************

CENTRAL BUMP

*************************************************************/

if ((value_lef == 0) && (value_rig == 0)) // CENTRAL BUMP

{

Serial.print(” CENTRAL BUMP ” );

Serial.print(“\n”);

delay(TIME_MIN);

magic = 0;

delay(TIME_WAIT);

}

/*************************************************************

LEFT BUMP

*************************************************************/

if ((value_lef == 0) && ((magic == 1))) // LEFT BUMP

{

Serial.print(” LEFT BUMP ” );

Serial.print(“\n”);

delay(TIME_MIN);

delay(TIME_WAIT);

}

/*************************************************************

RIGHT BUMP

*************************************************************/

if ((value_rig == 0) && (magic == 1)) // RIGHT BUMP

{

Serial.print(” RIGHT BUMP ” );

Serial.print(“\n”);

delay(TIME_MIN);

delay(TIME_WAIT);

}

///////////////////////////////////////////////////////////////////

Modifiche proposte:

Rallentare il processo per leggere meglio il monitor

 

SUGGERIMENTI

Aggiungere una grandezza per rallentare il processo

Provare i cambiamenti

listato programma esempio numero 6:

//////////////// CORSO ROBOT 2019-20 LEZIONE n° — 2 — ESERCIZIO n° 6

value_rig = digitalRead(bump_rig);

value_lef = digitalRead(bump_lef);

/*************************************************************

CENTRAL BUMP

*************************************************************/

if ((value_lef == 0) && (value_rig == 0)) // CENTRAL BUMP

{

Serial.print(” CENTRAL BUMP ” );

Serial.print(“\n”);

delay(TIME_MIN);

magic = 0;

delay(TIME_WAIT);

digitalWrite(ledRGB_B, HIGH); // turn LED on:

delay(tempoLed);

digitalWrite(ledRGB_B, LOW); // turn LED off:

delay(tempoLed);

}

/*************************************************************

LEFT BUMP

*************************************************************/

if ((value_lef == 0) && ((magic == 1))) // LEFT BUMP

{

Serial.print(” LEFT BUMP ” );

Serial.print(“\n”);

delay(TIME_MIN);

delay(TIME_WAIT);

digitalWrite(ledRGB_G, HIGH); // turn LED on:

delay(tempoLed);

digitalWrite(ledRGB_G, LOW); // turn LED off:

delay(tempoLed);

}

/*************************************************************

RIGHT BUMP

*************************************************************/

if ((value_rig == 0) && (magic == 1)) // RIGHT BUMP

{

Serial.print(” RIGHT BUMP ” );

delay(TIME_MIN);

delay(TIME_WAIT);

digitalWrite(ledRGB_R, HIGH); // turn LED on:

delay(tempoLed);

digitalWrite(ledRGB_R, LOW); // turn LED off:

delay(tempoLed);

count++;

Serial.print(” Urto Destro numero = ” );

Serial.print(count);

Serial.print(“\n”);

}

/////////////////////////////////////////////////////////////////////

Modifiche proposte:

Cambiare i colori

Contare tutti gli urti

Contare separatamente urto sinistro e urto destro

 

SUGGERIMENTI

Trovare e modificare il pin

Aggiungere il conteggio agli altri urti

Duplicare” il conteggio negli altri urti

Provare i cambiamenti

di seguito le slide della lezione

 

 

 

(1)

Lascia un commento

TOP