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

Sensore ad ultrasuoni

Lurgio – Ruggiero

Nome componente: Sensore ad Ultrasuoni.

Sigla modello: HC-SR04.

 

Come funziona: Permette la misura di distanze in un campo di misura che si estende da 2 centimetri a 4 metri, con una risoluzione di 1cm

Istruzioni collegamento: Per connettere il sensore HC-SR04 ad Arduino basta collegare i 2 pin di alimentazione rispettivamente a VCC e GND e gli altri 2 pin (Trigger e Echo) a 2 ingressi digitali.

Codice funzionante:

const int triggerPort = 9;
const int echoPort = 10;

void setup() {
 pinMode(triggerPort, OUTPUT);
 pinMode(echoPort, INPUT);
 Serial.begin(9600);
 Serial.print("Sensore ad Ultrasuoni: ");

}

void loop() {
 digitalWrite(triggerPort, LOW); //uscita del trigger bassa
 digitalWrite(triggerPort, HIGH); //impulso di 10 microsec su trigger
 delayMicroseconds(10);
 digitalWrite(triggerPort, LOW);
 long durata = pulseIn(echoPort, HIGH);
 long distanza = 0.034 * durata / 2;
 Serial.print("distanza: ");

if(durata>38000){
 Serial.println("Fuori portata ");
 }

else{
 Serial.print(distanza);
 Serial.println(" cm ");
 }

}

 

Joystick

Nome componente: JOYSTICK

 

 

 

 

 

Sigla modello: B103 3810

Il componente è una levetta analogica come quella presente sui joystick ps2;
E’ in grado di fornire in output i valori di x e y da 0 a 1023, che rappresentano la posizione della levetta nello spazio. Grazie a questi due valori possiamo definire la direzione della levetta.
Il componente inoltre produce in output anche un booleano, che sarà 0 se la levetta è premuta e 1 in caso non lo fosse.

 ISTRUZIONI COLLEGAMENTO:

Il componente è predisposto di 5 pin:

  1. Y: fornisce alla scheda il valore di y sul joystick, va collegato su pin analogico e fornisce valori tra 0 e 1023;
  2. X: fornisce alla scheda il valore di x sul joystick, va collegato su pin analogico e fornisce valori tra 0 e 1023;
  3. Bt: fornisce alla scheda un booleano, in funzione della pressione esercitata sul joystick (“0” premuto, “1” non premuto);
  4. Vcc: il pin utilizzato per alimentare il componente e va collegato sul 5 Volt;
  5. GND: il pin utilizzato per la massa.

 

Per il codice che abbiamo scritto non è stato necessario utilizzare alcuna libreria esterna, abbiamo gestito noi le casistiche.
L’unica libreria che è stato necessario utilizzare era fornita dal cpp ed è la <string.h>, e ci è servita per poter comporre la stringa da stampare sulla seriale.

Codice di esempio :

#include <string.h>
const int xPin = A1;   //Dichiara il pin per la x (A1)
const int yPin = A0;   //Dichiara il pin per la y (A0)
const int swPin = 7;   //Dichiara il pin dello switch (7)

/* Funzione che ritorna sotto forma di stringa
   la posizione della levetta analogica         */

String direzione(){
 int x = analogRead(xPin);     //Legge il valore di x
 int y = analogRead(yPin);     //Legge il valore di y
 bool z = digitalRead(swPin);  //Legge il valore di z
 String dir = "";
 
/* In base ai valori di x e y definiamo 
      la posizione della leva             */

 if ( x >= 0 && x <= 20 && y > 500 && y < 520 )
 dir = "sinistra ";
 //Serial.print("Sinistra");

else if ( y >= 0 && y <= 20 && x > 475 && y < 495 )
 dir = "su ";
 //Serial.print("Su");

else if ( x >= 475 && x <= 495 && y > 1015 )
 dir = "giu ";
 //Serial.print("Giu");

else if ( x >= 1015 && y > 500 && y < 520 )
 dir = "destra ";
 //Serial.print("Destra");

else 
 dir = "centro ";

/* Aggiunge alla direzione, un booleano che 
   indica se la levetta sia premuta o meno */

 dir += z;

// Ritorna la stringa composta da direzione + pressione
 return dir;
 }

/* Dichiariamo il tipo di utilizzo del pin 
  e inizializziamo la seriale              */
void setup()
{
pinMode(swPin,INPUT);
digitalWrite(swPin, HIGH);
Serial.begin(9600);
}

void loop()
{
Serial.print(direzione());
Serial.print("\n");
delay(500);
}

Mercury Switch

NOME COMPONENTE : Mercury Switch

FUNZIONAMENTO: il sensore restituisce un valore booleano in base all’ orientamento del mercurio all’ interno del sensore . E.g. il sensore può essere montato su di una modellino radiocomandato, in caso di ribaltamento il sensore rispetto alla sua posizione iniziale (dove ritorna 0) ritornerà 1.

SIGLA MODELLO : RB-Suf-23

FOTO COMPONENTE :

 

ISTRUZIONI COLLEGAMENTO: Connettere la porta per l’ ottenimento del segnale (indicata con SIG sul sensore) ad un pin dell’ arduino.

Connettere  la porta per l’ alimentazione (indicata con VCC sul sensore) ad una porta dell’ arduino (o generica oppure quella da 3.3V o 5V).

Connettere la porta per la massa (indicata con GND sul sensore) a massa sull’ arduino.

 

LIBRERIE NECESSARIE: non sono previste librerie per l’ utilizzo.

CODICE DI ESEMPIO:

void setup() {
   pinMode(7,INPUT); //otteniamo il valore del sensore dal pin digitale 7
   Serial.begin(9600); //inizializziamo il monitor seriale per ottenere gli output
 }

void loop() {
   int f = digitalRead(7); //ottenimento segnale sensore
   Serial.println(f); //output sensore
   delay(1000); //
 }

Il codice è basato sul seguente schema: