- O documento resume um minicurso sobre Arduino, abordando introdução ao Arduino, programação básica, uso de componentes eletrônicos como sensores e motores, e 10 projetos práticos para aplicar os conceitos aprendidos.
2. SUMÁRIO
• Introdução ao Arduino;
• Tipos de dados;
• Declaração e manipulação de variáveis e
constantes;
• Estruturas de seleção e repetição;
• Vetores e matrizes;
• Modularização;
• Funções setup() e loop();
• Entrada e saída de dados (portas digitais e
analógicas);
• Modulação PWM;
• Fundamentos de circuitos elétricos;
• Uso de componentes discretos;
• Acionamento de motores de corrente
contínua;
• Uso de transistores;
• Montagem de circuitos em protoboard;
• Uso de sensores;
• Uso de displays de 7 segmentos
3. INTRODUÇÃO AO ARDUINO
• Arduino é uma plataforma de prototipagem eletrônica open-souce.
(Hardwaere e software livres)
• Possui um microcontrolador Atmel programável.
• Linguagem de programação Wiring. (baseado em C/C++)
• A placa pode funcionar junto ou independente do computador.
7. INTRODUÇÃO AO ARDUINO
• Hardware e projetos de montagem disponíveis.
• O software é também aberto.
• Quem desejar, pode comprar os componentes e montar sua placa.
• Mas ...
• O nome arduino é marca registrada!!
11. INTRODUÇÃO AO ARDUINO
• Oque é um microcontrolador?
• Chip;
• CPU de pequeno porte, capaz de execitar um conjunto de instruções – Microprocessador;
• Instruções simples e rápidas
• Possui memoria(s);
• Possui e/ou pode comunicar com outros periféricos
16. QUASE LÁ!! - INSTALAR O ARDUINO.
1. Conecte o cabo USB do Arduino no seu computador e aguarde o aviso de “Novo Hardware Encontrado”;
2. Abra o Gerenciador de Dispositivos, em “Outros Dispositivos”, aparecerá o hardware, então clique com o
botão direito do mouse sobre o dispositivo e clique em “Atualizar/Instalar Hardware”.
3. Na janela que aparecerá, clique em “Procurar Software do Driver no Computador”;
4. Em seguida, você deverá identificar a pasta exata onde está localizado o drive do Arduino, ou seja,
dentro da pasta do programa que você baixou do site haverá uma pasta chamada “Drivers”, você deverá
direcionar para esta pasta. Clique em avançar e espere a identificação do Arduino.
Problemas???
18. 1º PROJETO – OLÁ MUNDO!!
• Objetivo – Fazer um led piscar de 1 em 1 segundo.
• Monatagem
19. 1º PROJETO – OLÁ MUNDO!!
• Programação:
Função de inicialização:
Só ocorrerá uma vez.
Função de laço:
Ocorrerá sempre.
Variável do tipo inteira:
Retorna um valor. 16 bits
PinMode: INPUT/OUTPUT
Acionar o pino: HIGH/LOW
Pausa no sistema
20. 2º PROJETO – LDR E LEITURA ANALÓGICA
• Objetivo: Fazer uma leitura analógica do de um resistor
que varia com a luz.
• Monatgem
21. 2º PROJETO – ANTES DO CÓDIGO. OQU É UM
LDR?
Quando a luz atinge o material fotocondutor, ele
perde a sua resistência, permitindo que mais
corrente flua entre os eletrodos.
23. UM POUCO DE LÓGICA DE PROGRAMAÇÃO.
• Estrutura de controle de fluxo:
• IF :
if (certaCondicao) {
// comandos... }
• IF... ELSE
if (certaCondicao) {
// comando A… }
else {
// comando B... }
24. UM POUCO DE LÓGICA DE PROGRAMAÇÃO
AND
Condição1 && Condição2
OR
Condição1 || Condição2
25. 3º PROJETO – LIGAR VÁRIOS LEDS DEPENDENDO
DA LEITURA ANALÓGICA
• Objetivo: Acionar 3 leds diferentes dependendo da leitura analógica.
31. PWM – PULSE WIDTH MODULATION
PWM é a técnica de obtém resultados
analógicos através de meios digitais. O
controle digital é usado criando uma onda
quadrada, um sinal oscilando entre “ligado” ou
“desligado”, “0” ou “1”. Por uma porção de
tempo o sinal permanece “alto” enquanto pelo
resto deste tempo ele permanece “baixo”. A
duração desde “tempo” é chamada modulação
de pulso.
Em um Arduino, a frequência de um sinal PWM
é cerca de 490Hz, no caso, a modulação de
pulso oscilaria a cada 2 milissegundos. Se você
aplicar um sinal através de analogWrite() com
valores entre 0 e 255, você obteria os valores
da tabela a seguir em seu ciclo de trabalho.
32. 5º PROJETO – LED PWM
• Objetivo: Fazer o led variar conforme a variação do pwm.
• Montagem:
34. 6º PROJETO – CONTROLE DE UM MOTOR CC
• Objetivo: Controlar a velocidade de um motor cc através do LDR.
Montagem:
35. 6º PROJETO – CONTROLE DE UM MOTOR CC
• Explicação do hardware:
• Alimentado em corrente contínua;
• Possui ímã e bobinas internamente;
• Velocidade é ajustada pela tensão de
alimentação (pode ser por PWM!);
• Sentido de giro é alterado pela polaridade.
36. 6º PROJETO – CONTROLE DE UM MOTOR CC
• Cada pino do Arduino pode fornecer, no máximo,
40mA de corrente -> pode não ser suficiente para
acionar um motor!
• Solução: usar transistores.
37. 6º PROJETO – CONTROLE DE UM MOTOR CC
• Um transistor pode ser entendido como uma “válvula”
eletrônica: é capaz de acionar cargas de alta corrente a
partir de um sinal de controle de baixa corrente. Quanto
maior for a corrente no pino de “base” (B), maior será a
corrente entre os pinos “coletor” (C) e “emissor” (E).
• Por exemplo, se a corrente na base variar de 0 a 0,01
A, a corrente de coletor pode variar de 0 a 1A!
39. 7º PROJETO – DISPLAY DE 7 SEGMENTOS
• Objetivo: Fazer um contador simples com um display de 7 segmentos.
• Montagem:
40. 7º PROJETO – DISPLAY DE 7 SEGMENTOS
• Na configuração catodo comum todos os catodos de todos os leds que formam o display são
interligados entre si e ligados ao GND.
• Na configuração anodo comum todos os anodos de todos os leds que formam o display são
interligados entre si e ligados ao +VCC.
41. 7º PROJETO – DISPLAY DE 7 SEGMENTOS
• Código Anodo Comum:
43. 8º PROJETO – COMUNICAÇÃO SERIAL
• Obejetivo: ligar e desligar um LED conectado as saída digital da Arduino
UNO através de comando enviados pelo computador.
• Montagem:
44. 8º PROJETO – COMUNICAÇÃO SERIAL
• UART - possibilita a comunicação entre
a placa e um computador ou entre a
placa e outro dispositivo.
45. 8º PROJETO – COMUNICAÇÃO SERIAL
• Estrutura de dados:
• Swicth case: O Switch Cace permite
programar diferentes blocos de
instruções para diferentes condições
• switch (valor) {
case 1:
//fazer algo quando valor é igual a 1
break;
case 2:
//fazer algo quando valor é igual a 2
break;
default:
// se nenhum caso se encaixa, fazer algo
como padrão
}
47. 9º PROJETO - EXIBINDO VALORES DA 1 A 255 EM
VÁRIOS SISTEMAS
• Objetivo: Exibir os números de 1 a 255 no monitor serial nos sistemas
decimal, binário e hexadecimal.
• Montagem: nenhuma
48. PUTTY
• O PuTTy é um software de
emulação de terminal grátis e
de código livre. Suporta SSH,
destinado a suportar o acesso
remoto a servidores via shell seguro
e a construção de
"túneis" cifrados entre servidores.
Também suporta conexão direta
(raw), telnet, rlogin e por porta
serial.
50. 10º PROJETO - RELÉS
Relés funcionam como interruptores, mas que são acionados por uma
tensão baixa. O relé mais comum possui um contato interno e uma bobina.
Quando há corrente passando pela bobina, um campo magnético é
induzido, atraindo um pino interno e fechando o contato.. Basta aplicar 5V
entre 2 pinos que os outros 2 fecharão contato. Um relé comum consome
cerca de 25mA para ser ativado.
Normalmente você vai encontrar 5 pinos:
Dois são a bobina, onde deve-se aplicar os 5V.
Quando houver corrente na bobina, C é ligado ao A.
Caso contrário, C fica ligado ao B.
51. 10º PROJETO - RELÉS
• Objetivo: controle de um relé pelo botão
• Montagem: Fotos
57. PROJETO FINAL
• Objetivo: Faça você mesmo.
• Nesse curso você aprendeu o básico do arduino, como usar protoboard,
alguns componentes eletrônicos, suas funcionalidades, programação.
• Munido disso, pedimos a todos a desenvolverem algum produto ou serviço
usando oque tem em mãos, ou seja, o kit usado nesse curso.
• Podem fazer em dupla ou sozinhos.
• Lembrem-se: A imaginação é o limite.
58. PROJETO FINAL
• Kit arduino:
• 1 Arduino duemilanove
• 1 Protoboard
• 1 display de 7 segmentos
• 1 transistor
• 1 LDR
• 1 botão
• 2 resistores
• 3 LEDs
• Motor CC
• Bateria
• Adaptador bateria
• relé
59. E AGORA?!!
• Livros: ebooks ou impressos
• Sites: www.arduino.cc , blogs em geral
• Fóruns de discursão
• DIY