• Nenhum resultado encontrado

Arduino Lab 01 Sensor de luminosidade BH1750FVI

N/A
N/A
Protected

Academic year: 2021

Share "Arduino Lab 01 Sensor de luminosidade BH1750FVI"

Copied!
35
0
0

Texto

(1)

Arduino Lab 01 – Sensor de

luminosidade BH1750FVI

Sensor de luminosidade BH1750FVI

Neste Lab iremos descrever a implementação de um código para utilizar o módulo digital de medição da intensidade de iluminação BH1750FVI em conjunto com o Arduino Nano V3.0. Várias aplicações podem ser feitas utilizando este sensor, desde regulação de intensidade de luz em telas de LCD e até mesmo em automação residencial.

(2)

Arduino e sensor de luminosidade

Introdução

O sensor digital de intensidade de luz BH1750FVI converte um dado do mundo real, para um valor na forma digital em 0’s e 1’s. Isto torna mais fantástica a percepção do quanto a eletrônica está envolvida na vida cotidiana da humanidade, ou seja, a construção de sensores que transformam as percepções do mundo real em um mundo digital.

O BH1750FVI utiliza o protocolo serial de comunicação I2C como interface de comunicação com o microcontrolador, que neste caso é o Arduino Nano. Este CI (Circuito Integrado) é idel para obter a intensidade de luz para ajustar a iluminação de fundo em displays de LCD, teclados e até mesmo em automação na iluminação de residências e galpões industriais por exemplo. O datasheet deste sensor pode ser baixado neste link.

(3)

Sensor de luminosidade

Algumas das vantagens e características deste sensor estão destacadas abaixo.

Converter a intensidade de Iluminação em níveis digitais.

Faixa de medição de 1 a 65535 Lx com alta resolução. Baixo consumo de energia.

Filtro para rejeição de ruído em 50 e 60 Hz.

Comunicação com microcontrolador utilizando o protocolo I2C.

Três modos de medição.

ILuminância, Lumen e Lux

Iluminância é uma medida da quantidade de fluxo luminoso que é espalhada sobre uma determinada área. Pode-se pensar no fluxo luminoso (medido em lúmens) como uma medida da “quantidade” total de luz visível presente, e a iluminância como uma medida da intensidade de iluminação numa superfície

Lumen: A unidade da quantidade de luz que flui de uma fonte em qualquer instante (potência luminosa, ou fluxo luminoso) é chamada de lumen.

(4)

Neste sensor, a leitura será feita em Lux, que é igual a um

lúmen (Lm) por metro quadrado:

Lumen e Lux

Dados técnicos

No datasheet, observamos os valores de alimentação máximos e típicos deste CI. Preferencialmente, o valor adotado deve ser de no máximo 3.3V e nunca em 5V em nível TTL.

(5)

Dados técnicos tabela 2

O protocolo I2C utilizado para a comunicação com o sensor trabalha com um clock na linha SCL de aproximadamente 400KHz.

Dados técnicos tabela 3

Modos de medição: Este CI apresenta três modos de medição e estes, juntamente com a resolução, estão descritos na tabela abaixo.

Dados técnicos tabela 4

O datasheet recomenda utilizar o modo H-Resolution Mode pois o tempo de medição é grande o suficiente para eliminar ruídos em 50 e 60 Hz. Uma outra aplicação seria a detecção se um ambiente está escuro ou não, já que sua resolução é de 1 lx. Os opecodes utilizados para comunicação com o sensor estão

(6)

listados na tabela abaixo.

Dados técnicos tabela 5

O terminal ADDR tem a funcionalidade de alterar o endereço do sensor na comunicação I2C. Se este pino estiver conectado ao terra, o endereço do sensor na rede I2C será 0x23, já se conectado ao VCC o endereço será 0x5C.

(7)

Terminal de endereçamento na rede I2C

Teste do sensor

Para testar este sensor, primeiramente faça as conexões como no esquema abaixo. Não se esqueça que a alimentação do módulo do sensor é em 3,3V.

(8)

Imagem ligacao protoboard fritzem

Lligação sensor e Arduino

O algoritmo para teste do sensor é apresentado abaixo e possui uma explicação linha a linha para melhor entendimento do leitor.

