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

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

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

Transcrição

1 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 reversa sobre o funcionamento, comunicação e design deste tipo de tela. Imagem tela touch Telas sensíveis ao toque As telas sensíveis ao toque se tornaram parte importante dos equipamentos que permitem interação com o usuário incorporando características atrativas, sejam elas funcional ou comercialmente. Talvez não notamos o quanto esta tecnologia está presente em nosso dia a dia. Praticamente 99,99% dos celulares atuais utilizam tecnologia touch e nós, usuários, interagimos a todo momento com estes dispositivos. Outros aparelhos como caixas

2 de autoatendimento bancário e de estacionamento, telas de centrais multimídia automotivas, refrigeradores domésticos mais modernos, impressoras de papel, telas de computador entre outros apresentam esta tecnologia em sua construção. Enquanto um painel sensível ao toque deve incorporar uma grande variedade de características, incluindo visibilidade sobre a tela de fundo, precisão na posição de toque, resposta rápida, durabilidade, custos de instalação, suas características se diferem dependendo do método utilizado para detectar os toques. Citaremos os displays resistivos e capacitivos. Telas resistivas Painéis touch baseados neste método também são chamados de sensores de pressão ou painéis de filme resistivos. Esta tecnologia dominou o mercado de telas sensíveis ao toque por muitos anos incorporando celulares, automotivos e o famoso Nintendo DS. monitores LCD, GPS Neste método, a posição do toque é detectada quando há uma mudança no valor da tensão aplicada no display devido ao contato dos dois eletrodos da tela alterar a resistência do ponto tocado. Uma pressão deve ser feita no momento do toque para que possa ser detectada. A figura abaixo, retirada do site ilustra estre princípio.

3 Resistive Touch Uma vantagem deste sistema está no baixo custo de produção grassas a sua simples estrutura construtiva. Este sistema também apresenta um consumo menor comparado ao capacitivo e uma ótima resistência a poeira e água já que sua superfície é feita com um filme de contato. Já que a detecção do ponto de toque demanda uma pressão para o contato dos eletrodos, este sistema funciona não só com o acionamento dos dedos como com canetas e até mesmo quando o usuário utiliza luvas protetoras. Um exemplo são os terminais de dados aplicados nas viaturas policiais fornecidos pela empresa Maxtrak. Telas capacitivas Um capacitor é um componente elétrico que, de uma forma bem simples, é composto por duas placas condutivas chamadas de eletrodos separadas por um dielétrico. Uma tela capacitiva do tipo Projected Capacitive é construída de forma parecida a um capacitor. A estrutura interna destes tipos de painéis consiste de uma camada de proteção, uma malha de eletrodos que determinam a posição do toque em X e Y e um substrato de vidro. A figura

4 abaixo, também retirada do site ilustra esta estrutura. Capacitive touch O campo elétrico gerado por um dos eletrodos é recebido no eletrodo vizinho. Quando um dedo ou uma caneta especial condutora toca o painel, o circuito é interrompido e o acoplamento do campo passa a ser através do corpo humano. Esta alteração de campo produz uma alteração de corrente que é percebida pelo controlador do touch. A posição então é determinada em coordenadas cartesianas referente a X e Y. A figura abaixo, retirada de um White Paper da empresa 3M ilustra o que foi citado acima.

5 Toque no painel Na imagem acima observamos os eletrodos e o campo formado por eles. Na imagem abaixo, já no touch que vamos trabalhar neste Lab, notamos que os eletrodos possuem o mesmo formato identificado na imagem anterior. Imagem dos Eletrodos no touch

6 Controlador GT801 Goodix O controlador do touch que vamos trabalhar neste Lab foi produzido pela empresa Goodix. Seu modelo é o GT801 e apresenta como principal característica a comunicação de dados no protocolo I2C e uma detecção de até 5 pontos de toque na tela. Uma imagem da montagem do controlador no Flat Cable do touch está indicada abaixo. Imagem do CI controlador GT801 Como observado na descrição do flat cable, temos 6 pontos a serem conectados no circuito do lado do host, porém, não era possível trabalhar com os terminais de um flat sem um circuito intermediário que fosse possível a conexão de cabos. Logo, como o conector no antigo tablet permitia a solda dos cabos, o mesmo foi cortado da placa principal e disponível para a montagem. A imagem abaixo ilustra este circuito.

7 Imagem montagem conector Os pinos INT e SHUTDOWN são responsáveis pelo controle e indicação do CI, sendo que o INT apresenta um pulso de aproximadamente 100us que pode ser um pulso de 0 para 1 ou de 1 para zero de acordo com a configuração. Comportamento Pino INT Já o pino shutdown é responsável por colocar o controlador no modo de economia de energia. Este pino de controle é muito útil nas aplicações que envolvam o uso de baterias. Todas as informações necessárias para trabalhar com este controlador foram obtidas no datasheet do fabricante, que diga-se de passagem não foi muito fácil de encontrar, e a princípio estava em Chinês, sendo necessária sua tradução página a página para o Inglês. As duas versões podem ser encontradas nos links acima. A comunicação entre o Arduino e o controlador segue o padrão I2C normal. A biblioteca padrão I2C disponível na IDE do Arduino não funcionou corretamente devido ao tempo entre enviar um dado e a resposta do sinal de ACK. Optamos então por utilizar a biblioteca SoftI2CMaster, modificando apenas o

8 tamanho do buffer de dados para 53 bytes. Algoritmo e testes Não há nenhuma complicação na ligação dos componentes para este teste. Basta ligar os pinos SDA e SCL aos pinos A4 e A5 do Arduino passando por um shift level que reduz a tensão de 5V do Arduino para 3V3 do touch e os 6 LED s conectados aos pinos D2 a D7 com um resistor de 470 Ohms em série. O pino D8 está conectado ao terminal shutdown do touch. No algoritmo, inicialmente é necessário enviar 53 bytes de configuração para o controlador GT801. Uma tabela que indica a descrição de cada byte é mostrada abaixo.

9 Tabela registradores de configuração do GT801 O vetor de dados GT801_RegData[53]{} e a função init_touchgt801() utilizados para a configuração do controlador estão indicados abaixo.

