Termistore

NOME COMPONENTE: thermistor

COME FUNZIONA:

Esistono due tipi di termistori NTC (negative temperature coefficient) e PTC (positive temperature coefficient).

i termistori lavorano entrambi con l’aumentare della temperatura, ovvero nel caso del termistore NTC la resistenza del sensore diminuisce con l’aumentare della temperatura mentre nel caso del termistore PTC la resistenza del sensore cresce con l’aumentare della temperatura.

La differenza tra i due però è solamente funzionale perchè il collegamento sulla scheda Arduino è lo stesso e anche il codice sorgente rimane invariato.

FOTO COMPONENTE:

 

 

 

 

ISTRUZIONI COLLEGAMENTO:Per il corretto funzionamento del componente bisogna collegare rispettivamente le porte VCC e GND del termistore ai pin 5V e GND sulla scheda arduino mentre la porta SIG va collegata sul un pin analogico sulla scheda

LIBRERIE NECESSARIE: Il termistore non richiede librerie

CODICE DI ESEMPIO:

int thermistorPin = 0; //thermistor connected to analog pin 0
void setup()
{
pinMode(thermistorPin, INPUT); //Set analog 0 port mode, the INPUT for the input
Serial.begin(9600); //opens serial port, sets data rate to 9600 bps
}
void loop()
{
float a = analogRead(thermistorPin);
//the calculating formula of temperature
float resistor = (1023.0*10000)/a-10000;
float tempC = (3435.0/(log(resistor/10000)+(3435.0/(273.15+25)))) - 273.15;
Serial.print(tempC); //send data to the serial monitor
Serial.println(" C"); //send data to the serial monitor
delay(50); //delay 0.05 s
}

Sensore ad ultrasuoni

Nome componente: Sensore ad ultrasuoni HC-SR04

Come Funziona: Un sensore ad ultrasuoni è un dispositivo che possiamo ritrovare all’interno della collezione di componenti applicabili ad una scheda Arduino. Il suo compito consiste nel fornire l’esatta distanza fra esso e la superficie verso la quale viene puntato, calcolando la distanza che un segnale sonoro impiega a raggiungere l’oggetto posto di fronte e rimbalzare indietro.

Foto Componente:

Istruzioni collegamento: Il sensore HC-SR04 dispone di 4 pin: Vcc (+5V), Trigger(pin), Echo(pin), GND.

Librerie: Ecco il link per una libreria non necessaria, ma comunque utile

Codice (Senza Libreria):

const int triggerPort = 12;

const int echoPort = 13;

const int led = 10;

 

void setup() {

 

pinMode(triggerPort, OUTPUT);

pinMode(echoPort, INPUT);

pinMode(led, OUTPUT);

Serial.begin(9600);

Serial.print( "Sensore Ultrasuoni: ");

}

 

void loop() {

 

//porta bassa l'uscita del trigger

digitalWrite( triggerPort, LOW );

//invia un impulso di 10microsec su trigger

digitalWrite( triggerPort, HIGH );

delayMicroseconds( 10 );

digitalWrite( triggerPort, LOW );

 

long durata = pulseIn( echoPort, HIGH );

 

long distanza = 0.034 * durata / 2;

 

Serial.print("distanza: ");

 

//dopo 38ms è fuori dalla portata del sensore

if( durata > 38000 ){

Serial.println("Fuori portata   ");

}

else{

Serial.print(distanza);

Serial.println(" cm     ");

}

 

if(distanza < 10){

digitalWrite(led, HIGH);

}

else{

digitalWrite(led, LOW);

}

 

//Aspetta 1000 microsecondi

delay(1000);

}

Carabalona Maurizio, Bruna Paolo

Raindrop sensor

Nome componente : raindrop sensor.

Come  funziona : il sensore pioggia rileva l’acqua che completa i circuiti sui conduttori stampati delle schede dei sensori. La scheda sensore funziona come un resistore variabile che cambierà da 100k ohm se bagnato a 2M ohm a secco. In breve, più umida è la tavola più corrente sarà condotta.

Sigla componente: YL-83

Foto componente:

.

Istruzioni collegamento (foto e fritzing):

   

 

 

 

Codice dimostrativo:

void setup()

{
  Serial.begin (9600);

  pinMode (13 , INPUT);

}

void loop()

{

  int value = analogRead(A1);

  int digital = digitalRead(13);

 

  Serial.println (value);

  Serial.println (digital);

  delay(2000);

}

HALL SWITCH

Come funziona : Il sensore ritorna un valore booleano in base alla polarizzazione magnetica in prossimità ad esso. In caso di avvicinamento con un magnete il sensore cambierà il valore ritornante.

Sigla modello : 2SSR

Foto componente :

Istruzione collegamento :  collegare il pin indicato con GND (sul sensore) alla massa sull’ arduino. Collegare il pin indicato con VCC (sul sensore) al pin da 3.3V o 5V sull’ arduino. Collegare il pin indicato con SIG(sul sensore) ad un pin digitale a scelta sull’ arduino per ricevere input il valore del sensore.

Librerie necessarie  :  non sono necessarie librerie per l’ utilizzo.

Codice esempio :  seguire l’ istruzioni di collegamento (collegare il pin SIG al pin 7 dell’ arduino).


void setup() {
pinMode(7,INPUT);    //RICEVIAMO L'OUTPUT DEL SENSORE SUL PIN 7
Serial.begin(9600);  //INIZIALIZZIAMO LO SCHERMO SERIALE
}
void loop() {
Serial.println(digitalRead(7)); //MANDIAMO IN OUTPUT IL VALORE DEL SENSORE
delay(500); //METTIAMO IN STAND BY IL PER 1/2[s]' }

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