[crayon-5ac0ca839a9fb715266334/]

(9)

variando a intensidade de luz em cima do sensor estão mostrados na figura abaixo.

Imagem aquisição serial

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

(10)

Imagem aquisição grafico

Conclusão

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

(11)

MSP430 Lab 03 – Montagem e

teste do cristal

LaunchPad Texas Instruments

Neste Lab explicaremos como montar o cristal de referência (32.768 KHz) que por padrão não é soldado na placa LaunchPad G2. A Texas envia o kit com o cristal desmontado para que possamos usar os dois pinos do microcontrolador (XIN XOUT) como entrada ou saída digital em nossas aplicações. Lembrando que o cristal pode ser montado na normalmente e caso seja necessário utilizar os dois pinos como I/O, o mesmo pode ser retirado da placa e montado em uma protoboard para aproveitar as funcionalidades destes pinos em outras aplicações.

Introdução

O kit de desenvolvimento para sistemas embarcados MSP430G2 LaunchPad inclui um oscilador a cristal opcional de 32.768 KHz que pode ser soldado na placa de acordo com a necessidade. A construção da placa permite que as linhas de sinal XIN e XOUT

(12)

possam ser usadas como entradas ou saídas digitais.

Quando o cristal é soldado na placa, estas entradas serão reconhecidas pelo microcontrolador como entradas digitais de frequência.

Tenha em mente que o procedimento de solda do cristal é muito delicado por ser uma superfície de dimensões muito limitadas, apresentando as pads (trilhas) de 0,5 mm.

Local do cristal

O cristal não é pre-soldado na placa pela TI pois a LaunchPad possui um número reduzido de pinos de entrada e saída. Isto permite ao usuário mais flexibilidade nas aplicações que exigem muitas I/O’s.

Montando o cristal na LaunchPad

Os conectores do oscilador oferecem a orientação necessária para o procedimento de solda. Eles estão em uma posição que somente as pontas irão encaixar no local exato de montagem.

(13)

Pinos do cristal

Deposite um pouco de solda sobre as pads e o apoio do cristal.

Local para solda

Com uma pinça ou um alicate pequeno, segure o cristal no local da solda e aqueça a parte de trás afim de derreter a solda depositada na apoio.

(14)

Posicionamento com um alicate comun

Desta forma, o componente estará firme e fixo. Agora basta apenas soldar as pads na parte da frente do cristal, com cuidado para não unir e curto circuitar as mesmas. Dessa forma, o cristal estará pronto para ser usado nas aplicações que exigem uma referência de clock.

(15)

Teste

Crie um novo projeto, seguindo os mesmos procedimentos descritos no Lab 02. Não se esqueça de selecionar a opção Empty Project (with main.c). Click em Finish quando terminar as configurações.

File -> New -> CCS Project

(16)

No arquivo c, copie e cole o código disponível logo abaixo.

[crayon-5ac0ca839bebb135135191/]

Descrição do funcionamento do algoritmo: O sistema funciona normalmente no modo LPM3 (Low Power Mode 3) com o WDT (Watch Dog Timer) alimentado com um clock de 32.768 KHz e com ACLK (Auxiliar clock) com 1×4 segundos de interrupção. A saída P1.0 muda seu estado a cada segudo dentro da interrupção pelo WDT. Se uma falha no LFXT1 (Low Frequency Crystal Oscilato), NMI (Oscillator Fault Flash memory access violation) é forçado a sair do modo LPM3. O pino P1.0, ligado ao LED vermelho, muda seu estado rapidamente pelo software pois uma falha no oscilador estará presente.

Compile o arquivo e grave na Launchpad. Você deverá ver o led piscando com um período de dois segundos se o procedimento de solda do cristal foi completado corretamente, caso contrário, o LED piscará com uma frequência de 1Hz, logo a solda deve ser conferida novamente.

(17)

Conclusão

Neste terceiro Lab explicamos o procedimento para montagem (solda) e teste do funcionamento do cristal que acompanha o kit de desenvolvimento da Texas Instruments. Como citado anteriormente, este cristal não é montado na placa pelo simples fato de oferecer ao usuário a opção de duas I/O’s a mais para a aplicação em que o mesmo está trabalhando. Sua função é importante em casos de interrupção por WDT, como observado no exemplo acima, e para sincronia da CPU utilizando um oscilador mais preciso.

