SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS

Tamanho: px
Começar a partir da página:

Download "SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS"

Transcrição

1 UNIVERSIDADE POSITIVO Núcleo de Ciências Exatas e Tecnológicas Engenharia da Computação SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS UP/NCET Curitiba

2 UNIVERSIDADE POSITIVO Núcleo de Ciências Exatas e Tecnológicas Engenharia da Computação SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS Autor: Luciano Henrique Albano Prof. Orientador: Alessandro Zimmer UP/NCET Curitiba

3 RESUMO Neste trabalho é apresentado um novo sistema de identificação de cédulas para auxiliar portadores de deficiência visual na identificação do dinheiro em papel. Ele é composto por um microcontrolador, uma câmera, uma memória e um sistema de áudio para que a cédula descoberta possa ser informada ao usuário. Através de diversos filtros de computação gráfica uma foto é tirada da cédula que será identificada, o processamento é todo feito no próprio protótipo sem a necessidade do uso de um computador, permitindo ao protótipo ser portátil, para que o usuário possa utilizá-lo em todo lugar que achar necessário. Palavras chave: computação gráfica, câmera c3088, OV6620, microcontroladores, processamento de imagens em sistema embarcado, Freemann. 3

4 ABSTRACT This work presents a new system of identification of bills to help people with visual impairments in the identification of money on paper. He composed of a microcontroller, a camera, a memory, audio system so that the ballot discovery can be informed to the user. Through various filters, computer graphics a photo is taken of the ballot to be identified, the processing is all done in the prototype itself without the need of using a computer, allowing prototype to be portable so that the user can use it throughout place as necessary. Keywords: Computer graphics, camera c3088, OV6620, microcontrollers, the image processing system on board, Freemann. 4

5 TERMO DE APROVAÇÃO Luciano Henrique Albano Sistema de Identificação de Cédulas Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação da Universidade Positivo, pela seguinte banca examinadora: Prof. Msc. Alessandro Zimmer (Orientador) Prof. Msc. Edson Pedro Ferlin Prof. Dr. Ibrahim El Chamaa Neto Curitiba Novembro/2008 5

6 SUMÁRIO RESUMO 3 ABSTRACT 4 LISTA DE FIGURAS 8 LISTA DE TABELAS 10 LISTA DE SIGLAS 11 1 INTRODUÇÃO 12 2 FUNDAMENTAÇÃO TEÓRICA MICROCONTROLADORES MEMÓRIA COMPUTAÇÃO GRÁFICA CÂMERAS DIGITAIS PROTOCOLO DE COMUNICAÇÃO I 2 C CARACTERÍSTICAS GERAIS DO BARRAMENTO I 2 C DEFINIÇÕES DO BARRAMENTO I 2 C COMUNICAÇÃO CONFIGURAÇÃO DA CÂMERA PROTOCOLO DE COMUNICAÇÃO SPI 25 3 PROJETO PROJETO DE SOFTWARE AQUISIÇÃO DA IMAGEM DEFINIÇÃO DO LIMIAR LIMIARIZAÇÃO EXCLUSÃO DAS BORDAS HISTOGRAMA ALGORITMO DE FREEMAN FORMA DE IDENTIFICAR O NÚMERO PLATAFORMA DE DESENVOLVIMENTO E AMBIENTE DE EXECUÇÃO FLUXOGRAMA BÁSICO DE FUNCIONAMENTO PROJETO DE HARDWARE AQUISIÇÃO DOS DADOS 52 6

7 3.2.2 ARMAZENAMENTO APRESENTAÇÃO DOS RESULTADOS AO USUÁRIO DIAGRAMA DE BLOCOS INTERAÇÃO ENTRE BLOCOS INTERAÇÃO ENTRE SOFTWARE E HARDWARE ESQUEMA ELÉTRICO FOTOS DO PROTÓTIPO PROTOCOLO DE TESTES E VALIDAÇÃO 61 APÊNDICE A - PREVISÃO DE CUSTOS 62 APÊNDICE B CRONOGRAMA 64 4 CONCLUSÃO 65 5 REFERÊNCIAS BIBLIOGRAFIAS LIVROS MONOGRAFIAS, DISSERTAÇÃO E TESE 67 3 INTERNET 67 6 MANUAL TÉCNICO/USUÁRIO 69 7 ARTIGO TÉCNICO 73 7

8 LISTA DE FIGURAS Figura 1 - Microcontrolador Pic24FJ64GA006, modelo utilizado no projeto. 13 Figura 2 - Memória 14 Figura 3 Exemplo de Comunicação I 2 C 21 Figura 4 - Análise Digital - Reduz Clock 22 Figura 5 - Análise Digital - Define Ajuste Automático de Branco 23 Figura 6 - Análise Digital - Controle de Contraste 23 Figura 7 - Análise Digital - Ajuste de Brilho 23 Figura 8 - Análise Digital - Ajuste da Saturação 24 Figura 9 - Análise Digital - Coluna Inicial 24 Figura 10 - Análise Digital - Linha Inicial 24 Figura 11 - Comunicação SPI Master Slave 25 Figura 12 - Protocolo SPI 25 Figura 13 - Análise Digital - SPI Gravação 26 Figura 14 - Análise Digital - SPI Leitura 27 Figura 15 - Funcionamento Básico do Software 28 Figura 16 - Funcionamento Câmera - Visão Macro 30 Figura 17 - Funcionamento Câmera - Visão Micro 31 Figura 18 Erro no cálculo do limiar 34 Figura 19 - Calculo do Limiar Correto 35 Figura 20 Imagem Limiarizada 37 Figura 21 - Aplicação da Exclusão de Bordas 38 Figura 22 - Exemplo Prático de Histograma 39 Figura 23 - Exemplo de Aplicação do Histograma 40 Figura 24 - Cadeias de Orientação 40 Figura 25 Aplicações de Freemann 41 Figura 26 - Algoritmo Adaptado / Aplicação no Número 1 42 Figura 27 - Comparativo de Largura 42 Figura 28 - Exemplo de Vales 44 Figura 29 Fluxograma Básico de Funcionamento 51 Figura 30 Layout Visão Lateral 52 8

9 Figura 31 - Câmera CMOS 53 Figura 32 - Memória Flash de 2 Mbytes 54 Figura 33 - Diagrama em Blocos 56 Figura 34 Interação em Blocos 56 Figura 35 Interação Entre o Software e Hardware 57 Figura 36 - Esquema Elétrico 58 Figura 37 - Circuito Montado em Protoboard 59 Figura 38 - Placa Finalizada 59 Figura 39 - Visão Superior do Protótipo 60 Figura 40 - Visão Frontal e da Parte Inferior 60 Figura 41 Gráfico do Rateio Entre os Centros de Custos 63 Figura 42 - Cronograma MS Project 64 9

10 LISTA DE TABELAS Tabela 1 - Relação de Notas e Bips 55 Tabela 2 - Planilha de Custos 62 10

11 LISTA DE SIGLAS UP Universidade Positivo NCET Núcleo de Ciências Exatas e Tecnológicas JPG Joint Photographic Experts Group (Grupo Experiente da União Fotográfica formato de arquivo de imagem). I 2 C Inter-Integrated Circuit (Circuito Inter-Integrado). D/A Digital/Analog (Analógico/Digital) RAM Random Access Memory (Memória de Acesso Aleatório) RGB Red, Green and Blue (Vermelho, Verde e Azul padrão de cores) SPI Serial Peripheral Interface (Interface Periférica Serial) CMOS Circuito integrado do tipo semicondutor metal-óxido complementar NMOS Semicondutor que utilize transistors de efeito de campo de metal óxidosemicondutor. VCC Alimentação. GND Terra. CLOCK Relógio. START Condição de início. STOP Condição de parada. ACK Condição de sincronização. MASTER Dispositivo mestre. SLAVE Dispositivo escravo. FLASH Memória do tipo não volátil. DATASHEET Manual de um semicondutor. Buzzer Pequeno alto falante. 11

12 1 INTRODUÇÃO A solução de problemas do cotidiano tem sido fonte de pesquisa e realização de trabalhos de muitos alunos da rede universitária, seja para ajudar um conhecido, seja apenas para disponibilizar uma solução para que uma parcela da população possa viver com mais conforto. Dentre esses problemas, um que merece destaque é a dificuldade que deficientes visuais têm na identificação do dinheiro em papel, isto porque, mesmo com marcações nas cédulas em alto relevo, após algum tempo elas vão se desgastando tornando impossível sua identificação. No Brasil existem cerca de 11,7 milhões de deficientes visuais conforme [11], é uma parcela relativamente alta da população que sofre desta dificuldade. O objetivo deste projeto é contribuir na melhoria da qualidade de vida destas pessoas, tornando-as mais independentes da ajuda de desconhecidos, para isto este projeto irá reconhecer uma cédula a partir de sua imagem e retornará seu valor através de uma saída sonora. Para isto foram utilizados diversos componentes como: câmera, microcontrolador, memória flash, além de outros componentes cabos, conectores que auxiliarão o projeto. 12

13 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo será apresentado um estudo dos principais assuntos abordados neste projeto, que envolvem pesquisas sobre circuitos digitais, câmeras para obtenção de imagens, microcontroladores e computação gráfica. 2.1 MICROCONTROLADORES Microcontroladores, como definido por [Neto,2006] São pequenos processadores compostos de memória de programa, memória de dados, conversor de sinais analógicos para sinais digitais, entradas e saídas de dados. São utilizados em larga escala em aparelhos presentes do cotidiano como em fornos micro-ondas, televisores, câmeras digitais, telefones, etc. O microcontrolador pode execucar várias operações matemáticas ou quaiquer outras operações com os dados obtidos e/ou armazenado em suas memórias conforme [2]. Além disto, ele é responsável por executar o código fonte do programa, ou seja, cabe a ele o processamento de todas as informações sejam de entrada ou saída de um outro dispositivo. Na Figura 1 pode ser observado uma imagem do microcontrolador empregado neste projeto. Figura 1 - Microcontrolador Pic24FJ64GA006, modelo utilizado no projeto. 13

14 2.2 MEMÓRIA Conforme [5], pode-se entender a memória com um grande armário repleto de gavetas, onde cada gaveta armazena pequenas quantidades de roupas, cada roupa pode ser considerada um arquivo. Cada projeto deve possuir um local para armazenamento das informações, sejam elas estáticas como o código fonte do programa ou dinâmicas como informações de entrada ou saída que precisam ser processadas e logo em seguida descartadas. A memória é o componente fundamental em qualquer projeto, por padrão a maioria dos microcontroladores já possui tanto a memória estática bem com a dinâmica mas em pequenas capacidades de armazenamento, obrigando assim que sejam utilizadas memórias externas as que estão no microcontrolador. As memórias externas por sua vez possuem uma capacidade de armazenamento muitas vezes superior as que já veêm embutidas nos microcontroladores, permitindo que o código fonte de programa que será executado possa ser maior ou ainda processar mais dados de entrada e saída. Na Figura 2 pode ser visto um desenho da memória utilizada neste projeto. Figura 2 - Memória 14

15 2.3 COMPUTAÇÃO GRÁFICA A computação gráfica surgiu da necessidade humana de visualizar informações. Com o auxílio da álgebra linear a computação gráfica pode transformar e obter qualquer tipo de informação a partir de uma imagem, utilizando-se diversos filtros, estes nada mais são do que operações algébricas realizadas na imagem de origem sendo que o resultado é enviado para uma imagem destino. Na imagem destino haverá o resultado da aplicação do filtro. Existem inúmeros tipos de filtros dentro da computação gráfica, cada filtro oferece um resultado diferente. Na maioria das vezes o processo de se obter alguma informação de uma imagem não se dá através da aplicação de um único filtro, mas sim da combinação de diversos filtros, sempre aplicando o próximo filtro na imagem de saída do filtro anterior. Com o alto processamento computacional disponível no mercado, a computação gráfica ganhou um grande espaço entre programas de tratamento de imagens, diversas revistas utilizam esses programas para melhoria das fotos disponibilizadas em suas edições. Com isso é possível obter os mais diversos resultados, atingindo assim um objetivo satisfatório. 15

