DSP Lab 02 Implementação de uma biblioteca e teste do display OLED 96 16

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

Download "DSP Lab 02 Implementação de uma biblioteca e teste do display OLED 96 16"

Transcrição

1 DSP Lab 02 Implementação de uma biblioteca e teste do display OLED Neste Lab iremos descrever o processo de implementação de uma biblioteca de caracteres para comunicação com o display OLED de pixels, que utiliza o controlador SSD1306, montado na placa de desenvolvimento ezdsp C5515. Plataforma ezdsp C5515 Display OLED Displays OLED (Organic Led Emitter Diode) são feitos de um tipo de material orgânico (contêm carbono) que emite luz quando excitado por uma corrente elétrica. A imagem abaixo, retirada do site allaboutcircuits.com, ilustra as camadas de construção de um display OLED.

2 Camadas de um display OLED Estes displays não necessitam de uma retro iluminação e filtros para luz assim como é necessário nos displays de LCD comuns, o que os torna mais eficientes, simples de produzir e mais leves, além da possibilidade de serem construídos de forma flexível ou dobrável. A figura abaixo ilustra este modelo de display na forma flexível. Display OLED flexível Os displays de OLED apresentam as seguintes vantagens em relação aos de LCD: Maior qualidade de imagem Melhor contraste, alto brilho, ótimo ângulo de visão, grande variedade de cores e uma maior taxa de atualização. Baixo consumo de energia. Fácil construção que permite telas mais finas, flexíveis

3 e transparentes. Melhor durabilidade São mais duráveis e podem opera em uma maior faixa de temperatura por não apresentar o cristal líquido em sua construção. O Display montado na ezdsp A ferramenta para desenvolvimento com DSP s ezdsp C5515 da Spectrum Digital possui um display OLED de pixels, comunicação via protocolo I2C, montado na placa principal para testes de comunicação serial e como uma forma de visualização de variáveis e interface com o usuário. Nos códigos originais disponibilizados pela Spectrum Digital para manipulação do display, não era possível escrever uma cadeia de strings e envia-los para o controlador SSD1306 de uma forma intuitiva. Ao invés disso, uma combinação de 4 bytes deveria ser escrita e enviada ao display para a montagem dos caracteres, bit a bit, individualmente na tela. A imagem abaixo ilustra uma parte do algoritmo original para a combinação dos bytes na escrita de um caractere. Snap Shot Combinação bytes Outro fator que dificultou a interação com o display foi que a sequência de bytes, como na imagem acima, originalmente era

4 escrita na ordem invertida da montagem do caractere. Enviando um caractere para o Display OLED O display apresenta uma configuração de pixels (96 colunas x 16 linhas) onde podemos indicar 2 linhas de textos de 96 8 pixels cada uma que são chamados de PAGE 0 e PAGE 1 pelo datasheet do controlador SSD1306. A imagem abaixo ilustra o tipo de endereçamento do ponteiro de memória do display no modo horizontal para uma tela de pixels. Imagem Page display Para mostrar um caractere por inteiro e com boa nitidez, o display necessita de 5 bytes de dados dispostos em 8 linhas que formam uma PAGE na memória do display. A imagem abaixo ilustra a formatação básica de uma PAGE de memória do controlador SSD1306. Construção display do Page no

5 Na elaboração desta biblioteca foi necessária uma ferramenta que gerasse a combinação padrão dos caracteres no mesmo momento em que eles eram montados. Para isso, algumas formulas e arranjos de formatação condicional de células foram elaborados no Excel como forma de facilitar a construção da biblioteca. O Gif abaixo ilustra o funcionamento desta planilha que pode ser baixada neste link. GIF do codificador de 5 bytes Diante da imagem acima, observamos então que para o caractere 2 ser mostrado no display nós precisamos enviar a sequência {0x42, 0x61, 0x51, 0x49, 0x46} ao controlador. Assim, os pixels de cada banco serão ligados individualmente como na imagem. Utilizando o mesmo método e considerando os outros caracteres mais utilizados, um vetor com a sequência de cada caractere foi elaborado com a ajuda da planilha descrita acima. Na imagem abaixo podemos observar uma parte deste vetor.

6 Vetor de caracteres Para imprimir um caractere no display, apenas chamamos a função text() e passamos como parâmetro o que queremos visualizar na tela, assim como é visualizado na imagem abaixo. Função text() No corpo da função text(), os caracteres que são passados como parâmetro tem o seu tamanho dimensionado. Dentro do laço for() cada caractere é passado como parâmetro para a função display_char() na ordem invertida (do último para o primeiro caractere). Esta função pode ser observada na imagem abaixo. Corpo da função text() Na função display_char() cada caractere recebido é convertido

7 para inteiro, subtraído em 32 unidades que é o número decimal de começo dos caracteres na tabela ASCII e o resultado é multiplicado por 5 devido a cada caractere em nossa tabela ser composto por 5 bytes de dados, como já descrito acima. A composição desta função pode ser verificada na imagem abaixo. Função display_char() A operação descrita acima gera um número que é o index de busca no vetor de caracteres. Por exemplo. Número decimal para a letra A na tabela ASCII -> 65 Valor da variável index -> index = (65 32) *5 = 165 Se contarmos 165 bytes de dados no vetor font[] estaremos apontando para o primeiro byte que formará a letra A. Estes 5 bytes são passados dentro do laço for() para a função OSD9616_send() que envia os dados no barramento I2C do DSP. Algoritmo e testes O algoritmo base para este teste foi retirado do arquivo original de testes da plataforma de desenvolvimento ezdsp da Spectrum Digital. As funções inseridas e o vetor de caracteres construído já foram descritos acima. O algoritmo se encontra descrito abaixo. Créditos e comentários traduzidos foram inseridos para melhor compreensão. [crayon-588a50c966ca /]

8 Conclusão Neste Lab implementamos uma biblioteca básica para fácil interação com o display OLED de pixels utilizando o Code Composer Studio. Além disso, entendemos melhor como é o procedimento de inicialização e os principais comandos a serem enviados para este controlador para que o sistema funcione adequadamente. No futuro, outros protótipos mais avançados serão feitos utilizando este DSP, o display e a biblioteca aqui descrita. Arduino Lab 09 Leitura de um encoder industrial Heidenhain com o Arduino Neste Lab explicaremos o funcionamento e teste de um encoder industrial de quadratura, muito utilizado na indústria como sistema de posicionamento de eixos, indicação de velocidade de rotação, giro e posicionamento em Magazines ou castelo de ferramentas de corte em máquinas operatrizes. Podemos citar também seu uso em aparelhos eletrodomésticos como micro-ondas e aparelhos de som para posicionamento do seletor de volume ou funções do aparelho. Encoder Industrial

9 Régua de medição Heidenhain O encoder Encoders são tipicamente utilizados para determinar posição, velocidade ou sentido de giro de um eixo de motor, fuso ou qualquer outro dispositivo que se movimente. Informações precisas para controle em uma variedade de aplicações como mesas rotativas, máquinas pick and place, máquinas operatrizes, empacotadoras, robótica e outras máquinas são obtidas com a utilização dos encoders. Um encoder (para aplicações industriais) é um tipo de sensor especial que captura a posição e a transmite para outro dispositivo como comandos numéricos computadorizados (CNC) ou drivers controladores de motor ou servomotor principalmente como sinal de resposta (feed back da malha fechada de controle) ao movimento determinado pelo controlador. A figura abaixo ilustra a aplicação típica de um encoder acoplado a um fuso ou mesa rotativa de uma máquina CNC.

10 Montagem Tipica de um encoder Tipos de Encoders São dois os tipos básicos de encoders: Lineares e Rotativos. Os dois dispositivos funcionam de maneira similar. Como o nome indica, os encoders do tipo linear medem a posição de um objeto ao longo de um comprimento e os rotativos identificam a posição através do movimento de rotação no eixo. A escolha de qual tipo depende dos requisitos envolvidos na aplicação. Encoder linear Um encoder linear, também chamado de régua de medição, consiste de uma escala (fita codificada) e um sensor que lê os espaçamentos entre as escalas da fita. Sua resolução é medida em pulsos por distância. Uma régua que apresenta 100 pulsos por milímetro possui uma resolução de 100 pulsos de contagem das marcas (códigos) pelo sensor a cada 1 milímetro linear na fita do encoder. Este tipo de encoder é comum em máquinas onde o posicionamento fornecido pelo encoder do motor ou na ponta do fuso não é suficiente para a precisão do processo. Como exemplo temos

11 máquinas para medir dentes de engrenagens, retíficas de dentes de engrenagens dentre outras onde a resolução e precisão de medida podem chegar a 0,0001 mm. A figura abaixo ilustra o modelo de funcionamento deste sensor. Linear encoder Heidenhain Encoder rotativo Os encoders rotativos são usados para medir o movimento rotacional de um eixo. A figura abaixo mostra os componentes fundamentais de um encoder rotatório, que é formado por um diodo emissor de luz (LED), um disco que pode ser construído de vidro, metal ou plástico e um detector luminoso colocado do lado oposto do disco. O disco, que é montado em um eixo rotativo, tem padrões formados por setores opacos e transparentes a luz. Conforme o disco gira, os segmentos opacos bloqueiam a luz e onde o vidro é transparente a luz pode passar. Esse movimento gera pulsos de ondas quadradas, que podem então ser interpretados em posição ou movimento.

12 Esquema Encoder rotativo Encoder Absoluto Um encoder absoluto é um dispositivo que mantém a informação de sua posição mesmo quando o mesmo é desligado da fonte de energia. Este possui uma série de anéis codificados (para o tipo rotativo) que representam sua posição absoluta em relação ao ângulo atual. A imagem abaixo mostra os discos de um encoder absoluto fabricado pela empresa alemã HEIDENHAIN. Imagem discos encoder absoluto Um encoder absoluto pode ser codificado de duas maneiras, sendo elas utilizando códigos binários ou por código Gray, ambos fornecidos pela posição absoluta do disco em relação ao fotorreceptor.

13 Codificação Binária Padrão Um exemplo de uma codificação binária de um encoder, de uma forma extremamente simplificada para um encoder com somente 3 anéis e 8 posições absolutas, pode ser visto abaixo. Codificação binaria absoluto encoder Tabela encoder absoluto simples Este tipo de posicionamento pode ser visto nos seletores de multímetros de bancada onde mesmo que o aparelho tenha sua alimentação removida, quando realimentado retorna à função selecionada previamente. No exemplo anterior, os contatos produzem uma contagem binária ao redor do disco. No entanto, esta montagem apresenta o problema de que se o disco parar entre dois setores adjacentes ou o contato não esteja perfeitamente alinhado, se torna impossível de determinar a posição real do eixo.

14 A mudança de posição 3 para 4 apresenta um grande problema: normalmente, os contatos nunca são totalmente alinhados. Se o contato 1 mudar seu status seguido do contato 3 e depois do 2 por exemplo, a posição atual do encoder será: OFF ON ON (posição inicial) ON ON ON (primeiro, contato um muda para ON) ON ON OFF (próximo, contato 3 muda para OFF) ON OFF OFF (finalmente, o contato 2 muda para OFF) Oservando os setores indicados na tabela acima a ordem referente a codificação anterior será 3, 7, 6 e 4, logo aparentemente o eixo do encoder saltou da posição 3 para a 7, 7 para 6 e depois para a posição 4 sequencialmente. Esta situação não é desejada principalmente no feed back de controles automáticos. Para solucionar este problema, temos os encoders que apresentam sua codificação seguindo o código Gray. Codificação em código Gray Para evitar o problema descrito anteriormente, a o código Gray é utilizado. Este é um sistema de contagem binária que quaisquer dois contatos adjacentes são diferentes de apenas um bit. O exemplo abaixo ilustra o mesmo encoder com 3 posições apresentado anteriormente codificado em Gray. Imagem codificação Gray

