Antes de mais nada, você precisará ter uma pequena quantidade de materiais para realizar as experiências.
- Uma placa do Arduino Uno R3
- Cabo USB (AB)
- Protoboard
- Jumpers (MM e MF)
- Três leds (vermelho, verde e amarelo – um de cada cor)
- Um led RGB
- Resistores (220R, 1K, 10K)
- Um diodo 1N4007
- Um transistor BC549
- Uma chave táctil (push-button)
- Um potenciômetro linear (1K ou 5K ou 10K)
- Um display de 7 segmentos
- Um buzzer de 5 Volts
- Um relé de 5 Volts
- Um LDR de 10K
- Um termistor NTC de 10K
- Um micro servo motor SG-90
- Um motor de 6 Volts
Partindo da premissa que a IDE foi instalada – inclusive para placas genéricas, devido ao chip CH340G -, é necessário configurá-la para reconhecer a placa, e qual porta de comunicação virtual ela está instalada.
Passe o mouse sobre cada um dos botões que compõem a barra de botões, identificando as funções : Verificar, Carregar, Novo, Abrir e Salvar – contidos no canto superior esquerdo, logo abaixo à barra de menu.
É possível redefinir algumas configurações, caso queira aumentar o tamanho da fonte ou onde salvar. Para tanto : Barra de Menu > Arquivo > Preferências > Configurações.
Existe a possibilidade de envio do programa compilado para terceiros. Para tanto : Barra de Menu > Sketch > Exportar binário compilado.
A vantagem é que você protege sua propriedade intelectual de alterações, embora seja possível fazer Engenharia Reversa. Isso não quer dizer que o código fonte voltará; apenas os mneumônicos do código estarão visíveis.
Daqui em diante, iremos praticar vários exemplos. Embora o código do exemplo aberto esteja digitado em algum lugar, inclusive no próprio SDK do Arduino, minha sugestão é : digite o código. Você pode até estar gastando tempo, que lhe ajudará a fixar melhor as funções. Acredite. Sou de uma escola que a gente aprendia fazendo; não copiando e colando.
Propostas de montagem
1° exemplo – “Hello World” do Arduino com um led da placa piscando na porta digital 13 (LED_BUILTIN ).
Digite o código contido nesta tela e como não é necessário qualquer hardware adicional, carregue o sketch na placa e observe o resultado final.
2° exemplo – Mude o endereço para outra porta de saída. Note como sugeri a forma de endereçamento da nova porta e faça a montagem abaixo do código.
Podemos aproveitar este exemplo para acionar um motor através de um relé, protegido por um diodo. E uma pequena alteração no código original do exemplo 2, como segue abaixo.
3° exemplo – Neste exemplo iremos usar o led RGB. Atenção deve ser dada ao tipo de led RGB, porque existem as versões Anodo comum e catodo comum – Em consequência desta variável de hardware, a lógica a ser usada é diferente. Será empregado a instrução “int” e portas analógicas.
Note como uma função do desenvolvedor pode ser criada dentro do sketch – void setCor (int vermelho,int verde, int azul), que é compilado tudo junto.
Dentro da função loop, retire todo o seu conteúdo e digite apenas a função analogWrite (pino R, 255). Varie o segundo argumento e veja o resultado.
4° exemplo – Led acionado por chave tactil – funções minuteria e liga-desliga
Neste exemplo temos a aplicação das instruções “if/else”, “switch/case/default/break”
5° exemplo – Fazendo barulho com um buzzer
Neste exemplo, recomenda-se atenção a pinagem positiva do buzzer. Empregando as funções tone e noTone.
6° exemplo – Comunicação serial – Um “Hello World” na tela do PC com o Serial Monitor
O exemplo de código abaixo serve para realizar uma contagem iniciando em 0 e não irá parar, até que a execução seja encerrada. Faça um comentário nas linhas 1 e 10 (usando //). Abaixo da linha 10 adicione a seguinte linha:
Serial.println (“Hello World !”);
Não se esqueça de ativar o Serial Monitor, no canto superior direito.
Este código não contém um instanciamento da classe incluída, porque a chamada das funções contidas na classe são previamente conhecidas pelo compilador.
As linhas 5 e 10 são a forma como invocamos os métodos para utilizar nos processos.
O desenvolvedor é encorajado a inspecionar os métodos contidos dentro da classe.
Este código será reutilizado no exercício a seguir.
7° exemplo – Usando um potenciômetro – trabalhando com porta analógica e monitor serial
Observe a riqueza deste pequeno código :
- Emprego da função Serial.begin
- Emprego da função Serial.println
- Emprego da função analogRead
- Os caracteres || tem o valor da função lógica de condição OR
Os exemplos propostos fazem:
- Leitura e impressão constante – código 1
- Leitura e impressão somente quando houver alteração – código 2
8° exemplo – A função “map” – Interpolação
Há situações em que a faixa de atuação de um sinal analógico está acima da faixa de trabalho de um sinal interno. Para estes casos, usamos a função map.
9° exemplo – Acionamento de servo motor
Note que é incluída a biblioteca Servo.h no cabeçalho do código. Esta ação pode ser feita de duas formas:
- Manualmente – digitação direta
- Inclusão automática – Barra de menu > Sketch > incluir biblioteca > Servo
Note a linha 3 : Ela contém um instanciamento da classe incluída.
Na linha 8 está a forma como invocamos os métodos para utilizar nos processos.
O desenvolvedor é encorajado a inspecionar os métodos contidos dentro da classe.
10° exemplo – Usando a E2PROM interna do Arduino – memória Flash –
Este tipo de memória preserva os dados – não volátil, mesmo que a placa seja desenergizada ou que um reset seja aplicado.
11° exemplo – LDR – sensor dependente da luz
12° exemplo – Termistor – Sensor de temperatura do tipo NTC (negative temperature coeficient)
Note que é incluída a biblioteca Termistor.h no cabeçalho do código. Esta ação pode ser feita de duas formas:
- Manualmente – digitação direta
- Inclusão automática – Barra de menu > Sketch > incluir biblioteca > Termistor
Note a linha 3 : Ela contém um instanciamento da classe incluída.
Na linha 12 está a forma como invocamos os métodos para utilizar nos processos.
O desenvolvedor é encorajado a inspecionar os métodos contidos dentro da classe.
13° exemplo – Entrada de dados pela serial com atuação
14° exemplo – Display de 7 segmentos (anodo comum)
Empregado o Arduino Nano neste projeto, devido as suas dimensões reduzidas. Por ser o maior dos exemplos, disponibilizo tudo que fiz.
Como o local onde hospedo minha página não permite colocar arquivos compactados, por questões de segurança, deixo os links no 4Shared, logo abaixo, caso queira reproduzir o exemplo. O diferencial neste exemplo é que integrei um controle remoto de carrinho para comandar a distância.
Esquemático e placa (em Eagle)
Código fonte (em Arduino)
Note que foi usado a vírgula para criar várias variáveis.
Foi usado neste exemplo a instrução for entre { }; embora exista a forma de usar uma linha só, que é chamada de inline.
Por fim, podemos apenas verificar nosso código, sem transferir para o microcontrolador : Barra de menu > Sketch > Verificar.






























