• Nenhum resultado encontrado

Programação do Arduino

No documento Produto Educacional (páginas 47-52)

 

A programação do microcontrolador Arduino é feita através de uma        interface gráfica chamada Arduino        ​Software (IDE) que pode ser baixada no        endereço  https://www.arduino.cc/en/Main/Software. Há versões para ambientes          Windows, Mac e linux. No site também encontra­se diversos tutoriais de instalação        além de um fórum onde pode­se tirar dúvidas relacionadas à programação ou        dificuldades com projetos. Além da página oficial inúmeros outros fóruns auxiliam na        solução de problemas envolvendo projetos com Arduino. 

Após a instalação, o IDE apresenta um aspecto parecido com o        apresentado abaixo, que pode depender da versão do software e do ambiente        (Windows, Mac ou linux). A figura mostra as principais funções e comandos da        janela do IDE.      Figura 82 ­ Interface gráfica Arduíno IDE.  Fonte: http://projetoardroid.blogspot.com.br/p/arduino.html   

Com o IDE instalado e aberto deve­se selecionar o modelo de Arduino        usado. Para isso seleciona­se na interface o menu (traduzido para língua        portuguesa): ferramentas → placa → Arduino Uno (modelo usado neste projeto). A        figura abaixo mostra esse procedimento em uma interface em inglês. 

 

Figura 83 ­ Seleção do modelo de Arduino.  Fonte: ​http://www.hobbytronics.co.uk/arduino­installation  

 

Após  selecionar  o  modelo  basta  copiar  o  código  FOTODUINO_control_1_0.ino (apêndice B) utilizado neste projeto e colar no        ambiente de programação salvando­o em seguida.      A figura abaixo mostra o          aspecto da interface com o código do projeto já pronto. 

 

Figura 84 ­ Interface com o programa do projeto ainda com nome provisório. 

 

Com o código salvo podemos carregá­lo no Arduino através do botão        carregar (​upload

erros de sintaxe. Se nenhum erro for encontrado, a compilação gera o software que        será carregado no Arduino. 

 

Caso você tente carregar um código no Arduino sem que o                      amperímetro esteja conectado ao computador surgirá uma              mensagem de erro. Se for o caso conecte e tente novamente.  Também poderá surgir mensagens de erro se a placa ou a                      porta serial selecionada não forem corretas. Verifique o modelo                  de placa selecionada e a porta, se necessário tente outra porta

   

Se tudo ocorrer adequadamente, aparecerá uma mensagem com o        tamanho do arquivo e outros detalhes no console do compilador. A imagem abaixo        mostra o botão de carregamento e as mensagens que indicam o fim do        carregamento.      Figura 85 ­ Mensagens de carregamento do IDE.  Fonte: https://www.pololu.com/docs/0J61/6.2   

Alternativamente é possível fazer a programação com aplicativos online.        Um destes, chamado      ​Codebender (https://codebender.cc/home), roda em        navegadores de internet sem a necessidade de instalação no computador. Ao        acessar o site você será orientado a cadastrar­se, depois selecionar a placa, que já        deve estar conectada, depois disso é só usar as ferramentas do site para carregar o        programa no Arduino. A figura abaixo mostra o aspecto da interface gráfica do        Codebender

​  rodando no navegador Chrome em um computador com Ubuntu linux. 

 

Figura 86 ­ Interface da página do Codebender. 

 

3.2. FOTODUINO_control_1_0.ino

O código FOTODUINO_control_1_0.ino. ao ser compilado e carregado no        microcontrolador, pelo Arduino IDE é responsável por todo processamento de sinais        no Arduino, comando das lâmpadas, da fonte AT e comunicação com o computador.        Diferentemente de um programa típico de computador, o código no Arduino roda em        um  ​loop contínuo, onde o programa principal e as sub­rotinas são executadas        repetidamente, permitindo que funcione dinamicamente. 

O programa compilado roda no microcontrolador Atmega328 do Arduino e        é composto por vários blocos de comandos que descreveremos a seguir (No        apêndice B o código aparece com comentários ao lado das linhas de comando). O        diagrama da figura abaixo mostra a função de cada um dos blocos do código. No        primeiro bloco de     ​Título e comentários iniciais (que são desconsiderados pelo            compilador) temos informações sobre a versão e indicações sobre a compilação. No        segundo bloco, ​Definição de variáveis

​         , temos a declaração de variáveis utilizadas       

pelo programa. Em seguida, no bloco ​Função principal

​         , que roda apenas uma vez       

na inicialização do microcontrolador, e ainda uma interrupção para a leitura da porta        analógica A0 que recebe o sinal do amperímetro e o laço principal que roda        enquanto o Arduino estiver ligado. 

 

Figura 87 ­ Diagrama de blocos do código do Arduino. 

 

Na função principal temos a configuração da comunicação serial. Neste        caso, tanto o código do Arduino quanto o código do       ​Processing devem ter a        comunicação serial configurada, com a mesma taxa de transferência (115200). A        configuração do pino de PWM e dos pinos de controle da lâmpadas como saídas        digitais (no caso dos pinos das lâmpadas) também é realizada aqui, juntamente com        os registradores responsáveis pelo controle do pulso PWM (para maiores        informações  sobre  esses  registradores  e  sua  configuração  acesse 

https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM).  Por  último  são  configurados os registradores que controlam o filtro de 60 Hz. 

Após a   ​Função principal temos um pequeno bloco de comandos com uma        função (​ISR(TIMER1_COMPA_vect)

​   ) responsável pela interrupção do código e       

leitura do pino A0 ligado ao amperímetro. A leitura é armazenada na variável “      ​val”  definida anteriormente e a variável “​isNewVal”

​          é definida como verdadeira (valor = 1)       

indicando ao programa que uma nova leitura foi realizada para que seu valor seja        tradado pelo filtro de 60 Hz e encaminhado à porta serial para o envio ao        computador. 

No laço principal, vemos o bloco do filtro de 60 Hz (obtido de       

https://sensorseverywhere.wordpress.com/2012/01/10/60­hz­filter­works/),  que  remove o sinal das fontes de alimentação provenientes das redes elétricas no        entorno que são uma importante fonte de interferência. Após a filtragem, o sinal é       

encaminhado, pelo comando     ​Serial.println(), ao computador pela porta serial. Ao        mesmo tempo, o Arduino monitora a porta serial pelo comando       ​Serial.available(),  aguardando comandos para ligar ou desligar as lâmpadas proveniente da interface        de controle.  

 

No documento Produto Educacional (páginas 47-52)