15 encoder absoluto Tabela Gray encoder absoluto simples Neste exemplo, a transição da seção 3 para a 4 envolveu somente uma transição de contato do estado ON para OFF ou vice-versa. Isto quer dizer que uma interpretação de sequências incorretas não mais ocorrerá. Encoder incremental Um encoder incremental fornece sua posição através da contagem de pulsos individuais na escala graduada do disco ou régua. Se for utilizado para indicar posição de deslocamento, seus valores de leitura serão relativos a um ponto, geralmente o ponto inicial após a realimentação. A figura abaixo ilustra os discos de um encoder incremental fabricado pela HEIDENHAIN. Discos encoder incremental Em máquinas operatrizes industriais, quando este tipo de

16 encoder é aplicado ao sistema de medição da máquina, o eixo ao qual este encoder está acoplado deve ser levado a um ponto de referência conhecido onde a posição do eixo será referenciada e reconhecida pelo sistema de comando CNC. Um encoder que tivesse um único conjunto de pulsos não seria útil pois não teria como indicar o sentido da rotação do disco. Usando duas faixas de código com setores posicionados com defasagem de 90 entre si, os dois canais de saída do encoder incremental, que neste caso também pode ser chamado de encoder de quadratura, podem indicar a posição e o sentido da rotação. Se A estiver à frente de B, por exemplo, o disco estará girando no sentido horário. Se B estiver à frente de A, o disco estará girando no sentido anti-horário. A figura abaixo ilustra a direção de contagem dos pulsos nas bordas de subida e descida do sinal maximizando a contagem. Dinâmica do sentido de contagem dos pulsos Dessa forma, monitorando o número de pulsos e a fase relativa dos sinais A e B, podemos acompanhar a posição e o sentido da rotação do encoder. A figura abaixo ilustra o posicionamento dos canais de um encoder e as tabelas indicam a codificação para ambos os sentidos de rotação. Sinal de saida típica do canal A e B de um encoder incremental

17 Tabelas sentido de giro encoder incremental Além disso, alguns encoders de quadratura têm um terceiro canal de saída denominado sinal zero, ou de referência que fornece um pulso por revolução. Este sinal pode ser utilizado para a determinação precisa de uma posição de referência. Na maior parte dos encoders, esse sinal é denominado Terminal Z, ou índice. Outro tipo de encoder muito usado é o encoder diferencial, no qual há duas linhas para o sinal A, duas para o sinal B e duas para o sinal Z. As duas linhas do sinal A são A e /A, as duas linhas para o sinal B são B e /B e o sinal Z também possui o Z e /Z. Esse tipo de configuração é também chamada de push-pull pois as seis linhas sempre estão fornecendo uma tensão conhecida (0 V ou Vcc). Quando A estiver com Vcc, /A e viceversa. No caso de um encoder single-ended que apresenta somente os canais A e B, A terá Vcc ou uma tensão flutuante. Os encoders diferenciais são frequentemente usados em ambientes com muito ruído elétrico, pois as medições diferenciais protegem a integridade do sinal. A figura abaixo ilustra o comportamento dos seis canais do encoder diferencial.

18 Comportamento dos seis canais de um encoder diferencial Diagrama de ligação O diagrama de ligação se encontra na imagem abaixo. Os sinais do encoder foram ligados nos pinos de interrupção do Arduino Mega. No algoritmo proposto, utilizamos somente o canal A, B e Z para determinar a contagem dos pulsos e o número de voltas do eixo do encoder.

19 Esquema de ligacao O Arduino Mega foi utilizado devido ao grande número para interrupção externa, que no caso são exatamente O LCD foi utilizado para indicar os dados lidos pelo Uma imagem ilustrando o resultado no display está abaixo. Imagem display de pinos 6 pinos. encoder. disposta

20 Algoritmo e testes O algoritmo que determina todo o funcionamento desta aplicação está descrito abaixo e vários comentários estão inseridos no corpo do código para um melhor entendimento. Através de algumas comparações utilizando if, else conseguimos determinar o sentido de contagem dos pulsos e até mesmo quadruplicar a precisão do encoder. Como dispomos de 4 mudanças de sinais diferentes em um período de um dos canais, um encoder que possui 1024 pulsos por volta em um canal pode ter sua contagem dobrada se contarmos a borda de subida dos dois canais e quadruplicar se contarmos nas quatro transições dos dois canais (borda de subida e descida dos dois canais). [crayon-588a50c /] A imagem abaixo ilustra a montagem final deste protótipo. Imagem montagem final

21 Conclusão Neste Lab descrevemos a implementação de um algoritmo e circuito para a leitura de um encoder industrial. Este dispositivo, como já descrito anteriormente, é muito importante e largamente utilizado em todos os sistemas industriais que necessitem de leitura do posicionamento e seu domínio de funcionamento e formas de interação se torna importante para quem trabalha com dispositivos eletrônicos utilizados na indústria. Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Neste Lab iremos descrever a implementação de um sistema para testar antigas memórias RAM, estática, modelo HM6116LP-4 que ainda são utilizadas em equipamentos industriais. No meu caso, estas memórias estão aplicadas em uma placa de memória de um antigo sistema de CNC da Siemens denominado Sinumerik Sistema 3. Minha necessidade era testar a integridade de escrita e leitura das memórias e é este o tema deste Lab.

22 Imagens Memorias placa Sistema 3 Siemens Funcionamento da memória Memórias do tipo SRAM (Static Random Access Memory, memória estática de acesso aleatório) mantém os dados armazenados desde que seja mantida sua alimentação, não precisando que as células que armazenam os bits sejam atualizadas, processo usualmente chamada de refreshing, como é o caso das memórias DRAM. A estrutura básica de uma SRAM é indicada na figura abaixo. Celula basica uma SRAM de Apesar de não ser necessária a atualização constante, essa

23 memória ainda pode ter a característica de seja, após um tempo sem energia a informação pode ser perdida. Outra desvantagem é que complexas e menos densas, ocupando mais comparadas às DRAM. ser volátil, ou guardada por ela são mais caras, espaço, quando Mas a vantagem de apresentar um tempo de acesso menor e, consequentemente serem mais rápidas, justifica seu uso em certos nichos, como em cache L1 e L2 presentes em processadores ea algumas aplicações muito específicas em equipamentos especiais. Além disso, as memórias estáticas consomem mais energia e aquecem mais quando comparadas com as DRAM. Memórias estáticas usam circuitos no modelo flip-flop para armazenar os dados. A memória que estamos trabalhando neste Lab apresenta um tamanho de 2048 palavras de 8 bits. Este tamanho não é algo grande quando comparado as memorias das máquinas atuais que possuem no mínimo 1 GB para o correto funcionamento, porém, para uma máquina fabricada no ano de 1987 a associação destas memórias era a única solução para a implantação dos sistemas. Imagem Memória RAM Para endereçar 2048 posições diferentes de memória são necessários 11 bits de dados. O diagrama de blocos funcional desta memória está apresentado abaixo e ilustra os 11 bits utilizados para o endereçamento, os 8 bits de dados e as 3 entradas de controle além do Vcc e Vss totalizando um

24 encapsulamento de 24 pinos. Diagrama de blocos da memória 6116 Imagem Pinos Memoria 6116 Dinâmica de Funcionamento do teste

25 Imagem Inicio do Teste Um diagrama funcional do teste da memória é apresentado abaixo. O teste é iniciado quando o usuário pressiona o botão de início (Obvio isto!). O valor a ser escrito na memória é enviado ao lado B do buffer que ainda está desabilitado. A linha de controle OE (Output Enable) da memória permanece em nível alto e o outro pino de controle WE (Write Enable) vai a nível zero. O buffer é então habilitado, permitindo a passagem do dado do lado B para o lado A habilitando assim a escrita em cada posição de memória que é incrementada com um contador binário que inicia seu valor em 0x000 e termina em 0x7FF.

26 Fluxo de funcionamento do teste Entre o incremento de cada endereço, o pino WE deve ir a nível alto e logo após a nível baixo novamente para que a escrita seja efetivada. Esta dinâmica de funcionamento é exemplificada no diagrama temporal fornecido pelo datasheet do fabricante e ilustrado abaixo.

27 Diagrama temporal Escrita de dados Após a escrita dos dados para teste da memória, uma rotina de leitura em cada posição é feita e o valor é comparado com o dado que foi escrito anteriormente. Se o programa encontrar uma falha na comparação o mesmo para a execução com o comando break e o teste deve ser reiniciado novamente. Toda esta dinâmica acontece quando bloquemos o buffer levando o pino CS em nível HIGH, o pino WE da memória em nível HIGH e o pino OE em nível LOW. O diagrama temporal abaixo mostra este processo de leitura da memória em detalhe. Diagrama temporal de Leitura de dados Quando a comparação é bem sucedida, uma rotina que apaga todos os dados escritos nas posições de memorias escrevendo o valor 0x000 em cada uma é executada.

28 Diagrama de ligação O diagrama de ligações está indicado abaixo. Não há complexidade em executar estas ligações visto que todos os componentes trabalham no mesmo nível de tensão de alimentação (5Vcc). Esquema de montagem Todo o projeto foi simulado no software Proteus antes da montagem final na protoboard. O software na versão 8.0 não atendia as minhas necessidades pois não apresentava a opção de leitura do mapa de memórias como indicado na imagem abaixo e somente a versão 7 atendia este requisito.

29 Imagem escrita no mapa de memória Os arquivos de simulação deste Lab no software Proteus estão disponíveis neste link. Imagem simulacao proteus Na imagem abaixo temos o detalhe do componente buffer (SNx4LS245 Octal Bus Transceivers With 3-State Outputs) e das resistências utilizadas para o Pull down dos pinos de entrada do Arduino e do botão de início do teste.

30 Imagem Buffer e Resistências de 22k Algoritmo e testes O algoritmo que determina todo o funcionamento desta aplicação está descrito abaixo e alguns comentários estão inseridos no corpo do código para um melhor entendimento. [crayon-588a50c /] Um detalhe importante foi o uso do acesso direto de dados que trafegam em um Port específico do microcontrolador, neste caso os pinos 22 a 29 que representam o PORT A. PORT A Arduino Mega Este acesso foi importante no momento de comparação do dado escrito em posições especificas da memória e que são lidos no PORT A, graças a velocidade de leitura dos registradores de entrada do microcontrolador utilizando este método, com o dado padrão escrito na etapa de escrita do teste, que no caso foi 0x7FF. Um vídeo explicativo sobre este lab está disponível abaixo.

31 Conclusão Neste Lab implementamos um banco de testes para as antigas memórias HM6116, do tipo SRAM, que ainda são utilizadas em aplicações industriais. Além do aprendizado em programação e esquemático de circuitos eletrônicos, este Lab nos mostrou os aspectos do real funcionamento de uma memória, ainda que seja uma primitiva, porém funcional e ainda em operação. MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110 Imagem do Display Neste Lab trataremos da rotina de implementação de um código para comunicação entre o MSP430 e um display gráfico. Este display, como já mencionado em Labs anteriores, apresenta uma grande facilidade de implementação de um código para comunicação. Além do display, faremos a leitura do sensor de

32 temperatura interno do MSP ao qual indicaremos o valor na tela do mesmo. O processo de comunicação A primeira parte da dinâmica de comunicação entre o display e qualquer dispositivo, como um microcontrolador ou microprocessador, foi descrita no Intel Edison Lab 04 onde descrevemos a organização da memória interna do display. Neste Lab, iremos detalhar ainda mais este processo com relação a dinâmica de envio de dados e comandos de configuração para o controlador do display. Comandos para controle do display A tabela apresentada abaixo é autoexplicativa com relação ao status dos principais comandos de configuração que devem ser enviados para o display. Tabela Instruções PCD8544 A próxima tabela indica, em detalhe, quais os valores a serem carregados nos principais parâmetros descritos acima.

