Você está na página 1de 18

Centro Tecnolgico Positivo

Tecnologia em Automao Industrial

Luis Carlos da Silva Bruno


Maikon Benedito dos Santos
Marcel Seiji Iquematsu
Tiago Davila Pereira

Relatrio Aula Pratica 10

Curitiba
2014

Centro Tecnolgico Positivo


Tecnologia em Automao Industrial

Semforo com Multiplexao de Pinos

Relatrio

para

competncias
Eletrnica
Automao

obteno

da

Digital

das

disciplina
do

Industrial

Curso
do

de
de

Centro

Tecnolgico Positivo.
Professor: Eduardo Nascimento de
Freitas

Curitiba
2014

Sumrio
1. INTRODUO................................................................................................................... 5
2. REFERENCIAL TERICO ............................................................................................... 6
2.1. Aplicao de multiplexadores ........................................................................................ 6
2.1.1. Roteamento de dados ............................................................................................. 6
2.1.2. Converso paralelo-srie ........................................................................................ 7
2.1.3. Gerao de funes lgicas .................................................................................... 8
2.2. DEMULTIPLEXADORES(DISTRIBUIDORES DE DADOS) ........................................... 9
2.2.1. Demultiplexador de 1 para 8 linhas ....................................................................... 10
3. DESENVOLVIMENTO LAB 10 Semforo com multiplexao de pinos ......................... 11
4. CONCLUSO .................................................................................................................. 17
5. REFERNCIAS BIBLIOGRAFICAS ................................................................................. 18

ndice de Figuras, Grficos e Tabelas.


Figura 01 Exemplo da utilizao de multiplexao ................................................................................ 7
Figura 02 (a) conversor paralelo-srie; (b) formas de onda para
Figura 03 Multiplexador usado para implementar uma

funo

...... 8
lgica

descrita por uma tabela

verdade ...................................................................................................................................................... 9
Figura 04 Demultiplexador genrico .................................................................................................... 10
Figura 05 Demulplexador de 1 para 8 linhas ...................................................................................... 10
Figura 06 Diagrama de ligao do circuito. .............................................................................................. 11

1. INTRODUO

Como experincia 10, foi proposta a construo de um semforo com multiplexao


de pinos, deve possuir quatro estgios independentes e controle de tempo. Deve ser
construdo utilizando a plataforma Arduino e conter cdigo de programao em C++.
Para a construo do projeto de fundamental importncia a compreenso do
funcionamento da multiplexao de pinos, o assunto est descrito durante a fundamentao
terica.

2. REFERENCIAL TERICO
2.1. Aplicao de multiplexadores
Circuitos multiplexadores encontram numerosas e diversas aplicaes em sistemas
digitais de todos os tipos. Essas aplicaes incluem seleo de dados, roteamento de
dados, sequenciamento de operaes, converses paralelo-srie, gerao de formas de
onda e gerao de funes logicas.

2.1.1. Roteamento de dados


Multiplexadores podem rotear dados de diversas fontes para um destino. Uma
aplicao tpica usa multiplexadores 74ALS157 para selecionar e apresentar o contedo de
dois contadores BCD usando um nico conjunto de decodificador/driver e display de LEDs. A
configurao do circuito mostrada na Figura 01.
Cada contador consiste de dois estgios BCD em cascata e cada um acionado com
um sinal de clock prprio. Quando a linha SELECIONA_CONTADOR estiver em nvel
ALTO, as sadas do contador 1 estaro habilitadas a passar pelo multiplexador para o
decodificador/driver para serem apresentadas no display de LEDs.

Quando a linha

SELECIONA_CONTADOR = 0, as sadas do contador 2 passaro pelos multiplexadores para


o display. Desse modo, o contedo de um contador ou do outro ser mostrado no display
sob o controle da entrada SELECION_CONTADOR.
O propsito da tcnica de multiplexao compartilhar os circuitos dos
decodificadores/drivers e displays entre dois contadores, em vez de ter um conjunto
individual de decodificadores drivers e displays para cada contador. Isso resulta em uma
economia significativa de conexes,