10 Vetor de dados de configuração Função init_touch() Parte de um diagrama gerado pelo analisador lógico, onde é mostrada a linha de clock SCL, a linha de dados SDA e a decodificação dos bytes está indicado na imagem abaixo. Imagem dados no analisador lógico Observamos que o primeiro byte de dados é o comando de escrita 0xAA, logo após temos o endereço do primeiro registrador de configuração a ser escrito 0x30 e então é iniciada a escrita dos dados iniciando pelo 0x19 correspondendo ao registrador 0x30. O ponteiro de incremento dos registradores e dos dados no vetor de configuração é incrementado automaticamente pelo algoritmo. O próximo passo foi ler o registrador que guarda as

11 informações sobre a versão do touch localizado no endereço inicial 0x69. A função read_version_touchgt801() que apanha estes dados está indicada abaixo. Função read_version_touch() O retorno desta função é a cadeia de dados indicada abaixo: 0x47 0x54 0x38 0x30 0x31 0x5F 0x31 0x52 0x30 0x38 0x5F 0x32 0x30 0x31 0x31 0x31 0x32 0x31 0x35 0x30 0x31 0x5F 0x47 0x6F 0x6F 0x64 0x69 0x78 0x5F 0x54 0x65 0x63 0x68 Quando convertida em ASCII, a sequencia acima gera a seguinte string correspondente a versão do touch: GT801_1R08_ _Goodix_Tech A partir deste ponto a comunicação com o touch já está estabelecida e as coordenadas em X e Y podem ser obtidas pelos registradores de leitura. O endereço e a descrição destes registradores estão indicados abaixo.

12 Tabela dos registradores de leitura Neste Lab trabalhamos apenas com somente um ponto de toque dos cinco que são suportados pelo controlador, logo somente os registradores 0x02 a 0x05 foram lidos pelo algoritmo. Para o teste ser efetivamente finalizado, uma folha com números foi elaborada e colada no lado oposto ao touch apenas como referência do posicionamento das coordenadas X e Y coletadas dos registradores descritos acima. Estas posições, após o mapeamento de cada número, entra em um laco if() que compara as coordenadas lidas com as do local de cada posição na folha. A imagem da folha elaborada e do touch estão indicados abaixo.

13 Folha de teste e touch Os botões de 1 a 9 comutam os LED s conectados aos pinos D2 a D7 do Arduino. O acionamento dos destes pode ser observado vídeo no final deste Lab. Todo o código está indicado abaixo. [crayon-58ad42936ba /] Conclusão Neste Lab trabalhamos com uma tela sensível ao toque do tipo capacitiva que foi retirada de um antigo tablet já em desuso. Um grande conhecimento com relação a este tipo de dispositivo, no âmbito do protocolo de comunicação I2C e funcionamento, foi adquirido visto que não é comum encontrarmos touch s capacitivos para protótipos em lojas de componentes eletrônicos. Uma atenção especial deve ser tomada ao manusear o flat cable desta tela pois o mesmo é colado sobre as pads do display e pode soltar-se facilmente inutilizando toda a tela.

14 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 Régua de medição Heidenhain

15 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. Montagem Tipica de um encoder

16 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 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

17 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. 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.

18 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. 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 encoder absoluto

19 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. 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

20 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 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á.

21 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 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.

22 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 Tabelas sentido incremental de giro encoder 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

23 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. 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.

24 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

25 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-58ad42936cc8d /] A imagem abaixo ilustra a montagem final deste protótipo. Imagem montagem final

26 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.

27 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

28 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

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

30 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.

31 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.

32 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.

33 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.

34 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.

35 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-58ad42936d4be /] 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.

36 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. 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 KS0108. No display também será mostrado a data e hora provenientes de um RTC DS1307. Imagem dados Display

37 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. 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

38 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. 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

39 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 pinos para o módulo TM12864L-2. Tabela de correspondência dos pinos do GLCD

40 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. 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.

41 Divisor de tensão com NTC 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:

42 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. 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. temperatura absoluta e R é a Resistencia. T é a 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

43 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. Esquemático de montagem A imagem abaixo mostra em detalhe a ligação do display.

44 Imagem detalhe da ligação com o Display 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

45 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 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-58ad42936dcd /] Conclusão Neste Lab fizemos a integração de um sensor NTC comum a

46 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. 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

47 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. Dispositivos utilizados a serem 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.

48 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 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.

49 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á 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.

50 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 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

51 precisão e polinômio referencia resistência do circuito confiabilidade nas leituras. Para criar este um termômetro calibrado foi utilizado como de temperatura. Assim, apanhamos os valores de medidas no terminal do sensor e a tensão na saída amplificador e construímos a tabela abaixo. 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

52 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 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-58ad42936e7fc /] 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,

53 trabalharemos em um projeto de leitura industriais tomando como base este Lab. de termopares Imagem Display Arduino Lab 05 Leitura e transmissão remota de corrente utilizando o nrf24l01

54 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. Imagem dispositivos

55 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. 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

56 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 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-58ad42936f4aa /]

57 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 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.

58 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 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.

59 Diagrama de ligação Lado do Receptor Diagrama de Transmissor ligação Lado do Algoritmo O algoritmo deste protótipo abrange a integração de todos os

60 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 variável denominada hi e a parte baixa na variável lo. Esta divisão entre parte baixa e alta foi necessária devido aos valores da conversão de 10 bits do AD estarem entre 0 e 1023 em decimal. [crayon-58ad42936f4d /] 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 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-58ad42936f4ef /] Observações Como principal proposta para trabalhos futuros fica a

61 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. 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.

62 Imagem Lado Transmisssor Imagem Receptor e Transmissor Arduino Lab 04 Leitura de

63 temperatura MCP9700 com o sensor 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 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.

64 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 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.

65 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. 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

66 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. 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.

67 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 é indicado na imagem abaixo, foi preparado para o Arduino e também se encontra abaixo. Imagem Display [crayon-58ad42936fe4a /] 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.

68 Imagem Montagem Final 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. Arduino Lab 03 Display LCD TFT 1,44 e RTC MCP79410

