arduino e display de 7 segmentos com 4
TRANSCRIPT
-
7/25/2019 Arduino e Display de 7 Segmentos Com 4
1/7
Arduino e display de 7segmentos com 4 digitosOl galera. A dica de hoje como utilizar um display de 7 segmentos com 4 dgitos, com esse display
possvel fazer vrios projetos como relgios, visualizao de dados de sensores de temperatura, distancia,
possvel ainda criar cronmetros entre outros.
Esse display foi um presente que ganhei de um amigo certa vez Como ele iria joga-lo fora e eu
pensei que algum dia poderia ser til ter um desses, pedi a ele que me presenteasse (risos)
Enfim, acabei guardando to bem o presente que demorei a encontra-lo, mas como naquele ditado em que
diz: Quem procura acha! Acabei encontrando-o e resolvi criar esse tutorial.
Primeiramente devemos recorrer ao seu datasheet que pode ser encontradoAQUI,
ou ainda ver a figura
abaixo:
http://173.221.253.170/paralght-pdf/C-A-574X.pdfhttp://173.221.253.170/paralght-pdf/C-A-574X.pdfhttp://173.221.253.170/paralght-pdf/C-A-574X.pdfhttp://173.221.253.170/paralght-pdf/C-A-574X.pdfhttp://173.221.253.170/paralght-pdf/C-A-574X.pdf -
7/25/2019 Arduino e Display de 7 Segmentos Com 4
2/7
Como voces podem ver os anodos so os pinos 12, 9, 8 e 6. Os demais pinos so para os segmentos: A
pino 11, B pino 7, C pino 4, D pino 2, E pino 1, F pino 10, G pino 5 e DP (pontos) pino 3.
Sabendo disso, segue um cdigo simples de como mostrar os nmeros:
001/*
002# Autor: Fernando Krein Pinheiro
003# Data: 10/07/2012
004# Linguagem: C/C++
005
006# ========= IMPORTANTE ===========
007# O codigo esta livre para usar,
008# citar e compartilhar desde que
009# mantida sua fonte e seu autor.
http://ferpinheiro.files.wordpress.com/2012/07/captura-de-tela-de-2012-07-10-210438.png -
7/25/2019 Arduino e Display de 7 Segmentos Com 4
3/7
010# Obrigado.
011
012=================================*/
013
014#define DIGITO_1 9 //Anodo 12
015#define DIGITO_2 10 //Anodo 9
016#define DIGITO_3 11 // Anodo 8
017#define DIGITO_4 12 //Anodo 6
018
019#define SEGMENTO_A 2 // display 11
020#define SEGMENTO_B 3 // dysplay 7
021#define SEGMENTO_C 4 // display 4
022#define SEGMENTO_D 5 // display 2
023#define SEGMENTO_E 6 // display 1
024#define SEGMENTO_F 7 // display 10025#define SEGMENTO_G 8 // display 5
026#define PONTO 13 // display 3
027
028#define ON HIGH
029#define OFF LOW
030
031voidsetup()
032{
033034 pinMode(DIGITO_1, OUTPUT);
035 pinMode(DIGITO_2, OUTPUT);
036 pinMode(DIGITO_3, OUTPUT);
037 pinMode(DIGITO_4, OUTPUT);
038 pinMode(PONTO, OUTPUT);
039
040 pinMode(SEGMENTO_A, OUTPUT);
041 pinMode(SEGMENTO_B, OUTPUT);
042 pinMode(SEGMENTO_C, OUTPUT);
043 pinMode(SEGMENTO_D, OUTPUT);044 pinMode(SEGMENTO_E, OUTPUT);
045 pinMode(SEGMENTO_F, OUTPUT);
046 pinMode(SEGMENTO_G, OUTPUT);
047
048}
049
050voidloop()
051{
052 digitalWrite(DIGITO_1, HIGH);053 digitalWrite(DIGITO_2, HIGH);
-
7/25/2019 Arduino e Display de 7 Segmentos Com 4
4/7
054 digitalWrite(DIGITO_3, HIGH);
055 digitalWrite(DIGITO_4, HIGH);
056 digitalWrite(PONTO, HIGH);
057
058 ZERO();
059 delay(1000);
060 UM();
061 delay(1000);
062 DOIS();
063 delay(1000);
064 TRES();
065 delay(1000);
066 QUATRO();
067 delay(1000);
068 CINCO();
069 delay(1000);
070 SEIS();
071 delay(1000);
072 SETE();
073 delay(1000);
074 OITO();
075 delay(1000);
076 NOVE();
077 delay(1000);
078079}
080voidZERO()
081{
082 digitalWrite(SEGMENTO_A, LOW);
083 digitalWrite(SEGMENTO_B, LOW);
084 digitalWrite(SEGMENTO_C, LOW);
085 digitalWrite(SEGMENTO_D, LOW);
086 digitalWrite(SEGMENTO_E, LOW);
087 digitalWrite(SEGMENTO_F, LOW);
088 digitalWrite(SEGMENTO_G, HIGH);
089}
090voidUM()
091{
092 digitalWrite(SEGMENTO_A, HIGH);
093 digitalWrite(SEGMENTO_B, LOW);
094 digitalWrite(SEGMENTO_C, LOW);
095 digitalWrite(SEGMENTO_D, HIGH);
096 digitalWrite(SEGMENTO_E, HIGH);
097 digitalWrite(SEGMENTO_F, HIGH);098 digitalWrite(SEGMENTO_G, HIGH);
-
7/25/2019 Arduino e Display de 7 Segmentos Com 4
5/7
099}
100voidDOIS()
101{
102 digitalWrite(SEGMENTO_A, LOW);
103 digitalWrite(SEGMENTO_B, LOW);
104 digitalWrite(SEGMENTO_C, HIGH);
105 digitalWrite(SEGMENTO_D, LOW);
106 digitalWrite(SEGMENTO_E, LOW);
107 digitalWrite(SEGMENTO_F, HIGH);
108 digitalWrite(SEGMENTO_G, LOW);
109
110}
111voidTRES()
112{
113 digitalWrite(SEGMENTO_A, LOW);114 digitalWrite(SEGMENTO_B, LOW);
115 digitalWrite(SEGMENTO_C, LOW);
116 digitalWrite(SEGMENTO_D, LOW);
117 digitalWrite(SEGMENTO_E, HIGH);
118 digitalWrite(SEGMENTO_F, HIGH);
119 digitalWrite(SEGMENTO_G, LOW);
120}
121voidQUATRO()
122{
123 digitalWrite(SEGMENTO_A, HIGH);
124 digitalWrite(SEGMENTO_B, LOW);
125 digitalWrite(SEGMENTO_C, LOW);
126 digitalWrite(SEGMENTO_D, HIGH);
127 digitalWrite(SEGMENTO_E, HIGH);
128 digitalWrite(SEGMENTO_F, LOW);
129 digitalWrite(SEGMENTO_G, LOW);
130
131}
132voidCINCO()133{
134 digitalWrite(SEGMENTO_A, LOW);
135 digitalWrite(SEGMENTO_B, HIGH);
136 digitalWrite(SEGMENTO_C, LOW);
137 digitalWrite(SEGMENTO_D, LOW);
138 digitalWrite(SEGMENTO_E, HIGH);
139 digitalWrite(SEGMENTO_F, LOW);
140 digitalWrite(SEGMENTO_G, LOW);
141}
142voidSEIS()143{
-
7/25/2019 Arduino e Display de 7 Segmentos Com 4
6/7
144 digitalWrite(SEGMENTO_A, LOW);
145 digitalWrite(SEGMENTO_B, HIGH);
146 digitalWrite(SEGMENTO_C, LOW);
147 digitalWrite(SEGMENTO_D, LOW);
148 digitalWrite(SEGMENTO_E, LOW);
149 digitalWrite(SEGMENTO_F, LOW);
150 digitalWrite(SEGMENTO_G, LOW);
151}
152voidSETE()
153{ digitalWrite(SEGMENTO_A, LOW);
154 digitalWrite(SEGMENTO_B, LOW);
155 digitalWrite(SEGMENTO_C, LOW);
156 digitalWrite(SEGMENTO_D, HIGH);
157 digitalWrite(SEGMENTO_E, HIGH);
158 digitalWrite(SEGMENTO_F, HIGH);159 digitalWrite(SEGMENTO_G, HIGH);
160
161}
162voidOITO()
163{
164 digitalWrite(SEGMENTO_A, LOW);
165 digitalWrite(SEGMENTO_B, LOW);
166 digitalWrite(SEGMENTO_C, LOW);
167 digitalWrite(SEGMENTO_D, LOW);
168 digitalWrite(SEGMENTO_E, LOW);169 digitalWrite(SEGMENTO_F, LOW);
170 digitalWrite(SEGMENTO_G, LOW);
171
172}
173voidNOVE()
174{ digitalWrite(SEGMENTO_A, LOW);
175 digitalWrite(SEGMENTO_B, LOW);
176 digitalWrite(SEGMENTO_C, LOW);
177 digitalWrite(SEGMENTO_D, HIGH);178 digitalWrite(SEGMENTO_E, HIGH);
179 digitalWrite(SEGMENTO_F, LOW);
180 digitalWrite(SEGMENTO_G, LOW);
181
182}
E para minha tristeza e insatisfao, um dos segmentos do primeiro digito est queimado portanto no
liga e no forma o numero corretamente.
Mas nesse casso ele pode ser isolado via cdigo e ainda assim tenho 3 dgitos!
Veja o vdeo:
-
7/25/2019 Arduino e Display de 7 Segmentos Com 4
7/7