Mini curso arduino
-
Upload
felipe-meganha -
Category
Engineering
-
view
114 -
download
3
Transcript of Mini curso arduino
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
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.
INTRODUÇÃO AO ARDUINO
• Desenvolvido por: Massimo Banzi, David
Cuartielles, Tom Igoe, Gianlucas Martino e David
Mellis, na Itália, em 2005.
• 200 placas / 2005; 5.000 / 2006; 30.000 /
2007; + 300.000 / 2011 ; + 1 milhão / 2013
• Site oficial: www.arduino.cc
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!!
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
INTRODUÇÃO AO ARDUINO
• Exemplos de microcontroladores
• Família 8051 (Intel ou ATMEL)
• 80C196KB (Intel)
• 68Hc11 (Motorola / Freescale)
• MSP430 (texas Instruments)
• ATmega328 (ATMEL)
• PIC16F628a (Microship)
• Cortex M3 (ARM)
Mas, onde está o arduino???
KIT CURSO 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
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???
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
2º PROJETO – LDR E LEITURA ANALÓGICA
• Objetivo: Fazer uma leitura analógica do de um resistor
que varia com a luz.
• Monatgem
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.
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... }
3º PROJETO – LIGAR VÁRIOS LEDS DEPENDENDO DA LEITURA ANALÓGICA
• Objetivo: Acionar 3 leds diferentes dependendo da leitura analógica.
PWM – PULSE WIDTH MODULATION
• Razão cíclica (duty cycle): define a tensão
média aplicada:
Pinos: 3, 5, 6, 9, 10, 11
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.
6º PROJETO – CONTROLE DE UM MOTOR CC
• Objetivo: Controlar a velocidade de um motor cc através do LDR.
Montagem:
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.
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.
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!
7º PROJETO – DISPLAY DE 7 SEGMENTOS
• Objetivo: Fazer um contador simples com um display de 7 segmentos.
• Montagem:
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.
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:
8º PROJETO – COMUNICAÇÃO SERIAL
• UART - possibilita a comunicação entre
a placa e um computador ou entre a
placa e outro dispositivo.
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
}
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
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.
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.
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.
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é
E AGORA?!!
• Livros: ebooks ou impressos
• Sites: www.arduino.cc , blogs em geral
• Fóruns de discursão
• DIY