69 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 Um código será implementado para integração entre estes dois componentes e o Arduíno Nano. Introdução O relógio de tempo real MCP foi desenvolvido pela Microchip para aplicações de baixo consumo. Faz uso de compensação digital de tempo para atingir uma melhor precisão no relógio e no calendário interno. Possui também um pino que pode ser programado como saída de referência de clock ou para dois modos de alarme diferentes entre si. Uma pequena memória não volátil para armazenar dados e uma memória SRAM, alimentada pela bateria de backup, também fazem parte deste CI. Neste Lab iremos utilizar um pequeno módulo contendo o RTC, cristal de Hz, resistores de Pull-up e o soquete de bateria.

70 Módulo RTC MCP O display de LCD TFT utilizado neste Lab faz uso do controlador ILI 9163C, da empresa Ilitek, e possui uma resolução de pixels coloridos (RGB). Seu tamanho reduzido, medindo apenas 1,44 de tela, o faz ideal para aplicações embarcadas. Display LCD -TFT ILI9163C Apenas 4 fios são necessários para estabelecer uma comunicação com este display utilizando o protocolo SPI. Possui também um próprio frame buffer interno para endereçamento dos pixels. Esta característica faz com que este possa ser usado com qualquer tipo de microcontrolador, até mesmo aqueles com pequena memória.

71 O Arduino Nano já é conhecido desta série de Lab s e já foi citado no Arduino Lab 01. Lembrando aos leitores que esta placa é totalmente compatível com o Arduino UNO em relação ao número dos pinos e tamanho das memórias. Arduino Nano Display TFT LCD Display de LCD A constituição de uma tela de LCD simples é caracterizada pela disposição dos compostos de cristal líquido sobre 2 lâminas translúcidas e polarizadas, denominadas substratos. No entanto, essas lâminas formam um eixo perpendicular, como se fossem uma representação de uma matriz. Desse modo, ocorrem polarizações distintas entre ambas.

72 Construção Display de LCD A função das células que compõem os compostos químicos presentes no cristal líquido é a de atuar como guias da luz captada pelo receptor do display. Assim, esta é conduzida até o campo visual, que, assim, reproduzirá a imagem conforme ela foi emitida pelo raio de luz. Esse deslocamento só é possível devido à formação de campos magnéticos nas lâminas, que por sua vez geram impulsos elétricos, os quais irão transportar os pontos luminosos. Aprofundando um pouco mais, uma tensão é aplicada a camada de cristal líquido provocando um giro do cristal. Entre a camada polarizada e o cristal líquido, que foi girada, a intensidade da luz de fundo é reduzida em cada célula RGB e, dependendo da tensão aplicada, as cores surgirão como resultado desta polarização, aparecendo uma combinação entre as cores primárias (vermelho (Red), verde (Greem) e azul (Blue)) para formar as imagens. Display de TFT LCD A tecnologia Thin Film Transistor Liquid Crystal Display (TFT LCD) é a tecnologia de telas mais comum usada em celulares, monitores e outros dispositivos eletrônicos. É uma variação do Display de Cristal Líquido (LCD) que utiliza a tecnologia Transistor de Película Fina (TFT) para controlar cada ponto na

73 tela, conhecido como pixel, e não linhas e colunas como era feito nas telas de raios catódicos, oferecendo assim melhor qualidade de imagem e maiores resoluções quando comparado com a geração de telas LCD. Construção LCD-TFT Estes displays necessitam de uma luz de fundo, chamado de backlight, sempre acesa. A matriz TFT controla a passagem das cores primárias da visão vermelho, verde e azul através de filtros dessas cores. Cada pixel tem 3 células, uma para cada cor, que são transparentes em seu estado natural, porém ficam opacas ao receber uma carga elétrica, o que impede a passagem de luz. Pelo fato do preto nessa tela não ser tão intenso, pois é gerado apenas pela opacidade das células, o contraste fica debilitado, pois as cores escuras não ficam vivas. Dados Técnicos do Display

74 Imagem do display funcionamento em O display utilizado neste Lab, como já mencionado anteriormente, é controlado pelo driver ILI9163C. Este driver oferece diversas formas de comunicação com periféricos como microprocessadores e microcontroladores. Algumas das características principais deste display podem ser conferidas abaixo: Interface: 8-bits, 9-bits, 16-bits, 18-bits com MCU série bits, 9-bits, 16-bits, 18-bits para MCU série bits, 16-bits, 18-bits RGB interface 3-pin/4-pin Interface SPI Display mode: Full color mode (Standby desligado): 262K-cores Reduced color mode (Standby ligado): 8-colors (3bits MSB bits mode) Arquitetura de baixo consumo: VDDI = 1.65V ~ 3.3 V (interface I/O) VCI = 2.5V ~ 4.0 V (analog)

75 O diagrama de blocos deste controlador está ilustrado abaixo. Diagrama blocos do controlador display Utilizamos neste Lab a interface SPI de 4 vias para comunicação entre o controlador e o Microcontrolador. Os pinos do display utilizados foram: CS (chip enable)

76 D/C (data/ command select) SCL (serial clock) SDA (serial data input/output). O modo de escrita nos registradores do display, que é o modo mais utilizado geralmente nas aplicações, significa que o microcontrolador deseja escrever comandos e dados no driver do LCD. No nosso caso, para a comunicação serial a 4 pinos, os pacotes de dados contêm os bytes de transmissão e os bits de controle que são transmitidos pela linha D/C. Se o pino D/C está em nível baixo Low o byte transmitido pelo microcontrolador é interpretado como sendo comandos dados ao driver do LCD. Já se o pino está em nível alto High, o byte transmitido é armazenado na memória de dados RAM ou no registrador de comandos como parâmetro. Comunicação SPI em4 pinos Qualquer instrução pode ser enviada em qualquer ordem para o driver. O bit mais significativo (MSB) deve ser transmitido primeiro. A interface serial é iniciada quando o pino CS está em nível alto. Neste estado, deve-se haver pulsos na linha de clock SCL ou então a linha SDA não terá nenhum efeito. A borda de descida no pino CS habilita a interface serial e indica o inicia da transmissão dos dados. Quando CS está em nível alto, o clock na linha SCL é ignorado. Na borda de descida de CS, SCL pode está em nível alto ou baixo por ser uma linha de clock. As amostras na linha SDA são feitas na borda de subida da linha CS. O pino D/C indica

