Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Display a 7 segmenti
2
Introduzione ai diodi e ai led
Diodi e led sono elementi circuitali non lineari formati da semiconduttori. Il simbolo del diodo è il seguente A K Di esso distinguiamo l’anodo A e il catodo K Dalla caratteristica voltamperometrica si nota che il diodo inizia a condurre da una tensione di soglia assorbendo una gran quantità di corrente
3
Condizione di conduzione
+ - + -
4
Led di colori differenti
La tensione di soglia varia da un led all’altro come riportato in tabelle VR (Volt) Vd (Volt) Infrarosso 1.3 Rosso 1.6÷ 1.8 Giallo 1.9÷ 2.2 Arancione 2.0÷ 2.1 Verde 2.0÷ 2.4 Blu 3.0÷ 3.5 Ultravioletto 3.7÷ 4.5 R Vd Vdd Vdd=VR+Vd=R*I+Vd Noto Vdd, I, Vd si può conoscere R
5
Introduzione Il display a 7 segmenti è un dispositivo elettronico formato da 7 led Se tutti i diodi hanno il catodo a massa, il display è detto a catodo comune e, i led si accendono se sui relativi anodi si pone una differenza di potenziale positiva; nel caso dei pin della scheda di arduino, la differenza di potenziale deve essere di 5 V Se tutti i diodi hanno l’anodo sull’alimentazione di 5 V, il display è detto ad anodo comune e, i led si accendono se i relativi catodi sono posti a 0V
6
Anodo comune e catodo comune
7
Anodo comune
8
Catodo comune
9
Contatore con display a 7 segmenti catodo comune
Int a=3, b=4, c=5, d=6, e=7, f=8, g=9; //dichiarazione variabili globali void setup(){ pinMode(a,OUTPUT); //i singoli pin vengono settati come OUTPUT pinMode(b,OUTPUT); pinMode(c,OUTPUT); pinMode(d,OUTPUT); pinMode(e,OUTPUT); pinMode(f,OUTPUT); pinMode(g,OUTPUT); }
10
Contatore con display a 7 segmenti catodo comune
void loo(){ //zero digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,LOW)); delay(3000); //uno digitalWrite(a,LOW); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,LOW); digitalWrite(e,LOW); digitalWrite(f,LOW); digitalWrite(g,LOW)); delay(3000);
11
Contatore con display a 7 segmenti catodo comune
//due digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,LOW); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,LOW); digitalWrite(g,HIGH); delay(3000); //tre digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,LOE); digitalWrite(f,LOW); digitalWrite(g,HIGH); delay(3000);
12
Continuare il contatore come esercizio
13
Contatore con array Con gli array,si risparmia lavoro, spazio e, il programma è più elegante Nel programma si dichiara come variabile globale una matrice di settaggio per far accendere i led byte seg[7][19]{ {0,0,0,0,0,1,0 }, // = 0 { 1,1,1,1,0,1,0 }, // = 1 { 0,1,0,0,1,0,0 }, // = 2 { 0,1,1,0,0,0,0 }, // = 3 { 1,0,1,1,0,0,0 }, // = 4 { 0,0,1,0,0,0,1 }, // = 5 { 0,0,0,0,0,0,1 }, // = 6 { 0,1,1,1,0,1,0 }, // = 7 { 0,0,0,0,0,0,0 }, // = 8 { 0,0,1,1,0,0,0 } // = 9 }; void setup(){int i; for(i=2;i<9;i++)pinMode(i, OUTPUT); //i pin da 2 a 8 sono posti come OUTPUT}
14
Contatore con gli array
void loop(){ int i, j; for(i=0;i<10;i++){ for(j=0;j<7,j++){ digitalWrite(j+2, seg[i][j]);} delay(3000);}
15
Display a 7 segmenti con function
Le function sono dei blocchi di codice esterne al loop Hanno un nome ed un tipo Le function void non passano valori ma svolgono dei compiti stabiliti Es: si vuol far lampeggiare cinque volte il numero tre sul display a 7 segmenti; bisognerebbe scrivere cinque volte il codice per far comparire il numero tre alternando con il display spento. Sarebbe lungo poco elegante. Si ricorre alle function
16
Lampeggio del numero 3 per cinque volte
Int a=3, b=4, c=5, d=6, e=7, f=8, g=9; //dichiarazione variabili globali void setup(){ pinMode(a,OUTPUT); //i singoli pin vengono settati come OUTPUT pinMode(b,OUTPUT); pinMode(c,OUTPUT); pinMode(d,OUTPUT); pinMode(e,OUTPUT); pinMode(f,OUTPUT); pinMode(g,OUTPUT); }
17
Void loop() void loop(){ for(int i=0;i<5;i++){ tre(); delay(3000); zero();
18
Void zero void zero(){ //zero digitalWrite(a,HIGH);
digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,HIGH); digitalWrite(f,HIGH); digitalWrite(g,LOW)); delay(3000);}
19
Void tre void tre(){ //tre digitalWrite(a,HIGH); digitalWrite(b,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); digitalWrite(e,LOE); digitalWrite(f,LOW); digitalWrite(g,HIGH); delay(3000); }
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.