MSP430 Lab 02 – Criar e

Compilar um projeto

Software CCS

Neste post iremos criar um novo projeto utilizando a IDE CCS da Texas Instruments, compilar o código feito em linguagem C e fazer o Debug da aplicação utilizando a mesma ferramenta.

(18)

Introdução

A sigla IDE significa Ambiente de Desenvolvimento Integrado (Integrated Development Environment) e contém todas as ferramentas necessárias para desenvolver projetos embarcados (Compilador, Simulador, Editor, Debug, OS e outros). A interface de programação do CCS suporta dois modos de operação sendo eles o simples, com funcionalidades básicas de edição/compilação e menus com poucos itens, e o modo avançado onde à opção de integrar aplicativos à IDE além de menus e janelas mais versáteis e complexas. O usuário pode alterar entre os dois modos a qualquer momento acessando o menu de opções da IDE.

A área de trabalho do CCS (Workspace) segue o mesmo padrão de interfaces já conhecidas como MPLAB-X da Microchip, o Code Warrior da Freescale dentre outras, onde a barra lateral à esquerda contém a “arvore” dos projetos. Na figura abaixo, observamos a hierarquia de organização dos projetos alocados na área de trabalho do CCS.

Hierarquia CCS

Iniciando o CCS e o Workspace

A criação de um novo projeto utilizando o CCS é feita de forma fácil e intuitiva, utilizando o Project Wizard, configurando

(19)

os dados do projeto em apenas uma janela.

Inicie o Code Composer Studio e abra o Workspace.

Iniciando o CCS

Quando o CCS carregar, uma janela de diálogo irá abrir indicando a localização da pasta workspace. Encontre o local onde o seu projeto deverá ser salvo. Se deseja que esta seja a pasta permanente, marque a opção “Use this as the default …”. Clique em OK.

Esta pasta contém todas as configurações padrões do CCS incluindo as do projeto e janelas quando a IDE é fechado, logo as mesmas configurações vão estar disponíveis quando o software for aberto novamente.

(20)

Configurações de licença

Na primeira vez que o CCS é aberto, a janela “License Setup W i z a r d ” d e v e a p a r e c e . C a s o v o c ê j á i n i c i o u o C C S anteriormente e fez a opção errada, basta ir no menu Help -> Code Composer Studio Licensing Information e clicar na aba Upgrade e no botão Launch License Setup… -> selecione o botão CODE SIZE LIMITED e clique Finish, como pode ser observado na figura acima.

Se você planeja trabalhar somente com a linha LaunchPad, a limitação de código para a versão Free do CCS (16 KB) não será um problema pois estes microcontroladores suportam exatamente 16 KB de memória Flash.

(21)

Janela de trabalho do software

O termo workbench se refere a Desktop do Ambiente de desenvolvimento (desktop development environment) ou mesa de trabalho em tradução livre.

A workbench irá abrir na visualização “CCS Edit” como observado no canto superior direito da imagem acima e esta visualização é usada para criar ou montar projetos em C/C++. A aba referente à “CCS Debug” é automaticamente habilitada quando a sessão de debug é iniciada. Esta janela é utilizada para analisar o projeto quanto à valores das variáveis, contador de programa, registradores e muito mais.

Criando um novo projeto

Um projeto contém todos os arquivos necessários para gerar o arquivo de saída (.out) e o binário que será executado no hardware do MSP430. Para criar um novo projeto clique em:

(22)

CCS new project

Nesta janela, nomeie o projeto e escolha o modelo do microcontrolador. Mantenha as opções como mostrado na figura acima para a placa LaunchPad. Não se esqueça de clicar em Empty Project (with main.c) para um básico template de edição ser adicionado. Clique em Finish.

O software adicionará o projeto ao workspace e irá mostrá-lo no painel lateral esquerdo (Project Explorer). Abra o arquivo main.c para edição.

(23)

Editar, compilar e Debug do

algorítmo

[crayon-5ac0ca839c5f6780031045/]