especialmente quando mais estgios BCD so

acrescentados em cada contador o mais importante ainda que isso representa uma
diminuio significativa no consumo de potncia, porque os decodificadores/drivers e
displays de LEDs absorvem, relativamente, grandes quantidades de corrente da fonte
VCC. Naturalmente, essa tcnica tem a limitao de que apenas o contedo de um contador
pode ser apresentado no display de cada vez. Entretanto, em muitas aplicaes, isso no
uma desvantagem. Uma configurao de chaves mecnicas poderia ter sido usada para
realizar a funo de comutar primeiro um contador e, em seguida, o outro para os
decodificadores/drivers e displays, mas o nmero necessrio de chaves, a complexidade das

7
conexes e o tamanho fsico poderiam ser desvantagens em relao ao mtodo puramente
lgico mostrado na Figura 01

Figura 01 Exemplo da utilizao de multiplexao

2.1.2. Converso paralelo-srie


Muitos sistemas digitais processam dados binrios no formato paralelo (todos os bits
simultaneamente) dessa maneira mais rpido. Entretanto, quando se transmitem dados
em distncias relativamente longas, a configurao paralela no desejvel porque
necessrio um grande nmero de linhas transmisso. Por essa razo, dados ou informaes
binrias no formato paralelo so frequentemente convertidos no formato serial antes de serem
transmitidos para um destino remoto. Um mtodo de realizar essa converso paralelo-srie
usa um multiplexador, conforme est ilustrado na Figura 02.
Os dados so apresentados no formato paralelo na sada do registrador Xe colocados
nas oito entradas do multiplexador Um contador de trs bits (mdulo 8) usado para gerar os
bits do cdigo de seleo

de modo que ele cicle de 000 a 111 medida que os

pulsos de clock forem aplicados. Desse modo, a sada do multiplexador ser

durante o

8
primeiro perodo do clock,

durante o segundo perodo de clock e assim por diante. A sada

Z uma forma de onda que a representao serial do dado paralelo de entrada. As formas
de onda mostradas na figura so para o caso no qual

. Esse

processo de converso gasta um total de oito ciclos de clock.

Figura 02 (a) conversor paralelo-srie; (b) formas de onda para

2.1.3. Gerao de funes lgicas


Multiplexadores podem ser usados para implementar funes lgicas diretamente da
tabela-verdade sem a necessidade de simplificao. Quando um multiplexador usado com
essa finalidade, as entradas de seleo so variveis lgicas, e cada dado de entrada
conectado permanentemente em nvel AITO ou BADO conforme necessrio para satisfazer a
tabela-verdade.
A Figura 03 ilustra como um multiplexador de oito entradas pode ser usado para
implementar o circuito lgico que satisfaz tabela-verdade dada. As variveis de entrada

9
A, B, c so conectadas em a

, respectivamente, de modo que os nveis nessas

entradas determinam o dado de entrada que aparecer na sada Z. tabela-verdade, z deve


estar em nvel BAIXO quando CBA = 000. De acordo com a tabela-verdade Z deve estar em
nvel BAIXO para CBA = 011, 100, 101 e 110, assim as entradas

devem ser

conectadas em nvel BAIXO. Os conjuntos de condies CBA tm de gerar Z = 1


e,

portanto,

as outros entradas 4,

12 e 17 do multiplexador esto conectadas

permanentemente em nvel ALTO.

Figura 03 Multiplexador usado para implementar uma funo lgica descrita por uma tabela verdade

2.2. DEMULTIPLEXADORES(DISTRIBUIDORES DE DADOS)


Um multiplexador recebe vrias entradas e transmite uma delas para a sada. Um
demultiplexador (DEMUX) realiza a operao inversa: ele recebe uma nica entrada e a
distribui para vrias sai.

das.

A Figura 04 mostra o diagrama funcional para um

demultiplexador digital. As setas mais largas nas entradas e sadas podem representar uma
ou mais linhas.
O cdigo de entrada de seleo determina para qual sada de dados o DADO de
entrada ser transmitido. Em outras palavras, o demultiplexador recebe uma fonte de dados
e a distribui seletivamente para um dos N canais de sada como se fosse uma chave de
vrias posies.

