ITIS “F.GIORDANI” Caserta
A.S. 2017/18
classe: 4D informatica
indirizzo di studio: Informatica e Telecomunicazione – articolazione Informatica
Materia: Informatica
Programmatore: Del Giudice Carmine Carlo.
Sistema Operativo: Windows 10
Linguaggio: Arduino
Obiettivo didattico:
Programmare il sensore di colore.
Obiettivo dell’esercitazione:
Far riconoscere il colore al sensore.
Elenco attrezzature e materiali:
  1. Scheda arduino.
  2. Breadboard.
  3. Sensore di colore.
  4. Cavo usb per collegare Arduino.

 

Schema Sensore di colore:
Codice Arduino(vers. 1.0):

//Pin
const int out = 7; //Rileva il segnale in ingresso all’Arduino
const int s0 = 1; //Rileva la Frequenza
const int s1 = 2; //Rileva la Frequenza
const int s2 = 3; //Rileva il Colore
const int s3 = 4; //Rileva il Colore
int R,G,B; //colori

void setup()
{
Serial.begin(9600);
pinMode(s0, OUTPUT);
pinMode(s1, OUTPUT);
pinMode(s2, OUTPUT);
pinMode(s3, OUTPUT);
pinMode(out, INPUT);
//Frequenza al 100/100
digitalWrite(s0, HIGH);
digitalWrite(s1, HIGH);
}

void loop()
{
R=rilevaRosso();
B=rilevaBlue();
G=rilevaVerde();
Serial.print(” Frequenza Rosso: “);
Serial.print(R, DEC);
Serial.print(” Frequenza Verde: “);
Serial.print(G, DEC);
Serial.print(” Frequenza Blu : “);
Serial.print(B, DEC);
// Se la Frequenza del rosso è minore del verde e del blu, prevale il colore Rosso
if (R < B && R < G )
{
Serial.println(” Colore Rosso”);
delay (2000);
}

// Se la Frequenza del verde è minore del rosso e del blu, prevale il colore Verde
if (G < R && G < B)
{
Serial.println(” Colore Verde”);
delay (2000);
}

// Se la Frequenza del blu è minore del verde e del rosso, prevale il colore Blu
if (B<R && B < G )
{
Serial.println(” Colore Blu”);
delay (2000);
}

}

//Funzione per Rilevare il colore

int rilevaBlue()
{
int b;
digitalWrite(s2, LOW);
digitalWrite(s3, HIGH);
b = pulseIn(out, digitalRead(out));
return b;
}

int rilevaVerde()
{
int v;
digitalWrite(s3, HIGH);
digitalWrite(s2, HIGH);
v = pulseIn(out, digitalRead(out));
return v;
}

int rilevaRosso()
{
int r;
digitalWrite(s2, LOW);
digitalWrite(s3, LOW);
r = pulseIn(out, digitalRead(out));
return r;
}

Descrizione top-down dei passi realizzativi:

  1. Realizzare il circuito
  2. Scrivere il codice arduino
  3. Collegare la scheda arduino al pc tramite il cavo usb
  4. Caricare il programma cliccando sul pulsante “carica” dell‘ambiente software arduino

Test finale:
Osservare il funzionamento del sensore di colore.