Questões como registradores específicos do microcontrolador, timer e outros serão discutidos em laboratórios posteriores a este.

Clique no botão salvar, localizado na barra superior, como observado na figura abaixo.

Botão salvar projeto

Clique no botão Debug.

Botão de debug

(24)

a janela de debug perspective view será aberta e o mesmo será carregado na memória Flash do microcontrolador automaticamente se não houver nenhum erro.

Quando o download do executável para a memória Flash do microcontrolador completar, a janela Debug perspective irá abrir e será nela que iremos trabalhar a partir de agora.

Área de debug do software

A confirmação de “onde estamos” pode ser observado na aba no canto superior direito da tela, como observado na figura abaixo.

(25)

Janela de debug

Neste ponto de nossa prática, o programa já está carregado dentro da Flash do microcontrolador, porém ainda não estamos vendo o Led piscar. Se observamos na janela principal, há uma pequena seta azul apontando para a função main(). Esta seta indica para onde o contador do programa (Program Counter – PC) está apontando.

Clique no batão Resume para executar o código.

Botão de início executar o firmware

Neste momento, o led vermelho (Figura abaixo) deverá piscar em uma frequência de 4 Hz.

(26)

Posição do LED em teste

Quando clicamos no botão Suspend, a seta azul, localizada ao lado dos números das linhas do programa na janela main.c, deve parar em alguma parte do código, pois estamos interrompendo a execução e não especificamos o local exato do apontador.

Botão para parar a execução do firmware

Se clicarmos no Suspend, as opções step into, step over e step return estarão abertas para o nosso uso.

(27)

Opçoes de debug

Estas funções sevem para navegar dentro da execução do programa e é ilustrado pela seta azul. Provavelmente, o programa que estamos executando deve parar no final da função do while. Se observarmos na aba variables (Lateral superior direita), teremos o valor da variável i declarada para armazenar a contagem da temporização entre o led aceso e apagado.

Janela com valores de registradores e variáveis

Clicando no botão Step Into a seta azul (Figura abaixo) deve se posicionar no laço do while. Se clicarmos novamente, a seta deve ir para o final do looping e clicando mais uma vez ela volta para o laço do while. Este ciclo irá ocorrer ate que a variável i tenha o seu valor totalmente decrementado. O valor da variável é observado como descrito acima.

(28)

Posição do ponteiro do Program Counter

Para terminar o modo Debug basta apertar o botão Terminate (Figura abaixo). A janela irá fechar automaticamente e o software irá abrir o “CCS Edit”. Deste modo, podemos criar, editar e alterar o algorítmo novamente.

Botão para terminar a execução e voltar ao Edit Window

Conclusão

Neste segundo post descrevemos como criar, editar, compilar e analisar um projeto utilizando a IDE CCS. Como observamos, todo o processo é feito de forma clara e podemos afirmar que o

(29)

CCS é uma das interfaces mais poderosas e completas para o d e s e n v o l v i m e n t o d e a p l i c a ç õ e s e m b a r c a d a s p a r a microcontroladores, e no caso da Launchpad, não apresenta nenhuma restrição por estar na versão Free.

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 (TI) montado na plataforma de prototipagem LaunchPad, incluindo a instalação do Code Composer Studio (CCS) e as configurações

(30)

inicias necessárias para o hardware. Explicaremos também como testar o programa pré instalado no microcontrolador pela TI.

Introdução

A placa MSP-EXP430G2 foi concebida pela Texas Instruments para ser de baixo custo. O software Code Composer Studio fornece um completo ambiente de desenvolvimento para sistemas embarcados, possuindo um emulador/depurador USB auxiliando na verificação do firmware, além de leituras online dos registradores e posições de memória.

Abaixo, destacamos algumas das principais características do microcontrolador montado na LaunchPad:

Alimentação de 1.8V a 3.6V Baixo consumo (220µA / MIPS) Arquitetura RISC de 16 bits Oscilador de 16 MHz

16 KB de memória flash 512 Bytes de memória RAM

20 pinos no encapsulamento PDIP 2 temporizadores de 16 bits UART, LIN, IrDA, SPI, I2C. 8 conversores AD de 10 bits. Cap touch I/O