33 Valores dos Parâmetros Detalhes dos comandos Os comandos a serem enviados para o controlador do display serão descritos com mais detalhes abaixo. Comando NOP: Nenhuma operação, ou seja, não faz nada! Comando Funções de configuração: (Function Set) É um comando para configurar a operação do LCD. -PD: É o bit para selecionar o modo de operação: Ativo, PD = 1: Modo de economia de energia. PD = 0: Modo V: É um bit para selecionar o formato de incremento dos endereços na memoria DDRAM do controlador PCD8544: V = 0: Incrementa os endereços na linha horizontal (Horizontal Address Mode, V = 1: Incrementa os endereços na linha vertical. (Vertical Address Mode H: É um bit para selecionar o formato dos comandos SCD: H = 0: Uso dos comandos básicos, H = 1: Uso de comandos adicionais.

34 Comando Escrita de dados: (Write Data) Comando para escrita de dados na memória DDRAM do display. D7 D0: Oito bits de dados devem ser enviados para mostrar no display. Comandos configurados no Modo Básico (H=0) Comando de Controle do Display: (Display Control) Comando para enviar comandos de controle para o display. Comando Configura Endereço em Y na RAM: Este comando serve para configurar a posição do eixo Y no mapa de memórias da RAM. Os valores de Y estão entre 0 e 5 (6 linhas do display).

35 Comando Configura Endereço em X na RAM: Este comando configura os endereços, no mapa da memória RAM do controlador PCD8544, referentes ao eixo X do display. Os valores de posição em X devem estar entre 0 e 83 (84 Colunas), logo, tendo 6 bits para configuração desta posição, os valores devem ser de (00H) à (53H). Comandos configurados no Modo Adicional (H=1) Comando de Controle de Temperatura do Display: Já que este display apresenta em seu interior um fluido (Display de Cristal Líquido) se a temperatura interna é muito baixa não teremos indicações legíveis na tela e os pixels não acenderão corretamente, logo é necessário compensar a tensão aplicada em cada célula do display. O gráfico abaixo mostra a relação entre a tensão aplicada VLCD e a temperatura.

36 Gráfico Temperatura x VLCD Comando Controle de Polarização: Este comando configura a tensão de polarização do display. A tabela abaixo indica a combinação dos bits de configuração e a tensão referente a cada combinação escolhida. Comando de Configuração do VOP: Este comando configura a tensão de operação VLCD.

37 O usuário pode configurar os valores utilizando os bits de Vop6 a Vop0 e calcular o VLCD de acordo com a equação abaixo. Por exemplo: Se o usuário deseja um valor de 5 volts para VLCD, teremos: Aproximando, teremos o valor de 32 (20H) ou B. Logo, o comando a ser enviado para este parâmetro será B ou C0H. Sequência de comandos para operação do LCD O melhor método para o controle de operação do Display é enviar os comandos de configuração e após os dados a serem apresentados na tela. Normalmente, a ordem de operação é:

38 Após o procedimento de inicialização do display ser finalizado, o usuário envia os dados a serem indicados no display. Normalmente, o comando referente ao posicionamento em X e Y devem ser enviados primeiro. Como exemplo, enviar a posição em X=0, Y=0 como indicado abaixo:

39 A tabela abaixo mostra um exemplo da escrita de um caractere na memória DDRAM no Display. Exemplo Escrita de Caracter Esquema de montagem e algoritmo O esquema de montagem utilizado neste Lab segue as definições apontadas na tabela abaixo. O Esquema elaborado no software Fritzing é mostrado logo em seguida.

40 Tabela de Conexões Esquema de Montagem O algoritmo, elaborado no software Code Composer Studio da Texas Instruments, foi baseado no código escrito por RobG do fórum Acrescentamos a leitura do Sensor de temperatura interna do chip. Este código é mostrado abaixo. [crayon-588a50c96a1b /] [crayon-588a50c96a1e /] No gráfico gerado pelo analisador de sinais lógicos nós

41 podemos observar o início da comunicação entre o Microcontrolador e o display com a mudança de estado do sinal de RESET. Imagem Analisador Lógico Sinal de Reset Já no gráfico subsequente observamos a dinâmica de comunicação entre os dois dispositivos. Imagem Analisador Lógico Sinal de Dados Conclusão Displays de LCD são componentes importantes em um projeto de Sistemas Embarcados. O detalhe de funcionamento e da dinâmica de implementação de um algoritmo são de grande importância no auxílio de outras pessoas não são familiarizadas com o

42 dispositivo. Detalhes importantes para a escolha deste modelo de display como baixo consumo e ocupação de memória de programa interna ao microcontrolador fazem deste uma ótima escolha em projetos futuros. Imagem Montagem Final Arduino Lab 07 Leitura de temperatura e indicação em um display GLCD de Resumo Neste Lab faremos a leitura de um NTC comum a aplicações industriais e indicaremos os valores em um display GLCD de pontos que possui o controlador S6B0108 compatível com

43 KS0108. No display também será mostrado a data e hora provenientes de um RTC DS1307. Imagem dados Display Teoria do GLCD Displays gráficos são componentes importantes em um projeto onde deseja-se indicar uma mudança no valor de variáveis em relação ao tempo, imprimir números e letras com um tamanho maior ou mostrar imagens monocromáticas indicativas de locais ou procedimentos em um equipamento. Imagem Display O display que iremos utilizar neste Lab é o TM12864L-2 da empresa TGK que possui uma matriz de pontos monocromáticos. Este display é controlado por três CI s, sendo um chip S6B0107 e dois chips S6B0108. Ambos são compatíveis com os controladores KS0108B e KS0107B. O diagrama de blocos do display está indicado abaixo.

44 Diagrama Interno Display Imaginando o display como uma matriz, o controlador S6B0107 faz o controle das linhas do display e os dois outros controladores S6B0108 controlam as colunas. Todo este trabalho exige um sincronismo preciso dos Drivers e do microcontrolador utilizado. Ainda no diagrama, observamos que as linhas de controle e dados E, D/I, R/W, RST e DB0 a DB7 são comuns aos dois controladores S6B0108. A habilitação de cada chip, feita pelos pinos CS1 e CS2, deve ser feita via software no lado do microcontrolador, ou seja, uma rotina de contagem da posição do cursor deve ser implementada para que os dados deixem de ser transmitidos a um controlador e passem ao outro para gerar a imagem ou dado desejado no display. O driver S6B0107 controla as linhas do display de COM1 a COM64. O primeiro driver S6B0108 controla a metade esquerda do display (SEG1 a SEG64) e o segundo driver controla a metade do lado direito do display (SEG65 a SEG128). Como mencionado acima, as duas metades do display pode ser acessada através dos pinos CS1 e CS2. Cada metade consiste de 8 páginas horizontais (0 a 7) com um tamanho de 8 bits (1 byte). Este arranjo pode ser observado na imagem abaixo.

45 Arranjo matriz do display Iniciando na página 0, na metade esquerda do display, se transmitirmos um byte de dados, estes irão acender os pixels da primeira coluna da página 0. Se repetirmos este procedimento durante 64 iterações e mudarmos para a segunda metade do display até a iteração 128 ser alcançada, as 8 primeiras linhas do display, de um total de 64, serão acionadas (pixels ligados). As próximas 8 linhas podem ser acesas se mudar o ponteiro de memória para o início do banco 1 na página 1. O número total de bytes necessários para completar o display: 2 * 64 pixels * 8 bits = 1024 bytes. O display possui ainda uma saída de tensão que, associado a um potenciômetro de 10K para o terra, serve para alimentação do pino de contraste como observado na imagem abaixo. Imagem ligação contraste Infelizmente, os pinos de conexão do display não seguem uma padronização entre os fabricantes quanto a localização para a montagem. A tabela abaixo ilustra a descrição e numeração dos

46 pinos para o módulo TM12864L-2. Tabela de correspondência dos pinos do GLCD Leitura do NTC No Arduino Lab 06 discutimos a implementação da leitura de um Termistor NTC muito comum em aplicações médicas e utilizando o método de amplificação do sinal e um algoritmo de terceira ordem para converter os valores lidos pelo AD em valores de temperatura inteligíveis, dada a natureza da não linearidade do NTC. Neste Lab iremos utilizar novamente um NTC, aplicando a equação de Steinhart Hart para obtenção dos valores de temperatura, sendo este muito comum em aplicações industriais grassas ao seu encapsulamento metálico, tamanho do cabo e facilidade de implementação.

47 Imagem Sensor Método de leitura Como também foi mencionado no Lab 06, estes sensores variam sua resistência quando expostos a variações de temperatura logo precisamos medir a resistência do sensor. Porém, microcontroladores não possuem um medidor de resistência embutido no encapsulamento possuindo apenas um medidor de tensão também conhecido como conversor AD. Logo, o que precisamos fazer é converter as variações de resistência em variações de tensão utilizando um divisor de tensão assim como é mostrado na figura abaixo. Divisor de tensão com NTC

48 Assumindo que o valor da resistência fixa seja de 10K e o resistor variável, que no caso é o NTC, seja chamado de R. A tensão de saída Vo pode ser obtida de acordo com a equação abaixo: Sendo Vcc a tensão de alimentação de 3V3 proveniente do Arduino. O valor da tensão no ADC, considerando um canal de 10 bits de resolução (0 a 1023), do Arduino será: Sabemos que a tensão resultante do divisor de tensão Vo é a tensão que entra no conversor AD Vi. Igualando Vo e Vi teremos: Observando a equação, notamos que o termo Vcc pode ser eliminando, logo teremos: Com um pouco de algebrismo conseguimos isolar o que realmente nos interessa: O valor da resistência.

49 A equação de Steinhart Hart é utilizada para converter os valores da variação de resistência em valores de temperatura para um sensor NTC. A mesma é descrita abaixo: Onde: A, B e C são chamados de parâmetros de Steinhart Hart e devem ser especificados para cada dispositivo. T é a temperatura absoluta e R é a Resistencia. No entanto, não temos todas as variáveis necessárias para aplicar ao NTC deste Lab então iremos utilizar uma equação que trabalha apenas com o parâmetro B do termistor. Esta equação é indicada abaixo. Para esta equação precisamos saber apenas o valor de To que corresponde a temperatura ambiente a 25 ºC = K, do valor de B que corresponde ao coeficiente do termistor e neste caso vale 3950 (usualmente entre 3000 e 4000) e de Ro que corresponde a resistência do termistor a temperatura ambiente, que no nosso caso é de 10K ohms. Esquema de ligação O esquema de ligação utilizado neste Lab está ilustrado abaixo. Muita atenção deve ser dada a polarização da alimentação de cada componente pois este erro pode inutilizar os dispositivos. Uma tabela identificando claramente onde cada pino deve ser ligado é apresentada subsequentemente.

50 Esquemático de montagem A imagem abaixo mostra em detalhe a ligação do display. Imagem detalhe da ligação com o Display

51 Tabela de ligação Algoritmo e testes No algoritmo deste Lab iremos utilizar uma biblioteca já pronta para comunicação com o GLCD. Muitas funções estão disponíveis para uma fácil interação. A mesma foi disponibilizada por uma comunidade denominada OpenGLCD e inclui um excelente material de explicação relacionado a comunicação entre o microcontrolador e o display. O download da mesma está disponível neste link. Para a comunicação com o RTC DS1307, uma função foi escrita no proprio corpo do algorítmo principal utilizando as rotina de escrita e leitura no barramento I2C e as mesmas estão claramente explicadas no programa principal. Como estamos utilizando o Arduino Mega acoplado a protoboard, decidimos alterar os locais de conexão dos pinos entre o

52 Display e o GLCD na biblioteca PinConfig_KS0108-Mega.h localizada dentro do diretório C:\Program Files (x86)\arduino\libraries\bperrybapopenglcd-356a96f3446c\config\ks0108. Após todos os ajustes, salve o programa e os difines estarão como na imagem abaixo. Imagem pinos da definição dos O Algoritmo principal da aplicação é indicado abaixo. [crayon-588a50c96b /] Conclusão Neste Lab fizemos a integração de um sensor NTC comum a aplicações industriais, de um RTC e de um Display gráfico ao Arduino Mega. São inúmeras as possibilidades de modificação e integração com outros dispositivos dado o número de portas e memória ainda disponíveis no Arduino. E como sugestão, um sistema para escrita dos valores de temperatura, data e hora em um cartão SD pode ser implementado no intuito de se criar um data loger de temperatura.

53 Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino Imagem montagem Resumo Neste Lab trataremos da leitura de temperatura utilizando um sensor do tipo NTC (Negative Temperature Coeficient). Um circuito será utilizado para amplificar e filtrar os sinais provenientes deste sensor e um display gráfico irá indicar os valores de temperatura para o usuário em valores numéricos e no tempo. Este Lab tem como coautores os meus colegas de TCC que contribuíram para esta parte do trabalho final. Uma imagem dos dispositivos utilizados neste Lab é indicada abaixo.

54 Dispositivos a serem utilizados O termistor NTC Os termistores são dispositivos que apresentam em seu interior um resistor sensível a temperatura. Os do tipo NTC são normalmente compostos de materiais semicondutores. Embora sensores que apresentam um coeficiente de temperatura positiva estejam disponíveis no mercado, a maioria dos termistores tem um coeficiente de temperatura negativo (NTC), ou seja, sua resistência diminui com o aumento da temperatura. Neste Lab iremos utilizar um NTC com encapsulamento metálico de contato de pele assim como é mostrado na imagem abaixo. Sensor NTC de pele O coeficiente de temperatura negativo pode atingir uma alta porcentagem de variação por graus Celsius, permitindo que o circuito empregado detecte mudanças minúsculas na temperatura que não poderiam ser observadas utilizando outros tipos de

55 sensores como os RTDs (Resistance Temperature Detector) ou Termopares. O grande preço de se ter um dispositivo sensível é a perda de linearidade com o aumento da temperatura. O termistor é um dispositivo extremamente não linear e altamente dependente de parâmetros do processo ao qual se trabalha. Devido a esse fato, os fabricantes de termistores ainda não padronizaram as curvas deste sensor assim como fizeram com os Termopar. Uma curva comparativa entre o NTC e o RTD é indicada abaixo. Curva NTC e RTD O intervalo de medida de temperatura com termistores, na prática para alguns modelos de NTC, está limitado a 100 C devido a estabilidade pobre do sensor quando submetido a altas temperaturas. A precisão na medida depende da técnica empregada para medida da variação da resistência e da calibração do sensor. Com o uso de uma técnica apropriada, temperaturas de 125 C pode ser medida com uma precisão de 0,01 C. Se o sinal de temperatura é lido através de um sistema de aquisição de dados, é mais adequado realizar a linearização da medida após a conversão analógica-digital no microprocessador / microcontrolador. Para isto pode se utilizar um polinômio gerado a partir de medidas de dados empíricos e comparação com um termômetro padrão. A construção deste polinômio será

56 tratado mais adiante. Aquisição do sinal A temperatura, inicialmente, é obtida analogicamente através da variação de resistência do termistor quando em contato direto com a pele de uma pessoa. Um divisor de tensão referenciado em uma tensão constante de 3V, obtida com o uso do diodo Zener em paralelo, é utilizado para captar a queda de tensão sobre o sensor que NTC que em seguida é encaminhado ao amplificador de instrumentação INA122P. O esquema do amplificador é ilustrado abaixo. Diagrama Interno do INA122P O INA122P é um amplificador de instrumentação de precisão, para aquisição de sinais susceptíveis a pequenos ruídos. É um amplificador com bom desempenho e baixo consumo de corrente. É ideal para instrumentação portátil e sistemas de aquisição de dados. Um capacitor de 1µF é utilizado em paralelo com o divisor de tensão para eliminação de ruídos. Para manter a mínima variação de tensão de referência, utilizamos um Zener de 3 volts. A entrada inversora (pino 2) é aterrada (0V) e a entrada não inversora (pino 3) é alimentada

57 com a queda de tensão advinda do divisor de tensão, ou seja, a queda de tensão proveniente no sensor. É utilizado um resistor entre os pinos 1 e 8 para cálculo do ganho. O RG utilizado é de 200kΩ, logo temos um ganho de 6 para este amplificador de acordo com a necessidade de amplificação do sinal. O circuito de aquisição é mostrado abaixo. Esquemático de Aquisição Uma imagem com a montagem em uma Protoshield é mostrada abaixo. Montagem na Protoshield Como o sensor NTC não apresenta um comportamento linear, foi utilizado um polinômio de terceira ordem afim de adquirir boa precisão e confiabilidade nas leituras. Para criar este polinômio um termômetro calibrado foi utilizado como referencia de temperatura. Assim, apanhamos os valores de resistência medidas no terminal do sensor e a tensão na saída do circuito amplificador e construímos a tabela abaixo.

58 Tabela com os valores dos indices O polinômio utilizado foi gerado no Matlab, pelo método do Polinômio interpolador de Lagrange, de acordo com os dados indicados na tabela acima, e é mostrado abaixo. Código Matlab para gerar os coeficientes do polinômio Com os coeficientes determinados, o seguinte polinômio foi obtido: Onde: temp -> Valor da temperatura em graus Celsius v -> Valor da conversão proveniente do microcontrolador. AD do Algoritmo e testes O sinal amplificado pelo circuito descrito acima é enviado para o canal analógico A0 do Arduino. A conversão é feita e o resultado aplicado ao polinômio. Os valores de temperatura são

59 indicados no display com o controlador PCD8544, muito conhecido como Nokia 5510, na forma numérica e no tempo em forma de gráfico. Quando o gráfico é totalmente preenchido, o cursor retorna a esquerda, no ponto zero no eixo do tempo, e os pontos antigos são apagados de acordo com o preenchimento dos novos pontos. Este funcionamento pode ser observado no vídeo indicado pelo link abaixo. Para o Display, algumas funções foram implementadas no próprio corpo do algorítmo principal não sendo necessário baixar nenhuma biblioteca extra. Desta forma, com uma análise minunciosa do código, muitos outros tipos de gráficos e representações podem ser gerados neste display. O algoritmo é indicado logo abaixo. [crayon-588a50c96c /] Conclusão Neste Lab trabalhamos a aquisição de temperatura utilizando um sensor NTC. O circuito de condicionamento do sinal e o polinômio interpolador foram os pontos chaves deste protótipo. A representação gráfica dos valores da temperatura só foi possível devido a simplicidade de trabalho com o controlador PCD8544 do display e a construção versátil e bem entendida da biblioteca de comunicação. Novos protótipos podem ser criados com base neste apresentado neste Lab. Em ocasiões futuras, trabalharemos em um projeto de leitura de termopares industriais tomando como base este Lab.

60 Imagem Display Intel Edison Lab 04 Mostrando dados do Intel Edison no display do Nokia 5110 em Python

61 Imagem Aplicação Neste Lab iremos tratar dos passos para enviar comandos de configuração e dados para o display de LCD gráfico, muito utilizado nos antigos celulares Nokia 5110, com o controlador PCD 8544 da Philips. Alguns dados internos do Edison como temperatura dos dois núcleos do processador, hora e data internas do sistema e o endereço IP no qual o Edison está registrado também serão indicados do Display. Display de LCD gráfico Os displays gráficos são comumente utilizados em aplicações onde deseja-se indicar símbolos, desenhos, pequenos gráficos ou figuras com qualidade monocromática aos usuários. O display que vamos trabalhar neste Lab apresenta as seguintes principais características: Matriz de pontos monocromáticos; Interface serial com velocidade máxima de 4 Mbits/s; Controlador interno PCD8544; Retro iluminação à LED; Tensão de operação (módulo) 2,7 a 5,0 V; Baixo consumo de energia (LEDS desligados); Temperatura de trabalho em -25 C a +70 C; Controlador PCD8544 O controlador/driver PCD8544, fabricado com tecnologia CMOS, foi desenvolvido para controlar um display gráfico de 48 linhas e 84 colunas. Todas as funções necessárias para o display estão embutidas em um único chip incluindo geração da tensão de alimentação e polarização AC necessárias para o LCD, resultando em um baixo consumo de energia e mínima necessidade de componentes externos para seu correto funcionamento. Um diagrama da estrutura interna deste driver está indicado na figura abaixo.

62 Diagrama Estrutura PCD8544 Endereçamento da memória O arranjo do endereçamento da memória que é indicado na figura acima (DDRAM) é uma matriz que consiste de 6 linhas (Endereçamento em Y), que abrange do endereço 0 ao 5 (101), e 84 colunas (Endereçamento em X) que opera do 0 ao 83 ( ). Endereços fora desta faixa de valores não são suportados pelo controlador. Para acessar uma posição específica no display, devemos relacionar um endereço em X e outro em Y assim como é feito em uma matriz comum de dados. Os dados devem ser enviados para o display em pacotes de 8 bits (1 Byte) e estes serão organizados como linhas verticais e, neste caso, o bit MSB (Most Significant Bit) será posicionado em baixo e o LSB (Last Significant Bit) será posicionado em cima. Podemos observar esta organização nas figuras abaixo: Escrita MSB primeiro

63 Mapa memória DDRAM Podemos escrever os dados na memória endereçável (DDRAM) do controlador continuamente e os valores para endereços em X e Y serão incrementados automaticamente. Neste caso, temos dois métodos para configurar o formato da operação de endereçamento. No modo vertical de endereçamento (V=1), as posições em Y serão incrementadas após cada byte de dados recebidos no controlador (Próxima figura). Após o último endereço em Y (Y=5), o posicionador do eixo Y irá retornar para a posição 0 e o X será incrementado para a próxima coluna.

64 Dinâmica modo Vertical No modo horizontal de endereçamento (V=0), o endereço em X incrementa após cada byte (Observe a figura abaixo). Após o último endereço em X (X=83), o posicionador de X irá retornar para a posição 0 e o Y incrementa para a próxima linha. Após o último endereço (X=83 e Y=5) os posicionadores retornarão para o início novamente (X=0 e Y=0). Dinâmica modo Horizontal Terminais de controle do LCD Os sinais de controle e operação do display são enviados de forma serial de acordo com a operação e combinação dos pinos. A descrição destes pinos é apresentada na tabela abaixo.

65 Imagem pinos do display Tabela pinos do display Formato da comunicação O formato dos comandos que são utilizados para comunicar com o LCD é dividido em 2 modos, sendo eles: Command Mode e Data Mode sendo o pino DC utilizado para alternar entre estes dois modos. Se o valor 0 for atribuído ao pino DC (DC=0), o dado que será enviado ao LCD será interpretado como comando e se DC=1, o dado enviado será interpretado como Dado. Após 1 byte de dados serem escritos, uma posição de endereço da memória DDRAM será incrementado automaticamente como

66 explicado acima. O formato dos dados é serial e o bit mais significativo (MSB Most Significant Bit) será enviado primeiro. Geralmente, esta estrutura acontece como mostrado na figura abaixo: Dinâmica dos dados Os modos para enviar os dados para o display também foram citados acima e a representação gráfica no tempo é indicada abaixo. Diagrama um Byte por vez Diagrama vários dados continuamente Qualquer dado enviado para o display ou alteração na linha de clock (CLK) será interpretado pelo controlador do display apenas quando o pino SCE estivar em nível baixo. Os dados serão trocados no pino DIN seguindo o intervalo do sinal de clock na borda de descida. Se o pino de reset estiver ativado, (RES=0) qualquer dado enviado para o controlador do display será cancelado. Quando RES = 1, no próximo pulso de clock, o dado será interpretado

67 como sendo pertencente ao bit 7 novamente, reiniciando a comunicação, assim como pode ser observado abaixo. Diagrama ação do pino RES Esquema de montagem O esquema de ligação entre o Display e o Intel Edison segue a ordem indicada na tabela e na figura abaixo, sendo a primeira uma visão global da montagem e a segunda um Zoom nas ligações. Tabela de ligação

68 Diagrama de ligação Diagrama de ligação ampliado Para facilitar a conexão entre o Edison e o Display, optamos por utilizar uma Arduino Proto Shield que se encaixa facilmente com o módulo do Edison. Uma imagem das ligações dos pinos e da montagem já com o Edison é indicada abaixo.

69 Imagem Proto Shield Imagem montagem final Programação e teste Inicialmente, declaramos as portas de comunicação e a matriz dos dados em Hexadecimal referente a fonte (Letras e símbolos) do display. Logo após iniciamos o display, e lemos o valor da temperatura nos dois núcleos e o endereço IP no qual o Edison está registrado. Subsequentemente, indicamos todos estes dados no display.

70 O algoritmo, feito em Python para a montagem deste protótipo é apresentado abaixo e uma imagem com o resultado da impressão dos dados no display também é indicada logo a seguir. [crayon-588a50c96d02d /] Imagem indicação dos dados Observação: O método para copiar o algoritmo e a criação de um novo arquivo dentro da memória do Edison já foi abordado no Edison Lab 03. Conclusão Neste Lab observamos uma nova forma de interação entre o Edison e o usuário através do display Nokia Muitas informações podem ser indicadas neste display já que o mesmo é do tipo gráfico e permite que desenhos e gráficos sejam plotados. As limitações de aplicação dependem apenas do leitor já que o controlador deste display é de fácil interação. Arduino Lab 05 Leitura e

71 transmissão remota corrente utilizando nrf24l01 de o Imagem geral Aplicação Neste Lab iremos descrever a integração entre 5 dispositivos em uma aplicação de transmissão de dados de medição de corrente elétrica de um equipamento remoto para um Server via wireless utilizando o transceiver nrf24l01. Os dispositivos a serem utilizados para esta aplicação são: Arduino Nano, Arduino Uno, transceiver nrf24l01, RTC MCP9700 conversor de nível de tensão e um display de TFT ILI9163C.

72 Imagem dispositivos Sensor de Corrente TA Sensores de corrente não invasivos apresentam a vantagem de não ser necessário interromper o circuito para realizar a medição da corrente que passa pelo condutor. Eles são acoplados externamente e capturam os valores de corrente através do campo magnético gerado. Imagem Sensor de Corrente No nosso caso, estamos utilizando o sensor modelo TA produzido pela empresa YHDC que pode medir correntes de até 5A AC. As principais características deste sensor estão indicadas na tabela abaixo.

73 Especificações Corrente Sensor de Estes sensores também são conhecidos como transformadores de corrente pois trabalham com o princípio do acoplamento do campo magnético gerado pela corrente que passa pelo condutor ao enrolamento do sensor. O número de enrolamentos dentro do sensor exerce a função de amplificar o campo magnético captado. Neste sensor, a cada 5A que circula pelo condutor principal teremos 5mA na saída da bobina do sensor. É necessário um resistor de carga para que os valores de corrente gerados na saída do sensor sejam convertidos em tensão na proporção ideal à entrada do conversor AD do microcontrolador. Um resistor de precisão de 200Ω é utilizado. O diagrama simplificado do sensor é ilustrado abaixo. Esquema Sensor corrente de

74 Teste do sensor de corrente Um programa que interpreta os dados da leitura dos valores de corrente é indicado abaixo. Uma sequência importante deve ser obedecida para que os valores sejam interpretados de forma correta. Medir o pico de tensão no resistor de 200Ω ligado na saída do sensor; Converter a tensão em cima do resistor em valores de corrente através da lei de Ohm (I = E/R); Multiplicar o pico de tensão por ou 0,707 para termos valores em RMS (0,707 é aplicado somente a ondas senoidais puras); Multiplica o valor RMS da corrente por 1000 para melhor visualização do valor já que a relação é de 100 para 1. [crayon-588a50c96db6e /] Transceiver nrf24l01 O módulo de RF a ser trabalhado neste Lab apresenta o transceiver (dispositivo que envia e recebe dados) nrf24l01 da empresa Nordic. Ele é um chip que trabalha na frequência de 2.4GHz com uma tecnologia de banda base chamada ShockBurst desenvolvida para aplicações de baixo consumo. Chip nrf24l01 A operação na faixa de frequência denominada ISM (Industrial, Scientific & Medical), mundialmente reservada na banda de

75 2.400 a GHz, permite que estes dispositivos não necessitem de licença da Anatel para operar desde que a potência irradiada seja menor do que 1W. A comunicação com o nrf, para acesso ao mapa de registradores e envio dos dados a serem transmitidos, é feita através do protocolo de comunicação serial SPI. O rádio do nrf utiliza a modulação GFSK (Gaussian Frequency Shift keying) para enviar e receber os dados pelo canal de comunicação através do ar. O módulo também pode trabalhar com uma taxa de transferência de até 2Mbps e com dois modos de economia de energia aliados a reguladores internos de tensão que tornam este dispositivo ainda melhor para aplicações ULP (Ultra Low Power). Faremos o uso de um módulo já pronto, com todos os capacitores, resistores e antena já prontos para operar. O mesmo é ilustrado na figura abaixo. Módulo nrf24l01 Esquema de ligação e teste Uma tabela com a descrição das conexões entre o nrf e o Arduino é indicada abaixo. Os outros componentes que compõem a

76 ideia desse protótipo foram tratados no Lab04 anteriormente. Tabela conexão entre Arduino e nrf O diagrama de ligação nas duas condições (Transmissor e receptor) está indicado logo abaixo. Uma atenção especial deve ser dada a tensão de alimentação do transmissor que é de 3V3 apesar de as entradas de dados serem tolerantes a 5V o que facilita a conexão com microcontroladores de diversos tipos. Diagrama de ligação Lado do Receptor

77 Diagrama de Transmissor ligação Lado do Algoritmo O algoritmo deste protótipo abrange a integração de todos os dispositivos, o que o torna um pouco mais complicado que os anteriores. No lado do transmissor, os valores da conversão provindos do AD do Arduino são armazenados em um buffer de duas posições sendo que cada posição ocupa um byte. A parte alta dos valores do AD é armazenada na na variável lo. Esta necessária devido aos estarem entre 0 e 1023 variável denominada hi e a parte baixa divisão entre parte baixa e alta foi valores da conversão de 10 bits do AD em decimal. [crayon-588a50c96db /] No lado do receptor os dados são recebidos pelo nrf e armazenados novamente em um buffer de duas posições. Logo após, um shift nos dados é necessário para unir os valores da conversão feita no dispositivo remoto. Estes valores são então convertidos em tensão e preparados

78 para a faixa de medição de 0 a 5 A do sensor. Todos os dados são indicados no display de LCD como observado na imagem abaixo. Imagem dados no Display [crayon-588a50c96dbab /] Observações Como principal proposta para trabalhos futuros fica a implementação de uma única biblioteca que gerencia o protocolo SPI dos dois dispositivos (Display e nrf) já que, de acordo com os sinais adquiridos no analisador lógico, alguns dados estão se perdendo no barramento SPI devido ao Chip Select ou Chip Enable do display entrar antes que a comunicação com o nrf termine. Lembrando que, neste caso, apenas um dispositivo por vez deve escutar os dados do barramento SPI através da seleção no CE. A imagem abaixo ilustra estas observações.

79 Imagem analisador logico captura com conflito Editada Conclusão Este simples protótipo foi proposto para exemplificar a integração de diversos dispositivos formando uma aplicação que pode ser comercial, com melhorias no software e hardware, já que as aplicações sem fio ganham destaque a cada dia em diversos equipamentos e dispositivos que facilitam a vida do homem. Duas imagens do protótipo final são apresentadas abaixo. Imagem Lado Transmisssor

80 Imagem Receptor e Transmissor Arduino Lab 04 Leitura de temperatura com o sensor MCP9700 Componentes deste Lab

81 Neste Lab discutiremos a integração do sensor de temperatura MCP9700 aos dispositivos já abordados no Lab 03, que são o Display de TFT 1,44, Arduino Nano V3.0 e o módulo RTC. Sensor de Temperatura MCP9700 Sensores de temperatura, aliados a outros dispositivos, nos permitem realizar o monitoramento de diversas aplicações em que este dado seja importante. No caso deste Lab iremos, inicialmente, apenas coletar os valores provindos da conversão A/D e exibir no display de os mesmos. A imagem abaixo ilustra o sensor em seu encapsulamento 3-Pin TO-92. Imagem Sensor de Temperatura encapsulado Uma proteção construída com um tudo termo contrátil e um revestimento interno de silicone para proteção da junção feita junto ao cabo de conexão pode também ser observado na imagem acima. Este encapsulamento favorece o uso do sensor em aplicações de medição de temperatura em líquidos onde o mesmo pode ser completamente imerso no sem nenhum risco de danos ao sensor ou ao microcontrolador. Características O sensor de temperatura MCP9700, fabricado pela empresa Microchip, possui como principais características, retiradas do datasheet do fabricante, resumidas abaixo: Tamanho reduzido; Tres opções de encapsulamento disponíveis: SC70-5, SOT-23-5, TO-92-3

82 Faixa de medição de temperatura: -40 C a +125 C (Temperatura extendida) -40 C a +150 C (Alta temperatura) Precisão: ±4 C (max), 0 C a +70 C (MCP9700) Relação Tensão/Temperatura: 0 mv/ C (Valores típicos) (MCP9700) Faixa de tensão de operação: Vdd = 2,3V a 5,5V (MCP9700) Corrente de operação tipica: 6 μa O sensor O sensor aplicado neste Lab é do tipo Linear Active Thermistor (LAT) ou, em uma tradução livre, Termistor Ativo Linear. Possui um baixo custo, consumo e uma razoável precisão que, dependendo da aplicação, pode satisfazer os requisitos do projeto. Diferentemente de sensores resistivos (Como termistores), sensores LAT não necessitam um circuito adicional para condicionamento do sinal. Segundo o fabricante, estes sensores são imunes aos efeitos de capacitâncias parasitas. Esta característica permite uma flexibilidade na fabricação das Placas de Circuito Impresso no que diz respeito a localização remota do ponto de aquisição, no nosso caso, o Arduino Nano. Funcionamento do Sensor linear Ativo Sensores com princípio de funcionamento LAT usam um diodo interno para medir a temperatura. Devido as características elétricas internas destes diodos, os mesmos possuem um coeficiente de temperatura que altera seu valor de tensão em função das mudanças relativas à temperatura ambiente. No nosso caso, as mudanças de tensão seguem a proporção de 10mV/ C (Valores típicos). Para um ambiente em 0 C, a tensão de saída típica é de 500mV. Mais informações podem ser consultadas no datasheet do fabricante.

83 Imagem Curva do Sensor Interligação dos dispositivos O sensor de temperatura exige apenas um pino de dados do microcontrolador. Pode trabalhar nas tensões de 3V3 a 5V. No caso deste projeto, estamos alimentando o sensor em 5V já que a tensão de alimentação do protótipo é feita utilizando a USB do PC e a referência interna do ADC do Arduino é neste valor. O RTC e o Display são alimentados em 3V3. Um cuidado adicional foi tomado quanto ao nível de tensão de troca de dados entre o Display e o Arduino e um conversor de nível foi instalado. Esquema de ligação O esquema de ligação se encontra detalhado na figura abaixo. Lembrando que um conversor de nível entre o Arduino e o display deve ser usado.

84 Esquema de ligação Teste e montagem A figura referente a montagem deste protótipo em uma protoboard se encontra abaixo. Nela observamos os três componentes utilizados no Lab 03 com o acréscimo do sensor de temperatura e do conversor de nível para adequar os níveis de tensão para o Display. Imagem Detalhe conversor e sensor Algoritmo Um algoritmo simples que, basicamente, faz a aquisição dos valores de temperatura e envia ao display, assim como é

85 indicado na imagem abaixo, foi preparado para o Arduino e também se encontra abaixo. Imagem Display [crayon-588a50c96e /] Este código foi implementado utilizando a biblioteca básica para interação com o controlador do display (Controlador ILI9163C) escrita e disponibilizada pela Adafruit Industries. Uma imagem da montagem final e teste utilizando uma protoboard é ilustrado na imagem abaixo. Imagem Montagem Final

86 Conclusão Este trabalho foi apenas um complemento do Arduino Lab 03 onde acrescentamos o sensor de temperatura e mudamos alguns detalhes na interface apresentada no Display de LCD. Em um Lab posterior iremos implementar a medição de temperatura com sensores do tipo NTC e Termopares J e K que são amplamente utilizados em aplicações industriais. Intel Edison Lab 03 Oxímetro Bluetooth e LCD 16 2 em Python Tela teste inicial Neste Lab descreveremos o método utilizado para integrar um Oxímetro Bluetooth com tecnologia LE (Low Energy), um display de LCD de 16 colunas e 2 linhas (16 2) e o Intel Edison utilizando uma biblioteca escrita em Python.

87 O Oxímetro utilizado neste Lab despensa apresentações pois já foi descrito no Lab 02, inclusive com o princípio de funcionamento e configurações. Um enfoque maior será dado ao display de LCD quanto ao método e a dinâmica da comunicação com o Intel Edison, por ser de fácil e constante uso de Hobistas, estudantes e Makers. Display de LCD 16 2 Displays de LCD são dispositivos comuns e baratos para uma interface com microcontroladores ou processadores como o Intel Edison, que não apresenta nenhum tipo de saída de vídeo (como a Raspberry Pi, BeagleBone Black entre outras). Controlador HD44780 A maioria dos displays de 16 2, 20 4 e outros derivados, são compatíveis com o controlador HD44780 da empresa Hitachi. Este controlador nos permite enviar os dados de duas maneiras: Enviando os 8 bits (8 bits = 1 byte) de uma só vez através dos pinos D0 a D7 ou enviando dois pacotes de 4 bits consecutivos (4 bits = 1 nibble) através dos pinos D4 a D7. A segunda opção (enviar dois pacotes de 4 bits) parece ser mais complicada, porém esta é frequentemente utilizada nos projetos que utilizam este display por economizar 4 pinos de comunicação do processador ou microcontrolador, logo, para comunicar com este display utilizaremos somente 6 pinos, sendo eles dois pinos de controle e 4 de dados.

88 Comunicação modo 4 bits Todos os displays baseados no controlador HD44780 devem receber um startup de dados referente a configuração na qual o controlador deverá trabalhar. A pequena rotina descrita abaixo irá inicializar o display no modo em que desejamos neste Lab. [crayon-588a50c96ef /] Dinâmica de envio dos dados para o LCD Temos 8 bits em cada byte, porém enviaremos 4 bits de cada vez e, obrigatoriamente, enviar estes de acordo com as especificações de tempo descritas no datasheet do controlador. O grande segredo está em enviar os 4 bits mais significativos, alterar o estado do pino enable e novamente enviar os 4 bits menos significativos. Uma rotina para alterar o estado do pino enable, em Python, é descrita abaixo, onde a constante E_DELAY tem o valor 0,0005 (500 ns). [crayon-588a50c96ef /] Os comandos de configuração e posicionamento do cursor são enviados utilizando o mesmo canal de dados (pinos D4 a D7). O controlador utiliza o terminal RS do display para distinguir o que é comando ou o que é dados.

89 Se o pino RS estiver em nível baixo, qualquer bit enviado na linha de dados D4 a D7 será interpretado como comando e quando RS em nível alto, os bits serão aceitos pelo controlador HD44780 como um caractere. A rotina para enviar os bits para o LCD está descrita abaixo, onde o parâmetro mode, que é repassado ao pino RS, pode receber as constantes LCD_CHR = True para dados enviados como caractere ou LCD_CMD = False para dados em forma de comandos para o controlador do display. [crayon-588a50c96ef /] Esquema e montagem O principal objetivo deste Lab é a integração do Oxímetro Bluetooth, o display de LCD de 16 2 e o Intel Edison, exibindo os dados enviados pelo Oxímetro na tela do display. Um esquema de ligação entre o Edison e o display de LCD, seguindo os mesmos modelos feitos para uma ligação com o Arduino, já que estamos utilizando o Breakout board, está ilustrado na figura abaixo.

90 Esquema Overview Uma imagem da montagem real, feita em protoboard está indicada abaixo.

91 Circuito montado E o esquema das ligações entre o Edison e o Bluetooth também está indicado na figura abaixo. Esquema de Ligação

92 Programação e teste Optamos em elaborar um programa em Python para ser interpretado dentro do Intel Edison por ser de fácil entendimento e execução a partir do diretório root do Edison. O programa se encontra abaixo e foi elaborado para uma fácil interpretação do leitor. [crayon-588a50c96efa /] Primeiramente, crie o script do programa no diretório root do Intel Edison utilizando o editor de textos de sua preferência. No nosso caso optamos por utilizar o nativo do Yocto Linux. Criação do arquivo utilizando o editor vi Insira o código apresentado anteriormente dentro do editor vi. A maneira mais fácil é copiando o script com a combinação control+c ou outro método e posicionar o mouse sobre a tela do editor vi e clicar com o botão direito do mouse. O script será colado, porém devemos conferir se o cabeçalho foi inserido corretamente (na grande maioria não é) e alguns endentamentos importantes para a linguagem Python. Se alguma mensagem de erro aparecer, basta abrir o script novamente e editar (aperte a tecla i primeiro) para corrigir.

93 Edição e correção do script Corrija o cabeçalho, salve o script (ESC + :wq + ENTER) e digite os comandos para habilitar o controlador bluetooth, comando para acessar a biblioteca gatttool de qualquer diretório e execute o script descrito com o comando python edisonbluetoothoximeter.py. Comandos iniciais e confirmação Os dados enviados pelo Oxímetro serão mostrados na tela do display de LCD, assim como pode ser observado na figura abaixo.

94 Funcionamento do display Observação: O procedimento de instalação do Gattool e o método de análise da comunicação entre o Oxímetro e o Intel Edison utilizando o Bluetooth já foram descritos no Lab 02. Conclusão Neste Lab descrevemos os métodos e a dinâmica de comunicação entre o Intel Edison e o display de LCD. Um script de código em linguagem Python também foi apresentado para conduzir a comunicação entre os dispositivos. Outras bibliotecas utilizando diversas linguagens também podem ser escritas afim de atender as preferências de programação de cada leitor.

Arduino Lab 07 Leitura de temperatura e indicação em um display GLCD de

Arduino Lab 07 Leitura de temperatura e indicação em um display GLCD de Arduino Lab 07 Leitura de temperatura e indicação em um display GLCD de 128 64 Resumo Neste Lab faremos a leitura de um NTC comum a aplicações industriais e indicaremos os valores em um display GLCD de

Leia mais

Arduino Lab 09 Leitura de

Arduino Lab 09 Leitura de Arduino Lab 09 Leitura de um encoder industrial Heidenhain com o Arduino Neste Lab explicaremos o funcionamento e teste de um encoder industrial de quadratura, muito utilizado na indústria como sistema

Leia mais

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Neste Lab iremos descrever a implementação de um sistema para testar antigas memórias RAM, estática, modelo HM6116LP-4 que ainda são utilizadas

Leia mais

Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino

Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino Imagem montagem Resumo Neste Lab trataremos da leitura de temperatura utilizando um sensor do tipo NTC (Negative Temperature

Leia mais

MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110

MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110 MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110 Imagem do Display Neste Lab trataremos da rotina de implementação de um código para comunicação entre o MSP430 e um display gráfico.

Leia mais

Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino

Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino Arduino Lab 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino Imagem montagem Resumo Neste Lab trataremos da leitura de temperatura utilizando um sensor do tipo NTC (Negative Temperature

Leia mais

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2 Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2 Display de LCD 16 2 Neste Lab, iremos descrever como conectar o sensor BH1750FVI, já citado no Lab 01, ao Arduino Micro e à um display. A indicação

Leia mais

Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix

Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix Neste Lab trabalharemos com um touch capacitivo de 8, retirado de um tablete antigo e sem uso, afim de estabelecer uma engenharia

Leia mais

MSP430 Lab 06 Comunicação com display de 40 2 e análise das formas de onda no analisador lógico

MSP430 Lab 06 Comunicação com display de 40 2 e análise das formas de onda no analisador lógico MSP430 Lab 06 Comunicação com display de 40 2 e análise das formas de onda no analisador lógico Neste Lab iremos descrever os passos para a implementação do processo de comunicação entre o MSP430G2553,

Leia mais

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k

Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Arduino Lab 08 Banco de teste para memória RAM HM6116 de 16k Neste Lab iremos descrever a implementação de um sistema para testar antigas memórias RAM, estática, modelo HM6116LP-4 que ainda são utilizadas

Leia mais

Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix

Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix Neste Lab trabalharemos com um touch capacitivo de 8, retirado de um tablete antigo e sem uso, afim de estabelecer uma engenharia

Leia mais

Arduino Lab 19 Leitura e datalogger de temperatura utilizando um termopar tipo K e o MAX6675

Arduino Lab 19 Leitura e datalogger de temperatura utilizando um termopar tipo K e o MAX6675 Arduino Lab 19 Leitura e datalogger de temperatura utilizando um termopar tipo K e o MAX6675 Neste Lab detalharemos a forma de Leitura de altas temperaturas utilizando um termopar do tipo K, para uma faixa

Leia mais

Arduino Lab 04 Leitura de temperatura com o sensor MCP9700

Arduino Lab 04 Leitura de temperatura com o sensor MCP9700 Arduino Lab 04 Leitura de temperatura com o sensor MCP9700 Componentes deste Lab Neste Lab discutiremos a integração do sensor de temperatura MCP9700 aos dispositivos já abordados no Lab 03, que são o

Leia mais

Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix

Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix Arduino Lab 10 Interface com um touch capacitivo, controlador GT801 Goodix Neste Lab trabalharemos com um touch capacitivo de 8, retirado de um tablete antigo e sem uso, afim de estabelecer uma engenharia

Leia mais

Arduino Lab 05 Leitura e

Arduino Lab 05 Leitura e Arduino Lab 05 Leitura e transmissão remota de corrente utilizando o nrf24l01 Imagem geral Aplicação Neste Lab iremos descrever a integração entre 5 dispositivos em uma aplicação de transmissão de dados

Leia mais

Introdução ao Uso do LCD Inteligente (Versão Preliminar) Por Gilson Yukio Sato. Introdução

Introdução ao Uso do LCD Inteligente (Versão Preliminar) Por Gilson Yukio Sato. Introdução Introdução ao Uso do LCD Inteligente (Versão Preliminar) Por Gilson Yukio Sato Introdução O display de cristal líquido (LCD) inteligente é bastante usado como dispositivo de interface entre o usuário e

Leia mais

KIT DIDÁTICO PIC-2377

KIT DIDÁTICO PIC-2377 KIT DIDÁTICO PIC-77... Módulo PIC-77 Recursos internos da MCU Encapsulamento DIP40. 5 instruções (RISC). pinos de I/O configuráveis. 56 bytes de EEPROM para dados de 8 bits. 8k de memória flash para o

Leia mais

Módulo de Cristal Líquido LCD

Módulo de Cristal Líquido LCD Módulo de Cristal Líquido LCD 1 Introdução Os módulos LCD são interfaces de saída muito utilizadas em sistemas microprocessados e microcontrolados. Estes módulos podem ser gráficos e alfanuméricos. Os

Leia mais

Usando display LCD tipo 16x2

Usando display LCD tipo 16x2 Prática 4: 4.1 Introdução e objetivos Usando display LCD tipo 16x2 Frequentemente, o PIC recebe algum tipo de dado e faz algum tipo de tratamento neste dado (segundo sua programação) e depois deve exibi-lo

Leia mais

INSTRUMENTAÇÃO ELETRÔNICA. UFRN - DEE Rodrigo Marques de Melo Santiago

INSTRUMENTAÇÃO ELETRÔNICA. UFRN - DEE Rodrigo Marques de Melo Santiago INSTRUMENTAÇÃO ELETRÔNICA UFRN - DEE Rodrigo Marques de Melo Santiago rodrigommsantigo@yahoo.com.br 2 Objetivo Desenvolvimento de um circuito eletrônico capaz de medir e mostrar a temperatura ambiente

Leia mais

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade Introdução MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade A oficina proposta neste documento apresenta conceitos iniciais e intermediários sobre o funcionamento

Leia mais

Eletrônica Digital II (Memórias) Prof. Eng. Antonio Carlos Lemos Júnior

Eletrônica Digital II (Memórias) Prof. Eng. Antonio Carlos Lemos Júnior Eletrônica Digital II (Memórias) Prof. Eng. Antonio Carlos Lemos Júnior Termos Básicos Célula de memória dispositivo ou circuito capaz de armazenar um bit. Ex.: um flip-flop, um capacitor, etc. Palavra

Leia mais

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Exemplo de Projeto com Microcontrolador MCS-51 Prof. Adilson Gonzaga Definições Iniciais: Microcontrolador Tamanho da Memória de Programa Interna define o tamanho da Memória de Programa Externa a ser utilizada.

Leia mais

Oxímetro Bluetooth e LCD 16 2 em Python

Oxímetro Bluetooth e LCD 16 2 em Python Intel Edison Lab 03 Oxímetro Bluetooth e LCD 16 2 em Python Tela teste inicial Neste Lab descreveremos o método utilizado para integrar um Oxímetro Bluetooth com tecnologia LE (Low Energy), um display

Leia mais

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Trena Ultrassônica

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Trena Ultrassônica UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA Trena Ultrassônica Desenvolvido por Thiago Ferreira Pontes Relatório Final da

Leia mais

Geradores de Clock e Memórias

Geradores de Clock e Memórias Geradores de Clock e Memórias Prof. Ohara Kerusauskas Rayel Disciplina de Eletrônica Digital - ET75C Curitiba, PR 18 de junho de 2015 1 / 23 Geradores de Clock Multivibradores biestáveis: possuem 2 estados

Leia mais

HARDWARE DOS RELÉS NUMÉRICOS

HARDWARE DOS RELÉS NUMÉRICOS HARDWARE DOS RELÉS NUMÉRICOS 1. CONSIDERAÇÕES INICIAIS Objetivos idênticos ao hardware dos relés convencionais, ou seja, recebem sinais analógicos de tensão, corrente e outros, sinais digitais de contatos

Leia mais

SSC512 Elementos de Lógica Digital. Memórias. GE4 Bio

SSC512 Elementos de Lógica Digital. Memórias. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Elementos de Memórias GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr. Danilo

Leia mais

EL08D - MICROCONTROLADORES

EL08D - MICROCONTROLADORES Teclado Matricial Curso Técnico de Nível Médio Integrado Eletrônica - 8o Período Disciplina de Microcontroladores 2 (EL08D) 1º Sem 2016 Professor Gabriel Kovalhuk Email: kovalhuk@utfpr.edu.br Página pessoal:

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Versão 2007 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz). Através da

Leia mais

Memória SRAM 64x8 bits

Memória SRAM 64x8 bits UNIVERSIDADE FEDERAL DO PARANÁ Leonardo H. Menezes André N. Makoski Memória SRAM 64x8 bits Artigo elaborado como parte da avaliação da Disciplina de Circuitos Integrados Digitais, ministrada pelos Profs.:

Leia mais

RVC MANUAL POSICIONADOR DE VÁLVULAS MOD. RVC420 R1. Indústria e Comércio de Atuadores RVC Eireli EPP. Dê Preferência aos produtos Fabricados no Brasil

RVC MANUAL POSICIONADOR DE VÁLVULAS MOD. RVC420 R1. Indústria e Comércio de Atuadores RVC Eireli EPP. Dê Preferência aos produtos Fabricados no Brasil MANUAL POSICIONADOR DE VÁLVULAS MOD. RVC420 R1 (PLACAS FABRICADAS APÓS 07/05/2017) Site: www.rvc.com.br E-mail: ricardo@rvc.com.br 1. Introdução O Posicionador de válvulas mod. RVC420 consiste em um equipamento

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Edson T. Midorikawa/2006 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz).

Leia mais

Arduino Lab 01 Sensor de luminosidade BH1750FVI

Arduino Lab 01 Sensor de luminosidade BH1750FVI Arduino Lab 01 Sensor de luminosidade BH1750FVI Sensor de luminosidade BH1750FVI Neste Lab iremos descrever a implementação de um código para utilizar o módulo digital de medição da intensidade de iluminação

Leia mais

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Nov/18

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Nov/18 MEMÓRIAS Sistemas Digitais II Prof. Marcelo Wendling Nov/18 1 Definições São blocos que armazenam informações codificadas digitalmente. A localização de uma unidade de dado num arranjo de memória é denominada

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 5 Memória interna William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 5 Memória interna Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Tipos de memória de semicondutor slide

Leia mais

O protocolo SPI. 1 - Introdução. 2 Ligação física

O protocolo SPI. 1 - Introdução. 2 Ligação física O protocolo SPI 1 - Introdução O protocolo SPI ( Serial Peripheral Interface ) é um protocolo síncrono de alta velocidade utilizado na comunicação de circuitos integrados. Atualmente existem conversores

Leia mais

EXERCÍCIOS DE PREPARAÇÃO PARA PROVA B2

EXERCÍCIOS DE PREPARAÇÃO PARA PROVA B2 EXERCÍCIOS DE PREPARAÇÃO PARA PROVA B2 Lista de Exercícios de Sistemas Digitais II Prova B2 1.a. Construir um sistema de seleção para o banco de memórias definido pelo mapa de memória. Sendo todas as memórias

Leia mais

Arduino Lab 03 Display LCD TFT 1,44 e RTC MCP79410

Arduino Lab 03 Display LCD TFT 1,44 e RTC MCP79410 Arduino Lab 03 Display LCD TFT 1,44 e RTC MCP79410 Dispositivos a serem utilizados neste Lab Neste Lab iremos discutir o funcionamento do display de LCD TFT de 1,44 e do relógio de tempo real (RTC) MCP

Leia mais

Universidade Federal do ABC

Universidade Federal do ABC Universidade Federal do ABC Eletrônica Digital Aula 13: Dispositivos de Memória TOCCI, Sistemas Digitais, Sec. 12.1 12.9 http://sites.google.com/site/eletdigi/ Dispositivos de Memória Memórias conhecidas

Leia mais

I2C PROTOCOLO DE COMUNICAÇÃO

I2C PROTOCOLO DE COMUNICAÇÃO Esse barramento foi criado pela empresa Holandesa (Philips) como Inter IC ou I2C que possibilita a utilização de grande quantidade de componentes padronizados, os quais podem realizar diversas funções,

Leia mais

CURSO DE ELETRÔNICA DIGITAL OS FLIP-FLOPS E FUNÇÕES LÓGICAS EM CIRCUITOS INTEGRADOS

CURSO DE ELETRÔNICA DIGITAL OS FLIP-FLOPS E FUNÇÕES LÓGICAS EM CIRCUITOS INTEGRADOS LIÇÃO 7 OS FLIP-FLOPS E FUNÇÕES LÓGICAS EM CIRCUITOS INTEGRADOS Na lição anterior aprendemos como funcionam os principais tipos de flip-flops, verificando que, dependendo dos recursos que cada um possua,

Leia mais

2 Fundamentos teóricos

2 Fundamentos teóricos 20 2 Fundamentos teóricos 2.1. Motores de passo Motores de passo são atuadores eletromecânicos incrementais não-lineares. Permitir um controle preciso de posição e velocidade, aliado a um baixo custo,

Leia mais

Memórias. Memórias: Utilização:

Memórias. Memórias: Utilização: 1 : São dispositivos que armazenam informações codificadas digitalmente que podem representar números, letras, caracteres quaisquer, comandos de operações, endereços ou ainda qualquer outro tipo de dado.

Leia mais

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255 Capítulo 14 Expandindo as portas de comunicação 8031 com a PPI 8255 Como discutido ao longo do livro, o 8031 deixa 8 bits para controle genérico de dispositivos. Em situações nas quais se necessita um

Leia mais

ELE Microprocessadores I. AULA 12 Arquitetura do Microprocessador Interface com as memórias

ELE Microprocessadores I. AULA 12 Arquitetura do Microprocessador Interface com as memórias ELE 1078 - Microprocessadores I AULA 12 Arquitetura do Microprocessador 8085 -Interface com as memórias 12.1 - Estrutura das Memórias Memória de Leitura / Escrita (R / W memory). Grupo de registradores;

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014-1 1 CONCEITOS ASSUNTOS DESTA AULA: Funcionalidades de um computador; Hardware e Software; Componentes de um computador: o CPU

Leia mais

O Pino P2.7 não está sendo usado e cada Display mostrará valores de 0 a 9.

O Pino P2.7 não está sendo usado e cada Display mostrará valores de 0 a 9. Lista de Exercícios 2 Conceitos envolvidos: a) Interface serial RS232 b) Interface com Teclado Matricial c) Interface com Displays de 7 segmentos d) Interface com LCD e) Interface com Conversores A/D e

