O que é o Arduino e o que preciso para começar
- Hardware
- Software
- que são as bibliotecas
- Biblioteca essencial (core)
- Bibliotecas padrão
- Biblioteca de terceiros
- Blink Led
- Entendendo o Código
- Resumo
Hoje, as versões mais recentes, como Duemilanove e Uno, utilizam o Atmega328 com 32KB de memória flash e alternam automaticamente entre alimentação USB e alimentação externa. Se precisar de mais E/S e memória, existe o Arduino Mega1280, com memória flash de 128KB e o Arduino Mega2560 (versão mais atual), com memória flash de 256KB. Construído dentro do IDE principal do Arduino, é essencial para o bom funcionamento de seu companheiro, que é responsável por mascarar a complexidade do hardware do microcontrolador.
A equipe de desenvolvimento do Arduino estudou muitos dos projetos apresentados pelos alunos e, como resultado, desenvolveu uma biblioteca para simplificar a execução dos projetos. Essas bibliotecas são vistas como necessárias pela equipe de desenvolvimento do Arduino e que muitas pessoas as utilizarão em seus projetos. A primeira forma é no próprio IDE do Arduino, na opção (Sketch. > Incluir Biblioteca > Gerenciar Bibliotecas.
Nota: Ao instalar a biblioteca, ela estará disponível para uso em projetos futuros, assim como as bibliotecas padrão.
Entradas e saídas do Arduino UNO
- Entradas e Saídas Digitais
- Entendendo o código
- Montagem do hardware
- Conheça o mundo analógico
- A leitura de um potenciômetro
- Montagem do hardware
- Resumo
Além de suportar os protocolos de comunicação I2C(TWI) e SPI, o Arduino IDE possui uma biblioteca padrão Wire, que simplifica a comunicação I2C. Na seção anterior apresentamos as entradas e saídas digitais do Arduino utilizando um botão e um LED, que assumem dois estados lógicos: ON ou OFF. O que fazer se quiser medir um sinal analógico ou alterar o brilho de um LED com um potenciômetro.
A leitura do sinal analógico é feita graças às 6 entradas analógicas que mencionamos na descrição do UNO. Mas alterar o brilho de um LED, por exemplo, não é feito alterando a tensão aplicada a ele, mas sim utilizando a modulação por largura de pulso (PWM), que explicarei mais adiante. Após a introdução ao Arduino, aprendemos um pouco sobre o hardware do Arduino UNO e suas entradas e saídas.
Vimos como fazer esboços, utilizando entradas e saídas digitais com botão e LED, e como entender um pouco do mundo analógico e analisar como ele funciona de uma forma bem didática.
Sensores para utilizar em seus projetos
Os diferentes tipos de sensores existentes
- Entendendo o LDR
- Leia o valor do LDR para acionar uma carga
- Entendendo o código
- Montagem do hardware
Os sensores mais comuns e fáceis de encontrar são: o LM35 (temperatura), DHT11/DHT22 (temperatura e umidade), LDR (brilho) e existem muitos outros. Agora que você já entendeu um pouco sobre sensores e sua importância, além de ser apresentado ao LDR, vamos ver um exemplo de uso. A variável lerValor recebe a leitura analógica do pinLdr, onde é criada uma condição para acionamento: se o valor for menor que 600 (o valor que estipulei, pode ser diferente), o LED fica . ativado; se não, ele permanece desligado.
O resistor no LED tem a função de limitar a corrente, conforme já explicado nos exemplos anteriores.. junto com o LDR, funcionará como divisor de tensão. Após a conclusão da montagem, conecte o USB no Arduino e no computador, clique em Verificar para verificar se há algum erro. Após esta verificação, clique em Carregar, para transferir o código fonte para a tabela. Com isso, o código é carregado e você pode testá-lo colocando a mão perto do LDR para alterar o brilho ou desligar a luz do seu quarto. , laboratório, etc.
Tenho um comentário sobre o valor para acionamento do LED: . Recomendo que antes de executar o teste com o LDR exiba seus valores no monitor serial e, se necessário, altere 600 para o valor que mais se adequa à sua necessidade, o desafio permanece.
Resumo
Módulos e shields para incrementar seus projetos
- Cuidados que devem ser tomados
- Explorando o módulo relé de 2 canais
- Acionando cargas com o módulo Relé
- Entendendo o código
- Montagem do hardware
- Módulos e shields interessantes de se explorar
- Resumo
Este cuidado deve ser tomado com mais cuidado se você usar mais de um escudo (empilhar um em cima do outro). Para acionar o relé é muito simples: ele é uma saída digital, então você determina seu estado ALTO ou BAIXO. Um detalhe importante deste módulo em questão é que para ativar a carga é necessário enviar um nível lógico baixo, ou seja, LOW.
Como já explicamos, o módulo relé irá acionar a carga, quando receber um nível lógico baixo, devido às suas características de construção. No exemplo abaixo iremos acionar duas cargas AC, podem ser duas lâmpadas ou outra carga de sua preferência. Este valor é atribuído para garantir que a condição do relé inicial não seja ativada. Lembre-se que, para habilitá-lo, deve-se colocá-lo em nível lógico baixo LOW. Por fim, o programa será atualizado; o estado da variável relé01State é atribuído ao relé01 e o estado da variável relé02State ao relé02, além de atualizar os valores das variáveis lastBtn01State e lastBtn02State.
Se você compará-lo com o esboço apresentado no Capítulo 2, que lê um botão e altera o estado de um LED, a estrutura é a mesma, basta adicionar mais uma entrada e uma saída. Existem dois botões com resistores pull-down, para garantir que permaneçam em um nível lógico baixo enquanto não ativados, nas portas 8 e 9, conecte os pinos IN1 e IN2 do módulo de relé, o pino GND, conecte ao GND do circuito e o VCC para o VCC do circuito, respectivamente. Observe que o jumper é mantido em JD-VCC, sem a necessidade de fonte externa apenas para o relé. Recomendo fortemente que você faça todas as conexões com o circuito desenergizado e, após a montagem, evite testar com seu Arduino plugado em uma porta USB do seu computador pessoal. Utilize uma fonte externa para alimentar o Arduino, acredito que em sua casa deva ter um carregador de 12V para determinados equipamentos.
Você estará lidando com tensões de 110 ou 220V. Nunca manuseie a placa com a fonte de alimentação, pois você pode sofrer um grande choque. Depois de verificar se tudo está em ordem, ligue o circuito e teste-o. Você verá que ao apertar o botão o relé será acionado (faz um som muito legal), ligando assim a lâmpada, ou qualquer carga que você decidiu testar. Tente implementar um data logger e outros desafios, um escudo que é bastante conhecido e muito utilizado é o Ethernet Shield, muito utilizado para projetos de automação e comunicação web com seu Arduino.
Neste capítulo descobrimos o que são um escudo e um módulo, suas diferenças e algumas especificações para sua utilização. Além disso, foi mostrado como utilizar o módulo mais comum de todos, o relé, com uma aplicação que utiliza conceitos de entrada e saída do Arduino.
Comunicando seu Arduino com o mundo
- Comunicação Serial
- Comunicação SPI
- Comunicação I2C
- Comunicação One Wire
- Protocolo Firmata
- Comunicação Bluetooth
- Conheça o módulo bluetooth HC-06
- Controle um Led RGB via Bluetooth
- Entendendo o código
- Montagem do hardware
- Faça o teste com um aplicativo
- Outras comunicações
- Resumo
Além disso, um módulo bluetooth muito famoso, o HC-05, envia e recebe informações por meio dessa comunicação. Além disso, há um quarto pino Seletor de Escravo (SS) em cada periférico que você pode usar para selecionar um dispositivo com o qual se comunicar. A diferença com este protocolo de comunicação é que ele utiliza apenas 1 fio para dados. Para conseguir isso, o dispositivo possui um capacitor de 800pF para armazenar carga e energia no dispositivo durante a transmissão de dados.
Além disso, os sensores utilizam este meio para transmitir seus dados, um exemplo é o sensor de temperatura DS18B20. Ele permite programar seu Arduino em outras linguagens como C#, Javascript, Python, entre outras. Para habilitar a comunicação, é necessário carregar o sketch disponível na biblioteca Firmata, seguindo estes passos: Abra a IDE do Arduino, vá em Arquivos > Exemplos > Firmata > StandartFirmata, clique em Upload, aguarde o sketch ser compilado e carregado na placa Com isso seu hardware já estará preparado.
Enviar dados do seu Arduino via Bluetooth é muito simples, pois ele se comporta como uma porta serial virtual, o que significa que você usa os mesmos comandos da comunicação serial normal. O módulo HC-06 é muito utilizado para comunicação Bluetooth com Arduino, para tornar os projetos mais interessantes e dinâmicos. Além disso, este módulo funciona apenas em modo escravo, ou seja, permite que outros dispositivos se conectem a ele, mas não que ele se conecte a outros dispositivos.
É utilizado um LED RGB que é acionado quando são recebidos comandos do smartphone vinculado ao módulo Bluetooth. O resistor nos pinos do LED RGB tem a função de limitar a corrente, conforme explicado nos exemplos anteriores. Após esta verificação, clique em Load (para isso desconecte os pinos RX e TX do módulo Bluetooth do Arduino) para transferir o código fonte para a placa. Isso carregará o código, então reconecte os pinos RX e TX do módulo Bluetooth ao Arduino. Agora temos que testar se isso realmente funciona.
Além disso, a interface é muito agradável e fácil de usar, mesmo que não seja das mais leves (já que existem aplicativos que vêm apenas com terminal Bluetooth), que têm menos de 1 MB de tamanho, este aplicativo é interessante. Caso não funcione, verifique as conexões feitas, se há mau contato e certifique-se de que o sketch foi carregado em seu Arduino. Há também Wi-Fi, caso você queira trabalhar com internet sem fio, o que é mais prático, com Wi-Fi Shield.
Mas como falei acima, é possível fazer seu Arduino conversar com a Internet, o que vai deixar seus projetos ainda mais divertidos e iluminar os olhos de quem vê.
Apêndice - Guia para codificar seu Arduino
- Variáveis
- Tipos de variáveis
- Arrays
- Strings
- Constantes
- Escopo de variáveis
- Instruções de Controle
- If, else, else if
- Switch case
- Loop
- For
- While
- Do While
- Funções
- Resumo
O índice de uma matriz começa em 0, ou seja, no exemplo acima em vet[0] o valor de é igual a 1. Normalmente eles são usados para manipulação de valores dentro de um loop for como explicaremos mais adiante. São textos que podem ser usados de duas maneiras: ou como array char; ou você usa a classe String.
A vantagem de utilizar a classe String é que ela contém um conjunto de funções, facilitando a manipulação do texto. Ou seja, quando esta variável é inicializada e recebe um valor, ela não pode ser alterada. Por isso são chamadas de variáveis globais, ou seja, podem ser acessadas em qualquer lugar do sketch.
Em muitos momentos do código você terá que decidir: se vai ativar a carga, o LED, entre outras coisas. Seu código de esboço toma decisões com base nessas condições, que só podem ter dois resultados: verdadeiro ou falso. A instrução if testa uma condição e, se for verdadeira, executa a ação especificada conforme programado.
Caso contrário, else (se não) retornará um valor ou executará a ação especificada se o valor for falso. É usado nos casos em que as instruções if, else if precisam ser simplificadas, pois são fáceis de entender. Mas existem outras formas de criar loops, caso seja necessário repetir determinada ação até que determinada condição seja verdadeira, ou seja, se aquela condição for falsa, o loop continuará.
A diferença entre do while e while é que ele testa uma condição no final de um bloco de código, o que significa que esse bloco será executado pelo menos uma vez. Espero que você tenha gostado deste complemento! Vimos algumas coisas sobre a linguagem Arduino, como as variáveis nos ajudam, o que são operadores relacionais e lógicos, o que são condições e por fim loops.
Apêndice - Onde aprender mais
Blog Engenheiro Caiçara
Outros links e materiais úteis