16 2.4 CÂMERAS DIGITAIS O olho humano, assim como os ouvidos, é um conversor A/D. Ele capta os diferentes tons de luz refletidos pelos objetos do mundo real para pulsos elétricos, fazendo assim com que o cérebro possa identificar objetos e cores. A câmara digital revolucionou o processo de captura de imagens, contribuindo para a popularização da fotografia que ao invés de utilizar a película fotossensível para o registro das imagens, ela as registra através de um sensor que entre outros tipos podem ser do tipo CMOS ou CCD, armazenando as imagens em cartões de memória. Conforme [3], CCD (charge-coupled device) ou Dispositivo de Carga Acoplado é um sensor para captação de imagens formada por um circuito integrado contendo uma matriz de capacitores ligados (acoplados). Sob o controle de um circuito externo, cada capacitor pode transferir sua carga elétrica para outro capacitor vizinho. A capacidade de resolução ou detalhe da imagem depende do número de células fotoelétricas do CCD. Se expressa este número em pixels. Quanto maior o número de pixels, maior a resolução da imagem. 16

17 2.5 PROTOCOLO DE COMUNICAÇÃO I 2 C Conforme descrito em [1], para explorar todos os benefícios dos sistemas e dispositivos eletrônicos, os engenheiros e projetistas visam melhorar a eficiência do hardware e minimizar a complexidade dos circuitos. Para facilitar esta árdua tarefa surgiu o protocolo de comunicação I 2 C. O protocolo de comunicação em 2 sinais I 2 C foi originalmente desenvolvido pela Philips em meados de Atualmente este protocolo está amplamente difundido e interconecta uma ampla gama de dispositivos eletrônicos. Dentre estes encontramos vários dispositivos de controle inteligente, normalmente microcontroladores e microprocessadores assim como outros circuitos de uso geral, como drivers LCD, portas de E/S, memórias RAM e EEPROM ou conversores de dados. Muitas vantagens podem ser atribuídas ao protocolo I 2 C. Destacam-se entre elas: - Organização funcional em blocos, providenciando um simples diagrama esquemático final. - Não há necessidade dos projetistas desenvolverem interfaces. Todos os dispositivos integram as interfaces "on-chip", o que aumenta a agilidade no desenvolvimento. - Endereçamento e protocolo de transferência de dados totalmente definido via software. - Possibilidade de inclusão ou exclusão de dispositivos no barramento sem afetá-lo ou outros dispositivos conectados a este. - Diagnóstico de falhas extremamente simples. O mau funcionamento é imediatamente detectado. 17

18 - Desenvolvimento simplificado do software através do uso de bibliotecas e módulos de software reutilizáveis. - Facilidade no desenvolvimento de placas de circuito impresso, devido a quantidade de interconexões. Adicionalmente, utilizando as vantagens da tecnologia CMOS na fabricação dos dispositivos, temos: - Baixíssimo consumo de corrente. - Alta imunidade à ruídos. - Ampla faixa de tensões para a alimentação. - Ampla faixa de temperatura para a operação Características Gerais do Barramento I 2 C - Suporta qualquer tecnologia de produção. - Duas vias de comunicação: serial data (SDA) e serial clock (SCL), ambas bidirecionais, conectadas ao positivo da fonte de alimentação através de um resistor de pull-up. Enquanto o barramento está livre, ambas as linhas ficam em nível lógico alto. - A taxa de transferência máxima é de 100kbit/s no modo padrão, ou 400kbit/s no modo rápido. - Todo dispositivo possui um endereço único no barramento, independente de sua natureza. 18

19 - Qualquer dispositivo conectado pode operar com transmissor ou receptor. Claro que isso depende da natureza do dispositivo - um LCD não vai operar como transmissor, assim como um teclado não operará como receptor. Independente disto, qualquer dispositivo endereçado é chamado de escravo (slave). - O número de interfaces conectadas fica dependente da capacitância máxima do barramento, que é de 400pF Definições do Barramento I 2 C - Transmiter (Transmissor): dispositivo que envia dados através do barramento. - Receive (Receptor): dispositivo que recebe dados através do barramento. - Master: dispositivo que inicia a comunicação, gera o sinal de clock e encerra a comunicação. - Multi-master: vários dispositivos podem controlar o barramento, mesmo sem comprometer a mensagem. Quando isto ocorre temos vários dispositivos operando em modo master. - Arbitrarion (Arbitrariedade): procedimento para o controle do barramento em modo multimaster. Visa não corromper a transmissão dos dados e perder a sincronização do clock. - Sincronização: procedimento para sincronizar o clock de um ou mais dispositivos. 19

20 2.5.3 Comunicação Níveis lógicos: Como o protocolo de comunicação I 2 C aceita uma ampla gama de métodos de fabricação para os seus dispositivos (CMOS, NMOS, Bipolar, etc.) os níveis lógicos alto e baixo não possuem valores pré-estabelecidos, dependendo diretamente da tenção de alimentação (VCC). Validação dos dados: O dado na linha de dados precisa ser estável durante o período ALTO do clock. A mudança entre os níveis lógicos alto e baixo só podem ser feitos enquanto o sinal de clock estiver BAIXO. Condições Iniciais e Finais: Durante todo o processo apenas dois sinais são caracterizados como condições de START e STOP. O procedimento de comunicação do protocolo I 2 C é extremamente simples. Basicamente tem-se 6 itens para análise, pode ser acompanhado na Figura 3: 1. O dispositivo master ajusta a condição inicial. 2. O dispositivo master envia 7 bis de endereçamento. 3. O dispositivo master envia o 8 o bit, RW/RD. 4. O dispositivo slave envia o sinal de ACK (Acknowledge). 5. O dispositivo master (ou slave) envia pacotes de 8 bits de dados, sempre seguidos de um sinal ACK enviado pelo dispositivo slave (ou master) confirmando a recepção. 6. O dispositivo master encerra a comunicação. 20

21 Figura 3 Exemplo de Comunicação I 2 C É importante fazer algumas observações: O endereçamento padrão é feito com 7 bits, mas existe o modo extendido que possibilita o uso de 10 bits de endereçamento (1024 dispositivos). A quantidade de pacotes de transmissão é controlada pelo dispositivo master, não possuindo um valor máximo definido. Este é um ponto importante a ser observado, pois como os dados são transmitidos serialmente, na utilização de memórias, perde-se os limites de endereçamento que existem nos dispositivos paralelos. A comunicação pode ser suspensa, simplesmente travando-se o sinal de clock. Isto pode ser útil para efetuar o tratamento de interrupções ou derivados, sem, no entanto, corromper os dados transmitidos Configuração da Câmera Conforme [4], o protocolo de comunicação I 2 C é utilizado exclusivamente para configuração da câmera, ou seja, configuração de brilho, contraste, saturação, clock, etc. Abaixo uma seqüência de comandos demonstra a forma de configuração da câmera. 21

22 I2C_Cam_Write(0x11, 0x0A); //BAIXA O CLOCK DA CAMERA I2C_Cam_Write(0x12,0X20); //AJUSTE AUTOMATICO DE BRANCO 24h SIM, 20 NÃO I2C_Cam_Write(0x05,0X00); //AJUSTE DE CONTRASTE MÁXIMO FF, MINIMO 00 I2C_Cam_Write(0x06,0X00); //AJUSTE DE BRILHO MÁXIMO FF, MINIMO 00 I2C_Cam_Write(0x03,0XFF); //AJUSTE DE SATURAÇÃO MÁXIMO FF, MINIMO 00 I2C_Cam_Write(0x17,0XB5); //AJUSTE DA COLUNA INICIAL I2C_Cam_Write(0x19,0X3F); //AJUSTE DA LINHA INICIAL //Primeiro Parâmetro: Registrador interno da câmera. //Segundo Parâmetro: Valor que será passado para o registrador. Na Figura 4 pode ser visto a simulação do código que baixa o clock da câmera. Na linha superior I2C_CLK é enviado o sinal de clock, com este sinal é que sem tem a base do que é transmitido na linha inferior, a linha de dados. Inicialmente tem se ambas a linhas em modo Alto, quando inicia-se a transmissão dos dados o sinal de ambas vai para baixo, ficam em 0, a linha superior dispara o clock composto por 9 bordas de subida e na linha inferior é enviado o primeiro comando, o valor C0 indicando que é um comando de escrita. Na segunda seqüência de clock é enviado o endereço onde será feito a escrita, neste caso o endereço é o valor 11 e por último é enviado o valor que será armazenado na câmera, o valor 0x0A. Figura 4 - Análise Digital - Reduz Clock Na Figura 5 pode ser visto a simulação do código que define que a câmera não terá ajuste automático de branco. Conforme explicado acima, a sequência é a mesma, porém neste caso os valores são outros, primeiro vai o comando de escrita C0, depois vai o valor do endereço que neste caso é 0x12 e por último o valor que será armazenado 0x20. 22

23 Figura 5 - Análise Digital - Define Ajuste Automático de Branco Na Figura 6 é mostrada a simulação do código que ajusta o contraste. Primeiro vai o valor de escrita C0, depois vai o endereço 0x05 e por último o valor que será armazenado neste endereço, 0. Figura 6 - Análise Digital - Controle de Contraste Na Figura 7 é simulado o ajuste do brilho. Primeiro é enviado o valor de escrita C0, depois vai o endereço 0x06 e por último o valor que será armazenado o 0. Figura 7 - Análise Digital - Ajuste de Brilho 23

24 Na Figura 8 é ajustada a configuração da saturação. Primeiro é enviado o comando de escrita, depois o endereço 0x03 e por último o valor o valor 0xFF. Figura 8 - Análise Digital - Ajuste da Saturação Na figura 9 é definido a coluna inicial que a câmera enviará, pois ela permite definir ajuste da coluna inicial e final e da linha inicial e final. Primeiro é enviado o valor C0 para definir a escrita, depois é enviado o endereço 0x17 e por último o valor 0xB5. Figura 9 - Análise Digital - Coluna Inicial Na Figura 10 é mostrada a configuração da linha inicial que a câmera enviará. Primeiro é enviado o valor C0, depois é enviado o endereço 0x19 e por último o valor 0x3F. Figura 10 - Análise Digital - Linha Inicial 24

25 2.6 PROTOCOLO DE COMUNICAÇÃO SPI Conforme [12], o protocolo SPI (Serial Peripheral Interface) foi desenvolvido pela Motorola para a linha de processadores da família MC68K. O SPI é um protocolo de comunicação síncrono e opera no modo full-duplex. O protocolo SPI é composto por 4 sinais (Figura 11), são eles: Sinais de dados: MOSI (Master data Output, Slave data Input) e MISO (Master data Input, Slave data Output) são responsáveis pela transferência de dados entre o master e o slave. Sinais de controle: SCLK (Serial Clock) e /SS (Slave Select). Figura 11 - Comunicação SPI Master Slave Na Figura 12 pode ser observado a comunicação entre o dispostivo master e vários dispositivos em modo slave utilizando o protocolo SPI. Figura 12 - Protocolo SPI Comunicação entre o dispositivo master e vários dispositivos slave utilizando o protocolo SPI. Note que a seleção é feita pelo pino /SS, no caso da comunicação de um master com diversos dispositivos slaves, requerem do microcontrolador um número grande de pinos de seleção. 25

26 O protocolo de comunicação é muito simples, não requer uma programação complicada. Por isso mesmo, este protocolo permite velocidade de comunicação mais alta que o I 2 C. Na Figura 13 é mostrado uma operação de gravação e na Figura 14 uma operação de leitura. Na Figura 13 uma análise será feita, a primeira linha é a de Clock, são necessários 6 instruções compostas por 8 pulsos cada, na segunda linha fica o SDO, canal de envio de dados do microcontrolador para o dispositivo escravo, no primeiro pulso de clock é enviado o valor 0x06 em binário , isso habilitará o canal para escrita, depois é enviado a instrução de programação através do comando 0x02 ou 10 em binário, no terceiro octeto de clock é enviado a primeira de três partes do endereço onde será armazenado o dado, que neste caso é 0, depois é enviado 1 e no quinto octeto é enviado 0 novamente, esse foi o endereço. Depois de enviado o endereço onde será gravado a informação, bastará enviar a informação em si, o último octeto serve para isto, neste caso foi armazenado o valor 0x05 ou 101 em binário. Figura 13 - Análise Digital - SPI Gravação 26

27 A instrução de leitura composta na Figura 14 é mais simples, é composto por 5 octetos de clock, no primeiro octeto é enviado através do canal SDO a informação de leitura, composta pelo valor 0x03 ou 11 em binário, agora é enviado o endereço de onde será lido, igual ao da Figura 13, no segundo octeto é enviado 0 no terceiro é enviado 1 e no quarto octeto é enviado o 0 novamente e por último o dispositivo retorna através da terceira linha o SDI o valor que está naquele endereço, neste caso o valor que foi gravado o 5 ou em binário 101. Figura 14 - Análise Digital - SPI Leitura 27