Leia mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Organização de Computadores Dr. Jorge Luiz e Silva Cap 2 Memória Secundária Memória Principal Memória Secundária - Armazenam informações que precisam ser transferidas para a Memória

Leia mais

Comunicação USB com o PIC Vitor Amadeu Souza

Comunicação USB com o PIC Vitor Amadeu Souza 1 Comunicação UB com o PIC Vitor Amadeu ouza vitor@cerne-tec.com.br Introdução Os modernos microcontroladores da Microchip, haja vista os da família PIC18 estão cada vez mais com uma integração maior e

Leia mais

Registradores de Deslocamento e Memórias

Registradores de Deslocamento e Memórias Registradores de eslocamento e Memórias Rodrigo Hausen 1 Registradores de deslocamento Exercício 1 Usando flip-flops do tipo, projete uma máquina de estado com duas entradas, (clock) e d (um bit de dado),

Leia mais

INTRODUÇÃO: MICROCONTROLADORES

INTRODUÇÃO: MICROCONTROLADORES INTRODUÇÃO: MICROCONTROLADORES MICROCONTROLADOR X MICROPROCESSADOR Baixa capacidade de processamento Freq. Operação em MHz Custo de R$ 7,00 a 30,00 Aplicações mais restrita Alta capacidade de processamento

