SISTEMAS DIGITAIS Laboratório 1 RELATÓRIO Identificação dos Alunos: Nome:Gonçalo Santos Número:84070 Nome:Bernardo Bastos Número: 84012 Turno de Laboratório: SD4517L05 Grupo: 73 Sala do Laboratório: LSD1 Hora: 12:30-14:00 Nome do Docente: Aleksandar Ilic SISTEMAS DIGITAIS 2015-2016, MEEC INTRODUÇÃO O objetivo deste trabalho de laboratório é desenvolver um dispositivo de separação de produtos alimentares baseado na identificação dos códigos de barras presentes nas respetivas embalagens. Este circuito desenvolvido para a cadeia de supermercados Trigo Doce, tem a capacidade de identificar dezasseis produtos distintos e ainda permite ao utilizador classifica-los em categorias distintas. Para além disso pretende-se que o aluno aplique os conceitos lecionados nas aulas teóricas e se familiarize com a utilização e implementação de circuitos combinatórios. 1.MONTAGEM E VERIFICAÇÃO DO CIRCUITO COMBINATÓRIO 1.1. Determinação das constantes K0, K1, K2, K3 e dos Códigos de cada produto Divisão por 2 Resto 84012 42006 0 84070 42035 0 Divisão por 4 Resto K0 21003 0 K1 K2 21017 2 K3 Para determinar as constantes consideramos o menor e o maior número de aluno de entre os membros do grupo, 84012 e 84070 respetivamente. Fig 1 - Obtenção das constantes Operação K0 K1 + 8 K2 + 6 K3 + 12 K0 + 2 K2 + 4 (K0 + 1)𝑚𝑜𝑑2 (K1 + 1)𝑚𝑜𝑑4 + 8 (K1 + 2)𝑚𝑜𝑑4 + 8 (K1 + 3)𝑚𝑜𝑑4 + 8 (K2 + 1)𝑚𝑜𝑑2 + 6 (K3 + 1)𝑚𝑜𝑑4 + 12 (K3 + 2)𝑚𝑜𝑑4 + 12 (K3 + 3)𝑚𝑜𝑑4 + 12 (K0 + 1)𝑚𝑜𝑑2 + 2 (K2 + 1)𝑚𝑜𝑑2 + 4 Código 0 8 6 14 2 4 1 9 10 11 7 15 12 13 3 5 Categoria C0 C0 C0 C1 C2 C3 NA NA NA NA NA NA NA NA NA NA Fig 2 - Obtenção dos Códigos 2 Descrição Maçã Golden Abacaxi Bananas Sumo de Laranja Leite Meio Gordo Arroz Copos Pratos Descartáveis Vassoura Sacos do Lixo Esfregão Lâmpada 60W Balde Escova Talheres de Plástico Pá SISTEMAS DIGITAIS 2015-2016, MEEC 1.2. Tabela de verdade da função Atribuindo valores (0 ou 1) a cada uma das variáveis, A3, A2, A1 e A0 obtivemos um valor em binário que corresponde ao código do produto correspondente. De seguida, de acordo com a categoria do produto, obtivemos o resultado das funções C3, C2, C1 e C0 e registamos na seguinte tabela. Fig 3 - Tabela de verdade das funções Booleanas C3, C2, C1 e C0 1.3. Projeção do circuito combinatório e descrição do funcionamento do mesmo. Fig 4 – Modelo do tapete rolante Identificação da Categoria Descrição do circuito: Quando o produto chega ao tapete rolante é identificado e é-lhe atribuído um valor em binário correspondente ao código em decimal do mesmo. Para este efeito, implementamos um Demultiplexer 4:16 que permite identificar o produto a partir do seu valor em binário, (por exemplo, o código 0000 ativa a saída 0, o que permite ao utilizador saber que o produto identificado é a Maçã Golden). Após a identificação dos produtos, o utilizador tem a capacidade de dividi-los nas seguintes categorias: C0 – Frutas/Legumes, C1 – Bebidas, C2 – Lacticínios, C3 – Cereais e Massas/Pastas. Se o produto pertence-se a alguma destas categorias, era direcionado para um tapete secundário correspondente à categoria do mesmo. Se o produto não pertencesse a nenhuma destas categorias, é considerado não alimentar e, como tal, permanece no tapete principal. Para simplificar o circuito, recorremos a portas NAND3 e agrupamos os produtos que pertencem à mesma categoria, reduzindo assim o número de entradas do Multiplexer a usar mais à frente. 3 SISTEMAS DIGITAIS 2015-2016, MEEC Como os valores das saídas do Demultiplexer saem negadas, foi necessário utilizarmos portas NOT para inverter o valor da função, assim se o produto pertencer a C0 o valor da função que sai do multiplexer é 0 que negado fica 1, sendo este valor que entra no Multiplexer. Para dividir os produtos nas diferentes categorias alimentares recorremos a um Multiplexer 4:1, controlado por dois bits de controlo P1, P0. Desta forma, se o produto identificado anteriormente for alimentar, o valor da função final S irá ser dado de acordo com a seguinte tabela: P1 P0 S 0 0 C0 0 1 C1 1 0 C2 1 1 C3 Fig 5 – Tabela de verdade da função final S. 1.4 Fig 6 – Represenção do logigrama do circuito combinatório. Circuito Elétrico De seguida, com recurso aos datasheets dos componentes em questão, elaboramos o circuito elétrico. Assim, identificamos quais os circuitos integrados que necessitávamos e o que era necessário ligar aos pinos de entrada, saída, enable e seleção de cada um desses circuitos. Fig 7 – Cicuito Elétrico 2. MONTAGEM E VERIFICAÇÃO DO CIRCUITO COMBINATÓRIO 2.1 Montagem do circuito inicia Após termos todos os materiais necessário para realizar a montagem, começámos por ligar as entradas A3,A2,A1,A0 aos interruptores localizados na extremidade direita da breadboard. De seguida ligámos as entradas P1, P0 aos interruptores localizados na extremidade esquerda da breadboard. Quanto aos LEDs, ligámos os 4 LEDs situados na extremidade direita da breadboard às saídas intermédias C3, C2, C1, C0, respetivamente. A saída S ligámos ao LED situado na extremidade esquerda da breadboard. Fig 8- Ponta de Porta 4 SISTEMAS DIGITAIS 2015-2016, MEEC Verificamos que tinha ocorrido um erro na montagem pois uma combinação que não devia acender nenhum LED, de facto, acendeu. Foi necessário assim, o recurso á ponta de prova para verificar onde estava o erro e corrigi-lo. Observámos quais as combinações que faziam o LED C3, LED C2, LED C1, LED C0 e LED S acender e registámo-las nas seguintes tabelas de verdade: L (Low) - LED apagado H (High) - LED aceso Fig.9 e 10- Tabela dos valores experimentais 2.2 Montagem do circuito “alternativo” O docente de laboratório, após ter verificado se o nosso circuito inicial estava de acordo com a tabela de verdade, solicitou que o produto “Pá” passasse a ser “Esparguete” e que o produto “Vassoura” passasse a ser “Milho”. Assim, os produtos com os códigos 5 e 10 passavam ambos a pertencer á categoria C3. Deste modo, elaborámos uma nova tabela de verdade. Fig 11- Nova tabela de verdade 5 SISTEMAS DIGITAIS 2015-2016, MEEC A partir desta tabela de verdade elaborámos um novo circuito elétrico em que adicionámos uma porta NAND3 a que ligámos os três C3 e retirámos uma porta NOT. Fig 10-Novo Circuito Elétrico 3. CONCLUSÕES Com a realização deste trabalho laboratorial conseguimos entender melhor o funcionamento e instalação dos circuitos combinatórios. Através da resolução do problema dado conseguimos verificar que componentes deste tipo são utilizados nos mais diversos circuitos que utilizamos e convivemos diariamente. Deste modo, conseguimos compreender as diferentes aplicações dos circuitos combinatórios. Aplicando os conceitos lecionados nas aulas teóricas, conseguimos utilizar uma solução prática e eficiente recorrendo ao uso de Demultiplexer 4:16, Multiplexer 4:1, portas NOT e NAND3. Com recurso aos Datasheets, elaboramos o circuito elétrico que simplifica a montagem do circuito no laboratório e diminui a probabilidade de ocorrência de erros durante a montagem. De uma forma geral, esta atividade laboratorial permitiu-nos consolidar os conhecimentos previamente adquiridos e aplicá-los numa situação real. Para além disso permitiu-nos desenvolver a capacidade de encontrar erros e retificá-los. Com este trabalho também verificamos que a montagem de circuitos elétricos é uma tarefa que requer empenho, dedicação, tempo e trabalho de equipa. 6