Color Sensor

Nome del Componente:  SunFounder Color Sensor

Come funziona: Quando illuminiamo un oggetto con la luce bianca dei quattro LED, esso assorbe le frequenze luminose in base alla sua particolare forma o materiale. L’oggetto riflette il resto delle frequenze luminose ed il risultato è il colore che viene percepito dal nostro occhio, che per inciso mischia automaticamente le frequenze luminose e crea la percezione di un unico colore.

Sigla Modello: TCS3200

Foto Componente: 

Istruzioni Collegamento:

Colleghiamo il pin GND del sensore a qualsiasi porta GND presente nella scheda Arduino, il pin VCC con la porta 5V e i pin  OUT, S0, S1, S2, S3 con qualsiasi porta digitale.

Quindi di conseguenza:
GND – GND
VCC – 5V
E poi noi abbiamo scelto:
OUT –
 2
S0 –  3
S1 – 4
S2 – 5
S3 – 6 

Librerie necessarie:  nessuna libreria necessaria

Codice di esempio:
#define S0 3 //definisco una costante
#define S1 4
#define S2 5
#define S3 6
#define sensorOut 2

int frequenza = 0; //assegno alla variabile un
valore

void setup() {
  //il pinMode serve per configurare un determinato 
  pin e stabilire se deve essere un ingresso o 
  un'uscita
  pinMode(S0, OUTPUT);
  pinMode(S1, OUTPUT);
  pinMode(S2, OUTPUT);
  pinMode(S3, OUTPUT);
  pinMode(sensorOut, INPUT);
  digitalWrite(S0,HIGH); //HIGH e LOW si usano quando
  si vuole accendere o spegnere un pin 
  digitalWrite(S1,LOW);
  Serial.begin(9600);

}

void loop() {

  digitalWrite(S2,LOW); 
  digitalWrite(S3,LOW);
  frequenza = pulseIn(sensorOut, LOW); //misura la 
  durata degli impulsi in arrivo su uno degli ingressi
  digitali
  Serial.print("Rosso= ");
  Serial.print(frequenza); //stampa in seriale la 
  frequenza
  Serial.print("  ");
  delay(100);

 

  digitalWrite(S2,HIGH); 
  digitalWrite(S3,HIGH);
  frequenza = pulseIn(sensorOut, LOW);
  Serial.print("Verde= ");
  Serial.print(frequenza);
  Serial.print("  ");
  delay(100);

  
  digitalWrite(S2,LOW);
  digitalWrite(S3,HIGH);
  frequenza = pulseIn(sensorOut, LOW);
  Serial.print("Blu= ");
  Serial.print(frequenza);
  Serial.println("  ");
  delay(100);

  delay(1000); //1 secondo di pausa

}

Volendo si può aggiungere la funzione map() che serve a “ri-mappare” un numero (come la lettura di un sensore) da un intervallo ad un’altro.

map(value, fromLow, from High, toLow, toHigh)

Si indica la variabile che conterrà il valore “ri-mappato” (value), poi si scrive il valore minimo (fromLow) e massimo (fromHigh) prima della ri-mappatura e, a seguire, il valore minimo (toLow) e massimo (toHigh) dopo la ri-mappatura.

Ester & Alissa

Passive Buzzer

Come Funziona:  Dando in input un valore produce in output un suono di frequenza pari al valore.

Sigla Componente:  2SSR

Istruzioni Collegamento:  Il modulo buzzer passivo presenta una porta a 3 pin:
1. segnale (SIG) colore cavo giallo;
2. tensione (VCC) c.c. rosso;
3. terra (GND) c.c. nero;
Colleghiamo il pin 1 (SIG) alla porta 7 del nostro arduino uno,
il pin 3 (GND) invece ad una qualsiasi porta “GND” della scheda
e in fine il pin 2 (VCC) lo connettiamo alla porta che presenta 3,3[V] di output.

Video Dimostrativo (.MOV)

Librerie Necessarie: Nessuna

Codice:

const int buzzerPin = 7;//il buzzer si collega a
int fre;//imposta la variabile per memorizzare il valore di frequenza
void setup()
{
 pinMode(buzzerPin,OUTPUT);//imposta buzzerPin come OUTPUT
}
void loop()
{
 for(int i = 200;i <= 800;i++)// ciclo di frequenza da 200 a 800
 {
 tone(7,i); // nel pin7 genera un tono, la frequenza è i
 delay(5); // attendi 5 millisecondi
 }
 delay(4000); 
 for(int i = 800;i >= 200;i--) // ciclo di frequenza da 800 a 200
 {
 tone(7,i); // nel pin7 genera un tono, la frequenza è i
 delay(10); // attendi 10 millisecondi
 }
}

