Professional Documents
Culture Documents
ALUNOS:
BELO HORIZONTE,
24/06/2018
1. INTRODUÇÃO
No decorrer dos anos, os dispositivos eletrônicos vem assumindo um posição considerável no
nosso dia a dia em diversas aplicações, sendo no ramo da comunicação ou até mesmo em
sistemas mais sofisticados. Este avanço está ocorrendo em diversas áreas da sociedade,
variando desde um aparelho celular à um processo industrial, e independente do ramo de
atuação, a maioria dessas tecnologias nos traz uma maior flexibilidade, aplicabilidade,
eficiência, entre diversos outros fatores impactantes.
Um exemplo, é a criação da trena digital, equipamento abordado neste artigo, que consegue
aferir medições que podem chegar a longas distâncias com uma enorme facilidade quando se
compara à sua versão antiga, já que demonstra uso simples e o resultado possui uma
eficiência bastante satisfatória.
2. DESENVOLVIMENTO
2.1. TEMA PROPOSTO E ADEQUAÇÕES
O tema escolhido como referência para a construção do projeto foi: decodificadores. Nele o
objetivo era implementar um circuito digital que utilize pelo menos dois decodificadores
distintos na aplicação do circuito, e o desafio proposto está demonstrado abaixo.
Para a construção do nosso produto utilizamos a mesma ideia, onde que exibimos informações
por meio de dois displays 7 seguimentos, juntamente com um decodificador BCD (CD4511)
para cada um, porém, no lugar do decodificador n:m, decidimos utilizar um demultiplexador
(74LS155).
Com o intuito de complementar o circuito base, optamos por incluir um contador, inserido
internamente no microcontrolador (arduino), onde que este contador será controlado por um
sistema manual, controlado por botões que irão somar, subtrair ou resetar os valores no
display, e um sistema automático, que é composto por um sensor ultrassônico (HC-SR04).
Este artigo apresentará a utilização de uma Arduino UNO para a leitura de um sensor
ultrassônico, convertendo os dados lidos para valores binários e levando-os para a saída
alimentando um decodificador BCD que fornecera os valores adequados à displays de 7
segmentos.
2.2.3. CI 4511
O pino LT (Lamp Test) corresponde a uma entrada de teste de todos os segmentos do display
em sua saída. Devido a sua entrada conter um inversor, para que o funcionamento do CI se
normalize, basta manter este pino com sinal alto.
O pino BI (Blank Input) corresponde a uma entrada que apaga todos os segmentos do display
em sua saída. Devido a sua entrada conter um inversor, para que o funcionamento do CI se
normalize, basta manter este pino com sinal alto.
O pino LE (Latch Enable), corresponde a uma entrada que congela o último valor apresentado
pelo display quando se recebe um valor alto. Para que o funcionamento do CI se normalize,
basta manter este pino em sinal baixo.
2.2.4. CI 74LS155
Multiplexador
Figura 6– Multiplexador
Demultiplexador
Figura 7– Demultiplexador
DM74LS155 - Duplo Demultiplexador 1 de 4
Este circuito integrado TTL é apresentado em invólucro DIL de 16 pinos, conforme mostra a
figura 8.
Figura 8– CI DM74LS155
O trabalho contempla dois modos de funcionamento. O primeiro modo permite que seja
implementada a funcionalidade de trena digital, utilizado o arduino juntamente com o sensor
ultrassônico e mostrando a distancia encontrada em dois displays de 7 seguimentos.
O segundo modo que o trabalho contém é um contador utilizando três botões, um para
acréscimo, outro para decréscimo e um ultimo para reset na contagem. O valor atual da
contagem é exibido nos displays em tempo real.
É importante salientar que os displays são acionados pelos elementos de eletrônica digital,
demultiplexador e decodificadores. O arduino apenas envia sinais de nível lógico alto ou baixo.
3. CONCLUSÃO
Conclui-se que, o trabalho foi criado conforme o solicitado pelo professor, englobando todos os
passos, desde pesquisa a implementação. O circuito funcionou de maneira anômala no que
condiz ao funcionamento do CI BD4511 em conjunto com o arduino.
Os integrantes supõem que o arduino não possui corrente suficiente para comandar todos os
elementos do circuito, optando assim por apresentar outro protótipo em funcionamento.
O protótipo apresentado será um contador, como apresentado neste trabalho, porem utilizando
elementos da eletrônica digital pura.
4. REFERENCIA BIBLIOGRÁFICA
Demultiplexador - http://www.newtoncbraga.com.br/index.php/como-funciona/1214-art0159 e
www.fairchildsemi.com 24/06/18
Notas de aula;
TOCCI, Ronald J. Sistemas digitais: princípioa e aplicações. 11.ed. São Paulo: Pearson
Education do Brasil, 2011. 817p. ISBN 9788576059226.
5. APÊNDICE
5.1. ALGORITMO DE CONTROLE
/* Titulo: Type 29
Autor: Rafael Lopes Almeida
email: fael.rlopes@gmail.com
Data: 03/06/2018
*/
#include <Ultrasonic.h>
#define pino_trigger 4
#define pino_echo 5
Ultrasonic ultrasonic(pino_trigger, pino_echo);
case 1:
digitalWrite (A, LOW);
digitalWrite (B, LOW);
digitalWrite (C, LOW);
digitalWrite (D, HIGH);
break;
case 2:
digitalWrite (A, LOW);
digitalWrite (B, LOW);
digitalWrite (C, HIGH);
digitalWrite (D, LOW);
break;
case 3:
digitalWrite (A, LOW);
digitalWrite (B, LOW);
digitalWrite (C, HIGH);
digitalWrite (D, HIGH);
break;
case 4:
digitalWrite (A, LOW);
digitalWrite (B, HIGH);
digitalWrite (C, LOW);
digitalWrite (D, LOW);
break;
case 5:
digitalWrite (A, LOW);
digitalWrite (B, HIGH);
digitalWrite (C, LOW);
digitalWrite (D, HIGH);
break;
case 6:
digitalWrite (A, LOW);
digitalWrite (B, HIGH);
digitalWrite (C, HIGH);
digitalWrite (D, LOW);
break;
case 7:
digitalWrite (A, LOW);
digitalWrite (B, HIGH);
digitalWrite (C, HIGH);
digitalWrite (D, HIGH);
break;
case 8:
digitalWrite (A, HIGH);
digitalWrite (B, LOW);
digitalWrite (C, LOW);
digitalWrite (D, LOW);
break;
case 9:
digitalWrite (A, HIGH);
digitalWrite (B, LOW);
digitalWrite (C, LOW);
digitalWrite (D, HIGH);
break;
}
}
void loop()
{
if (digitalRead(mode) == HIGH)
{
SW = 1;
}
else if (digitalRead(mode) == LOW)
{
SW = 0;
}
switch (SW)
{
case 0: //TRENA
microsec = ultrasonic.timing(); // Ultrasom
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM); // Ultrasom em CM
numbertodisplay(cmMsec); // Converte para BCD
break;
case 1: //CONTADOR
if (digitalRead(but1) == HIGH) // Incremento de Contador
{
cont = ++cont;
numbertodisplay(cont); // Converte para BCD
if (cont == 99)
{
cont = 0;
numbertodisplay(cont); // Converte para BCD
}
}
if (cont < 0)
{
cont = 0;
numbertodisplay(cont); // Converte para BCD
}
}