MINICURSO ARDUINO
FELIPE SOUZA AMARAL
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
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
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
• Existe arduinos paralelos
INTRODUÇÃO AO ARDUINO
• Ou você pode criar o seu próprio arduino.
INTRODUÇÃO AO ARDUINO
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
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???
SOFTWARE
SOFTWARE:
Download:
https://www.arduino.cc/en/Main/
Software
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???
UM POUCO DE ELETRÔNICA
Protoboard
1º PROJETO – OLÁ MUNDO!!
• Objetivo – Fazer um led piscar de 1 em 1 segundo.
• Monatagem
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.
2º PROJETO - CÓDIGO
SerialMonitor
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... }
UM POUCO DE LÓGICA DE PROGRAMAÇÃO
AND
Condição1 && Condição2
OR
Condição1 || Condição2
3º PROJETO – LIGAR VÁRIOS LEDS DEPENDENDO
DA LEITURA ANALÓGICA
• Objetivo: Acionar 3 leds diferentes dependendo da leitura analógica.
3º PROJETO - CÓDIGO
4º PROJETO – LEITURA DIGITAL
• Objetivo: Acender um led ao prescionar o botão
• Montagem:
4º PROJETO – EXPLICAÇÃO HARDWARE
Pull UP
Pull DOWN
Resistores de pull up e pull down:
4º PROJETO - CÓDIGO
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.
5º PROJETO – LED PWM
• Objetivo: Fazer o led variar conforme a variação do pwm.
• Montagem:
5º PROJETO – CÓDIGO
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!
6º PROJETO - CÓDIGO
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.
7º PROJETO – DISPLAY DE 7 SEGMENTOS
• Código Anodo Comum:
7º PROJETO – DISPLAY DE 7 SEGMENTOS
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
}
8º PROJETO – COMUNICAÇÃO SERIAL
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.
9º PROJETO - CÓDIGO
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.
10º PROJETO - RELÉS
• Objetivo: controle de um relé pelo botão
• Montagem: Fotos
10º PROJETO - RELÉS
10º PROJETO - RELÉS
10º PROJETO - RELÉS
10º PROJETO - RELÉS
10º PROJETO - RELÉS
• Código:
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
AGRADECIMENTOS
•Muito obrigado a todos!!!
•Contato:
felipe_samaral@yahoo.com.br

Mini curso arduino

  • 1.
  • 2.
    SUMÁRIO • Introdução aoArduino; • 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.
  • 4.
  • 5.
    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
  • 6.
  • 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!!
  • 8.
    INTRODUÇÃO AO ARDUINO •Existe arduinos paralelos
  • 9.
    INTRODUÇÃO AO ARDUINO •Ou você pode criar o seu próprio arduino.
  • 10.
  • 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
  • 12.
  • 13.
    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???
  • 14.
  • 15.
    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
  • 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???
  • 17.
    UM POUCO DEELETRÔNICA Protoboard
  • 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.
  • 22.
    2º PROJETO -CÓDIGO SerialMonitor
  • 23.
    UM POUCO DELÓ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 DELÓ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.
  • 26.
  • 27.
    4º PROJETO –LEITURA DIGITAL • Objetivo: Acender um led ao prescionar o botão • Montagem:
  • 28.
    4º PROJETO –EXPLICAÇÃO HARDWARE Pull UP Pull DOWN Resistores de pull up e pull down:
  • 29.
  • 30.
    PWM – PULSEWIDTH MODULATION • Razão cíclica (duty cycle): define a tensão média aplicada: Pinos: 3, 5, 6, 9, 10, 11
  • 31.
    PWM – PULSEWIDTH 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:
  • 33.
  • 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!
  • 38.
  • 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:
  • 42.
    7º PROJETO –DISPLAY DE 7 SEGMENTOS
  • 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 }
  • 46.
    8º PROJETO –COMUNICAÇÃO SERIAL
  • 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.
  • 49.
  • 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
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
    10º PROJETO -RELÉS • Código:
  • 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 • Kitarduino: • 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
  • 60.
    AGRADECIMENTOS •Muito obrigado atodos!!! •Contato: felipe_samaral@yahoo.com.br