77 quando o byte é comando (Low) ou parâmetro ou dados da RAM (High). Um diagrama simplificado de toda a dinâmica de escrita de parâmetros no drive do display está ilustrado logo abaixo. Para aqueles que desejam um aprofundamento na dinâmica de comunicação com este display, o datasheet é uma ótima fonte de informação. Diagrama comunicação SPI Relógio de tempo real RTC Um relógio de tempo real é um dispositivo eletrônico que armazena os dados de hora e data em uma memória interna. A retenção destes dados geralmente é feita utilizando uma bateria de backup de lithium de 3V. Este CI tem a capacidade de continuar o clock de contagem mesmo após o desligamento da alimentação (Bateria mantida). Neste Lab estamos utilizando o MCP da Microchip. O protocolo I2C é utilizado para a comunicação entre o microcontrolador e o RTC. As características mais importantes deste RTC estão descritas abaixo:

78 Gerenciamento automático de dias, meses e anos inclusive bissextos. Trabalha com formato em 12 AM/PM ou 24 horas. Gerenciamento de dias da semana (Domingo, segunda, ) Memória SRAM de 64 bytes que pode ser alimentada pela bateria de backup. Dois alarmes programáveis. Uma saída de dreno aberto para receber sinais de clock (32768 Hz, 8192 Hz, 4096 Hz ou 1 Hz) ou mesmo para a saída do alarme programável. Memória EEPROM de 1 Kbit (8 bytes paginados). Bus I2C para comunicação com o mundo em 100 ou 400 KHz Pode ser alimentado de 1,8 a 5 volts. Pode ser calibrado para atingir precisão de 1 ppm Muda automaticamente entre a alimentação pela bateria de backup e alimentação pelo VCC. Temperatura de trabalho entre -45 a 80 C. A disposição dos pinos deste CI está ilustrada na figura abaixo. Pinagem do RTC

79 Um diagrama de blocos simples sobre a arquitetura deste dispositivo está ilustrado na figura abaixo. Diagrama dos registradores do RTC Na linha de dados do bus I2C, O dispositivo vai ser endereçado utilizando os seguintes endereços listados: Tabela de endereços do RTC

80 Características da transmissão A comunicação entre o RTC e um dispositivo controlador obedece uma sequência de operação ilustrada abaixo: Sequência de operação protocolo I2C As letras destacadas na figura acima contêm os seguintes parâmetros: (A) Bus Not Busy Linha de dados não ocupada: Ambos as linhas de dados e clock permanecem em nível alto. (B) Start Data Transfer Uma transição de nível alto para baixo da linha SDA enquanto a linha de clock (SCL) está em nível alto determina uma condição de start. Todos os comandos devem ser precedidos de uma condição de start. (C) Stop Data Transfer Uma transição de nível baixo para alto da linha SDA enquanto o clock está em nível alto, determina uma condição de Stop. Todas as operações devem terminar com a condição de Stop. (D) Data Valid O estado da linha de dados representa um dado valido quando, após uma condição de start, a linha de dados é estável para a duração de um período de nível alto do sinal de clock. O dado nesta linha deve ser trocado durante o período de nível baixo do sinal de clock. Há somente um bit de dado por pulso de clock. Acknowledge ACK Reconhecimento: Cada dispositivo, quando endereçado, é obrigado a gerar um sinal de ACK

81 após a recepção de cada byte. Mapa de memoria e registradores O MCP79410 possui quatro diferentes blocos de memoria: Os registradores do RTCC, Memória SRAM, EEPROM de 1 Kbit com proteção via software, e uma EEPROM protegida. Os registradores do RTCC e da memória SRAM compartilham o mesmo espaço, acessado atraves do byte de controle X. A regiao de memória EEPROM está em um espaço de endereço diferente e pode ser acessada utilizando o byte de controle X. O RTC não irá reconhecer os locais onde desejamos escrever ou ler dados se o endereço especificado estiver fora do range. Uma figura com o mapa de memória esta ilustrada abaixo. Mapa de memória de RTC

82 Os registradores do RTCC estão contidos no endereço 0x00 até 0x1F. Temos também 64 bytes de memória SRAM para acesso do usuário, localizada no endereço 0x20 até 0x5F. A SRAM é um bloco separado dos dos registradores do RTCC. Todos estes dados são retidos enquanto a bateria de backup estiver os alimentando. Uma tabela mostrando detalhadamente os registradores do RTCC é mostrado logo abaixo. Em nossa aplicação, os principais registradores a serem acessados estão localizados entre os endereços 0x00 e 0x06. Mapa de memórias detalhado RTC Serão descritos detalhadamente, no código feito para o Arduino, o acesso para leitura e escrita deste registradores Teste e montagem Para testar esta pequena aplicação, utilizaremos a biblioteca

83 elaborada pela Limor Fried e fornecida pela Adafruit Industries para estabelecer a comunicação com o controlador do display. Para a comunicação com o RTC, um pequeno e simples código está embutido na aplicação principal, não sendo necessária nenhuma biblioteca extra. Baixe a biblioteca neste link, decompacte Adafruit-GFXLibrary-master.zip e TFT_ILI9163C-master.rar na pasta libraries da IDE do arduino de sua preferência, abra novamente a IDE a carregue o exemplo Nano_Display_rtc_mcp79410 para testar a aplicação. O esquema de ligação entre estes três dispositivos se encontra ilustrado abaixo. Esquema de ligação do projeto O algoritmo para teste do display e do RTC será apresentado abaixo e possui uma explicação detalhada o para melhor entendimento do leitor [crayon-58ad /] Uma imagem da montagem final e teste na protoboard esta é ilustrado abaixo.

