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

Laser Emitter

Come Funziona:  Impostando il pin di segnale ad un valore, genera un fascio di luce.

Sigla Componente:  2SSR

 

Istruzioni Collegamento:  Il componente presenta due pin: VCC e SIG.

1.VCC va collegato  a una alimentazione 5[v]  esterna o tramite una porta presente su Arduino.

2.SIG può essere collegata ad una qualsiasi porta di segnale analogico o digitale presente sulla scheda

 

 

 

Librerie Necessarie: Nessuna

Codice:

int laserPin = 7;

void setup() { 
 pinMode(laserPin, OUTPUT); //definisce il pin digitale 13 come output
}

void loop() {
 digitalWrite(laserPin, HIGH); //apre la testa del laser
 delay(250); //tempo di apertura testa del laser
 digitalWrite(laserPin, LOW); //chiude la testa del laser
 delay(250); //tempo di chiusura testa del laser
}

Attenzione: Ricerche cliniche hanno chiaramente dimostrato che un occhio esposto ad un puntatore laser può essere soggeto a danni irreversibili dello strato di pigmento della retina.

 

 

 

 

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