10

Figura 04 Demultiplexador genrico

2.2.1. Demultiplexador de 1 para 8 linhas


A Figura 05 mostra o diagrama lgico para um demultiplexador que distribui uma linha
de entrada oito linhas de sada. A nica linha I de entrada de dados conectada em todas as
oito portas para AND, mas apenas uma dessas portas ser habilitada pelas linhas de entrada
de SELEO. Por exemplo, com
entrada de dados I aparecer na sada

000, apenas a porta AND 0 ser habilitada, a


. A tabela-verdade resume de a operao.

Figura 05 Demulplexador de 1 para 8 linhas

11

3. DESENVOLVIMENTO LAB 10 Semforo com multiplexao de


pinos
O projeto do Lab10 consiste na construo de um semforo de quatro pontos
independentes com sadas multiplexadas. A temporizao do circuito deve seguir o ramo
principal.

Vermelho (fechado) 20 seg;

Amarelo (ateno) - 5 seg;

Verde (siga) 15 seg;

Figura 07 Diagrama de ligao do circuito

A construo do programa para o devido funcionamento segue a seguinte sequencia:


//semafaro

int pino10 = 10;


int pino11 = 11;

int pino2 = 2;

int pino12 = 12;

int pino3 = 3;
int pino4 = 4;

void setup ()

int pino9 = 9;

12
pinMode(2, OUTPUT);

digitalWrite (12,1);

pinMode(3, OUTPUT);

delay(5);

pinMode(4, OUTPUT);
pinMode(9, OUTPUT);

// s3

pinMode(10, OUTPUT);
pinMode(11, OUTPUT);

digitalWrite (2,0); // liga led vermelho

pinMode(12, OUTPUT);

digitalWrite (3,0); // liga led amarelo


digitalWrite (4,1); // liga led verde

}
digitalWrite (9,1);
void loop ()

digitalWrite (10,0);

digitalWrite (11,1);
digitalWrite (12,1);