84 Montagem final em uma protoboard Conclusão Este pequeno e interessante projeto pode servir como base para grandes aplicações envolvendo displays de LCD-TFT e RTC, onde datalogs podem ser montados, ou até mesmo um aparelho portátil em que o utilizador consiga acompanhar na tela os dados de medições de sensores relacionados a data e hora exatas do dia. As aplicações são infinitas, depende apenas da imaginação do utilizador..

85 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 das leituras de luminosidade será feita utilizando um display clássico de LCD de 16 colunas e 2 linhas que trabalha com o controlador Hitachi HD Introdução Um medidor de luminosidade ou Luxímetro é muito utilizado para o controle do nível de iluminação em ambientes como escritórios, salas de aula, laboratórios, ambientes hospitalares e outros que necessitem de uma iluminação controlada. Estes níveis são regulamentados por normas específicas pois envolvem o conforto visual e o bem-estar do profissional que trabalha nestes locais. O Arduino Micro é a menor placa já construída de toda a família Arduino. Fácil de integrar em projetos de tamanho reduzido com um baixo custo e grande poder de processamento. A Micro é baseada no microcontrolador ATmega32U4 que possui um driver USB integrado ao chip, fazendo com que o microcontrolador seja reconhecido como um mouse ou teclado pelo computador.

86 O display de LCD com o controlador Hitachi HD44780 é comumente utilizado em aplicações embarcadas, pois a interface de controle e o protocolo de comunicação são padrões já difundidos no mercado em pequenas e grandes aplicações. Caracteres da tabela ASCII, Japonês Kana e outros tantos símbolos são suportados por este display. O sensor de luminosidade BH1750 já foi explicado no Lab 01 e não é novidade para os leitores. Os 3 componentes deste Lab. Iremos detalhar os principais dispositivos utilizados nesta aplicação, bem como a forma de conectá-los e programá-los, para que tenhamos um protótipo deste equipamento. Arduino Micro O Arduino Micro é uma pequena placa baseada no microcontrolador ATmega32U4 desenvolvida em conjunto com as indústrias Adafruit. Esta placa possui 20 pinos de entrada/saída, sendo que 7 podem ser utilizados como saída PWM e 12 como entrada analógica. Um oscilador a Crystal de 16 MHz marca a referência de clock do microcontrolador. Um botão de reset, conector micro USB e ICSP também fazem parte da placa.

87 Pinagem Arduino Micro A disposição dos seus pinos faz com que esta placa seja facilmente montada em uma protoboard. 2 gerações de Arduino Micro O Arduino Micro é similar ao Arduino Leonardo quanto ao

88 controlador USB já embutido no ATmega32U4, eliminando assim a necessidade de um processador secundário. Isto permite que o Micro seja reconhecido como um teclado ou mouse, ou mesmo como um virtual CDC / serial COM port, por um computador. O Micro possui ainda um polyfuse com possibilidade de reset para proteger as portas USB do computador de curto circuito e ou sobre corrente. Se mais de 500 ma forem aplicados a porta USB, o fusível irá automaticamente atuar bloqueando a conexão até que o curto ou sobrecarga seja removido. Especificações do Arduino micro: Microcontrolador ATmega32U4 Tensão de operação 5V Tensão de entrada (recomendado) 7-12V Tensão de entrada (limite) 6-20V Pinos Digital I/O 20 Canais PWM 7 Canais de entrada analógica 12 Corrente DC por pino I/O 20 ma Corrente DC por pino 3.3V 50 ma 32 KB (ATmega32U4) Memória Flash sendo 4 KB usados pelo bootloader SRAM 2.5 KB (ATmega32U4) EEPROM 1 KB (ATmega32U4) Velocidade de Clock 16 MHz Comprimento 48 mm Largura 18 mm Peso 13 g

89 Display de LCD O display de LCD utilizado neste projeto é o clássico e conhecido display de 16 colunas e 2 linhas (16 2), com o controlador Hitachi HD44780 ou compatível. Os pinos de interface com este display estão descritos na tabela abaixo. Tabela pinos LCD O controlador Hitachi HD44780 é limitado a indicação monocromática de textos no display. Muito utilizado em equipamentos como copiadoras, máquinas de fax, impressoras a laser, equipamentos de teste industriais, equipamentos de rede e muito mais. Estes displays de LCD são fabricados em diferentes configurações padrões. Os formatos mais comuns são 8 1, 16 2, 20 2 e Antes que o display possa exibir caracteres em sua tela, é necessário um procedimento de inicialização. Para isto uma

90 rotina deve ser criada para, resumidamente, fazer as seguintes operações: 1. Esperar 15ms para que o display tenha sua energização garantida; 2. Enviar o código 0x30 e esperar pelo menos 5ms; 3. Repetir a operação anterior outras duas vezes; 4. Enviar um código indicando se a transmissão é de 8 ou 4 bits e o tipo de mapa de caracteres que será usado. Este mapa de caracteres é armazenado em sua memória local. Esperar por 40us. 5. Enviar o comando para limpar a tela e posicionar o cursor na primeira linha da primeira coluna e aguardar por 1,8ms; 6. Várias outras operações acontecem como o envio de comando de deslocamento automático do cursor. O display tem uma série de comandos de controle que podem ser consultados no datasheet do mesmo. Dois modos de transmissão de dados são aceitos por este display, sendo o de 4 e 8 bits de dados. O modo em 4 bits trabalha transmitindo os 4 bits de ordem mais alta (D4 a D7) e os 4 bits restantes são transmitidos logo em seguida (D0 a D3). Somente as linhas de dados de DB4 a DB7 (Pinos 11, 12, 13 e 14) são utilizados, ficando os pinos de DB0 a DB3 inoperantes.

91 No modo de transmissão em 8 bits, todas as linhas de dados (D0 a D7) são utilizadas e os 8 bits são transmitidos de uma só vez. Avaliando os dois modos de transmissão para o display, o segundo (8 bits) apresenta uma maior velocidade de envio das