Leia mais

Guia de Práticas Elevador Didático Programável

Guia de Práticas Elevador Didático Programável Guia de Práticas Elevador Didático Programável Módulo: Arduino MEGA 2560 1ªEdição Resumo Guia com as principais práticas presentes no Caderno de Práticas que acompanha o Elevador Didático Programável.

Leia mais

Manual do usuário - Kit 4EA2SA v2.0. Kit 4EA2SA v2.0 Manual do usuário. Copyright VW Soluções

Manual do usuário - Kit 4EA2SA v2.0. Kit 4EA2SA v2.0 Manual do usuário.   Copyright VW Soluções Kit 4EA2SA v2.0 Manual do usuário 1 Apresentação O Kit 4EA2SA v2.0 foi desenvolvido pela VW Soluções utilizando-se como base o circuito integrado MCP3424 da Microchip, que possui 4 (quatro) entradas analógicas

Leia mais

3 a Lista de Exercícios

3 a Lista de Exercícios Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Ciências da Computação INE 5406 - Sistemas Digitais - semestre 2010/2 Prof. José Luís Güntzel guntzel@inf.ufsc.br

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO SUL CAMPUS RIO GRANDE INSTRUMENTAÇÃO INDUSTRIAL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO SUL CAMPUS RIO GRANDE INSTRUMENTAÇÃO INDUSTRIAL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO SUL CAMPUS RIO GRANDE INSTRUMENTAÇÃO INDUSTRIAL Aula 22 2 Os termistores são dispositivos semicondutores que apresentam uma variação

