Professional Documents
Culture Documents
Aula1 - Introduo
Microcontrolador do Arduino
Podemos programar o Arduino para realizar as mais diversas tarefas como por
exemplo programar sensores, controlar luzes, lmpadas etc.
O Arduino como um pequeno computador e pode ser programado para fazer aquilo
que voc desejar, utilizando de uma linguagem de programao no ambiente IDE do
Arduino, que transformar o programa (ou sketch como chamado no Arduino) em
um executvel para a sua placa Arduino.
Voc poder adquirir uma placa Arduino (juntamente com o cabo para conect-lo ao
USB de seu computador) pelo site do "Mercado Livre" (www.mercadolivre.com.br)
ou em lojas de eletrnica por um valor mdio de R$ 50,00.
Aula2 - O que Arduino e IDE de desenvolvimento.
[foto]
Este o hardware com o qual voc ir trabalhar para construir seus projetos.
[foto]
Agora, voc deve descobrir qual porta serial foi atribuda sua placa Arduino - essa
informao ser necessria para program-la futuramente. Veja que no meu caso foi
atribuda a porta "COM3".
Agora que sabemos a porta que est sendo utilizada pelo Arduino podemos
configur-la no IDE, para isso abra o Sketch e em Tools > Serial Port, escolha a que
foi definida na instalao do driver.
[desenho Arduino]
Analog In (A0 at A5) - Entradas analgicas, que fornecem uma resoluo de 10 bits
(1024 valores distintos); medem por padro valores de 0 a 5V.
Vin (Voltage In) - Podemos fornecer tenso eltrica atravs desse pino ou acess-la
caso usemos uma fonte de alimentao externa.
5V - Sada regulada de 5V
3V3 (ou 3.3V) - Fornece tenso de 3.3V a partir de um regulador on-board, com
50mA mx.
Aula 4 - LED pisca-pisca
Quando mantemos um LED aceso por muito tempo devemos utilizar de outro
componente eletrnico denominado "resistor" para poder "limitarmos" a corrente
eltrica fornecida pelo Arduino de forma a no queim-lo.
Como nosso primeiro projeto ser apenas para "testar" sua placa Arduino por alguns
instantes vamos implementar este projeto sem o resistor, focando principalmente a
programao do microcontrolador de modo a fazer o LED piscar.
[foto do LED]
Um LED tem polaridade (seus terminais tem positivo e negativo), sendo que o
negativo o ctodo (K), ou o terminal mais curto, e o positivo o nodo (A).
Na figura abaixo vemos a conexo que dever ser feita com o LED na placa, estando
ctodo no GND (terra ou negativo) e o nodo no pino de nmero 13 do lado digital.
[cdigo fonte]
[boto-verificao]
[boto-upload]
O IDE do Arduino enviar o sketch para a placa que armazenar em sua memria (de
modo similar que um PC faz ao armazenar um programa em execuo em sua
memria RAM) executando-o quando desejado.
Um cdigo transmitido para o Arduino ficar nele at que outro sketch o substitua,
mesmo caso a placa for reiniciada ou desligada, da mesma forma que os dados do
disco rgido do PC mantm um programa.
Tudo dando certo voc ver o LED acender por um segundo e, em seguida, apagar
por um segundo em um "loop" infinito, conforme programamos.
Atividade: modifique seu programa e altere o tempo que o LED fica ligado e
desligado no loop.
Aula 5 - Dispositivo interativo
[dispositivo interativo]
Para que um dispositivo possa captar luz, temperatura ou outros dados fsicos
necessrio converter estes sinais do "nosso mundo" em eletricidade. No nosso corpo
humano, por exemplo, o olho converte a luz em sinais que so enviados ao crebro.
Os dispositivos que capta os sinais de nosso mundo fsico chamas-se SENSOR.
Aula6 - Utilizando de interruptor como sensor
Neste projeto iremos ter um maior controle sobre o LED a partir de um sinal
provindo de um interruptor (que estar realizando o papel de um sensor ao interagir
com o "mundo real"). Neste caso o interruptor ser como um dispositivo de entrara e
estar ligado na pinagem analgica do Arduino. Ao enviar o sinal seu programa ir
identificar este sinal e permitir que o LED ascenda (ou desligue).
Esta funo retorna um valor HIGH ou LOW dependendo do que foi verificado, de
modo que podemos "fazer uma pergunta" ao computador do Arduino e receber uma
resposta, que poder ser tratada posteriormente em alguma tomada de deciso.
Para realizar esta montagem iremos utilizar de uma "protoboard" para conectar fios e
componentes eletrnicos. Abaixo a imagem de uma protoboard:
[foto protoboard]
Uma protoboard nada mais do que diversos pinos interligados para facilitar a
montagem de circuitos (pois os mesmos so montados e desmontados com
facilidade). Na figura abaixo vemos como os pinos de uma protoboard so
interligados internamente:
[foto protoboard-interna]
Para este projeto iremos utilizar um resistor de 10K ohms (marrom, preto e laranja):
[foto resistor]
[foto]
Para realizar este comportamento iremos utilizar de uma VARIVEL, para isto
implemente o seguinte cdigo e faa o teste:
[codigo-led-interruptor]
Aps testar veja que a luz altera seu estado to rapidamente que impossvel
utilizarmos o boto para definir com preciso se ela deve ficar acesa ou apagada. O
Arduino l a posio do interruptor milhares de vezes e altera state de acordo de
forma que os resultados so imprevisvel, ocorrendo do LED ficar aceso mesmo
quando o quisermos apagado e vice-versa.
Neste projeto ao invs de utilizarmos um boto de presso como sensor (que tem
apenas dois estados: ligado/desligado) iremos utilizar de um sensor de luz que um
dispositivo analgico cujo valor produzido poder indicar no apenas que h luz, mas
tambm a quantia de luz presente (ou captada). Os valores deste tipo de sensor podem
se alterar continuamente e para tanto iremos utilizar da pinagem analgica do
Arduino.
Abaixo temos uma foto deste sensor, que um resistor dependente de luz (LDR):
[Foto]
Para este sensor quanto menos luz que o mesmo captar maior ser sua resistncia a
passagem da corrente eltrica e quando mais luz receber menor ser esta resistncia.
Esta mudana de resistncia ser para este projeto algo a ser computado pelo Arduino
(como entrada de informao) e como ao (sada de dados processada), faremos com
que o LED existente no prprio Arduino pisque a uma frequncia proporcional.
Utilizei neste caso do prprio LED existente na placa para facilitar a montagem, mas
nada impede de voc colocar seu prprio LED para observar a resposta do sistema.
Para este projeto iremos utilizar de um resistor de 10K ohms (marrom, preto e
laranja) :
[foto]
[desenho]
Abaixo segue o programa que far o LED piscar com base na leitura do valor emitido
sensor, que por sua vez est em conformidade a quantidade de luz recebida:
[imagem cdigo]
Neste projeto criamos um sistema que tem como entrada um valor analgico de um
sensor, como processamento um cdigo que conforme o valor de entrada emite sinal
de ligado/desligado e finalmente como sada um sinal luminoso proporcionado por
um LED que ter como frequncia uma quantia proporcional ao valor obtido na
leitura do valor do sensor.
Aula 8 - Criando sons com sonorizador piezo
Nesta aula iremos conectar um sonorizador piezo (veja figura abaixo) ao seu Arduino
para criar programas que geram sons de alarmes:
[foto piezo]
Vamos iniciar criando um som de um simples alarme de carro, para isto realize as
seguintes conexes do piezo para com as pinagens digital GND, 8 do Arduino e
piezo:
[foto conexes]
[imagem do cdigo]
Explicao:
1) A varivel sinVal armazena o valor de seno que faz o tom se elevar e diminuir,
enquanto que a varivel toneVal obtm o valor de sinVal e converte-o para uma
frequncia solicitada.
[foto]
- Diodo 1N4007
[foto]
- Suporte para pilhas (se o motor for de 6V ento o suporte ter de ser de 4 pilhas)
[foto]
- Motor CC
[foto]
[foto]
Como um motor requer correntes geralmente mais altas do que as que o Arduino
pode produzir (5V) voc ter de utilizar transistores para garantir corrente suficiente
para o motor e diodos para proteo do Arduino, por isto o motivo neste projeto
destes componentes eletrnicos "extras".
[foto]
[foto]
Depois de fazer o upload do cdigo, conecte a fonte de alimentao externa e voc
pode virar o potenciMETRO PARA CONTROLAR A VELOCIDADE DO
MOTOR.
A parte central do cdigo est no loop principal onde potValue guardar o valor
(analgico, que a resistncia proporcionada pelo potencimetro) lido no pino 0 e
depois dividido por 4:
Obs.: o valor analgico ir de 0 (para 0 V) a 1023 (para 5V), mas o valor que deve ser
emitido no transistor pode ir apenas de 0 a 255, por isso da diviso por 4, obtendo um
valor mximo de 255, atribuvel ao pino digital 9, por meio da funo analogWrite.
Explicao:
possvel utilizarmos de servos como juntas mveis dos braos de pequenos robs.
Ser necessrio que voc adquira um servo RC padro (em minhas pesquisas no
Google encontrei servos e outros componentes eletrnicos no site
http://www.webtronico.com/ ):
[foto]