92 informações ao display comparado ao modo em 4 bits, porém para as aplicações embarcadas onde o número de portas do microcontrolador ou processador é um fator crítico, o modo em 4 bits atende os requisitos de atualização de transmissão dos dados para o display. Uma descrição detalhada do funcionamento do display, bem como os sinais necessários para transmissão de dados ou leitura do display estão disponíveis no datasheet do fabricante. Esquema de Ligação O esquema de ligação entre o Arduino Micro, Display de LCD e o sensor de luminosidade está ilustrado abaixo. Uma atenção redobrada deve ser dada a alimentação do sensor de luminosidade em 3,3V e para o display de LCD em 5 V.

93 Esquema ligação completo A montagem em uma protoboard também é ilustrado na imagem subsequente. Imagem protoboard montada O algoritmo utilizado nesta aplicação está descrito abaixo, inclusive com comentários detalhados linha a linha de toda a lógica, assim o leitor poderá entender a função de cada linha deste código. [crayon-58ad429370c8f /] A imagem abaixo ilustra a aplicação sendo alimentada por uma bateria de 6V (Limiar mínimo de alimentação por bateria para que o conversor de 3V3 possa funcionar corretamente). Seu consumo, medido com um multímetro da marca Fluke, configurado para medir corrente, indicou um valor de 41 ma.

94 Consumo de carga da bateria Conclusão Com este simples projeto realizamos a integração entre o sensor de luminosidade, o Arduino Micro e o display de LCD. Podemos, a partir deste momento, medir o nível de iluminação dos ambientes ao nosso redor, com uma precisão considerável, e sabermos se está ou não atingindo as normas para luminotécnica. Um cartão de memória também pode ser acrescentado nesta aplicação para armazenar os valores coletados pelo sensor, referentes a iluminação ambiente e, juntamente com um RTC (Relógio de Tempo Real), elaborar o perfil de luminosidade em uma dada localidade de acordo com a hora e data da análise.

95 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 BH1750FVI em conjunto com o Arduino Nano V3.0. Várias aplicações podem ser feitas utilizando este sensor, desde regulação de intensidade de luz em telas de LCD e até mesmo em automação residencial.

96 Arduino e sensor de luminosidade Introdução O sensor digital de intensidade de luz BH1750FVI converte um dado do mundo real, para um valor na forma digital em 0 s e 1 s. Isto torna mais fantástica a percepção do quanto a eletrônica está envolvida na vida cotidiana da humanidade, ou seja, a construção de sensores que transformam as percepções do mundo real em um mundo digital. O BH1750FVI utiliza o protocolo serial de comunicação I2C como interface de comunicação com o microcontrolador, que neste caso é o Arduino Nano. Este CI (Circuito Integrado) é idel para obter a intensidade de luz para ajustar a iluminação de fundo em displays de LCD, teclados e até mesmo em automação na iluminação de residências e galpões industriais por exemplo. O datasheet deste sensor pode ser baixado neste link.

97 Sensor de luminosidade Algumas das vantagens e características deste sensor estão destacadas abaixo. Converter a intensidade de Iluminação em níveis digitais. Faixa de medição de 1 a Lx com alta resolução. Baixo consumo de energia. Filtro para rejeição de ruído em 50 e 60 Hz. Comunicação com microcontrolador utilizando o protocolo I2C. Três modos de medição. ILuminância, Lumen e Lux Iluminância é uma medida da quantidade de fluxo luminoso que é espalhada sobre uma determinada área. Pode-se pensar no fluxo luminoso (medido em lúmens) como uma medida da quantidade total de luz visível presente, e a iluminância como uma medida da intensidade de iluminação numa superfície Lumen: A unidade da quantidade de luz que flui de uma fonte em qualquer instante (potência luminosa, ou fluxo luminoso) é chamada de lumen.

98 Neste sensor, a leitura será feita em Lux, que é igual a um lúmen (Lm) por metro quadrado: Lumen e Lux Dados técnicos No datasheet, observamos os valores de alimentação máximos e típicos deste CI. Preferencialmente, o valor adotado deve ser de no máximo 3.3V e nunca em 5V em nível TTL. Dados técnicos tabela 1

99 Dados técnicos tabela 2 O protocolo I2C utilizado para a comunicação com o sensor trabalha com um clock na linha SCL de aproximadamente 400KHz. Dados técnicos tabela 3 Modos de medição: Este CI apresenta três modos de medição e estes, juntamente com a resolução, estão descritos na tabela abaixo. Dados técnicos tabela 4 O datasheet recomenda utilizar o modo H-Resolution Mode pois o tempo de medição é grande o suficiente para eliminar ruídos em 50 e 60 Hz. Uma outra aplicação seria a detecção se um ambiente está escuro ou não, já que sua resolução é de 1 lx. Os opecodes utilizados para comunicação com o sensor estão

100 listados na tabela abaixo. Dados técnicos tabela 5 O terminal ADDR tem a funcionalidade de alterar o endereço do sensor na comunicação I2C. Se este pino estiver conectado ao terra, o endereço do sensor na rede I2C será 0x23, já se conectado ao VCC o endereço será 0x5C.

101 Terminal de endereçamento na rede I2C Teste do sensor Para testar este sensor, primeiramente faça as conexões como no esquema abaixo. Não se esqueça que a alimentação do módulo do sensor é em 3,3V.

102 Imagem ligacao protoboard fritzem Lligação sensor e Arduino O algoritmo para teste do sensor é apresentado abaixo e possui uma explicação linha a linha para melhor entendimento do leitor. [crayon-58ad b /] O resultado das leituras feitas utilizando o monitor serial, e variando a intensidade de luz em cima do sensor estão

103 mostrados na figura abaixo. Imagem aquisição serial A IDE utilizada para este teste foi a e além do monitor serial já clássico, possui também um Plotter gráfico que ilustra as variações de uma variável no domínio do tempo. Este gráfico é mostrado na figura abaixo. Imagem aquisição grafico

104 Conclusão Este simples projeto nos introduziu sobre o uso do módulo para medição de intensidade de luz BH1750FVI. Grande versatilidade de uso e funcionalidades são também características deste produto. Um teste de consumo de energia foi feito utilizando um multímetro para medir a corrente que uma bateria comum de celular, fornecendo 3,7V, fornecia ao conjunto Arduino + BH1750 e apontou um consumo de 34mA, porém o modo de consumo do Arduino não foi otimizado quanto a clock e periféricos ligados desnecessariamente, logo o consumo deste conjunto pode ser ainda menor, ideal para aplicações embarcadas que fazem uso de baterias. Protoboard montada

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 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

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

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 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

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

DSP Lab 02 Implementação de uma biblioteca e teste do display OLED 96 16 DSP Lab 02 Implementação de uma biblioteca e teste do display OLED 96 16 Neste Lab iremos descrever o processo de implementação de uma biblioteca de caracteres para comunicação com o display OLED de 96

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 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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

Arduino Básico: As versatilidades desta plataforma na prática

Arduino Básico: As versatilidades desta plataforma na prática Arduino Básico: As versatilidades desta plataforma na prática Apresentação Kleber Rocha Bastos Luan Silva Santana Wellington Assunção Azevedo Graduado em Engenharia de Computação pela FAINOR Graduado em

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

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

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

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

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

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

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

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

07/06/2015. Outras características importantes em Microprocessadores/Microcontroladores SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos de controle de redução de potência de operação do chip.

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

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

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

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

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

PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores. Apresentação do Kit Freescale Freedom FDRM-KL25Z e Portas de Entrada e Saída

PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores. Apresentação do Kit Freescale Freedom FDRM-KL25Z e Portas de Entrada e Saída PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores Apresentação do Kit Freescale Freedom FDRM-KL25Z e Portas de Entrada e Saída Escola Politécnica da Universidade de São Paulo Prof.

Leia mais

Medidor de Relação de Espiras Trifásico Real TRT4x

Medidor de Relação de Espiras Trifásico Real TRT4x Medidor de Relação de Espiras Trifásico Real TRT4x Opção especialmente desenhada para ensaios de transformadores de potencial capacitivo Relações de espira: 8 a 5 Melhor precisão de relação de espira de

Leia mais

PEA2502 LABORATÓRIO DE ELETRÔNICA DE POTÊNCIA

PEA2502 LABORATÓRIO DE ELETRÔNICA DE POTÊNCIA EXPERIÊNCIA N O 3 PEA2502 LABORATÓRIO DE ELETRÔNICA DE POTÊNCIA RETIFICADOR MONOFÁSICO EM PONTE CONTROLADO W. KAISER 03/2009 1. OBJETIVOS Estudo do funcionamento de uma ponte monofásica controlada utilizando

Leia mais

DGA21 SISTEMA FIXO COM SUPERVISÓRIO PARA DETECÇÃO DE GASES NOCIVOS E AMÔNIA IP 65. Manual

DGA21 SISTEMA FIXO COM SUPERVISÓRIO PARA DETECÇÃO DE GASES NOCIVOS E AMÔNIA IP 65. Manual DGA21 SISTEMA FIXO COM SUPERVISÓRIO PARA DETECÇÃO DE GASES NOCIVOS E AMÔNIA IP 65 Manual Apresentação DGA21 Sistema Fixo com Supervisório para Detecção de Gases Nocivos e Amônia foi desenvolvido para atender

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

Educação Profissional Técnico em Eletroeletrônica. Prática 4 Arduino. Alunos: Nota:

Educação Profissional Técnico em Eletroeletrônica. Prática 4 Arduino. Alunos: Nota: SENAI Arcos CFP Eliezer Vitorino Costa Educação Profissional Técnico em Eletroeletrônica Turma: TET04T-3 Prática 4 Arduino. Alunos: Nota: Instrutor: Raphael Roberto Ribeiro Silva 08/03/2017 Valor: 2,5

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

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

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

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

Prof. Adilson Gonzaga

Prof. Adilson Gonzaga Prof. Adilson Gonzaga Outras características importantes em Microprocessadores/Microcontroladores Redução de Potência de Operação As versões CHMOS (89C51, 89S52, etc ) da família MCS-51 possuem dois modos

Leia mais

CLP ESTRUTURA E FUNCIONAMENTO ROGER NABEYAMA MICHELS

CLP ESTRUTURA E FUNCIONAMENTO ROGER NABEYAMA MICHELS CLP ESTRUTURA E FUNCIONAMENTO ROGER NABEYAMA MICHELS DISPOSITIVO CAPAZ DE Permitir fácil diagnóstico de funcionamento ainda na fase de projeto do sistema e/ou reparos em falhas que venham a ocorrer durante

Leia mais

CONTROLE DE UM SERVO MOTOR

CONTROLE DE UM SERVO MOTOR CONTROLE DE UM SERVO MOTOR Versão 2015 RESUMO Esta experiência tem como objetivo a familiarização e o projeto de um circuito de controle simples de um servo motor. A parte experimental inclui atividades

Leia mais

Manual DETECTOR NH (11) (62) (11) (62)

Manual DETECTOR NH (11) (62) (11) (62) Manual DETECTOR NH3 1 APRESENTAÇÃO PHANTOM 2000 Sistema Detector Digital de NH3 foi desenvolvido para atender a NR 36 promovendo assim a avaliação, controle e monitoramento dos riscos existentes nas atividades

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

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. 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

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

Arduino Lab 11 Controle de ângulo de fase para uma carga indutiva e resistiva Parte 1

Arduino Lab 11 Controle de ângulo de fase para uma carga indutiva e resistiva Parte 1 Arduino Lab 11 Controle de ângulo de fase para uma carga indutiva e resistiva Parte 1 Neste Lab iremos discutir o método de controle de ângulo de fase para cargas indutivas e resistivas em Corrente Alternada

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

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

Arquitetura do Microcontrolador Atmega 328

Arquitetura do Microcontrolador Atmega 328 Governo do Estado de Pernambuco Secretaria de Educação Secretaria Executiva de Educação Profissional Escola Técnica Estadual Professor Agamemnon Magalhães ETEPAM Arquitetura do Microcontrolador Atmega

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

Automação Industrial PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL

Automação Industrial PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL PEA-2211: INTRODUÇÃO À ELETROMECÂNICA E À AUTOMAÇÃO AUTOMAÇÃO: CONTROLADOR LÓGICO PROGRAMÁVEL Histórico Fim da década de 1960: os circuitos integrados permitiram o desenvolvimento de minicomputadores,