28 3 PROJETO Neste capítulo será descrito o software e o hardware que foi utilizado para implementar este projeto, bem como as tecnologias utilizadas, conceitos, esquemáticos e a forma que as mesmas foram integradas para que o resultado seja satisfatório. A Figura 15 ilustra o funcionamento básico do software. Início Obtenção da Imagem Identificação Processamento Saída Sonora Fim Figura 15 - Funcionamento Básico do Software 3.1 PROJETO DE SOFTWARE Para a elaboração do firmware (Software utilizado em dispositivos embarcados) foi utilizada a linguagem de programação ANSI C, pela sua eficiência, praticidade e funcionalidade. Quando a aplicação é utilizada em sistema embarcado as opções de programação são restritas, além do ANSI C, pode se utilizar diretamente o Assembly (Linguagem de programação utilizada na arquitetura de microcontroladores), mas é uma linguagem de baixo nível, ou seja, extremamente complexa e isto acaba consumindo um tempo desnecessário do projeto somente no estudo de sua arquitetura. 28

29 3.1.1 AQUISIÇÃO DA IMAGEM A aquisição da imagem se dá através de um sensor CMOS com uma lente embutida, chamada de câmera, ela enviará a imagem da cédula para a memória, o software por sua vez, buscará a imagem na memória e fará seu processamento. Para configurações internas da câmera como brilho, saturação, contraste, é utilizado o protocolo de comunicação I 2 C, quando o microcontrolador foi escolhido, ter este protocolo como nativo foi fator decisivo, com isso, não será necessário efetuar o controle via software para emular este protocolo. Após abrir o canal de comunicação com a câmera, a mesma passa a enviar os dados obtidos pelo sensor no formato YUV, onde o Y é o canal em escala de cinza que varia de 16 sendo o preto e 240 o branco, os valores abaixo de 16 e acima de 240 são utilizados para controles internos da câmera. Para converter a informação em RGB, utilizam-se as seguintes fórmulas, descritas no datasheet do sensor da câmera: Y = 0.59G R B U = R Y V = B Y A resolução máxima da câmera é de 292 x 356, disponibilizando aproximadamente 110 mil pixels. Para aquisição da imagem foi necessário baixar a velocidade da câmera, porque o processador escolhido não era rápido o suficiente para leitura dos dados da mesma, a velocidade original da câmera é de 8Mhz, isso gera aproximadamente 25 imagens por segundo, para que o processador consiga efetuar a leitora a velocidade foi baixada para 1 imagem a cada 0,8 segundos. 29

30 O esquema de envio dos dados da câmera pode ser visto na Figura 16. Figura 16 - Funcionamento Câmera - Visão Macro O canal Vsync é o que controla uma nova imagem, toda vez que ele é acionado é porque começou uma imagem. Depois que o Vsync vai para nível lógico baixo começa então o Href, ele é responsável pelo início e fim de cada linha da imagem, enquanto o Href está em nível lógico alto são enviados 255 valores através do canal Y e UV. Quando o Href vai para nível lógico baixo foi porque aquela linha foi totalmente transmitida, depois ele irá novamente para nível lógico alto causando a transmissão da próxima linha e isso se repetirá até que todas as linhas sejam transmitidas, neste caso são 292 linhas. Assim que todas as linhas foram transmitidas o Vsync vai para nível lógico alto novamente indicando que uma nova imagem vai começar. Na Figura 17 é possível ver o esquema de envio dos dados em uma visão micro, ou seja, com possibilidade de análise do clock da câmera. As Figuras 16 e 17 foram modificadas, não são as mesmas que constam no datasheet da câmera. A informação que consta lá está confusa, com isso acabou dificultando o entendimento do funcionamento da câmera. 30

31 Figura 17 - Funcionamento Câmera - Visão Micro Na Figura 17 pode ser visto os canais Y e UV de forma detalhada, o funcionamento é idêntico ao da Figura 16, com diferença que agora pode ser visto cada um dos valores dos canais. O Vsync vai para nível lógico alto indicando uma nova imagem, depois o Href vai para nível lógico alto e os pixels são transmitidos, do primeiro a último, neste caso é o 352, depois se repetirá até que o Href chegue na última linha, 292. Mesmo na menor velocidade da câmera (I2C_Cam_Write(0x11, 0x1F)), que gera cerca de uma imagem a cada 1,4 segundos ainda não foi possível obter toda a imagem de uma única vez, foi necessário obter um único valor de cada linha enviada, ou seja, a cada imagem enviada pela câmera, era obtida uma única coluna. Na próxima imagem, outra coluna e assim sucessivamente até terminar a imagem. Para um melhor entendimento pode ser analisado a função de obtenção da imagem seguindo o código abaixo. 31