Leia mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga Aplicações: Conversão de Códigos e Motor de Passo Aplicação 1 Conversão de Código ASCII para Hexadecimal Alguns periféricos, tais como Teclados Alfa-numéricos, Monitores de Vídeo, Displays de Cristal Líquido,

Leia mais

Microcontrolador 8051

Microcontrolador 8051 Microcontrolador 8051 Inicialmente fabricado pela INTEL, atualmente fabricado por várias empresas; Possui uma grande variedade de dispositivos, com diversas características, porém compatíveis em software;

Leia mais

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Interfaces de E/S

Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Interfaces de E/S Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação CLPs: Interfaces de E/S Heitor Medeiros Florencio Interfaces de Entrada e Saída Interfaces de E/S A seção

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

Experiência 5: Circuitos osciladores e conversores digital-analógicos

Experiência 5: Circuitos osciladores e conversores digital-analógicos Experiência 5: Circuitos osciladores e conversores digital-analógicos Esta experiência analisa circuitos osciladores e conversores digital-analógicos. Circuitos osciladores são fundamentais em eletrônica,

Leia mais

Memória. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva

Memória. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva Memória Arquitetura de Computadores I DCC-IM/UFRJ Prof. Gabriel P. Silva Representação das Informações A abreviação utilizada para o byte é o B maiúsculo e para o bit é o b minúsculo. Abaixo estão os multiplicadores

