arduino e display de 7 segmentos com 4

Upload: everton-alves

Post on 25-Feb-2018

213 views

Category:

Documents


0 download

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