Retorno do modo Standby (Wake-Up) < 1µs

Nesta série de tutoriais vamos utilizar esta plataforma para estudar aplicações para sistemas embarcados. Primeiramente, precisamos nos familiarizar com os materiais relacionados, incluindo a instalação do CCS e da biblioteca de programas fornecida com a ferramenta pela TI.

Instalação do CCS

A IDE de desenvolvimento Code Composer Studio pode ser baixada

(31)

ou o off-line. Clicando no link para a instalação, uma janela será aberta lhe direcionando para logar em sua conta ou criar uma nova gratuitamente, então após aceitar as condições para o download, você receberá um link no e-mail cadastrado ou uma página se abrirá para o download.

Baixe o instalador e clique no executável.

Download do instalador

Aceite os termos de licença do software e clique Next.

Termos de licença

(32)

Local para instalação

Escolha os softwares das famílias de produtos na qual você deseja instalar e clique Next. Neste post, iremos instalar para a família de microcontroladores MSP430 e para a família de DSP’s de núcleo simples, na qual trataremos em outras práticas sobre Processadores Digital de Sinais (DSP).

Escolha dos softwares a serem instalados

Na tela sobre as ferramentas de Debug, deixe as opções default e clique Next. Também faça isso para a tela de

(33)

complementos do CCS.

Opções ferramenta de debug

Após clicar em Finish, a tela de instalação do CCS surgirá. Lembrando que o tempo de instalação do software é proporcional as opções escolhidas anteriormente. Aguarde o final da instalação e o software estará pronto para ser usado.

(34)

Executando

a

aplicação

de

demonstração na LaunchPad

O microcontrolador instalado no socket da LaunchPad já possui um programa pré carregado que faz uso de vários periféricos como conversor AD, Timer, PWM e UART, auxiliando na verificação do funcionamento correto da placa. Quando ela é conectada a uma porta USB do PC, os LEDs verde e vermelho, próximos ao botão S2, começam a piscar. O emulador onboard gera toda à alimentação necessária para iniciar esta demonstração.

Descrição Launchpad

O driver da placa será instalado automaticamente. Se alguma tela do Windows lhe perguntar algo sobre a instalação do s o f t w a r e , s o m e n t e p e r m i t a q u e e l e s e j a i n s t a l a d o automaticamente.

(35)

piscar, é um bom sinal de que a instalação dos drivers do

hardware foi feita corretamente.

Para alternar entre a aplicação que pisca os LED’s e a que faz a leitura de temperatura, basta apenas pressionar o botão S2 (P1.3). O sensor utilizado está alocado internamente ao microcontrolador e irá mediar a temperatura do encapsulamento do chip.

A medida da temperatura de referência é feita quando o microcontrolador é colocado no modo TEMP (botão S2 pressionado uma vez). Se um dedo for posicionado sobre o encapsulamento do microcontrolador por alguns minutos, o LED vermelho aumentara o seu brilho indicando que a temperatura está mais alta do que a de referência. Já se algum objeto com uma temperatura menor do que a de referência for encostado no encapsulamento, o LED verde aumentará seu brilho indicando que a temperatura está diminuindo.

Se logo após que o dedo for retirado do contato com o chip, o botão S2 for pressionado novamente, a referência de temperatura será agora mais alta do que a ambiente e a medida que o chip for restabelecendo sua temperatura normal, o LED verde incrementará seu brilho.

Conclusão

Neste primeiro post descrevemos os passos para a instalação do software de desenvolvimento CCS e o teste do firmware gravado de fábrica pela TI no microcontrolador. A LaunchPad é uma plataforma poderosa onde o baixo custo e consumo são pontos chaves para a escolha desta placa para prototipagem de projetos acadêmicos que utilizem a alimentação por baterias por exemplo.

Referências

Documentos relacionados

A tem á tica dos jornais mudou com o progresso social e é cada vez maior a variação de assuntos con- sumidos pelo homem, o que conduz também à especialização dos jor- nais,

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Excluindo as operações de Santos, os demais terminais da Ultracargo apresentaram EBITDA de R$ 15 milhões, redução de 30% e 40% em relação ao 4T14 e ao 3T15,

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam