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

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

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

Transcrição

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

2 usualmente chamada de refreshing, como é o caso das memórias DRAM. A estrutura básica de uma SRAM é indicada na figura abaixo. Celula basica de uma SRAM Apesar de não ser necessária a atualização constante, essa memória ainda pode ter a característica de ser volátil, ou seja, após um tempo sem energia a informação guardada por ela pode ser perdida. Outra desvantagem é que são mais caras, complexas e menos densas, ocupando mais espaço, quando comparadas às DRAM. 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.

3 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 encapsulamento de 24 pinos. Diagrama de blocos da memória 6116

4 Imagem Pinos Memoria 6116 Dinâmica de Funcionamento do teste Imagem Inicio do Teste Um diagrama funcional do teste abaixo. O teste é iniciado quando de início (Obvio isto!). O valor enviado ao lado B do buffer que da memória é apresentado o usuário pressiona o botão a ser escrito na memória é 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.

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

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

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

8 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

9 do Arduino e do botão de início do teste. 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-5a4c0b830159f /] 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.

10 Um vídeo explicativo sobre este lab está disponível abaixo. Conclusão Neste Lab implementamos um banco de testes para as antigas memórias HM6116, do tipo SRAM, que ainda são utilizadas em aplicações industriais. Além do aprendizado em programação e esquemático de circuitos eletrônicos, este Lab nos mostrou os aspectos do real funcionamento de uma memória, ainda que seja uma primitiva, porém funcional e ainda em operação. MSP430 Lab 05 Biblioteca básica para comunicação com o Display do Nokia5110 Imagem do Display Neste Lab trataremos da rotina de implementação de um código para comunicação entre o MSP430 e um display gráfico. Este

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

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

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

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

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

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

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

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

19 Fritzing é mostrado logo em seguida. Tabela de Conexões Esquema de Montagem O algoritmo, elaborado no software Code Composer Studio da Texas Instruments, foi baseado no código escrito por RobG do fórum Acrescentamos a leitura do Sensor de temperatura interna do chip. Este código é mostrado abaixo. [crayon-5a4c0b /]

20 [crayon-5a4c0b /] No gráfico gerado pelo analisador de sinais lógicos nós podemos observar o início da comunicação entre o Microcontrolador e o display com a mudança de estado do sinal de RESET. Imagem Analisador Lógico Sinal de Reset Já no gráfico subsequente observamos a dinâmica de comunicação entre os dois dispositivos. Imagem Analisador Lógico Sinal de Dados Conclusão Displays de LCD são componentes importantes em um projeto de

21 Sistemas Embarcados. O detalhe de funcionamento e da dinâmica de implementação de um algoritmo são de grande importância no auxílio de outras pessoas não são familiarizadas com o dispositivo. Detalhes importantes para a escolha deste modelo de display como baixo consumo e ocupação de memória de programa interna ao microcontrolador fazem deste uma ótima escolha em projetos futuros. Imagem Montagem Final Arduino Lab 07 Leitura de temperatura e indicação em um display GLCD de

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

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

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

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

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

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

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

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

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

31 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 da definição dos pinos O Algoritmo principal da aplicação é indicado abaixo. [crayon-5a4c0b8303b2f /] Conclusão Neste Lab fizemos a integração de um sensor NTC comum a aplicações industriais, de um RTC e de um Display gráfico ao Arduino Mega. São inúmeras as possibilidades de modificação e integração com outros dispositivos dado o número de portas e memória ainda disponíveis no Arduino. E como sugestão, um sistema para escrita dos valores de temperatura, data e hora em um cartão SD pode ser implementado no intuito de se criar um data loger de temperatura.

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

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

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

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

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

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

38 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-5a4c0b /] Conclusão Neste Lab trabalhamos a aquisição de temperatura utilizando um sensor NTC. O circuito de condicionamento do sinal e o polinômio interpolador foram os pontos chaves deste protótipo. A representação gráfica dos valores da temperatura só foi possível devido a simplicidade de trabalho com o controlador PCD8544 do display e a construção versátil e bem entendida da biblioteca de comunicação. Novos protótipos podem ser criados com base neste apresentado neste Lab. Em ocasiões futuras, trabalharemos em um projeto de leitura industriais tomando como base este Lab. de termopares

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

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

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

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

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

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

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

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

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

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

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

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

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

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

53 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-5a4c0b83094c /] 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,

54 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. Módulo nrf24l01

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

56 Diagrama de ligação Lado do Receptor Diagrama de ligação Lado do Transmissor Algoritmo O algoritmo deste protótipo abrange a integração de todos os dispositivos, o que o torna um pouco mais complicado que os anteriores. No lado do transmissor, os valores da conversão provindos do AD do Arduino são armazenados em um buffer de duas posições sendo que cada posição ocupa um byte. A parte alta dos valores do AD é armazenada na 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-5a4c0b /] 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

57 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-5a4c0b830952c /] Observações Como principal proposta para trabalhos futuros fica a implementação de uma única biblioteca que gerencia o protocolo SPI dos dois dispositivos (Display e nrf) já que, de acordo com os sinais adquiridos no analisador lógico, alguns dados estão se perdendo no barramento SPI devido ao Chip Select ou Chip Enable do display entrar antes que a comunicação com o nrf termine. Lembrando que, neste caso, apenas um dispositivo por vez deve escutar os dados do barramento SPI através da seleção no CE. A imagem abaixo ilustra estas observações.

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

59 Imagem Receptor e Transmissor Arduino Lab 04 Leitura de temperatura com o sensor MCP9700

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

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

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

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

64 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-5a4c0b830a89c /] 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.

65 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. Intel Edison Lab 03 Oxímetro Bluetooth e LCD 16 2 em Python Tela teste inicial Neste Lab descreveremos o método utilizado para integrar um

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

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

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

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

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

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

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

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

74 com um Oxímetro de pulso via Bluetooth LE Intel Edison e Oximetro Bluetooth Neste Lab iremos tratar da conexão entre o Intel Edison e um Oxímetro de pulso utilizando o bluetooth como meio de comunicação. Explicaremos o funcionamento do Bluetooth LE (Low Energy) e como iremos efetivar a engenharia reversa para descobrir o protocolo de comunicação do Oxímetro. Oxímetro de Pulso A oximetria de pulso é a maneira de medir quanto oxigênio o sangue está transportando. O nível de oxigênio mensurado com um oxímetro é chamado de nível de saturação de oxigênio, (%SpO2) que é a porcentagem de oxigênio que o sangue está transportando, comparada com a máxima capacidade de transporte. Idealmente, mais de 89% das células vermelhas devem estar transportando oxigênio. É importante saber o nível de oxigênio sanguíneo pois, quando este nível é baixo, as células do corpo podem ter dificuldade

75 de trabalhar apropriadamente. Em curtas palavras, o oxigênio é o gás que faz o corpo funcionar. Segundo a SBPT (Sociedade Brasileira de Pneumologia e Tisiologia), ter um nível muito baixo de oxigênio sanguíneo pode sobrecarregar o coração e o cérebro de um indivíduo. Funcionamento de um Oxímetro de Pulso Os aparelhos comerciais para medição do nível de oxigenação sanguínea utilizam a Lei de Beer-Lambert que relaciona a concentração de um soluto com a intensidade de luz que pode ser transmitida através deste soluto e, por este motivo, é possível aplicar esta técnica à medição de saturação. Na figura abaixo podemos ver um diagrama simples que exemplifica esta lei. Lei de Beer-Lambert Quando uma fonte de luz de comprimento de onda específico é direcionada aos capilares dos tecidos, parte dela é absorvida pela hemoglobina. A parte não absorvida é capturada por um sensor que varia sua tensão de acordo com a quantidade de luz recebida. O sinal é filtrado e tratado, obtendo então à aquisição do percentual de saturação de oxigênio.

76 Dinâmica de captura do sinal A hemoglobina desoxigenada tem alta absorbância em um valor próximo do comprimento de onda da luz vermelha, ou seja, 650 nm (nanômetros), enquanto que em seu estado saturado, possui baixa absorbância na faixa do espectro infravermelho, próximo de 950nm. Nessa faixa do espectro, entre 650 e 950 nm, pode-se definir entre um percentual aceitável ou não de saturação de oxigênio de um indivíduo. A figura abaixo, retirada do site howequipamentsworks, exemplifica a dinâmica da relação de absorção da luz pela hemoglobina com a concentração de oxigênio. Dinâmica de absorção Um diagrama típico que ilustra os componentes necessários para

77 este tipo de equipamento está ilustrado abaixo. Funcionamento de um Oxímetro Engenharia reversa do Oxímetro de Pulso O principal objetivo deste trabalho é estabelecer a comunicação entre o Oxímetro e o Intel Edison. Para isso, precisamos conhecer como foi implementado o protocolo de comunicação bluetooth, utilizado no Oxímetro, para comunicação com o aplicativo MyOximeter. Este aparelho e o aplicativo para celular foram desenvolvidos pela empresa Jumper Medical.

78 Aplicaivo myoximeter Análise da comunicação Como o dispositivo comunica-se somente com o aplicativo disponibilizado pela empresa fabricante, desconfiamos que algum tipo de protocolo estava presente na comunicação. Uma das maneiras de analisar o fluxo de dados no canal Bluetooth do celular, dados de entrada e saída, pode ser utilizando a função de sniff que o Android disponibiliza na área Opções do desenvolvedor no item Registro de investigação.

79 Habilitação do registro bluetooth Um arquivo é gerado dentro da pasta \Android\Data, geralmente com o nome btsnoop_hci.log. Particularmente, o software de análise de protocolos chamado WireShark foi utilizado para entender a dinâmica entre o celular e o Oxímetro. Na imagem abaixo, observamos alguns detalhes da análise preliminar feita utilizando este software. Observação: O termo UUID significa Universally Unique Identifying Information. Este número identifica um serviço particular oferecido pelo dispositivo bluetooth. É similar a uma notação de portas utilizadas na internet.

80 Depuração utilizando o WireShark Apesar de termos tantas informações provindas do WireShark, ainda não era possível estabelecer a comunicação entre o Oxímetro e o Intel Edison. Uma outra alternativa foi fazer um debug dos dados que trafegavam entre o módulo bluetooth e o microcontrolador do Oxímetro. Na figura abaixo, podemos ver os componentes internos do Oxímetro. Componentes internos do Oxímetro Fizemos um mapeamento da conexão entre o microcontrolador e o

81 módulo Bluetooth para descobrirmos qual o padrão de comunicação entre os dois (SPI, Serial, I2C, etc) e em qual pino exatamente o sinal estaria disponível. A figura abaixo mostra os pinos que estão ligados diretamente as portas do microcontrolador e suas respectivas designações importantes para este trabalho. Mapeamento das conexões do módulo bluetooth Os fios soldados na imagem acima foram ligados a um analisador de protocolos, como observado na figura abaixo. Conexão com o analisador de protocolos O resultado da análise nos mostrou que o módulo Bluetooth somente recebe dados em sua porta RX, mesmo quando o dispositivo estava pareado com um celular. A outra linha de

82 dados que alterava seu estado era a conectada ao pino PB12, onde alternava para o nível baixo toda vez que um trem de pulsos era enviado ao módulo Bluetooth pelo microcontrolador. Abaixo, indicamos o byte de start dos dados de absorbância e o próprio payload de absorbância. Análise dos dados Absorbância Na próxima figura, são indicados o start byte e os dados vitais enviados pelo Oxímetro. Análise dos dados Dados vitais Na figura abaixo temos um apanhado geral da dinâmica de comunicação entre o microcontrolador e o módulo Bluetooth, todos contidos dentro do aparelho de oximetria.

83 Dinâmica dos pacotes de dados Com todos esses dados, chegamos a mais uma conclusão: o módulo bluetooth não transmite nenhum dado ao microcontrolador, ou seja, nenhum dado de requisição de envio de pacotes é enviado pelo celular (através do aplicativo oficial disponibilizado pelo fabricante) ao Oxímetro. Esta informação facilita ainda mais a construção de uma biblioteca para gerenciar esta comunicação, abrindo o leque de aplicações/integração com outros dispositivos. No entanto, ainda assim não conseguíamos receber os dados utilizando o Intel Edison. Iniciamos um novo trabalho de investigação utilizando um outro aplicativo chamado nrf Master Control Panel, que foi utilizado para complementar as informações necessárias para estabelecer a comunicação.

84 Aplicativo utilizado para depurar os dados Ao conectar o celular com o Oxímetro, um log de informações também é gerado. O aplicativo oferece a opção de enviar este log de dados para um , assim uma análise mais detalhada pode ser feita. Duas informações muito importantes foram retiradas deste arquivo: 1. Quais UUID s do módulo Bluetooth deveriam receber valores para iniciar a comunicação; 2. Qual protocolo exatamente estava sendo utilizado na comunicação entre o celular e o Bluetooth. Um detalhamento das informações importantes obtidas no log do aplicativo está indicado na figura abaixo.

85 Análise dos dados gerados pelo aplicativo Com todas estas informações em mãos, a comunicação com o módulo, utilizando o Intel Edison, pode ser efetivada. Preparação e programação do Intel Edison O Bluetooth Low Energy (BLE ou Bluetooth Smart) é uma tecnologia WPAN (Wireless Personal Area Network) que foi desenvolvida com o objetivo de inovar a aplicação sem fio para dispositivos aplicados a Healthcare, fitness, rastreamento de dispositivos indoor (beacons), segurança, entretenimento doméstico e aplicações industriais. Comparado aos Bluetooth clássicos, estes dispositivos possuem um baixo consumo de energia e custo, enquanto mantêm as mesmas características de alcance de comunicação. Para trabalhar com o BLE utilizando o Edison, algumas bibliotecas devem ser instaladas. Os detalhes são expostos a seguir. Instalação da biblioteca GATT GATT (Generic Attribuit Profile) é um padrão de serviços disponibilizados para comunicação utilizando Bluetooth no modo Low Energy. Ela define como os atributos serão agrupados para

86 estabelecer o serviço de comunicação entre dispositivos LE. Para instalar esta biblioteca no Edison, precisamos do pacote de aplicações para comunicação Bluetooth denominado BlueZ Insira os seguintes comandos na linha de comandos do Intel Edison. [crayon-5a4c0b830fdfc /] Para que possamos iniciar a ferramenta gatttol de qualquer local, insira o código abaixo na linha de comandos do Edison. [crayon-5a4c0b830fe1a /] Encontrando dispositivos Bluetooth 1. Habilite o Bluetooth do Intel Edison [crayon-5a4c0b830fe /] 1. Inicie a ferramenta de controle do bluetooth. [crayon-5a4c0b830fe2f /] 1. Encontre o MAC do dispositivo e desligue o scan [crayon-5a4c0b830fe /] Na figura abaixo, observamos o MAC address do Oxímetro Bluetooth. Imagem do MAC do Bluetooth

87 Utilizando o gatttool para ler os dados A ferramenta gatttool será utilizada para ler os dados provindos do Oxímetro e mostrá-los na tela. Digite os comandos da mesma forma que descrita abaixo. Para que possamos utilizar a ferramenta gatttool de qualquer local, digite o comando abaixo. [crayon-5a4c0b830fe /] Vamos iniciar o gattool no modo interativo utilizando o MAC address do Oxímetro. [crayon-5a4c0b830fe4c /] Conecte ao dispositivo, habilite a comunicação configurando o handle 0x000e com o valor 0x0200 e no handle 0x0022 com o valor 0x0100. [crayon-5a4c0b830fe /] O Oxímetro irá se conectar ao Intel Edison e a troca de dados iniciará automaticamente, como observado na imagem abaixo. Leitura dos dados utilizando o gatttool Instalando pip e os módulos necessários Para executar os scripts em Python usando o módulo pexpect, pexpect deve ser instalado, o que é fácil de se fazer utilizando o gerenciador de pacotes para Python chamado pip. Pip não é instalado no Intel Edison por padrão e não está

88 presente no repositório padrão opkg. Digite as linhas de comandos descritas abaixo para fazer o download do pacote. 1. Use o editor de textos vi para editar o arquivo basefeeds.conf. [crayon-5a4c0b830fe /] 2. Digite os endereços para download. [crayon-5a4c0b830fe6a /] Download do pacote necessário Digite esc + :wq para gravar e sair do editor. [crayon-5a4c0b830fe /] Update opkg e instale o módulo Python-pip. [crayon-5a4c0b830fe7e /] Na imagem abaixo, observamos o download dos arquivos descritos anteriormente. Comando update 1. Instale a ferramenta pip. [crayon-5a4c0b830fe /]

89 Instalação do módulo pexpect Teste da comunicação Crie um novo arquivo para inserirmos o script necessário para comunicação e decodificação dos dados enviados pelo Oxímetro. 1. Digite o comando para criar o arquivo na extensão Python. [crayon-5a4c0b830fe /] 1. Copie e cole o script de comandos indicado abaixo. [crayon-5a4c0b830fe9a /] Digite esc + :wq para gravar e sair do editor. [crayon-5a4c0b830fea /] 1. Digite novamente os comandos para habilitar o Bluetooth, acessar a ferramenta gatttool e execute o script acima descrito. [crayon-5a4c0b830feae /] A figura abaixo mostra o resultado final de todo o trabalho, a comunicação e conversão dos dados Bluetooth enviados pelo Oxímetro.

90 Resultado da comunicação com o Oxímetro Conclusão Nesta aplicação efetivamos a conexão entre o Intel Edison e um Oxímetro de pulso, por meio do canal de comunicação Bluetooth LE. A dinâmica da análise do protocolo descrita neste Lab permite que qualquer dispositivo Bluetooth, com as mesmas características de comunicação, possa trocar informações com o Edison de forma efetiva. Na próxima aplicação, estes dados serão enviados para um servidor na internet e o conceito de Health IoT estará consolidado para este projeto. Intel Edison Lab 01 Configurações iniciais, WiFi

91 e Bluetooth Intel Edison Neste Lab iniciaremos a configuração do Intel Edison. Trataremos da instalação do Linux embarcado na versão 159.devkit da distribuição Yocto Linux, configuração de acesso a uma rede Wifi e, por fim, a configuração do módulo bluetooth utilizando o método Serial Port Profile (SPP). Intel Edison O Intel Edison pode ser considerado um computador de tamanho muito reduzido que contém periféricos úteis para comunicação com o mundo exterior em um único encapsulamento. Possui toda a robustez de um minicomputador com um processador Intel Atom SoC (System on the Chip) dual-core de 500MHz, Wifi a/b/g/n, Bluetooth de baixo consumo (Low Energy) e 70 pinos de entrada e saída, distribuídos com múltiplas funções, sendo que somente 40 pinos estão disponíveis para o usuário modificar seus estados. Apresenta também uma antena otimizada para comunicação Bluetooth e Wifi (Comunicação simultânea) além de um mini conector para uma antena externa.

92 Componentes Módulo Toda a versatilidade desta plataforma permite que técnicos, engenheiros ou pessoas interessadas por tecnologia embarcada possam prototipar plataformas eletrônicas de média a alta complexidade em tempo e custo reduzido comparado a antigas tecnologias como o Z80 e o Intel 8051, por exemplo. Outra grande vantagem é a variedade de linguagens e softwares que podem ser utilizados para projetar aplicações que envolvam acesso a periféricos e comunicação, já que podem ser feitos em linguagem C, C++, Python, dentre outras. A compatibilidade com os módulos do Arduino permite que Shields, já desenvolvidos para aplicação com versões anteriores do Arduino, possam ser utilizados também com uma maior capacidade de processamento utilizando o Edison.

93 Arduino breakout board Pesando apenas 8 gramas, baixo consumo de energia e um pouco maior do que uma moeda de R$ 1,00, a filosofia principal do Edison é para aplicações em IoT (Internet of Things) e vestíveis (Weareble Computing). Comparação com uma moeda O diagrama de blocos do Edison (sem nenhuma conexão externa) pode ser observado na figura abaixo. Muito cuidado deve ser tomado nas tensões de entrada e saída do módulo, já que o mesmo, sem qualquer conversor de nível de tensão externa, opera somente em 1,8 V. Diagrama de blocos Intel Edison

94 Informações mais detalhadas sobre esta plataforma podem ser encontradas na página oficial da Intel. Montagem do módulo instalação dos softwares. e Preparação do Hardware Inicialmente, vamos alimentar o Intel Edison. Se sua opção foi adquirir a placa de expansão compatível com Arduíno, instale o módulo no local correto e aperte levemente as duas mini porcas disponíveis para fixação. Alimente a placa utilizando uma fonte externa de tensão DC de 7 a 15V no conector J1. Montagem do módulo Se todo o setup estiver correto, aguarde até que o LED verde DS3 fique aceso, e assim a placa estará alimentada corretamente.

95 LED alimentação Posicione a micro chave para o lado dos conectores mini USB e conecte um cabo USB, na porta próxima a micro chave, e ao computador. Microchave e conector USB Se você escolheu a Mini Breakout Board, apenas monte o módulo e conecte os dois cabos USB ao seu PC. Mini Breakout board Instalação dos Softwares Quando o Edison foi lançado no mercado, a forma de se instalar a distribuição Linux era um pouco trabalhosa, onde tínhamos

96 que copiar o arquivo da distribuição no flash driver do Edison, abrir o terminal de comandos e executar o boot via terminal. Agora, uma ferramenta que facilita a instalação de todos os driver s e IDE s necessárias (Intel XDK, Eclipse, Phone Flash Tool Lite e a IDE do Arduino) para o desenvolvimento com o Edison, está disponível no site da Intel. Escolha o sistema operacional e instale o executável. Instalação das ferramentas Inicie o executável, e escolha as IDE s e softwares a serem instalados. Para instalação completa, o tempo médio é de 30 minutos dependendo do PC, conexão e sistema operacional. Imagem do Instalador

97 Configurando o WiFi Após a instalação de todas as ferramentas e do Linux utilizando o instalador da Intel, baixe o software Putty, de acordo com o sistema operacional, para que possamos estabelecer uma conexão via terminal com o Edison. Instalador do Putty Identifique qual é o número da porta serial a qual o módulo está instalado. Basta ir em Device -> Ports (COM &LPT) -> USB Serial Port (COM4). Identificação da porta Serial Inicie o Putty, escolha a opção Serial, configure o número da porta COM e a velocidade de comunicação em bps. Selecione a tecla Open e a janela do Putty se abrirá em modo de linhas de comando.

98 Imagem configuração Putty Selecione a tecla Open e a janela do Putty se abrirá. Aperte a tecla Enter do seu teclado para habilitar a conexão e inserir os comandos. Tela inicial Putty Digite root + Enter e estaremos prontos para configurar o módulo. Digite no prompt de comando configure_edison setup + Enter. Um assistente de configuração iniciará. Primeiro, digite uma senha para que o seu módulo possa ser acessado remotamente

99 pela internet. Imagem configurações iniciais Dê um nome ao seu módulo. No meu caso, escolhi o chamar de MyEddy. Aperte y + Enter e novamente para a configuração do Wifi. Configurando o nome do módulo Uma pesquisa das redes Wifi próximas ao seu módulo será feita e basta inserir o número da rede relacionado ao SSID e a senha.

100 Identificação das redes Wifi próximas Um número de IP será atribuído ao módulo. Anote este número pois iremos acessar o Edison utilizando o modo SSH na porta 22, via internet, utilizando o Putty. Feche o terminal e abrao novamente e configure as opções como abaixo. Acessando o Edison via SSH Login utilizando o usuário padrão root e a senha configurada anteriormente. Desta forma, estaremos aptos a acessar o módulo Edison remotamente.

101 Tela de comandos no modo SSH Configurando o Bluetooth no Edison Bluetooth é uma tecnologia utilizada para troca de dados em curto alcance, utilizando rádio de alta frequência (Aproximadamente 2.4 GHz) e que vem sendo utilizado por aproximadamente 20 anos. Muitas versões e especificações foram criadas ao longo do tempo para padronizar a comunicação. Esta tecnologia é largamente utilizada nos dias atuais. É encontrada em Smartphone, tabletes, computadores e agora no Intel Edison! carros, acessórios, O Edison inicia seu funcionamento com o módulo Bluetooth desligado para economizar energia. Toda vez que for necessário iniciar o uso deste módulo, devemos digitar os comandos necessários para habilitá-lo novamente. Se desejamos que o Bluetooth inicie automaticamente quando o módulo for religado, uma boa opção é adicionar um script de comando na área de startup. O primeiro passo para habilitar o Bluetooth é utilizar o comando rfkill. # rfkill unblock bluetooth -> Habilita o módulo Bluetooth # rfkill list -> Comando para conferir se foi habilitado

102 Comandos iniciais para configurar o Bluetooth O comando bluetoothctl abre o controle das funções do módulo. O comando show Bluetooth. mostra as atribuições do controlador Atribuições do controlador bluetooth Se observarmos na seção dos UUID s, não iremos encontrar o

103 UUID responsável pelo Serial Port. Para resolver este problema (Um problema muito grave e que não permite que o Edison se conecte a um telefone), devemos instalar uma biblioteca chamada SPP-loopback.py no diretório /root/bluetooth. Utilizaremos a forma mais fácil de copiar este arquivo no diretório interno ao Intel Edison. O software WinSCP utiliza o protocolo SCP (Secure Copy) para transferir este arquivo para ambientes Linux. Execute a instalação, abra o aplicativo, configure da mesma forma como está na janela abaixo e aceite o aviso sobre a conexão. Tela de login do software WinSCP Mensagem de notificação do WinSCP Acesse o diretório /root, crie uma nova pasta denominada bluetooth, copie e cole o arquivo SPP-loopback.py dentro da pasta Bluetooth.

104 Tela de trabalho do WinSCP Após copiar, feche o WinSCP, volte ao Putty e aplique o comando reboot. O Edison irá reiniciar e a conexão utilizando o Putty deverá ser refeita novamente. Quando reabrir, aplique os seguintes comandos listados abaixo. Comandos para instalar a biblioteca SPP-loopback.py Após o comando show, as atribuições do módulo Bluetooth serão indicadas na tela e agora iremos observar a UUID para o Serial port.

105 Tela do prompt de comando após instalação da biblioteca Instalação do aplicativo e interação com o Edison via Bluetooth O aplicativo mais indicado e, consequentemente o menos complicado, para testar se toda a configuração feita no módulo do bluetooth foi bem executada, para dispositivos Android, se chama Bluetooth Spp pro. imagem aplicativo Bluetooth SPP Para parear e conectar seu celular utilizando o Android ao Edison, basta seguir os comandos listados abaixo.

106 Comandos para habilitar o Bluetooth Abra o aplicativo e selecione o Edison. Imagem aplicativo Conecte ao dispositivo.

107 Imagem conesão com o Edison Abra o terminal no comand line mode e envie uma string para o Edison. No meu caso, enviei a string test. Imagem do Comand line no aplicativo Abaixo, temos um apanhado total dos comandos enviados ao Edison.

108 Lista de comandos utilizados

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

Oxímetro Bluetooth e LCD 16 2 em Python

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

Leia mais

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 06 Leitura de um sensor de temperatura do tipo NTC com o Arduino

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

Leia mais

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

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

Leia mais

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

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

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

Módulo de Cristal Líquido LCD

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

Leia mais

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

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

Leia mais

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

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

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

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

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

28. COMUNICAÇÃO WIRELESS

28. COMUNICAÇÃO WIRELESS 28. COMUNICAÇÃO WIRELESS Nos chips das famílias 1, 2, 3 e 4, a comunicação wireless é feita através dos tranceivers da Chipcom. As famílias CC tem diversos dispositivos, com freqüências de atuação desde

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

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

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

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

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

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

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

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

ORGANIZAÇÃO DE COMPUTADORES

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

Leia mais

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

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

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

Manual de instalação e configuração do módulo de entradas NER-08

Manual de instalação e configuração do módulo de entradas NER-08 Manual de instalação e configuração do módulo de entradas NER-08 Sumário DESCRIÇÃO GERAL...4 VANTAGENS...4 CARACTERÍSTICAS...4 LED DE STATUS DO MODULO...4 ESQUEMA DE LIGAÇÕES...5 LIGAÇÃO DO CABO DE COMUNICAÇÃO...6

Leia mais

Microcontrolador 8051

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

Leia mais

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

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

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

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

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

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

Leia mais

Comunicação USB com o PIC Vitor Amadeu Souza

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

Leia mais

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

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

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

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

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

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

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

Leia mais

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

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

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

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I SEL 433 APLICAÇÕES DE MICROPROCESSADORES I SEL-433 APLICAÇÕES DE MICROPROCESSADORES I Apresentação do curso Critério de avaliação Média final = 0.8 * MP + 0.2 * ME onde MP = (P1 + P2) / 2 e ME = Notas

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

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

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

PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051

PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051 PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051 MODELO: EE0216 DESCRIÇÃO Plataforma de treinamento em microcontroladores família 8051 base em aço carbono e pés de borracha, pintura

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

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

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

Leia mais

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

Guia da Placa de desenvolvimento PD Mega16 N1

Guia da Placa de desenvolvimento PD Mega16 N1 Guia da Placa de desenvolvimento PD Mega16 N1 Este tutorial consiste mostrar detalhes de hardware da placa de desenvolvimento PD Mega16 N1, necessário para iniciar a programação e testes. Boa aprendizagem...

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

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

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

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

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

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

Universidade de São Paulo

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

Leia mais

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11 Circuito Eletrônico Entendendo o circuito eletrônico na robótica Circuito Integrado Um circuito integrado híbrido é um circuito eletrônico miniaturizado constituído de dispositivos semicondutores individuais,

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

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

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

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

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

Leia mais

Arquitetura 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

Arduino Lab 14 Controle de temperatura com placas Peltier Parte 1

Arduino Lab 14 Controle de temperatura com placas Peltier Parte 1 Arduino Lab 14 Controle de temperatura com placas Peltier Parte 1 Neste Lab descreveremos o modo de ligação das placas Peltier para um melhor rendimento, o método de leitura de temperatura utilizando NTC

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. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva

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

Leia mais

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

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

Leia mais

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP: 1 LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) 2823-8800 SÃO CAETANO DO SUL - SP - CEP: 09530-250 SISTEMA HCS 2005 - PROTOCOLO DE COMUNICAÇÃO (Baseado no Guarita Vr4.03 ou Vr4.04) INFORMAÇÕES

Leia mais

Sistemas Operacionais de Tempo Real - Teclados Matriciais

Sistemas Operacionais de Tempo Real - Teclados Matriciais 1 / 27 Sistemas Operacionais de Tempo Real - Teclados Matriciais por Henrique Frank W. Puhlmann Introdução Chaves eletromecânicas são uma forma quase primitiva de interface entre um sistema eletrônico

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

3. CARACTERÍSTICAS TÉCNICAS

3. CARACTERÍSTICAS TÉCNICAS 3. CARACTERÍSTICAS TÉCNICAS 3.2 CARACTERÍSTICAS DE SOFTWARE 1. CARACTERÍSTICAS O CLG535R é um controlador programável que integra os principais recursos empregados em uma automação industrial. Dispõe integrado

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

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações REGISTRADORES. Marcos Moecke. São José - SC,

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações REGISTRADORES. Marcos Moecke. São José - SC, MINISTÉRIO DA EDUCAÇÃO - Unidade de São José Curso Técnico em Telecomunicações REGISTRADORES Marcos Moecke São José - SC, 24-2 SUMÁRIO 6. REGISTRADORES... 1 6.1 REGISTRADORES DO TIPO PORTA PARALELA...1

Leia mais

SSC0112 Organização de Computadores Digitais I

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

Leia mais

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

Plano de Aula. 1 o semestre. Aula número 011 Periféricos Display LCD, Conversor AD e conversor DA (PWM)

Plano de Aula. 1 o semestre. Aula número 011 Periféricos Display LCD, Conversor AD e conversor DA (PWM) Diretoria de Curso Plano de Aula 1 o semestre Nome do curso Eng. Ciências da Computação + TI + TADS + Eng. Elétrica Nome da Unidade Curricular Microprocessadores e Microcontroladores Aula número 011 Tema

Leia mais

Proposta de uma plataforma de monitoramento e acionamento remoto voltada para sistemas de hardware industriais utilizando LabVIEW

Proposta de uma plataforma de monitoramento e acionamento remoto voltada para sistemas de hardware industriais utilizando LabVIEW Proposta de uma plataforma de monitoramento e acionamento remoto voltada para sistemas de hardware industriais utilizando LabVIEW "Este artigo tem como proposta apresentar uma plataforma para monitoramento

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

LABORATÓRIO DE ELETRÔNICA DIGITAL CONVERSOR DIGITAL-ANALÓGICO - MANUAL

LABORATÓRIO DE ELETRÔNICA DIGITAL CONVERSOR DIGITAL-ANALÓGICO - MANUAL LABORATÓRIO DE ELETRÔNICA DIGITAL CONVERSOR DIGITAL-ANALÓGICO - MANUAL Objetivos: 1. Analisar o funcionamento de Conversores DA tipo rede R-2R e de Resistores Ponderados. 2. Analisar a funcionalidade dos

Leia mais

CAPÍTULO 5. Interfaces I 2 C e SPI. Interface I 2 C. Interfaces e Periféricos 37

CAPÍTULO 5. Interfaces I 2 C e SPI. Interface I 2 C. Interfaces e Periféricos 37 Interfaces e Periféricos 37 CAPÍTULO 5 Interfaces I 2 C e SPI Interface I 2 C Nos anos 80 a Philips desenvolveu um novo padrão de barramento chamado I²C, cujo objetivo era facilitar a comunicação entre

Leia mais