ITIS “F.GIORDANI” Caserta
A.S. 2016/17
classe 3D informatica
indirizzo di studio: Informatica e Telecomunicazione – articolazione Informatica
Materia: Informatica
Programmatore: Del giudice Carmine Carlo-Francesco Florio-Lo Sapio Giuseppe
Sistema Operativo: Windows 7

Compilatore:  Arduino

Linguaggio: Arduino

Obiettivo didattico:  usare le procedure

Obiettivo dell’ esercitazione:  Far apparire una sequenza di numeri tramite un pulsante sul display a 7 segmenti

Elenco attrezzature e materiali:

1.Scheda Arduino Uno

2.Led a 7 segmenti

3. Cavi di collegamento(x12)

4.Resistenza da 220 ohm (x9)

5.Pulsante

6.Breadboard

7.Cavo usb per collegare arduino con il pc
materialedelgiu

materialedelgiu2

Codice pseudolinguaggio/flowchart

Fai sempre

{

Esegui il sottoprogramma zero

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma uno

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma due

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma tre

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma quattro

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma cinque

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma sei

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma sette

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma otto

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

Esegui il sottoprogramma nove

Aspetta l’input del pulsante

Esegui il sottopramma spegni

Aspetta 500 ms

}

Codice Arduino:

 

int led[7] = {1,2,3,4,5,6,7}; // viene dichiarato un vettore per inzializzate le 7 uscite led

void Spegni(); //funzione per spegnere tutti i LED

void zero(); //funzione per accendere 0

void uno(); //funzione per accendere 1

void due(); //funzione per accendere 2

void tre(); //funzione per accendere 3

void quattro(); //funzione per accendere 4

void cinque(); //funzione per accendere 5

void Sei(); //funzione per accendere 6

void sette(); //funzione per accendere 7

void otto(); //funzione per accendere 8

void nove(); //funzione per accendere 9

#define PULSANTE 8 // viene dichiarato il pulsante collegato al pin 8

void setup()

{

pinMode(PULSANTE,INPUT); // Il pulsante viene dichiarato come input

for(int i=0; i<7; i++) // Vengono inzializzate le varie uscite, in modo da abilitare la tensione corretta per accedere i LED

{

pinMode(led[i],OUTPUT);

}

}

void loop() // La funzione loop permette di continuare ad effettuare le varie operazioni, all’infinito

{

int val=1; //questa variabile serve per indicare il valore del pulsante

int stato=0; // questa variabile serve per indicare lo stato del pulsante

zero();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

uno();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

due();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

tre();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

quattro();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

cinque();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

Sei();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

sette();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

otto();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

nove();

do

{

val=0;

val = digitalRead(PULSANTE); // legge il valore dell’input e lo conserva

}

while(val==0); // Controlla se è premuto il tasto

val=0;

Spegni();

delay(500);

}

void Spegni()

{

for(int i=0; i<7; i++)

{

digitalWrite(led[i],LOW);

}

}

void zero()

{

digitalWrite(1,HIGH); //il comando digitalWrite serve per accendere il led collegato al rispettivo pin

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

}

void uno()

{

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

}

void due()

{

digitalWrite(1,HIGH);

digitalWrite(2,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(7,HIGH);

}

void tre()

{

digitalWrite(1,HIGH);

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(7,HIGH);

}

void quattro()

{

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

}

void cinque()

{

digitalWrite(1,HIGH);

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

}

void Sei()

{

digitalWrite(1,HIGH);

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

}

void sette()

{

digitalWrite(1,HIGH);

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

}

void otto()

{

digitalWrite(1,HIGH);

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

}

void nove()

{

digitalWrite(1,HIGH);

digitalWrite(2,HIGH);

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(6,HIGH);

digitalWrite(7,HIGH);

}

Schema collegamenti elettronici:

schemadelgiu

Descrizione top-down dei passi realizzativi:

  1. Realizzare il circuito
  2. Scrivere il codice arduino
  3. Collegare la scheda arduino al pc tramite il cavo usb
  4. Caricare il programma cliccando sul pulsante “carica” dell‘ambiente software arduino

Test finale:
Premere il pulsante e osservare la sequenza di numeri apparire sul LED.