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);
}

Auto Flash Led

Nome componente: Auto Flash Led

Come funziona: L’auto flash led crea effetti di luce successivamente all’accensione del led che varia in diverse colorazioni.

Sigla modello: CNT5

Foto componente:

 

Istruzioni collegamento:

Su questo led sono presenti tre pin: GND, GND, VCC.

Il pin VCC va collegato all’alimentazione (5V) dell’arduino.

Un pin GND va collegato al GND presente sull’arduino.

 

Librerie necessarie: non è necessaria alcuna libreria per il corretto funzionamento di questo componente.

Codice di esempio:

void setup() {
 pinMode (13, OUTPUT);
}
void loop(){
 digitalWrite (13, HIGH);
 delay (2000);
 digitalWrite (13, LOW);
 delay (2000);
}

Il codice sopra indicato ha come scopo quello di far accendere e spegnere il led con un intervallo di due secondi.

 

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:

Gas Sensor MQ2

NOME COMPONENTE: gas sensor module

COME FUNZIONA: Esso è un dispositivo che rileva la presenza di gas nell’aria. E’ generalmente usato per rilevare gas combustibili, infiammabili e tossici ma oltre a questo è in grado di rilevare la mancanza di ossigeno nell’aria.

SIGLA MODELLO:  MQ2

SCATTO VIRTUALE:

ISTRUZIONI COLLEGAMENTO:

Il pin GND (ground) del sensore deve essere collegato al pin GND della scheda Arduino, il pin VCC del sensore deve essere collegato aL pin 5V dellla scheda, il pin A0 del sensore deve essere collegata sulla scheda ad un pin analogico (analog pin) mentre il pin D0 deve essere collegato sulla scheda ad un pin digitale (digital pin).

CODICE ESEMPIO:

// D0 7
 // A0 A0
 // GND GND
 // VCC 5V

const int ledPin = 13;//the led attach to pin13
 const int analogPin=A0; //the DO on the Module attach to Pin7 on the SunFounder
 const int digitalPin=7; //the D0 attach to pin7
 int Astate=0;
 boolean Dstate=0;
 void setup()
 {
 //set the pins state
 pinMode (digitalPin,INPUT);
 pinMode(ledPin,OUTPUT);
 Serial.begin(9600);
 }
 void loop()
 {
 Astate=analogRead(analogPin);//read the value of A0
 Serial.println(Astate); //print
 Dstate=digitalRead(digitalPin);//read the value of D0
 Serial.println(Dstate);//print
 delay(200);//delay 200ms
 }

Tilt Switch

Nome Componente: Tilt Switch

Come funziona: Questo componente permette di rilevare movimenti, scosse o ribaltamenti dell’oggetto a cui viene fissato. Funziona, il linea di massima, grazie ad una “pallina” posta all’interno del cilindro, che a seconda dei movimenti si sposta chiudendo il circuito. I suoi utilizzi principali sono ad esempio per il  rilevamento di scosse o per progetti di sicurezza nei quali bisogna impedire che il progetto venga spostato dalla sua sede originale

Foto Componente:

Tilt Switch

Istruzioni collegamento:


Collegare il pin VCC del sensore ai +5V della scheda Arduino, il pin GND con il pin GND di Arduino, e il pin SIG con uno qualunque dei pin digitali della scheda.

Codice di esempio:

#define tilt 12

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

void loop() {
  if(digitalRead(tilt) == true){
     Serial.println("In piano");
  }else if(digitalRead(tilt) == false){
     Serial.println("Inclinato");
  }
}

Ecco il link per il file .ino : tiltSwitch

Amoretti Fabio – Gorlero Filippo