Leia mais

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA Sistemas Digitais Agenda Arduino Tipos, detalhes; Esquema elétrico. IDEs Eagle; ATMel Studio; Arduino Studio; Circuits IO (Simulador). Arduino Arduino MEGA2560

Leia mais

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto CIRCUITOS SEQUENCIAIS Adão de Melo Neto 1 EMENTA DEFINIÇÃO FLIP-FLOP SR FLIP-FLOP SR COM ENTRADA DE CLOCK FLIP-FLOP D COMPARAÇÃO DOS FLIP-FLOPS FLIP-FLOP X LATCH FLIP FLOP JK FLIP-FLOP D A PARTIR DO JK

Leia mais

9.0 Conversores DA. Um conversor digital analógico simples com saída em tensão

9.0 Conversores DA. Um conversor digital analógico simples com saída em tensão 9.0 Conversores DA Um DAC (Digital-to-Analog Converter) é um conversor digital analógico, comumente usado em situações onde há necessidade de converter um sinal um sinal que se apresenta na forma digital

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO Profª Danielle Casillo Ambiente de software desenvolvido para a programação, configuração, depuração e documentação de programas

Leia mais

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO

LABORATÓRIO DE ARQUITETURA DE COMPUTADORES PREPARAÇÃO 02: DISPLAY DE 7 SEGMENTOS MICROCONTROLADO AEVSF Autarquia Educacional do Vale do São Francisco FACAPE Faculdade de Ciências Aplicadas e Sociais de Petrolina Curso de Ciência da Computação LABORATÓRIO DE ARQUITETURA DE COMPUTADORES Prof. Sérgio