for ( int count = 0; count < 200; count ++){

delay(5);

// s1 // loop 1

// s2

digitalWrite (2,1); // liga led vermelho

digitalWrite (2,1); // liga led vermelho

digitalWrite (3,0); // liga led amarelo

digitalWrite (3,0); // liga led amarelo

digitalWrite (4,0); // liga led verde

digitalWrite (4,0); // liga led verde

digitalWrite (9,0);

digitalWrite (9,1);

digitalWrite (10,1);

digitalWrite (10,1);

digitalWrite (11,1);

digitalWrite (11,0);

13
digitalWrite (12,1);

digitalWrite (9,0);

delay(5);

digitalWrite (10,1);
digitalWrite (11,1);

// s4

digitalWrite (12,1);
delay(5);

digitalWrite (2,0); // liga led vermelho


digitalWrite (3,0); // liga led amarelo

// s3

digitalWrite (4,1); // liga led verde


digitalWrite (2,0); // liga led vermelho
digitalWrite (9,1);

digitalWrite (3,1); // liga led amarelo

digitalWrite (10,1);

digitalWrite (4,0); // liga led verde

digitalWrite (11,1);
digitalWrite (12,0);

digitalWrite (9,1);

delay(5);

digitalWrite (10,0);
digitalWrite (11,1);

digitalWrite (12,1);

for ( int count = 0; count < 185; count ++){

delay(5);

// s1 //loop 2

// s2

digitalWrite (2,1); // liga led vermelho

digitalWrite (2,1); // liga led vermelho

digitalWrite (3,0); // liga led amarelo

digitalWrite (3,0); // liga led amarelo

digitalWrite (4,0); // liga led verde

digitalWrite (4,0); // liga led verde

14
digitalWrite (9,1);

digitalWrite (3,0); // liga led amarelo

digitalWrite (10,1);

digitalWrite (4,1); // liga led verde

digitalWrite (11,0);
digitalWrite (12,1);

digitalWrite (9,0);

delay(5);

digitalWrite (10,1);
digitalWrite (11,1);

// s4

digitalWrite (12,1);
delay(5);

digitalWrite (2,0); // liga led vermelho


digitalWrite (3,1); // liga led amarelo

// s3

digitalWrite (4,0); // liga led verde


digitalWrite (2,1); // liga led vermelho
digitalWrite (9,1);

digitalWrite (3,0); // liga led amarelo

digitalWrite (10,1);

digitalWrite (4,0); // liga led verde

digitalWrite (11,1);
digitalWrite (12,0);

digitalWrite (9,1);

delay(5);

digitalWrite (10,0);
digitalWrite (11,1);

digitalWrite (12,1);

for ( int count = 0; count < 200; count ++){

delay(5);

// s1 //loop 3

// s2

digitalWrite (2,0); // liga led vermelho

digitalWrite (2,0); // liga led vermelho

15
digitalWrite (3,0); // liga led amarelo

// s1 // loop 4

digitalWrite (4,1); // liga led verde


digitalWrite (2,0); // liga led vermelho
digitalWrite (9,1);

digitalWrite (3,1); // liga led amarelo

digitalWrite (10,1);

digitalWrite (4,0); // liga led verde

digitalWrite (11,0);
digitalWrite (12,1);

digitalWrite (9,0);

delay(5);

digitalWrite (10,1);
digitalWrite (11,1);

// s4

digitalWrite (12,1);
delay(5);

digitalWrite (2,1); // liga led vermelho


digitalWrite (3,0); // liga led amarelo

// s3

digitalWrite (4,0); // liga led verde


digitalWrite (2,1); // liga led vermelho
digitalWrite (9,1);

digitalWrite (3,0); // liga led amarelo

digitalWrite (10,1);

digitalWrite (4,0); // liga led verde

digitalWrite (11,1);
digitalWrite (12,0);

digitalWrite (9,1);

delay(5);

digitalWrite (10,0);
digitalWrite (11,1);

digitalWrite (12,1);

for ( int count = 0; count < 185; count ++){

delay(5);

16
// s2
digitalWrite (2,1); // liga led vermelho
digitalWrite (2,0); // liga led vermelho

digitalWrite (3,0); // liga led amarelo

digitalWrite (3,1); // liga led amarelo

digitalWrite (4,0); // liga led verde

digitalWrite (4,0); // liga led verde


digitalWrite (9,1);
digitalWrite (9,1);

digitalWrite (10,1);

digitalWrite (10,1);

digitalWrite (11,1);

digitalWrite (11,0);

digitalWrite (12,0);

digitalWrite (12,1);

delay(5);

delay(5);
}
// s4

17

4. CONCLUSO

Para o Laboratrio 10, foi realizada a montagem de semforo com multiplexao de


pinos. O semforo construdo possui quatro pontos independentes e conforme o programa
construdo, o semforo permanece com a sequencia S1 e S2 verdes enquanto as sequencias
S3 e S4 estaro vermelhos, aps a contagem dos ciclos definidos no programa, os semforos
da sequencia S1 e S2 passaro de verde para laranja e na sequencia de temporizao para
vermelho, ento os semforos da sequencia S3 e S4 passaro de vermelho para verde e
conclui o programa.
Como no podemos utilizar o comando DELAY por um grande perodo, pois
compromete o funcionamento do circuito, utilizamos o comando CONT para realizar uma
contagem de ciclos e o comando DELAY por um perodo de 5ms, aparentemente o led esta
ligado, mas esta oscilando a uma frequncia de 5ms aparentemente imperceptvel ao olho
humano, com isso conseguimos realizar o correto funcionamento. O programa possui quatro
comandos CONT que realiza a sequencia do semforo.

18

5. REFERNCIAS BIBLIOGRAFICAS

TOCCI, Ronald J.; WIDMER, Neal S.; Sistemas digitais: princpios e aplicaes. 7. ed. So
Paulo: Editora JC, 2008.
TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais: princpios e
aplicaes. 10. ed. So Paulo: Pearson Prentice Hall, 2011.