Cosa impareremo: 

Inizieremo con uno sketch semplice per programmare Arduino e farlo interagire con componenti esterni. Nel nostro caso utilizzeremo tre LED e un pulsante.

Quando il pulsante non è premuto si nota un LED verde acceso fisso. Alla pressione sul pulsante gli altri due LED inizieranno ad accendersi uno dopo l’altro con ritardo.

Il progetto si chiama Spaceship Interface. L’ideatore di questo progetto lo ha rinominato così questo capitolo perché secondo gli scrittori del libro (Arduino il libro dei progetti) con un po di fantasia sembrerebbe un interfaccia di una astronave di un vecchio film di fantascienza.

Componenti Richiesti:

LED 2 rossi, 1 verde.Red-LEDRed-LEDledgreen

Switchswitch

1 resistore 10 kilohm10kohm
3 resistori 220 ohmresistore

Programmazione:

Possiamo trovare questo codice precompilato aprendo l’IDE Arduino , successivamnete  cliccando su File > Esempi > 10 StarterKit>  p02_SpaceshipInterface

int switchstate = 0;
 
void setup(){
// dichiariamo i pin LED come output
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
 
// dichiariamo il pin Switch come input
pinMode(2,INPUT);
}
 
void loop(){
 
// legge il valore dello switch
 
switchstate = digitalRead(2);
 
// il pulsante non è premuto
// allora si visualizza il LED rosso acceso
if (switchstate == LOW) {
 
digitalWrite(3, HIGH); // ACCESO LED verde sul pin 3
digitalWrite(4, LOW); // SPENTO LED rosso sul pin 4
digitalWrite(5, LOW); //SPENTO  LED rosso sul pin 5
}
// la condizione if è verificata LOW
// solo se il pulsante non è stato premuto
 
else {
digitalWrite(3, LOW); //SPENTO  il LED Verde sul pin 3
digitalWrite(4, LOW); //SPENTO  il LED Rosso sul pin 4
digitalWrite(5, HIGH); // ACCESO il LED rosso sul pin 5
 
// attendi un quarto di secondo e
 
delay(250);
 
//cambia lo stato dei LED
digitalWrite(4, HIGH); //ACCESO  il LED Rosso sul pin 4
digitalWrite(5, LOW); // SPENTO  il LED Rosso sul pin 5
// attendi un quarto di secondo e torna all'inizio del loop
delay(250);
}
}

NOTE:

Project by  Scott Fitzgerald

void loop()

La funzione loop viene ripetuta continuamente.

void setup()

E’ la funzione di dichiarazione.

if(condizione)
 
{ //istruzioni da eseguire
}
 
else
 
{ // altrimenti esegui queste istruzioni }
 
La condizione if else.

 

pinMode(3,OUTPUT);
 
/*specifichiamo alla nostra Arduino se il componente
collegato al pin 3 è di ingresso o di uscita. */

 

digitalWrite(3, LOW)
 
/* Una volta dichiarato il tipo di componente(in/out put)
 con pinMode possiamo dire ad Arduino se far passare
 tensione oppure no tramite HIGH acceso e LOW spento. */

Schema Elettronico:

schema elettronico

Dimostrazione:

dimostrazione2