Leia mais

LISTA 01 3B ORGANIZAÇÃO DE COMPUTADORES (REALIZADA EM AULA) NOME: NOME:

LISTA 01 3B ORGANIZAÇÃO DE COMPUTADORES (REALIZADA EM AULA) NOME: NOME: LISTA 01 3B ORGANIZAÇÃO DE COMPUTADORES (REALIZADA EM AULA) NOME: NOME: 1. Explique a constituição do computador. Um computador é composto pelo processador, pela memória, dispositivos de entrada e saída.

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 23ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação Características

Leia mais

PLATAFORMA PARA CARACTERIZAÇÃO DE ELEMENTOS SENSORES PIEZORESISTIVOS 1

PLATAFORMA PARA CARACTERIZAÇÃO DE ELEMENTOS SENSORES PIEZORESISTIVOS 1 PLATAFORMA PARA CARACTERIZAÇÃO DE ELEMENTOS SENSORES PIEZORESISTIVOS 1 Carlos Augusto Valdiero 2, André Luciano Rakowiski 3, Luiz Antônio Rasia 4, Antonio Carlos Valdiero 5. 1 Projeto de Pesquisa Institucional

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Entrada e Saída Slide 1 Entrada e Saída Dispositivos Externos E/S Programada Organização e Arquitetura de Computadores I Sumário E/S Dirigida por Interrupção

Leia mais

Lista de Exercícios 2

Lista de Exercícios 2 Conceitos envolvidos: a) Contadores e Temporizadores b) Interface serial RS232 c) Interrupções Lista de Exercícios 2 1. Fazer um contador hexadecimal que coloque o valor de contagem na porta P1 em intervalos

Leia mais

Capítulo 8 Interface com o mundo analógico

Capítulo 8 Interface com o mundo analógico Capítulo 8 Interface com o mundo analógico.0 Introdução A maioria das grandezas físicas é analógica por natureza e pode assumir qualquer valor dentro de uma faixa de valores contínuos. Podemos citar: temperatura,

Leia mais

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Termômetro Digital

UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA. Termômetro Digital UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE ENGENHARIA ELETRÔNICA DISCIPLINA DE INSTRUMENTAÇÃO ELETRÔNICA Termômetro Digital Desenvolvido por Luciano Lettnin Relatório Final da Disciplina

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA RELATÓRIO CONTADOR DE 6 BITS PROGRAMÁVEL Trabalho apresentado à disciplina de Projeto de Circuitos Integrados Digitais,

Leia mais

APRESENTAÇÃO DO KIT CPLD_EE01

APRESENTAÇÃO DO KIT CPLD_EE01 APRESENTAÇÃO DO KIT CPLD_EE01 O kit CPLD_EE01 foi desenvolvido para alunos de cursos técnicos, engenharia e desenvolvedores na área de circuitos digitais, o mesmo conta com alguns módulos que podem ser

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Interna Slide 1 Memória Em informática, memória são todos os dispositivos que permitem a um computador guardar dados, temporariamente ou permanentemente.

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Circuitos Lógicos Sequenciais (Parte

Leia mais

MEMÓRIAS PAPEL FOTOGRAFIA FITA PERFURADA DISPOSITIVOS MAGNÉTICOS DISPOSITIVOS ÓPTICOS DISPOSTIVOS DE ESTADO SÓLIDO

MEMÓRIAS PAPEL FOTOGRAFIA FITA PERFURADA DISPOSITIVOS MAGNÉTICOS DISPOSITIVOS ÓPTICOS DISPOSTIVOS DE ESTADO SÓLIDO MEMÓRIAS MEIOS: PAPEL FOTOGRAFIA FITA PERFURADA DISPOSITIVOS MAGNÉTICOS DISPOSITIVOS ÓPTICOS DISPOSTIVOS DE ESTADO SÓLIDO TÉCNICAS: IMPRESSÃO CARGAS ELÉTRICAS MODIFICAÇÃO DE ÍNDICES ÓPTICOS DE SUPERFÍCIES

Leia mais

14/3/2016. Prof. Evandro L. L. Rodrigues

14/3/2016. Prof. Evandro L. L. Rodrigues SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Prof. Evandro L. L. Rodrigues Tópicos do curso Conceitos básicos - Aplicações e utilizações dos microcontroladores

Leia mais

10.0 Conversores DA. Conceitos básicos:

10.0 Conversores DA. Conceitos básicos: 100 Conversores DA Monitorar grandezas físicas, coletar dados e armazena-los para possíveis tomadas de decisão é grande interesse da indústria A precisão dos sinais coletados é de extrema importância,

Leia mais

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa. A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa. A alimentação externa ocorre através do conector Jack com o pino positivo no centro, onde o valor de

Leia mais

Introdução à Plataforma ARDUINO

Introdução à Plataforma ARDUINO MINICURSO Introdução à Plataforma ARDUINO PET Mecatrônica/BSI Geruza M. Bressan O que é um microcontrolador (MCU)? É um computador em um chip Processador Memória Entrada/Saída Controla ações e funções

Leia mais

Transmissores e Receptores

Transmissores e Receptores www.iesa.com.br 1 Os transmissores são instrumentos que convertem um sinal qualquer, de um sensor ou transdutor, em um sinal padrão para ser enviado a distância. Outras funções de tratamento e condicionamento

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim unesp UNIVERSIDADE ESTADUAL PAULISTA Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim 1 Atividades de Recuperação Final Sistemas Digitais II

Leia mais

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega ARDUINO O que é Arduino Arduino foi criado na Itália por Máximo Banzi com o objetivo de fomentar a computação física, cujo conceito é aumentar as formas de interação física entre nós e os computadores.

Leia mais

ARDUINO. Profº. Engº. Robson Dias Ramalho

ARDUINO. Profº. Engº. Robson Dias Ramalho ARDUINO Profº. Engº. Robson Dias Ramalho 3. Microprocessador (E/S) 4. Memória RAM (E/S) 5. Placa de vídeo (E/S) 8. Disco Rígido (E/S) 9. Mouse (Saída) 10. Teclado (E/S) 2. Placa mãe (barramento de dados)

Leia mais

Técnicas de Interface: conversor A/D e D/A

Técnicas de Interface: conversor A/D e D/A Técnicas de Interface: conversor A/D e D/A Prof. Adilson Gonzaga Interface com Conversores A/D e D/A Conversor A/D ADC Converte um Valor Analógico para Digital Conversor D/A DAC Converte um Valor Digital

Leia mais

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO

Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microcontroladores PROF. ME. HÉLIO ESPERIDIÃO Microprocessador É um circuito integrado que contém milhares, ou mesmo milhões, de transistores. Os transistores trabalham juntos para armazenar e manipular

Leia mais

MSP430 Lab 01 Instalação do Code Composer Studio e teste da Launchpad

MSP430 Lab 01 Instalação do Code Composer Studio e teste da Launchpad MSP430 Lab 01 Instalação do Code Composer Studio e teste da Launchpad Imagem LaunchPad Texas Instruments Neste post iremos tratar dos primeiros passos com o microcontrolador MSP430G2553 da Texas Instruments

Leia mais