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
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:
Descrizione top-down dei passi realizzativi:
- Realizzare il circuito
- Scrivere il codice arduino
- Collegare la scheda arduino al pc tramite il cavo usb
- 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.
Commenti recenti