Flame Sensor

Nome componente: Flame Sensor

Come funziona:  il sensore rileva la presenza di fiamme, inviando poi un valore TRUE o FALSE sul pin D0.

Foto componente: 

 

 

 

 

 

 

 

Istruzioni collegamento: 

Collegare il pin GND con il pin GND di Arduino, il pin VCC con il pin +5V, il pin D0 ad un pin digitale qualunque, e regolare il trimmer sul sensore per definire il valore sopra al quale verrà inviato un segnale TRUE.
Non è necessario collegare il pin A0.

Codice di esempio: 

void setup() {
 pinMode(8,INPUT);
 Serial.begin(9600);
}

void loop() {
 int fuoco= digitalRead(8);
 if(fuoco == 0){
  Serial.println("RILEVATA FIAMMA");
 }
}

                                                                                                                                                        

Amoretti Fabio – Gorlero Filippo

 

Fotoresistore

Nome componente:  SunFounder Photoresistor

Come funziona: Il fotoresistore è un componente che varia la sua resistenza in base alla quantità di luce presente. La resistenza diminuisce con l’aumentare della quantità di luce, quindi quando leggeremo valori bassi saremo in presenza di una grande quantità di luce. Mentre quando leggeremo valori alti avremo una minore quantità di luce.

Foto componente:

Istruzioni collegamento:  Il fotoresistore utilizza 3 pin: GND, VCC e SIG.

GND –  GND(massa)

VCC- 5V

SIG- A0, o qualsiasi pin analogico

Librerie necessarie:  nessuna libreria specifica richiesta

Codice di esempio:

#define fotocellula A0

int Val = 0;

void setup(){
    Serial.begin(9600);
}

void loop(){
    Val = analogRead(fotocellula);
    Serial.println(Val);
    delay(1000);
}

Il programma è molto semplice, all’inizio dichiariamo che la fotocellula è collegata ad A0, dichiariamo un variabile Val ed inizializziamo in monitor seriale. Nel loop leggiamo il valore del fotoresitore e lo mettiamo detro la variabile Val ed in seguito lo stampiamo su monitor seriale.

Made by:

Faudella Davide & Franco Edoardo

Display a 7 Segmenti

Scheda Componente:

 

Nome Componente: Display 7 Segmenti

Sigla Modello:  SMA42056

Foto Componente:

Istruzioni Collegamento:

Sono stati collegati 8 pin, dalla sezione DIGITAL, sulla breadboard per collegare il display a 7 segmenti all’Arduino, mentre un’ottavo pin nella sezione POWER per poi essere collegato anch’esso alla breadboard in modo da far accendere il display a 7 segmenti.

Librerie Necessarie: Nessuna

Codice Di Esempio: 

// Definisco la mappatura tra pin e segmenti
int G=4;
int F=5;
int A=6;
int B=7;
int E=8;
int D=9;
int C=10;
int DP=11;

void setup() {


}

void loop() {
 lettera_C();
 delay(1000);
 lettera_I();
 delay(1000);
 lettera_A();
 delay(1000);
 lettera_O();
 delay(1000);

}
// Funzioni per scrivere alcuni caratteri (catodo comune)
void lettera_C(){
 digitalWrite(A, HIGH);
 digitalWrite(B, LOW);
 digitalWrite(C, LOW);
 digitalWrite(D, HIGH);
 digitalWrite(E, HIGH);
 digitalWrite(F, HIGH);
 digitalWrite(G, LOW);
 digitalWrite(DP, LOW);
}
void lettera_I(){
 digitalWrite(A, LOW);
 digitalWrite(B, HIGH);
 digitalWrite(C, HIGH);
 digitalWrite(D, LOW);
 digitalWrite(E, LOW);
 digitalWrite(F, LOW);
 digitalWrite(G, LOW);
 digitalWrite(DP, LOW);
}
void lettera_A(){
 digitalWrite(A, HIGH);
 digitalWrite(B, HIGH);
 digitalWrite(C, HIGH);
 digitalWrite(D, LOW);
 digitalWrite(E, HIGH);
 digitalWrite(F, HIGH);
 digitalWrite(G, HIGH);
 digitalWrite(DP, LOW);
}
void lettera_O(){
 digitalWrite(A, HIGH);
 digitalWrite(B, HIGH);
 digitalWrite(C, HIGH);
 digitalWrite(D, HIGH);
 digitalWrite(E, HIGH);
 digitalWrite(F, HIGH);
 digitalWrite(G, LOW);
 digitalWrite(DP, LOW);
}