32 void Foto(void){ unsigned char Imagem[QuantLinhas][QuantColunas]; unsigned short int linha = 0; unsigned short int coluna = 0; unsigned short int posicao = 0; unsigned short int largura = 0; unsigned short int limiar = 0; //QuantLinhas e QuantColunas são definidas } for(coluna = 0; coluna<quantcolunas; coluna++){ while(isvsynup); while(isvsyndown); for(linha = 0;linha<QuantLinhas;linha++){ while(ishrefdown); //For que controla qual coluna está sendo lida for(posicao = 0;posicao<coluna;posicao++){ while(ispclkup); while(ispclkdown); } Imagem[linha][coluna] = PORTD & 0xFF; while(ishrefup); } } //Enquanto VSYNC estiver em ALTO //Enquanto VSYNC estiver em BAIXO //Enquanto linha não começar //Enquanto clock estiver em ALTO //Enquanto clock estiver em BAIXO //Enquanto linha não terminar 32

33 3.1.2 PRÉ-PROCESSAMENTO Como a memória externa não pode ser implementada, devido a problemas de fabricação dos chips, houve a necessidade de restringir o projeto, invés de utilizar a imagem inteira foi utilizado apenas um dos cantos com tamanho de 70 x 80 pixels, este tamanho é restrito devido ao tamanho da memória RAM do microcontrolador 8 kbytes. Assim que a imagem é obtida, é necessário efetuar uma operação conhecida como limiarização, porque nesse momento a imagem contém diversos tons diferentes de cinza, essa operação transforma a imagem em apenas dois tons de cores o branco e o preto. 33

34 3.1.3 DEFINIÇÃO DO LIMIAR Como a imagem já é enviada pela câmera em tons de cinza, não houve a necessidade de aplicação do filtro de média, que transforma a imagem em tons de cinza, isto tornou o processo de identificação da imagem mais rápido. Pode-se entender como limiar, o divisor de águas de uma imagem, ou seja, quem está acima deste valor será agora branco e quem está abaixo será preto, porém este valor é muito importante, porque se a cédula está escura o limiar deverá ser menor e se estiver clara o limiar será maior. Quando o limiar não é calculado de maneira precisa, acontece casos como o da Figura 18 a seguir: Figura 18 Erro no cálculo do limiar Esse limiar é considerado incorreto pois não conseguiu isolar o número da borda, como na imagem da Figura 18, não é possível aplicar filtros que possam isolar o número do ruído presente. Para a definição do limiar existem algoritmos prontos como Otsu, porém o poder computacional gasto por ele para definir o limiar acaba sendo muito grande quando se utilizado em um microcontrolador. 34

35 Neste projeto o limiar é definido de acordo com a média dos pixels que estão no canto extraído, quando a imagem é muito escura o limiar tende a ser menor e vice versa quando a imagem é mais clara. Um limiar bem calculado resulta em uma imagem isolada de forma que os filtros tenham bons resultados, conforme Figura 19. Figura 19 - Calculo do Limiar Correto Na Figura 19, o cinco ficou completamente isolado da borda, um filtro que retirará as bordas não terá dificuldades. Isso só é possível com a aplicação de um código bem escrito que possa isolar o número de forma a ser possível diferenciá-lo das bordas. Para definir o limiar foi utilizado o seguinte o pseudo-código abaixo. para x de 1 até [LarguraImagem] para y de 1 até [AlturaImagem] Valor = Valor + Imagem[LarguraImagem][AlturaImagem] fim para fim para Limiar = Valor/(AlturaImagem*LarguraImagem) 35

36 3.1.4 LIMIARIZAÇÃO O processo de limiariação (também conhecido como binarização) da imagem consiste em dividir os pixels em apenas dois níveis, branco e preto, de acordo com os níveis de cinza. Para que isso seja possível, escolhe-se um valor chamado de limiar T, esse valor definirá quais pixels serão brancos e quais serão pretos. Se o valor do pixel for maior que T, ele será modificado para branco (valor igual a 255), caso seja menor que T ele será transformado para preto (valor igual a 0). O limiar T pode ser definido manualmente ou de forma automática, a partir da análise do histograma, assim que ele é definido percorre-se a imagem efetuando a nova classificação, tendo assim uma nova imagem somente em dois tons de cores. O pseudo-código abaixo ilustra como isso pode ser feito: para x de 1 até [LarguraImagem] para y de 1 até [AlturaImagem] se NovaImagem[x][y] > T então NovaImagem[x][y] = 255; senão NovaImagem[x][y] = 0; fim se fim para fim para Na Figura 20 um exemplo da cédula após o filtro de limiarização, é possível observar como já se destaca o número que deverá ser localizado. 36

37 Figura 20 Imagem Limiarizada EXCLUSÃO DAS BORDAS Como pode ser observado na Figura 20, é possível identificar que existe uma borda preta envolta do número, essa borda precisa ser eliminada para que os próximos filtros possam ser aplicados. O processo de exclusão das bordas, é um processo fixo, são excluídas 10 linhas dos quatro lados da imagem, isso garante que as bordas pretas e eventuais ruídos sejam excluídos. A exclusão pode ser simulada de acordo com o pseudo-código abaixo e um exemplo pode ser visto na Figura 21: 37

38 QuantBorda igual 10 //Extrai a borda superior para x de 1 até QuantBorda para y de 1 até [LarguraImagem] Imagem[x][y]=255; //Extrai a borda inferior para x igual AlturaImagem-QuantBorda até QuantLinhas para y de 0 até LarguraImagem Imagem[x][y]=255; //Extrai a borda esquerda para x de 0 até QuantBorda Para y de 0 até AlturaImagem Imagem[x][y]=255; //Extrai a borda direita para x de 0 até LarguraImagem-QuantBorda ate LarguraImagem para y de 0 até AlturaImagem Imagem[linha][coluna]=255; Figura 21 - Aplicação da Exclusão de Bordas 38

39 3.1.5 HISTOGRAMA Depois que a imagem é limiarizada o número fica bem definido, ele fica em meio de um grande número de pontos brancos, o histograma nada mais faz, que passar esses pontos que estão no meio da imagem para o inicio, ou seja, passa a impressão de que todos os pontos caíram e ficaram amontoados como se a gravidade deixasse de existir! Se uma imagem fosse impressa e analisada com um microscópio seria possível ver algo como a Figura 22, onde cada quadradinho representa um pixel, e o número que consta em cada quadrado é o valor de cada pixel. Imagem Normal Figura 22 - Exemplo Prático de Histograma Somente Pontos Pretos Histograma Na Figura 22, têm-se três planilhas simulando uma imagem, na primeira planilha é uma imagem que já foi limiarizada, onde o 0 representa os pontos pretos e o 1 os pontos brancos. Na planilha 2, os pontos pretos foram removidos, ficando somente os pontos brancos e por último na planilha 3 foi aplicado um histograma que transferiu todos os números para o início da planilha. Está é apenas um exemplo didático do funcionamento do histograma. Na Figura 23 um exemplo da aplicação do histograma. 39

40 Figura 23 - Exemplo de Aplicação do Histograma ALGORITMO DE FREEMAN Uma determinada região pode ser representada em termos de seu contorno, para isso existe o código de cadeia de Freeman, ela é aplicada assim que a região onde um provável número esteja. O algoritmo de Freeman descrito na Figura 24 é a técnica de representação mais fiel possível da forma da região. O mesmo é usado na representação do contorno por uma seqüência conectada de segmentos de 4 ou 8 segmentos. (a) Código de Cadeia de 4 direções (b) Código de Cadeia com 8 direções. Figura 24 - Cadeias de Orientação Na Figura 25 um exemplo de aplicação, utilizando ambas as cadeias como base. 40

41 (c) Aplicação com cadeia de 4 direções. (d) Cadeia com 8 direções. Figura 25 Aplicações de Freemann Antes da aplicação do algoritmo de Freeman é necessário codificar cada um dos números que terão de ser encontrados, ou seja, encontrar a seqüência de caracteres que o número impresso na cédula representa. Depois de codificado, bastará aplicar o algoritmo e comparar os valores encontrados, com os valores previamente especificados, assim é possível descobrir qual é o número que está sendo analisado. Para este projeto foi adaptado um algoritmo específico, que foi inspirado nos mesmos passos aplicados por Freemann, o algoritmo é mais simples pois foi utilizado apenas para as formas do histograma, ou seja, só vai para baixo, cima e para frente, ao contrário do algoritmo original que permite que a borda seja mapeada em 360 graus. Essa adaptação tornou mais simples e mais rápido o processamento, uma vez que se fosse utilizado o algoritmo original o tempo para aplicar o filtro acabaria sendo muitas vezes maior. Conforme pode ser visto na Figura 26, o algoritmo trata apenas valores da esquerda para direita isso torna mais rápido o processamento do que se percorresse o número conforme Figura

42 Figura 26 - Algoritmo Adaptado / Aplicação no Número FORMA DE IDENTIFICAR O NÚMERO Para identificar cada um dos números são isoladas 3 características, a largura de cada número, a quantidade de vales que possui cada número e a soma do resultado do algoritmo de Freemann. Pode se perceber que a largura do número 1 é menor que a largura do número 10, conforme Figura 27. Essa é uma característica, porém somente com ela não é possível identificar o número, o 2 e o 5 possuem larguras semelhantes, para isso outras características são extraídas de cada número. Figura 27 - Comparativo de Largura 42

43 Conforme código abaixo pode ser visto como é obtida a primeira característica, a largura. unsigned short int CalculaLargura(unsigned char Imagem[70][80]){ unsigned short int linha=0; unsigned short int coluna=0; unsigned short int valor=0; unsigned short int cont=0; unsigned short int primeiracoluna=0; unsigned short int ultimacoluna=0; unsigned char HistoHorValores[QuantColunas]; unsigned short int largura=0; //Conta a quantidade de pixels pretos em todas as colunas (Histograma) for(coluna=0;coluna<quantcolunas;coluna++){ for(linha=0;linha<quantlinhas;linha++){ valor = Imagem[linha][coluna]; if (valor==0) cont++; } HistoHorValores[coluna]=cont; cont=0; } valor = 0; //Localiza a primeira coluna que contenham valores validos for(coluna=0;coluna<quantcolunas;coluna++){ valor = HistoHorValores[coluna]; if(valor>2 && valor<40 && primeiracoluna==0){ primeiracoluna=coluna; coluna=quantcolunas; } } valor = 0; //Localiza a ultima coluna que contenham valores validos for(coluna=quantcolunas-1;coluna>0;coluna--){ valor = HistoHorValores[coluna]; if(valor>2 && valor<40 && ultimacoluna==0){ ultimacoluna=coluna; coluna=1; } } largura = ultimacoluna - primeiracoluna; return(largura); } 43

44 A segunda característica analisada é a quantidade de vales que o número possui, um vale pode ser entendido como o pequeno espaço que separa o um do zero na nota de dez reais, ou o dois e o zero na nota de vinte reais. Na Figura 28 abaixo pode ser entendido melhor o conceito de vales. 10 possuí 1 único vale. 100 possuí 2 vales Figura 28 - Exemplo de Vales O código abaixo demonstra o algoritmo utilizado em linguagem ANSI C para localização e soma dos vales presentes em uma imagem. 44

45 unsigned short int EncontraVales(unsigned char Imagem[70][80]){ unsigned short int linha=0; unsigned short int valor=0; unsigned short int coluna=0; unsigned short int cont=0; unsigned short int primeiracoluna=0; unsigned short int ultimacoluna=0; unsigned short int numero=0; unsigned short int prevale=0; unsigned char HistoHorValores[QuantColunas]; unsigned short int vales=0; //Conta a quantidade de pixels pretos em todas as colunas (Histograma) for(coluna=0;coluna<quantcolunas;coluna++){ for(linha=0;linha<quantlinhas;linha++){ valor = Imagem[linha][coluna]; if (valor==0) cont++; } HistoHorValores[coluna]=cont; cont=0; } valor = 0; //Localiza a primeira coluna que contenham valores validos for(coluna=0;coluna<quantcolunas;coluna++){ valor = HistoHorValores[coluna]; if(valor>2 && valor<40 && primeiracoluna==0){ primeiracoluna=coluna; coluna=quantcolunas; } } valor = 0; //Localiza a ultima coluna que contenham valores validos for(coluna=quantcolunas-1;coluna>0;coluna--){ valor = HistoHorValores[coluna]; if(valor>2 && valor<40 && ultimacoluna==0){ ultimacoluna=coluna; coluna=1; } } for(coluna=primeiracoluna;coluna<ultimacoluna;coluna++){ //Localiza vales valor = HistoHorValores[coluna]; //Localiza o primeiro ponto preto if(valor>3 && numero==0){ //Achou o primeiro numero numero=1; } //Continua o processamento até encontrar o primeiro branco 1v0 if(numero==1 && valor<=3){ prevale=1; } //Achou o primeiro vale - 1v0 if(prevale==1 && valor>3){ vales++; prevale=0; numero=0; } } return(vales); } E por último a terceira característica, conforme explicado acima sobre Freemann, é encontrado uma identidade do número, por exemplo: 45

46 2 Reais 2,4,4,4,4,4,3,4,3,3,4,4,4,4,3,4,4,4,3,4,4,4,3,4,4,0,2,3,0,1,3,3,4,4,4,4,4,4,4,3,1,0,0,1, 0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,2 Cada número possui um código único, uma das formas para distinguir cada número, seria fazer N médias até padronizar em 8 valores por exemplo, porém isso consumiria muito tempo de processamento, para uma aplicação embarcada é quase inviável, a não ser que o poder de processamento do microcontrolador seja muito alto. Como já se possui outras duas características de cada número foi optado por efetuar uma soma desses números, tendo assim um único número que varia em média 10%, mesmo com essa variação grande ainda é possível efetuar a identificação de cada número. Para o número 2 através de uma média entre 10 amostras a soma ficou próximo de 143, para o número 10 a medida da soma foi de 293 e assim por diante. Unindo as 3 características é possível classificar e identificar cada número. O código abaixo demonstra a função utilizada para aplicar o filtro de Freemann. unsigned short int Freemann(unsigned char Imagem[70][80]){ unsigned short int linha=0; unsigned short int coluna=0; unsigned short int valor=0; unsigned short int cont=0; unsigned short int primeiracoluna=0; unsigned short int ultimacoluna=0; unsigned char HistoHorValores[QuantColunas]; unsigned char identidade[256]; unsigned char achei=0; unsigned char buffer[50]; unsigned short int colunaajustada=0; identidade[cont] = 2; //Todo numero inicia por 2 por causa da condição do 0 e do 4. 46

47 //Conta a quantidade de pixels pretos em todas as colunas (Histograma) for(coluna=0;coluna<quantcolunas;coluna++){ for(linha=0;linha<quantlinhas;linha++){ valor = Imagem[linha][coluna]; if (valor==0) cont++; } HistoHorValores[coluna]=cont; cont=0; } valor = 0; //Localiza a primeira coluna que contenham valores validos for(coluna=0;coluna<quantcolunas;coluna++){ valor = HistoHorValores[coluna]; if(valor>2 && valor<40 && primeiracoluna==0){ primeiracoluna=coluna; coluna=quantcolunas; } } valor = 0; //Localiza a ultima coluna que contenham valores validos for(coluna=quantcolunas-1;coluna>0;coluna--){ valor = HistoHorValores[coluna]; if(valor>2 && valor<40 && ultimacoluna==0){ ultimacoluna=coluna; coluna=1; } } linha = QuantLinhas; coluna = primeiracoluna; cont = 1; achei = 0; //Implementação de Freemann while(primeiracoluna<=ultimacoluna){ //4 //&& identidade[cont-1]!=4 -> Condição adicionada para que não fique em looping // entre o 4 e o 0 quando for um pico com caminho apenas de ída. if(imagem[linha-1][coluna]==0 && achei==0 && identidade[cont-1]!=0){ identidade[cont] = 4; cont++; 47

48 } achei=1; linha--; colunaajustada=0; //3 if(imagem[linha-1][coluna+1]==0 && achei==0){ identidade[cont] = 3; cont++; achei=1; linha--; coluna++; primeiracoluna++; colunaajustada=0; } //2 if(imagem[linha][coluna+1]==0 && achei==0){ identidade[cont] = 2; cont++; achei=1; coluna++; primeiracoluna++; colunaajustada=0; } //1 if(imagem[linha+1][coluna+1]==0 && achei==0){ identidade[cont] = 1; cont++; achei=1; linha++; coluna++; primeiracoluna++; colunaajustada=0; } //0 //&& identidade[cont-1]!=4 -> Condição adicionada para que não fique em looping // entre o 4 e o 0 quando for um pico com caminho apenas de ída. if(imagem[linha+1][coluna]==0 && achei==0 && identidade[cont-1]!=4){ identidade[cont] = 0; cont++; achei=1; linha++; 48

49 } colunaajustada=0; //Passou por todos e não encontrou valores que se encaixavam //Ajuste, avança para a próxima coluna e vai aumentando a linha até chegar no chão if(achei==0){ //A coluna soh pode ser ajustada uma vez if(colunaajustada==0){ coluna++; colunaajustada=1; } identidade[cont] = 0; cont++; linha++; } achei=0; } valor = 0; Escreve_UART2("Freemann: "); for(coluna=0;coluna<cont;coluna++){ sprintf(buffer,"%d,\0",identidade[coluna]); Escreve_UART2(buffer); valor = valor + identidade[coluna]; } Escreve_UART2("Soma: "); sprintf(buffer,"%d,\0",valor); Escreve_UART2(buffer); //Faz a Media //Media_256_To_8(identidade,cont); //Somatorio(identidade[256], cont); } return(valor); Código 1 - Função de Freemann Após a descoberta destas 3 características, uma quarta função composta por uma cadeia de IFs, compara e decide qual o valor que se encaixa nas 3 características informadas. 49

50 3.1.7 PLATAFORMA DE DESENVOLVIMENTO E AMBIENTE DE EXECUÇÃO A plataforma de desenvolvimento escolhida foi a MPLAB IDE 8.1, ela é oferecida gratuitamente pelo fabricante de componentes eletrônicos Microchip, isto garantirá a compatibilidade entre o código fonte e a arquitetura do microcontrolador, facilidade para encontrar falhas, verificação em tempo real do quanto já foi utilizado da memória de programa e a possibilidade de gravação diretamente no hardware, debug in circuit (permite verificar erros em tempo real diretamente no hardware). Este projeto não oferece um software para interação com o usuário, oferece apenas o firmware, por este motivo não foi necessário a utilização de outras plataformas de desenvolvimento. Para auxiliar no desenvolvimento além da MPLAB, foi utilizado também o software Borland C++ Builder Professional como complemento. Para desenvolvimento do circuito foi utilizado o software Proteus, um programa muito poderoso que oferece integração com o MPLAB, os códigos podem ser testados diretamente no circuito, caso exista algum problema ele será descoberto antes que seja confeccionada uma placa. 50

51 3.1.8 FLUXOGRAMA BÁSICO DE FUNCIONAMENTO A Figura 29 demonstra o funcionamento do firmware. Inicio Ativa Câmera Envia Quadro Acabou Quadro Não Sim Desativa Câmera Processa Imagem Aplica Filtros Identificação Positiva Não Sim Caso Nota Seleciona Áudio Nota=1 Nota=2 Nota=5 Nota=10 Nota=20 Nota=50 Nota=100 Áudio=1 Áudio=2 Áudio=5 Áudio=10 Áudio=20 Áudio=50 Áudio=100 Áudio Não Identificado Disponibiliza Som Fim Figura 29 Fluxograma Básico de Funcionamento 51

52 3.2 PROJETO DE HARDWARE O hardware envolvido neste projeto é composto por: uma câmera digital, um microcontrolador, uma memória FLASH e outros componentes que servirão para a interligação, como resistores, capacitores, etc. A Figura 30 mostra o layout do protótipo medindo 10(cm) de largura, 20(cm) de altura e 15(cm) de profundidade. Figura 30 Layout Visão Lateral AQUISIÇÃO DOS DADOS Para a obtenção da imagem foram necessários padronizar o fundo e as laterais na caixa onde a cédula é fotografada, eliminando dessa forma ruídos que poderiam surgir na imagem, como por exemplo: texturas diversas, cores semelhantes ao da cédula, bordas que dificultariam o processo de identificação utilizado pelo software, etc. 52

53 Com essa padronização o sistema é mais rápido e o resultado mais confiável, caso não houvesse a padronização haveria a necessidade de um tratamento através de software, mesmo assim não seria possível garantir um nível de acerto tolerável, além de aumentar o tempo de processamento. Após a proposta inicial de se utilizar uma câmera digital convencional, lendo a imagem diretamente do cartão de memória, verificou-se inviável este método, pois o formato que as atuais câmeras salvam seus arquivos é o (JPG). Para trabalhar com este formato em um software embarcado é praticamente inviável, pois o algoritmo de descompressão deste arquivo é extremamente complexo e pesado. Por este motivo foi escolhido uma micro câmera CMOS com saída digital, específica para aplicações embarcadas. Este conjunto composto de sensor de captura de lentes é capaz de obter imagens a distâncias inferiores a 4 (mm), além de ser colorido e enviar diretamente quadros compostos pelos pixels RGB. Isso facilitará muito o processamento da imagem. Na Figura 31 uma ilustração do módulo C3088, composto com sensor CMOS, lente e placa. Figura 31 - Câmera CMOS 53

54 3.2.2 ARMAZENAMENTO Assim que a câmera começar a enviar os dados da imagem, eles terão de ser armazenados em uma memória, para isto foi necessário unir ao projeto uma memória flash externa ao microcontrolador. A memória utilizada terá capacidade de armazenamento de 2 Mbytes embora à quantidade estimada necessária para atender o projeto seja de 1 Mbyte, optou-se por utilizar esta memória com capacidade superior, pois assim será possível armazenar todas as imagens, economizando assim alguns ciclos de clocks que seriam utilizados para apagar as imagens que já tivessem sido processadas. A memória utilizada foi a M25P16 da ST Microeletronics, ela tem 16 pinos, 75MHz de clock máximo e interface de comunicação SPI. Na Figura 32 a ilustração dos pinos e tipo de encapsulamento da memória. Figura 32 - Memória Flash de 2 Mbytes 54

55 3.2.3 APRESENTAÇÃO DOS RESULTADOS AO USUÁRIO Após o processamento da imagem, é necessário informar ao usuário o resultado obtido, para isto foi utilizado um pequeno alto falante que tocará bips distintos para cada uma das notas conforme Tabela 1. Em caso da não identificação da mesma será tocado um bip intermitente por 2 segundos. Conforme [6], um sistema de áudio pode ser desenvolvido a partir de uma única saída do microcontrolador, inicialmente foi feito somente com bips, porém no futuro o protótipo terá um dispositivo mais avançado de som. 1 Real 1 Bip Rápido 2 Reais 2 Bips Rápidos 5 Reais 3 Bips Rápidos 10 Reais 1 Bip Longo 20 Reais 2 Bips Longos 50 Reais 1 Bip Longo e 1 Bip Curto 100 Reais 1 Bip Longo e 2 Bips Curtos Tabela 1 - Relação de Notas e Bips 55

56 3.2.4 DIAGRAMA DE BLOCOS A Figura 33 mostra o diagrama de blocos. Ativa Câmera Câmera Memória Flash Interna M I C R O C O N T R O L A D O R Sistema de Som Memória de Programa Figura 33 - Diagrama em Blocos INTERAÇÃO ENTRE BLOCOS A Figura 34 mostra a interação entre os blocos. Inicia Câmera Armazena Imagem na Memória M I C R O C O N T R O L A D O R Sistema de Som Memória de Programa Figura 34 Interação em Blocos 56

57 3.2.6 INTERAÇÃO ENTRE SOFTWARE E HARDWARE A Figura 35 representa a interação entre o usuário o software e o hardware. Usuário Firmware Hardware Início Ativa Câmera Obtém Imagem Disponibiliza Som Figura 35 Interação Entre o Software e Hardware 57

58 3.2.7 ESQUEMA ELÉTRICO Na Figura 36 o esquema elétrico dos componentes, não foi possível utilizar o componente real da câmera, pois o mesmo não foi encontrado no software Proteus. Para resolver este problema, foi desenhado um componente com as pinagens da câmera. Figura 36 - Esquema Elétrico 58

59 3.2.8 Fotos do Protótipo As Figuras 37, 38, 39 e 40, mostram o protótipo desde projeto montado em protoboard até sua conclusão. Figura 37 - Circuito Montado em Protoboard Figura 38 - Placa Finalizada 59

60 Figura 39 - Visão Superior do Protótipo Figura 40 - Visão Frontal e da Parte Inferior 60

61 3.3 PROTOCOLO DE TESTES E VALIDAÇÃO O protocolo de testes e validação define as regras a serem seguidas para garantir que o projeto funcione de acordo com o objetivo proposto de identificar o dinheiro inserido no mesmo. Como o projeto não foi modular não foi possível definir um protocolo em separado para cada item, resumindo, ou o projeto está totalmente concluído para que possa ser testado ou não havia possibilidade de testar somente a câmera ou o processador em separado. Para a correta identificação da cédula, tem-se de inseri-la dentro da caixa do projeto conforme Figura 40 onde a figura do rosto contido na cédula fique para cima e o número pequeno fique na entrada da caixa. Isto foi necessário porque a memória acabou não funcionando, por este motivo foi necessário restringir a imagem a uma pequena área, então o sistema sempre fotografa essa parte específica da cédula para efetuar o processamento. Como o foco principal do projeto são deficientes visuais, logicamente eles não saberão que lado está o rosto e que lado está o número, pensando nisto na pior das hipóteses o usuário precisará inserir a imagem em 4 posições diferentes com isso levando 1 minuto para identificar a cédula. Além disso é necessário inserir a cédula junto a lateral esquerda e o fundo, de forma que a cédula fique reta junto ao fundo, se ela ficar dobrada ou amassada não é possível ter certeza de que o sistema conseguirá identificar a cédula. Não é necessário utilizar uma iluminação extra, a câmera está configurada para trabalhar com a iluminação fornecida pelo próprio sistema, em caso de uma luz extra acabará saturando a imagem e fazendo com que o sistema não identifique a cédula. O projeto será considerado válido desde que respeite os dados acima descritos. 61

62 APÊNDICE A - PREVISÃO DE CUSTOS Na Tabela 2 é demonstrado o custo aproximado do projeto, caso fosse um projeto real e não somente um trabalho de conclusão de curso. O valor é estimado com base tempo e materiais, para uma melhor compreensão foi gerado um gráfico na Figura 41 que representa a soma dos materiais e horas trabalhadas. Recurso Custo Total Horas de Engenheiro: Luciano Henrique Albano R$ ,64 Borland C++ Builder Professional R$ 2.700,00 Consultoria: Alessandro Zimmer R$ 2.350,00 Laboratórios R$ 1.800,00 Notebook R$ 950,00 Aprovação: Edson Pedro Ferlin R$ 540,00 Utensílios R$ 500,00 Microsoft Project R$ 400,00 Proteus R$ 400,00 Osciloscópio R$ 350,00 Ferramental R$ 250,00 Microsoft Office R$ 200,00 Quartus II R$ 180,00 Microsoft Windows R$ 170,00 Câmera Digital CMOS R$ 100,00 Kit de Desenvolvimento ICD2 R$ 270,00 Conversor de Áudio R$ 50,00 Memória Flash R$ 50,00 Caixa do Dispositivo R$ 50,00 Cabos e Conectores R$ 50,00 Componentes R$ 50,00 Total R$ ,64 Tabela 2 - Planilha de Custos 62

63 Na Figura 41 é apresentado o gráfico dos custos do projeto, separado por centros de custo. Relatório de Resumo de Custo do Projeto R$11.190,00 Material Trabalho R$52.304,64 Figura 41 Gráfico do Rateio Entre os Centros de Custos 63

64 APÊNDICE B CRONOGRAMA Na Figura 42 é demonstrado um cronograma com o tempo decorrido do projeto. Figura 42 - Cronograma MS Project 64

65 4 CONCLUSÃO O desenvolvimento deste projeto permitiu demonstrar que é possível a utilização de um sistema de processamento de imagens embarcado, ou seja, sem a utilização de um computador. Diversos filtros aplicados na imagem acabaram demandando um tempo de processamento superior ao esperado, porém os resultados foram satisfatórios, tendo em vista que este projeto acabou sofrendo alguns problemas no decorrer do desenvolvimento. A memória empregada no projeto acabou não funcionando, o programa se comunica com outras memórias com tamanho de armazenamento menores e mesmo protocolo de comunicação, o SPI. Segundo informações do fornecedor um lote da memória estava com problemas, isso fez com que o projeto ficasse limitado ao processamento de parte da imagem apenas, e não da imagem inteira como previsto no início do projeto. Diversos testes foram realizados depois que o protótipo estava funcionando, detectou-se a necessidade de extrair mais características das cédulas, como cor e melhoramento do sistema de identificação do limiar da cédula, porém mesmo sem esses parâmetros houvese um grau considerável de acertos da cédula fotografada. A câmera empregada no sistema para fotografar a imagem demandou muito mais tempo do que o esperado, além de envolver tecnologias não ensinadas no curso, isso fez com que diversos conhecimentos sobre protocolos de comunicação fossem estudados conforme [7, 8, 9 e 10], isso contribuiu para que outros sistemas possam ser desenvolvidos, pois as tecnologias utilizadas são muito comuns em outros tipos de dispositivos encontrados no mercado. O microcontrolador utilizado acabou sendo um pouco lento para a aplicação, em média está levando para fazer todo o processamento 15 segundos, esse tempo embora seja 65

66 pouco, a expectativa era de que não fosse superior a 5 segundos, porém isso não invalida o projeto visto que futuras melhorias poderão deixar o projeto mais rápido. O sistema de áudio desenvolvido para o projeto acabou sendo através de bips, um buzzer ligado a uma porta do microcontrolador que faz o som se propagar de acordo com a Tabela 1, devido ao problema da memória, descrito acima foi necessário utilizar este sistema de saída de som, porque o tamanho de cada arquivo de som contendo o valor da nota era superior ao que o microcontrolador tinha de memória interna. 66

67 5 REFERÊNCIAS BIBLIOGRAFIAS 1 - Livros GONZALEZ, R. C.; WOODS, R. E. Processamento de Imagens Digitais. Editora Edgar Blücher Ltda. São Paulo Monografias, Dissertação e Tese NETO, ERNANI DE SOUZA CUBAS Interpretador de Textos Escritos em Linguagem Braille. Curitiba, Monografia (Graduação). 3 Internet 1 Grupo de estudos sobre eletrônica (http://www.eletronica.org/modules.php?name=news&file=print&sid=13). 2 Microchip Fabricante internacional de microcontroladores (http://www.microchip.com). 3 Omini Vision Fabricante de chips de obtenção de imagens (http://www.ovt.com). 4 CMUCam Grupo de estudos sobre o sistema desenvolvido pela Carnegie Mellon University (http://www.cmucam.org) 5 Fabricante de Memórias (http://www.numonyx.com). 6 Roman Black Grupo de estudos sobre som em sistemas embarcados (http://www.romanblack.com). 7 Jrobot Grupo de desenvolvimento de um sistema utilizando a Camera C3088 (http://www.jrobot.net). 8 Electronics123.com Loja virtual com algumas informações de utilização da câmera (http://www.electronics123.com). 67

68 9 CoMedia.com Fabricante da câmera C3088 (http://www.comedia.com.cn). 10 Burgos Eletrônica Solda de Componentes smd (http://www.burgoseletronica.net/pgsmd/dessoldagemdesmdcomsolda.htm). 11 Resultados do IBGE (http://www.entreamigos.com.br/noticias/brasilradiografia.html). 12 Protocolo SPI (http://www.ee.pucrs.br/~terroso/html/protocolos.html). 68

69 6 MANUAL TÉCNICO/USUÁRIO SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS 69

70 Índice 1 Introdução 2 2 Conceitos Gerais 2 3 Características Elétricas 3 4 Problemas Comuns 3 70

71 1 Introdução As recomendações constantes neste manual foram preparadas com base nos dados do projeto, assim como conhecimentos experimentais que possibilitaram a aplicação do equipamento em questão. Independente disso, deve-se ressaltar que o usuário siga as instruções de utilização do equipamento, por conter componentes sensíveis a luz e a variação de energia. Bons cuidados com o equipamento garantirão uma maior vida útil do mesmo garantindo assim os benefícios que ele oferece por um maior período de tempo. 2 Conceitos Gerais O Sistema de Identificação de Cédulas é um equipamento de construção específica, destinado a finalidade de identificar o valor do dinheiro em papel, destinado exclusivamente a portadores de deficiência visual que necessitem do auxílio deste equipamento. Este equipamento não foi construído para operação em regimes extremos com altas ou baixas temperaturas, alta umidade, água ou demais condições climáticas e temporais que por ventura ele seja exposto. Fora de seu ambiente normal de trabalho não pode ser garantido um funcionamento adequado. Por conter componentes frágeis um requisito muito importante é a tensão de alimentação do mesmo, siga corretamente as características citadas no item 3 Características Elétricas. 2 71

72 3 Características Elétricas Estas informações são essenciais para o bom funcionamento do sistema, sem que estas sejam respeitados o sistema poderá ser danificado de forma irreversível. Tensão de Alimentação do Sistema 5V Tensão de Alimentação da Câmera 5V Tensão de Alimentação do Processador 3.3V Corrente Total Consumida Pelo Sistema 400mA 4 Problemas 1) Após pressionar o botão de início as luzes não ligam. Verifique a alimentação, provavelmente o mesmo não está sendo alimentado ou está com a alimentação incorreta. 2) Após apagar as luzes nenhum som é informado. Pressione o botão de Reset por 2 segundos depois pressione o botão de iniciar. Verifique se a cédula se encontra na posição correta de identificação. Verifique se não existe uma iluminação que possa estar ofuscando a imagem que a câmera está obtendo. Verifique se a alimentação está correta, caso a mesma não esteja as luzes podem estar mais fracas e com isto a câmera pode estar obtendo imagens distorcidas. Depois destas soluções abordadas acima, se mesmo assim o problema persistir, contate a assistência técnica através do 72 3

73 7 ARTIGO TÉCNICO Sistema de Identificação de Cédulas Luciano Henrique Albano - Orientador Professor Alessandro Zimmer Engenharia da Computação Universidade Positivo Curitiba, PR Resumo Este documento descreve o funcionamento de um protótipo de baixo custo composto por uma câmera CMOs que captura imagens e as envia para um microcontrolador de 16 Bits que as processa e as identifica a partir de um sistema composto por diversos filtros de computação gráfica. Além do sistema que o microcontrolador está executando para identificar a cédula ele também é responsável pela interação entre os demais componentes. Um conversor digital para analógico com suporte a arquivos de música em formato MP3, o VS1003 é responsável pela conversão dos arquivos em formato digital para som analógico e uma memória flash para armazenamento das imagens. Abstract Introdução Com a miniaturização dos componentes eletrônicos e o aumento do poder de processamento, aplicações embarcadas que requerem um alto poder de processamento tornaram-se viáveis. Sistemas mais complexos dependiam do auxílio do processamento de computadores, onde os microcontroladores ficavam apenas como coadjuvantes, fazendo somente o interfaceamento das informações entre o hardware e o software. Este projeto tem como objetivo inicial obter uma imagem através de uma câmera, identificar qual o valor da mesma e por fim, informar ao usuário através de um som qual cédula ele tem foi verificada. 73

74 Embora esta aplicação seja direcionada aos portadores de deficiência visual, ela também poderá ser utilizada em diversos seguimentos onde a identificação de cédulas é requerida, como por exemplo, máquinas de venda de refrigerantes. Este sistema requer um alto poder computacional, porque faz inúmeros cálculos para isolar e tratar uma imagem até localizar e identificar seu valor. Detalhes do Sistema Alto poder de processamento aliado a um baixo custo, tornam este protótipo altamente comercial, pode ser utilizado para diversas aplicações como: auxílio a deficientes visuais na identificação de cédulas, em máquinas automáticas de refrigerante e jornais, em caixas eletrônicos para contagem de valores antes da entrega a seus clientes. É composto por uma câmera colorida com sensor CMOs, ela opera com um consumo baixo e possui uma boa resolução para a finalidade a que será empregada. O microcontrolador é muito versátil e possui um alto poder de processamento a um valor acessível se comparado com outros microcontroladores com até quatro vezes menor poder de processamento. SISTEMA DE HARDWARE Câmera CMOS A câmera CMOS possui uma resolução de 392 x 256 pixels, ela permite a obtenção das imagens das cédulas que deverão ser identificadas e as disponibiliza em formato puro, ou seja, os valores de cada pixel diretamente. Isso foi extremamente importante, pois a maioria das câmeras encontradas no mercado trabalham com o formato JPEG (Joint Photographic Experts Group), ou seja, cada imagem é compactada neste formato. Para que seja possível fazer qualquer processamento é necessário descompactá-la, porém essa descompactação exige muitas bibliotecas que não podem ser utilizadas em ambiente de aplicações embarcadas, isso tornou toda essa gama de câmeras digitais inviáveis de serem utilizadas. 74

75 Figura 1 Câmera CMOs Microcontrolador O microcontrolador é o PIC24FJ64GA006, contém um poder de processamento de 16mips a 32MHz, ou seja, é capaz de processar até 16 milhões de instruções por segundo, o que suprirá a necessidade deste projeto. Além do processamento das imagens, ainda haverá necessidade de armazenar e buscar as imagens na memória, buscar e enviar os sons para o conversor D/A, entre outros processamentos diversos que ele será responsável. O invólucro deste processador é do tipo SMD, com 64 pinos e 53 portas de I/O (Inputs/Outputs), além do alto poder de processamento outro fator determinante na escolha deste microcontrolador, foi a quantidades de portas de entrada/saída de dados. Somente a câmera requer mais de 20 portas, onde 16 são para as imagens e suas cores, e as demais para controle. Ele possui arquitetura de 16bits, ou seja, cada registrador interno pode trabalhar com o número até sem a necessidade de ter que quebrá-lo em parte alta e baixa, contra apenas 256 dos microcontroladores com arquitetura de 8 bits. Essa possibilidade de se trabalhar com números maiores, garante uma maior facilidade para endereçamentos, por que números superiores a 256 não precisam ser armazenados em dois registradores. 75

SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS

SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS UNIVERSIDADE POSITIVO Núcleo de Ciências Exatas e Tecnológicas Engenharia da Computação SISTEMA DE IDENTIFICAÇÃO DE CÉDULAS UP/NCET Curitiba 2008 1 UNIVERSIDADE POSITIVO Núcleo de Ciências Exatas e Tecnológicas

Leia mais

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO

CAPÍTULO 5. INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO 28 CAPÍTULO 5 INTERFACES PARA PERIFÉRICOS DE ARMAZENAMENTO INTERFACES DIVERSAS: FIREWIRE, SPI e I 2 C INTERFACES COM O MUNDO ANALÓGICO Interfaces para periféricos de armazenamento: Periféricos de armazenamento,

Leia mais

Prática 8: Comunicação SPI. 8.1 Introdução e objetivos. 8.2 Princípios básicos do protocolo SPI

Prática 8: Comunicação SPI. 8.1 Introdução e objetivos. 8.2 Princípios básicos do protocolo SPI Prática 8: 8.1 Introdução e objetivos Comunicação SPI O protocolo SPI (serial peripheral interface) é um método de comunicação utilizado para interconectar dispositivos ou chips de tal forma que estes

Leia mais

O USO DE UM SENSOR DE LUZ LINEAR COMO RECURSO DIDÁTICO PARA DEMONSTRAR PRINCÍPIOS DE DIFRAÇÃO E ESPECTROSCOPIA

O USO DE UM SENSOR DE LUZ LINEAR COMO RECURSO DIDÁTICO PARA DEMONSTRAR PRINCÍPIOS DE DIFRAÇÃO E ESPECTROSCOPIA Quim. Nova, Vol. 38, No. 3, S1-S6, 2015 O USO DE UM SENSOR DE LUZ LINEAR COMO RECURSO DIDÁTICO PARA DEMONSTRAR PRINCÍPIOS DE DIFRAÇÃO E ESPECTROSCOPIA Fernando Arruda Mendes de Oliveira a,b, Eduardo Ribeiro

Leia mais

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo.

A idéia hardware sugerida é colocar a placa entre o PC e o microcontrolador, conforme mostrado no esquema abaixo. Circuito de gravação (AVR programmer) Introdução Nossa proposta, nesta parte do trabalho, é apresentar um circuito para gravação ISP (In-System- Programming) para microcontroladores AVR. Este circuito,

Leia mais

Estrutura interna de um microcontrolador

Estrutura interna de um microcontrolador Estrutura interna de um microcontrolador Um microcontrolador é composto por um conjunto de periféricos interligados a uma unidade de processamento e todo este conjunto confere a este componente uma versatilidade

Leia mais

O protocolo I2C. Fig. 1 Diagrama em blocos e pinos do circuito integrado PT2313.

O protocolo I2C. Fig. 1 Diagrama em blocos e pinos do circuito integrado PT2313. O protocolo I2C 1 - Introdução O protocolo I2C ou I 2 C, também chamado IIC, foi criado para possibilitar a comunicação entre circuitos integrados com um número reduzido de fios, reduzindo o número de

Leia mais

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação

Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas NCET Engenharia da Computação MINI OSCILOSCÓPIO DIGITAL PORTÁTIL BASEADO EM MICROCONTROLADOR PIC Curitiba 2004 1 Ederson

Leia mais

Arquitetura CAN. José Sérgio da Rocha Neto

Arquitetura CAN. José Sérgio da Rocha Neto Arquitetura CAN 1 Sumário Rede CAN. Arquitetura do Sistema Implementado. Interface SPI. Controlador CAN MCP2510. Transceiver MCP2551. ADuC812. Resultados Obtidos. Conclusões. 2 REDE CAN CAN Controller

Leia mais

HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO. Wagner de Oliveira

HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO. Wagner de Oliveira HARDWARE COMPONENTES BÁSICOS E FUNCIONAMENTO Wagner de Oliveira SUMÁRIO Hardware Definição de Computador Computador Digital Componentes Básicos CPU Processador Memória Barramento Unidades de Entrada e

Leia mais

Trabalho de Conclusão de Curso - TCC

Trabalho de Conclusão de Curso - TCC Identificação Trabalho de Conclusão de Curso - TCC Jorge de Assis Merege Neto Construção de um protótipo (hardware e software) para segurança predial através de uma rede digital de monitoração via câmera

Leia mais

Fundamentos de Arquitetura de Computadores. Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

Fundamentos de Arquitetura de Computadores. Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Fundamentos de Arquitetura de Computadores Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Hardware de um Sistema Computacional Hardware: são os componentes

Leia mais

SSC 741 - Projeto e Implementação de Sistemas Embarcados I

SSC 741 - Projeto e Implementação de Sistemas Embarcados I INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO ICMC UNIVERSIDADE DE SÃO PAULO - USP SSC 741 - Projeto e Implementação de Sistemas Embarcados I Projeto Final Responsáveis: Prof. Dr. Eduardo Marques e

Leia mais

Como è feito computador

Como è feito computador Como è feito computador O computador contém uma parte elétrica e uma parte eletrónica. Parte elétrica é usada para transformar e dinstribuir a eletricidade que vem para os vários componentes. Parte eletrónica

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH

DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH UNIVERSIDADE FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA ELÉTRICA DECODIFICADOR DE DISPLAY DE 7 SEGMENTOS COM LATCH Projeto para a matéria TE130 Projeto de Circuitos Integrados Digitais, ministrada pelo

Leia mais

Aula 2 Aquisição de Imagens

Aula 2 Aquisição de Imagens Processamento Digital de Imagens Aula 2 Aquisição de Imagens Prof. Dr. Marcelo Andrade da Costa Vieira mvieira@sc.usp.br EESC/USP Fundamentos de Imagens Digitais Ocorre a formação de uma imagem quando

Leia mais

5 Entrada e Saída de Dados:

5 Entrada e Saída de Dados: 5 Entrada e Saída de Dados: 5.1 - Arquitetura de Entrada e Saída: O sistema de entrada e saída de dados é o responsável pela ligação do sistema computacional com o mundo externo. Através de dispositivos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co.

Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co. Programação Daniel Corteletti Aula 2 Página 1/6 Conhecendo o PIC16F877 Microcontrolador de 8 bits da Microchip Co. O microcontrolador PIC16F877 pode ser encontrado em diversos encapsulamentos: PDIP, QFP,

Leia mais

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações.

Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações. Na primeira aula, conhecemos um pouco sobre o projeto Arduino, sua família de placas, os Shields e diversos exemplos de aplicações. A partir de agora, iremos conhecer o hardware do Arduino e suas caracteristicas

Leia mais

Pró-Reitoria de Pesquisa, Inovação e Pós-Graduação. Resumo Expandido

Pró-Reitoria de Pesquisa, Inovação e Pós-Graduação. Resumo Expandido Pró-Reitoria de Pesquisa, Inovação e Pós-Graduação Resumo Expandido Título da Pesquisa: Painel Braille para deficientes visuais: interface computacional. Palavras-chave: Painel Braille, Tecnologia Assistiva,

Leia mais

REGISTRADOR DIGITAL DE GRANDEZAS COM CONEXÃO À INTERNET RELATÓRIO TÉCNICO FINAL

REGISTRADOR DIGITAL DE GRANDEZAS COM CONEXÃO À INTERNET RELATÓRIO TÉCNICO FINAL PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE ENGENHARIA DE COMPUTAÇÃO DISCIPLINA DE PROJETO FINAL REGISTRADOR DIGITAL DE GRANDEZAS COM CONEXÃO À INTERNET RELATÓRIO

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA CCET CURSO DE ENGENHARIA DE COMPUTAÇÃO Henrique Soares Hinke José Eduardo da Silva Rodrigues Matheus Augusto de Queiroz

Leia mais

XIX Congresso Nacional de Estudantes de Engenharia Mecânica - 13 a 17/08/2012 São Carlos-SP Artigo CREEM2012 SENSOR DE TEMPERATURA WIRELESS

XIX Congresso Nacional de Estudantes de Engenharia Mecânica - 13 a 17/08/2012 São Carlos-SP Artigo CREEM2012 SENSOR DE TEMPERATURA WIRELESS XIX Congresso Nacional de Estudantes de Engenharia Mecânica - 13 a 17/08/2012 São Carlos-SP Artigo CREEM2012 SENSOR DE TEMPERATURA WIRELESS Antonio Carlos Lemos Júnior, Ednaldo Lopes Rosa e Leandro Aureliano

Leia mais

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS André Zuconelli 1 ; Manassés Ribeiro 2 1. Aluno do Curso Técnico em Informática, turma 2010, Instituto Federal Catarinense, Câmpus Videira, andre_zuconelli@hotmail.com

Leia mais

Microcontroladores ARM Cortex-M3 - XM 700 -

Microcontroladores ARM Cortex-M3 - XM 700 - T e c n o l o g i a Microcontroladores ARM Cortex-M3 - XM 700 - Os melhores e mais modernos MÓDULOS DIDÁTICOS para um ensino tecnológico de qualidade. INTRODUÇÃO Microcontroladores ARM Cortex-M3 - XM 700

Leia mais

PAINEL ELETRÔNICO SONYTECH

PAINEL ELETRÔNICO SONYTECH PAINEL ELETRÔNICO SONYTECH Nathalio M. de A. Santos, Osamu Saotome Departamento de Eletrônica Aplicada, Instituto Tecnológico de Aeronáutica Resumo O presente artigo mostra o desenvolvimento do Painel

Leia mais

Sistemas Embarcados. Introdução aos sistemas embarcados

Sistemas Embarcados. Introdução aos sistemas embarcados Sistemas Embarcados Introdução aos sistemas embarcados Introdução aos Sistemas embarcados Definição de um sistema embarcado Exemplos de sistemas embarcados Processadores utilizados em sistemas embarcados

Leia mais

Sensores de Imagem ivu

Sensores de Imagem ivu Sensores de Imagem ivu www.bannerengineering.com.br Sensor de Visão ivu com interface integrada Sensor de imagem para inspeções de aprovação/rejeição ou leitura de código de barras Interface Gráfica do

Leia mais

CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO RELATÓRIO TÉCNICO FINAL

CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO RELATÓRIO TÉCNICO FINAL CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO RELATÓRIO TÉCNICO FINAL CURITIBA JULHO DE 2008 ANDRÉ GELASCO MALSCHITZKY JOFFER JOSE NOVAK DE ALBUQUERQUE INTEGRAÇÃO DE MÓDULOS ELETRÔNICOS

Leia mais

CAPÍTULO 1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO 1 CAPÍTULO 1 INTRODUÇÃO O computador não é uma máquina interessante se não pudermos interagir com ela. Fazemos isso através de suas interfaces e seus periféricos. Como periféricos serão considerados os

Leia mais

Arquitetura de Sistemas Embarcados: Controladores Industriais

Arquitetura de Sistemas Embarcados: Controladores Industriais Arquitetura de Sistemas Embarcados: Controladores Industriais Heber A. Scachetti RA 004933 heber_augusto@yahoo.com.br RESUMO Este artigo apresenta algumas das principais características encontradas em

Leia mais

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Entrada e Saída. Prof. Leonardo Barreto Campos 1 Entrada e Saída Prof. Leonardo Barreto Campos 1 Sumário Introdução; Dispositivos Externos; E/S Programada; E/S Dirigida por Interrupção; Acesso Direto à Memória; Bibliografia. Prof. Leonardo Barreto Campos

Leia mais

Acetatos de apoio às aulas teóricas

Acetatos de apoio às aulas teóricas Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt anacris@ipt.pt Ana Cristina Lopes, 16 de Dezembro de 2004 Microprocessadores

Leia mais

CBPF Centro Brasileiro de Pesquisas Físicas. Nota Técnica

CBPF Centro Brasileiro de Pesquisas Físicas. Nota Técnica CBPF Centro Brasileiro de Pesquisas Físicas Nota Técnica Aplicação de Física Médica em imagens de Tomografia de Crânio e Tórax Autores: Dário Oliveira - dario@cbpf.br Marcelo Albuquerque - marcelo@cbpf.br

Leia mais

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego;

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Características Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Poderá ser utilizado por empresas autorizadas por convenção ou acordo coletivo a usar sistemas

Leia mais

Componentes de um Sistema de Computador

Componentes de um Sistema de Computador Componentes de um Sistema de Computador HARDWARE: unidade responsável pelo processamento dos dados, ou seja, o equipamento (parte física) SOFTWARE: Instruções que dizem o que o computador deve fazer (parte

Leia mais

Sistema de Monitoramento e Supervisão de Vibração HYMV05

Sistema de Monitoramento e Supervisão de Vibração HYMV05 Sistema de Monitoramento e Supervisão de Vibração Revisão 1 Mai2005 O é um sistema inteligente de Monitoramento, Aquisição de Dados e Supervisão Local para utilização com os softwares da linha Dynamic.

Leia mais

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13. www.robouno.com.br

R O B Ó T I C A. Sensor Smart. Ultrassom. Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13. www.robouno.com.br R O B Ó T I C A Sensor Smart Ultrassom Versão Hardware: 1.0 Versão Firmware: 1.0 REVISÃO 1211.13 Sensor Smart Ultrassom 1. Introdução Os sensores de ultrassom ou ultrassônicos são sensores que detectam

Leia mais

AULA2 Introdução a Microcontrolador

AULA2 Introdução a Microcontrolador AULA2 Introdução a Microcontrolador Disciplina: Aplicações Avançadas de Microprocessadores (AAM) Profa. Eduardo Henrique Couto ehcouto@hotmail.com Tópicos: Microcontroladores - Evolução Principais características

Leia mais

Sistemas Embarcados. Comunicação em Sistemas Embarcados

Sistemas Embarcados. Comunicação em Sistemas Embarcados Sistemas Embarcados Comunicação em Sistemas Embarcados Comunicação em Sistemas Embarcados As necessidades de comunicação Os tipos de comunicação Meios de comunicação Protocolos de comunicação Periféricos

Leia mais

Profº. Emerson Siraqui

Profº. Emerson Siraqui RADIOLOGIA DIGITAL Profº. Emerson Siraqui Nome: Emerson Siraqui Formação Acadêmica: Graduação: Tecnólogo em Radiologia Médica-FASM Especialização: APRESENTAÇÃO Operacionalidade e Capacitação em aparelhos

Leia mais

NETALARM GATEWAY. Manual do Usuário

NETALARM GATEWAY. Manual do Usuário Índice 1. Introdução...3 2. Requisitos Mínimos de Instalação...3 3. Instalação...3 4. Inicialização do Programa...5 5. Abas de Configuração...6 5.1 Aba Serial...6 5.2 Aba TCP...7 5.2.1 Opções Cliente /

Leia mais

Arquitetura de Computadores. Arquitetura de Computadores 1

Arquitetura de Computadores. Arquitetura de Computadores 1 Computadores Computadores 1 Introdução Componentes: Processador; UC; Registradores; ALU s, FPU s, etc. Memória (Sistema de armazenamento de informações; Dispositivo de entrada e saída. Computadores 2 Introdução

Leia mais

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego;

Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Características Baseado na portaria n 373 de 25 de fevereiro de 2011 do Ministério do Trabalho e Emprego; Poderá ser utilizado por empresas autorizadas por convenção ou acordo coletivo a usar sistemas

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 2. Hardware: Componentes Básicos e Funcionamento Prof. Ronaldo Componentes de um Sistema de Computador HARDWARE: unidade

Leia mais

TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 -

TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 - TopPendrive Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 1 - Índice Manual de Instruções TopPendrive - MP07301-01 Rev 06-03/05/2010 PG - 2 - ÍNDICE 1 APRESENTAÇÃO... 3 1.1 ACESSÓRIOS

Leia mais

Peça para um amigo baixar o programa também, e você pode começar a experimentar o VoIP para ver como funciona. Um bom lugar para procurar é

Peça para um amigo baixar o programa também, e você pode começar a experimentar o VoIP para ver como funciona. Um bom lugar para procurar é VOIP Se você nunca ouviu falar do VoIP, prepare-se para mudar sua maneira de pensar sobre ligações de longa distância. VoIP, ou Voz sobre Protocolo de Internet, é um método para pegar sinais de áudio analógico,

Leia mais

DataQuest. Soluções para Controle de Acesso. DataMini. Manual Técnico Software Ver. 1.0

DataQuest. Soluções para Controle de Acesso. DataMini. Manual Técnico Software Ver. 1.0 DataQuest Soluções para Controle de Acesso DataMini Manual Técnico Software Ver. 1.0 DataQuest DataQuest Comércio e Consultoria Ltda. Av. Dr. Guilherme Dumont Villares, n 1050 Sala 11 Vila Suzana - São

Leia mais

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19. www.robouno.com.br

R O B Ó T I C A. Sensor Smart. Seguidor de Linha. Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19. www.robouno.com.br R O B Ó T I C A Sensor Smart Seguidor de Linha Versão Hardware: 1.0 Versão Firmware: 2.0 REVISÃO 1211.19 Sensor Smart Seguidor de Linha 1. Introdução Os sensores seguidores de linha são sensores que detectam

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Capítulo 1 Os Computadores e a Sua Arquitetura

Capítulo 1 Os Computadores e a Sua Arquitetura Capítulo 1 Os Computadores e a Sua Arquitetura Neste capítulo nós trataremos de alguns conceitos básicos sobre o modelo de arquitetura dos computadores modernos, seus componentes e suas principais funções.

Leia mais

Fotografia Digital Obtenção da Imagem e Impressão

Fotografia Digital Obtenção da Imagem e Impressão Fotografia Digital Obtenção da Imagem e Impressão 1 Diferenças entre o CCD e o Filme: O filme como já vimos, é uma película de poliéster, coberta em um dos lados por uma gelatina de origem animal com partículas

Leia mais

DISPOSITIVOS DE MEMÓRIA

DISPOSITIVOS DE MEMÓRIA DISPOSITIVOS DE MEMÓRIA INTRODUÇÃO Um sistema digital é capaz de armazenar facilmente uma grande quantidade de informação por períodos de tempo curtos ou longos, sendo esta a sua principal vantagem sobre

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

Redes Industriais. Centro de Formação Profissional Orlando Chiarini - CFP / OC Pouso Alegre MG Inst.: Anderson

Redes Industriais. Centro de Formação Profissional Orlando Chiarini - CFP / OC Pouso Alegre MG Inst.: Anderson Redes Industriais Centro de Formação Profissional Orlando Chiarini - CFP / OC Pouso Alegre MG Inst.: Anderson Capítulo 3 Rede AS-I Actuador - Sensor - Interface Capítulo 3 Histórico A rede AS-Interface

Leia mais

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET

Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Hardware de Computadores Questionário II 1. A principal diferença entre dois processadores, um deles equipado com memória cache o

Leia mais

Kit de desenvolvimento ACEPIC 40N

Kit de desenvolvimento ACEPIC 40N Kit de desenvolvimento ACEPIC 40N O Kit de desenvolvimento ACEPIC 40N foi desenvolvido tendo em vista a integração de vários periféricos numa só placa, além de permitir a inserção de módulos externos para

Leia mais

Segmentação de Imagens de Placas Automotivas

Segmentação de Imagens de Placas Automotivas Segmentação de Imagens de Placas Automotivas André Zuconelli, Manassés Ribeiro Instituto Federal Catarinense - Campus Videira. Técnico em Informática, turma 2010 Rodovia SC, Km 5 Bairro Campo Experimental

Leia mais

CONHECIMENTOS ESPECÍFICOS

CONHECIMENTOS ESPECÍFICOS e acordo com o comando a que cada um dos itens de 51 a 120 se refira, marque, na folha de respostas, para cada item: o campo designado com o código C, caso julgue o item CERTO; ou o campo designado com

Leia mais

Módulo de Acesso com Teclado 1. Manual do Usuário. Apresentação Instalação Codificação dos Receptores Programações Operações

Módulo de Acesso com Teclado 1. Manual do Usuário. Apresentação Instalação Codificação dos Receptores Programações Operações Módulo de Acesso com Teclado 1 Manual do Usuário Apresentação Instalação Codificação dos Receptores Programações Operações 2 Manual do Usuário Módulo de Acesso com Teclado 3 ÍNDICE CAPÍTULO I - APRESENTAÇÃO...07

Leia mais

INSTITUTO MARTIN LUTHER KING CURSO PROCESSAMENTO DE DADOS DISCIPLINA: HARDWARE

INSTITUTO MARTIN LUTHER KING CURSO PROCESSAMENTO DE DADOS DISCIPLINA: HARDWARE Memória ROM Vamos iniciar com a memória ROM que significa Read Only Memory, ou seja, uma memória somente para leitura. Isso quer dizer que as instruções que esta memória contém só podem ser lidas e executadas,

Leia mais

Controle de acesso FINGER

Controle de acesso FINGER Controle de acesso FINGER MANUAL DE INSTRUÇÕES Sobre esse Guia Esse guia fornece somente instruções de instalação. Para obter informações sobre instruções de uso, favor ler o Manual do usuário.. ÍNDICE

Leia mais

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5

ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4. 2.1. Ligação da porta USB... 4. 2.2. LEDs de estado... 4. 2.3. Botão... 5 MANUAL PICKIT2 ÍNDICE 1. INTRODUÇÃO... 3 2. DESCRIÇÃO DO PICKIT2... 4 2.1. Ligação da porta USB... 4 2.2. LEDs de estado... 4 2.3. Botão... 5 2.4. Conector de programação... 5 2.5. Slot para chaveiro...

Leia mais

15/08/2013 DIREITO DA. Professor: Luis Guilherme Magalhães (62) 9607-2031 INTRODUÇÃO À INFORMÁTICA

15/08/2013 DIREITO DA. Professor: Luis Guilherme Magalhães (62) 9607-2031 INTRODUÇÃO À INFORMÁTICA DIREITO DA INFORMÁTICA Professor: Luis Guilherme Magalhães (62) 9607-2031 INTRODUÇÃO À INFORMÁTICA 1 CONCEITOS BÁSICOS Informática infor + mática. É o tratamento da informação de forma automática Dado

Leia mais

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória

Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e Organização de Memória Introdução Arquitetura de Computadores Circuitos Combinacionais, Circuitos Sequênciais e O Nível de lógica digital é o nível mais baixo da Arquitetura. Responsável pela interpretação de instruções do nível

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DE COMPUTAÇÃO CURVE TRACER

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DE COMPUTAÇÃO CURVE TRACER PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DE COMPUTAÇÃO CURVE TRACER CURITIBA 2011 GUSTAVO MURILO SCHMITT MASSANEIRO CURVE TRACER Documentação apresentada

Leia mais

Sistema de Monitorização e Alarme (1 a -parte)

Sistema de Monitorização e Alarme (1 a -parte) 1 o -Trabalho de Laboratório - PIC Sistemas Computacionais Embebidos IST - 2014/2015 Sistema de Monitorização e Alarme (1 a -parte) 1 Introdução Alguns sistemas embebidos são desenvolvidos sobre plataformas

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

Fundamentos de Automação. Controladores

Fundamentos de Automação. Controladores Ministério da educação - MEC Secretaria de Educação Profissional e Técnica SETEC Instituto Federal de Educação Ciência e Tecnologia do Rio Grande do Sul Campus Rio Grande Fundamentos de Automação Controladores

Leia mais

Câmera CFTV Digital Sem Fio

Câmera CFTV Digital Sem Fio Câmera CFTV Digital Sem Fio Manual do Usuário Você acaba de adquirir um produto Leadership, testado e aprovado por diversos consumidores em todo Brasil. Neste manual estão contidas todas as informações

Leia mais

www.vwsolucoes.com Copyright 2013 VW Soluções

www.vwsolucoes.com Copyright 2013 VW Soluções 1 1. Especificação técnicas: Dimensões do módulo 4EA2SA v1.0: 100 mm x 56 mm Peso aproximado: xxx gramas (montada). Alimentação do circuito : 12 ou 24Vcc Tipo de comunicação: RS232 ou RS485 Tensão de referencia:

Leia mais

Capitulo 11 Multimídias

Capitulo 11 Multimídias Capitulo 11 Multimídias Neste capítulo são exploradas as ferramentas multimídias presentes no SO Android customizadas para o Smartphone utilizado neste manual. É inegável o massivo uso destas ferramentas,

Leia mais

CIÊNCIA E TECNOLOGIA DO RIO INFORMÁTICA BÁSICA AULA 03. Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 25/06/2014

CIÊNCIA E TECNOLOGIA DO RIO INFORMÁTICA BÁSICA AULA 03. Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 25/06/2014 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INFORMÁTICA BÁSICA AULA 03 Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 25/06/2014 Unidades de armazenamento

Leia mais

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza

Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza Programação em BASIC para o PIC Mostrando Mensagens no Display LCD Vitor Amadeu Souza Introdução Nesta terceira série de artigos que aborda a programação na linguagem BASIC para o microcontrolador PIC,

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 02. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 02. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 03 Conceitos de Hardware e Software parte 02 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed.

Leia mais

www.vwsolucoes.com Copyright 2012 VW Soluções

www.vwsolucoes.com Copyright 2012 VW Soluções 1 Apresentação O Cabo PicKit2 é uma versão simplificada do gravador PicKit2 da Microchip com a idéia de podermos substituir o microcontrolador dos Clp Pic 28 e/ou Clp Pic40 por outros com maiores capacidades

Leia mais

2.1.2 Definição Matemática de Imagem

2.1.2 Definição Matemática de Imagem Capítulo 2 Fundamentação Teórica Este capítulo descreve os fundamentos e as etapas do processamento digital de imagens. 2.1 Fundamentos para Processamento Digital de Imagens Esta seção apresenta as propriedades

Leia mais

APOSTILA DE TREINAMENTO E DICAS DE REPARO TELEVISORES LCD

APOSTILA DE TREINAMENTO E DICAS DE REPARO TELEVISORES LCD APOSTILA DE TREINAMENTO E DICAS DE REPARO TELEVISORES LCD INDICE DIAGRAMA EM BLOCOS... Pg. 03 AC INPUT... Pg. 04 POWER... Pg. 05 FONTE STANDBY... Pg. 06 PFC FONTE... Pg. 07 FONTE ALTA I... Pg. 08 FONTE

Leia mais

Henry Equipamentos Eletrônicos e Sistemas Ltda.

Henry Equipamentos Eletrônicos e Sistemas Ltda. Manual do equipamento Henry Equipamentos Eletrônicos e Sistemas Ltda. +55 41 3661-0100 Rua Rio Piquiri, 400 - Jardim Weissópolis - Pinhais/PR - Brasil CEP: 83322-010 CNPJ: 01.245.055/0001-24 Inscrição

Leia mais

MOTAGEM E MANUTENÇÃO Hardware. Professor: Renato B. dos Santos

MOTAGEM E MANUTENÇÃO Hardware. Professor: Renato B. dos Santos MOTAGEM E MANUTENÇÃO Hardware Professor: Renato B. dos Santos 1 O computador é composto, basicamente, por duas partes:» Hardware» Parte física do computador» Elementos concretos» Ex.: memória, teclado,

Leia mais

Quadro de consulta (solicitação do mestre)

Quadro de consulta (solicitação do mestre) Introdução ao protocolo MODBUS padrão RTU O Protocolo MODBUS foi criado no final dos anos 70 para comunicação entre controladores da MODICON. Por ser um dos primeiros protocolos com especificação aberta

Leia mais

ADC0804 (CONVERSOR A/D)

ADC0804 (CONVERSOR A/D) ADC0804 (CONVERSOR A/D) Getulio Teruo Tateoki O conversor Analógico Digital ADC0804é um Circuito Integrado da National Semicondutores, capaz de converter uma amostra analógica entre 0 e 5V, em um valor

Leia mais

CONHECIMENTOS ESPECÍFICOS

CONHECIMENTOS ESPECÍFICOS CONHECIMENTOS ESPECÍFICOS O diodo de junção possui duas regiões de materiais semicondutores dos tipos N e P. Esse dispositivo é amplamente aplicado em circuitos chaveados, como, por exemplo, fontes de

Leia mais

Módulo FGM721. Controlador P7C - HI Tecnologia

Módulo FGM721. Controlador P7C - HI Tecnologia Automação Industrial Módulo Controlador P7C - HI Tecnologia 7C O conteúdo deste documento é parte do Manual do Usuário do controlador P7C da HI tecnologia (PMU10700100). A lista de verbetes consta na versão

Leia mais

Localização de placas em imagens de veículos. Resumo

Localização de placas em imagens de veículos. Resumo Localização de placas em imagens de veículos Geovane Hilário Linzmeyer Curso de Inteligência Computacional Pontifícia Universidade Católica do Paraná Curitiba, dezembro de 2005 Resumo Um dos maiores problemas

Leia mais

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

Leia mais

Desenvolvimento de Módulo Wireless para Acionamento de Cargas via Porta Paralela

Desenvolvimento de Módulo Wireless para Acionamento de Cargas via Porta Paralela Desenvolvimento de Módulo Wireless para Acionamento de Cargas via Porta Paralela Pedro H. M. Araújo 1, Renan P. Figueiredo 1, Douglas L. Dias 1, Sandro C. S. Jucá 1 1 Área da Telemática Instituto Federal

Leia mais

Sistema de Monitorização com Múltiplos Alarmes (1 a -parte)

Sistema de Monitorização com Múltiplos Alarmes (1 a -parte) 1 o -Trabalho de Laboratório - PIC Sistemas Computacionais IST - 2005/2006 Sistema de Monitorização com Múltiplos Alarmes (1 a -parte) 1 Introdução Alguns sistemas embebidos são desenvolvidos sobre plataformas

Leia mais

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS

COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS COMUNICAÇÃO SERIAL ENTRE EQUIPAMENTOS 1 Introdução Para transmitir ou receber informações de outros dispositivos é necessário que os sistemas automáticos sejam capazes de comunicarem-se com estes dispositivos.

Leia mais

MÓDULO DE ORIENTAÇÃO TCA-MASTER

MÓDULO DE ORIENTAÇÃO TCA-MASTER 1 Tópicos pág. 1. Instalação do sistema... 02 2. Diagrama TCA Master... 07 3. CPU... 08 4. Display... 10 5. Leitor código de barras... 11 6. Tacômetro... 11 7. Modulo de Teste... 13 Elaborado por CQS Engenharia

Leia mais

Processadores. Prof. Alexandre Beletti Ferreira

Processadores. Prof. Alexandre Beletti Ferreira Processadores Prof. Alexandre Beletti Ferreira Introdução O processador é um circuito integrado de controle das funções de cálculos e tomadas de decisão de um computador. Também é chamado de cérebro do

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 2. Hardware: Componentes Básicos e Funcionamento Prof. Ronaldo Componentes de um Sistema de Computador HARDWARE: unidade

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Entrada e saída Alexandre Amory Edson Moreno Nas Aulas Anteriores Foco na Arquitetura e Organização internas da Cleo Modelo Von Neuman Circuito combinacional Circuito

Leia mais

Conversores D/A e A/D

Conversores D/A e A/D Conversores D/A e A/D Introdução Um sinal analógico varia continuamente no tempo. Som Temperatura Pressão Um sinal digital varia discretamente no tempo. Processamento de sinais digitais Tecnologia amplamente

Leia mais