Leia mais

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil.

Circuitos Lógicos. Profa. Grace S. Deaecto. Faculdade de Engenharia Mecânica / UNICAMP , Campinas, SP, Brasil. Circuitos Lógicos Profa. Grace S. Deaecto Faculdade de Engenharia Mecânica / UNICAMP 13083-860, Campinas, SP, Brasil. grace@fem.unicamp.br Segundo Semestre de 2013 Profa. Grace S. Deaecto ES572 DMC / FEM

Leia mais

Trabalho Prático Nº3 Porta Paralela

Trabalho Prático Nº3 Porta Paralela Trabalho Prático Nº3 Porta Paralela 1. OBJECTIVOS - Utilização da porta paralela como porto genérico de Entrada e Saída. 2. INTRODUÇÃO A porta paralela é um meio frequentemente utilizado para efectuar

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

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

SENSORES. Acelerômetro. Sensore de temperatura. Sensore de luminosidade. Chave de fim de curso. Interruptor de lâminas. Sensor potenciômetro

SENSORES. Acelerômetro. Sensore de temperatura. Sensore de luminosidade. Chave de fim de curso. Interruptor de lâminas. Sensor potenciômetro SENSORES São dispositivos que são sensíveis à um fenômeno físico (luz, temperatura, impedância elétrica etc.) e que transmitem um sinal para um dispositivo de medição ou controle. 1 SENSORES Acelerômetro

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

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

controle em instrumentação

controle em instrumentação Circuitos digitais para aquisição de dados e controle em instrumentação O objetivo primordial da conversão de sinais (de ou para sinais elétricos) realizada pelos transdutores, é o de transferir informação

Leia mais

Memória Interna. Prof. Leonardo Barreto Campos 1

Memória Interna. Prof. Leonardo Barreto Campos 1 Memória Interna Prof. Leonardo Barreto Campos 1 Sumário Introdução; Sistema de Memória de Computadores; Hierarquia de Memória; Memória Principal de Semicondutores; Memória Cache; Organizações das Memórias

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

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 17ª 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

Aula 13 - Circuitos Integrados para Automotiva UGA

Aula 13 - Circuitos Integrados para Automotiva UGA Aula 13 - Circuitos Integrados para Automotiva Introdução Nessa aula serão apresentados alguns circuitos utilizados em condicionadores de sensores automotivos e em circuitos de controles de atuadores.

Leia mais

Capitulo 3 O Aparato Experimental

Capitulo 3 O Aparato Experimental Capitulo 3 O Aparato Experimental O presente capítulo tem como objetivo, descrever a RTC construída no Laboratório de Engenharia Química do Centro Universitário da FEI, contemplando a instrumentação, as

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

Arduino. Aula 3 motores

Arduino. Aula 3 motores Arduino Aula 3 motores O que são motores elétricos? São dispositivos capazes de converter energia elétrica em energia mecânica No Arduino : Entradas e saídas digitais Entradas analógicas Lembrete!!! Ondas

Leia mais

SMC-B-STD GUIA DE UTILIZAÇÃO GUIA DE UTILIZAÇÃO DO DRIVER PARA MOTOR DE PASSO BIPOLAR SMC-B-STD VER 1.00 PÁGINA 1

SMC-B-STD GUIA DE UTILIZAÇÃO GUIA DE UTILIZAÇÃO DO DRIVER PARA MOTOR DE PASSO BIPOLAR SMC-B-STD VER 1.00 PÁGINA 1 GUIA DE UTILIZAÇÃO DO DRIVER PARA MOTOR DE PASSO BIPOLAR SMC-B-STD VER 1.00 PÁGINA 1 DRIVER PARA MOTOR DE PASSO BIPOLAR SMC-B-STD DESCRIÇÃO A interface SMC-B-STD é um driver micropasso para motores de

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro Frequencímetro Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados alguns exemplos de

Leia mais

VMV10-P TRANSMISSOR MULTIVARIÁVEL PROFIBUS PA. Transmissor a 2 Fios com Protocolo de Comunicação Profibus PA

VMV10-P TRANSMISSOR MULTIVARIÁVEL PROFIBUS PA. Transmissor a 2 Fios com Protocolo de Comunicação Profibus PA VMV10-P TRANSMISSOR MULTIVARIÁVEL PROFIBUS PA Transmissor a 2 Fios com Protocolo de Comunicação Profibus PA 7 Faixas de Pressão: 765 mmh2o a 210 kgf/cm 2 Totalização com Persistência Extração de Raiz Quadrada

Leia mais

Introdução teórica aula 12: Pisca- Pisca Controlado por Luz

Introdução teórica aula 12: Pisca- Pisca Controlado por Luz Introdução teórica aula 12: Pisca- Pisca Controlado por Luz IC555 O IC555 é um circuito integrado (chip) utilizado em uma variedade de aplicações como temporizador ou multivibrador. O CI foi projetado

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

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

Osciloscópio Digital. Diagrama em blocos:

Osciloscópio Digital. Diagrama em blocos: Osciloscópio Digital Neste tipo de osciloscópio, o sinal analógico de entrada é inicialmente convertido para o domínio digital através de um conversor A/D rápido, sendo em seguida armazenado em uma memória

Leia mais

INSTRUMENTAÇÃO E CONTROLE INDUSTRIAL I

INSTRUMENTAÇÃO E CONTROLE INDUSTRIAL I INSTRUMENTAÇÃO E CONTROLE INDUSTRIAL I Prof. Pierre Vilar Dantas Turma: 0063-A Horário: 6N ENCONTRO DE 02/03/2018 1 2 Sinais e Ruídos Parte 1 3 Sinal - Definição Matematicamente, um sinal é definido como

Leia mais

FONTE DE ALIMENTAÇÃO REGULÁVEL

FONTE DE ALIMENTAÇÃO REGULÁVEL FONTE DE ALIMENTAÇÃO REGULÁVEL A fonte apresentada é de fácil montagem e baixo custo, sendo muito útil para o desenvolvimento de experimentos na bancada de eletrônica. O esquema apresentado permite uma

Leia mais