Mini Curso
Arduino -
Básico
Felipe Amaral
SUMÁRIO
• Introdução ao Arduino
• Projetos:
1. Olá Mundo
2. Leitura digital
3. Comunicação UART
4. Leitura analógica
5. Barra LED’s com LDR
6. PWM
7. Controle de motor CC
8. Controle de Servos
• Arduino é uma plataforma de
prototipagem eletrônica open-
source. (Hardware 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
• 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
Esquemático
Arduino
• Hardware e projetos de montagem disponíveis.
• O software é também aberto.
• Quem desejar, pode comprar os componentes e montar sua placa.
• Mas.....
• A marca arduino é
registrada
• Existem arduinos paralelos
Introdução ao Arduino
Arduino
•O que é um microcontrolador?
•Chip;
•CPU de pequeno porte, capaz de executar um
conjunto de instruções – Microprocessador;
•Instruções simples e rápidas
•Possui memória(s);
•Possui e/ou pode comunicar com outros
periféricos
•Exemplos de
microcontroladores
•Família 8051 (Intel ou
ATMEL)
•80C196KB (Intel)
•68Hc11 (Motorola /
Freescale)
•MSP430 (texas Instruments)
•ATmega328 (ATMEL)
•PIC16F628a (Microship)
Mas, onde está o arduino???
SOFTWARE
SOFTWARE:
Download:
https://www.arduino.cc/
en/Main/Software
PRINCIPAIS COMANDOS DA LINGUAGEM ARDUINO
1.pinMode(pino, modo):
• Sempre dentro da função setup
• Estabelece a direção do fluxo de informações em um determinado
pino do Arduino.
2.digitalRead(pino):
• Lê o estado lógico de um pino do Arduino que foi configurado
previamente como entrada.
3. digitalWrite(pino, valor):
• Essa função envia para pino um nível lógico alto ou baixo,
conforme especificado valor.
4.analogRead(pino):
• Lê o valor de um dos 6 pinos analógicos do Arduino, e retorna um
inteiro entre 0 e 1023 que representa o nível da tensão analógica
entre 0 e 5 volts presentes no pino especificado.
1.analogWrite(pino, valor):
• A função analogWrite gera uma onda quadrada onde
pode ser usada nos pinos PWM no Arduino (3,5,6,9,10 e
11).
2.delay(ms):
• Interrompe o programa que está sendo executado por um
período de tempo em milissegundos.
3.Serial.begin(taxa):
• Abre um canal entre o Arduino e um computador PC.
PRINCIPAIS COMANDOS DA LINGUAGEM ARDUINO
Protoboard
Tabela de resistência
PROTOBOAD
ARDUINO
10 FIOS JUMPERS
TRANSISTOR POT
LDR RESISTOR 4.7KΩ
3 LED’s
BOTÃO
LED BICLOR
CABO USB
MOTOR CC
CLIP BATERIA
4 X 220Ω
SERVO
BATERIA
•Objetivo –
Fazer um
led piscar
de 1 em 1
segundo.
•Montagem
1º projeto – olá
mundo!!
O que é um LED:
Um LED é
um emissor
semi-
condutor
que
converte
energia
elétrica em
energia
luminosa.
1º PROJETO-
Código
2º PROJETO –
LEITURA DIGITAL
•Objetivo:
Acender
um led ao
prescionar
o botão
•Montagem:
2º PROJETO – EXPLICAÇÃO DO HARDWARE
• Quando o botão é pressionado, o pino de entrada vai
para LOW. O resistor R1 limita a corrente do VCC que
passa pelo botão e vai pro GND.
• Quando o botão não é pressionado, o pino de entrada vai
para HIGH. O resistor R1 limita a tensão no pino de
entrada.
2º PROJETO -
CÓDIGO
2º PROJETO – DESAFIO
Faça a lógica de programação inversa.
Ao apertar o botão o led apague.
3º PROJETO – COMUNICAÇÃO SERIAL UART
• Objetivo: ligar
e desligar um
LED conectado
as saída digital
d Arduino
através de
comandos
enviados pelo
computador.
• Montagem:
3º PROJETO
– CÓDIGO
UART
Serial
Monitor –
ctrl + shift
+M
3º PROJETO –
APLICAÇÃO
O protocolo UART tem como principal função fazer a conversão de
dados paralelos para serial ou vice-versa, e envia os dados para outro
dispositivo
4º PROJETO –
Leitura
Analógica
Determinar a
leitura
analógica de
um
potenciômetro
através do
Serial monitor
O que é um potenciômetro
4º PROJETO – Código
3º PROJETO – APLICAÇÃO
Display LCD 3D printer
5º PROJETO– LDR E LEITURA ANALÓGICA
• Objetivo:
Fazer uma
leitura
analógica
de um
resistor que
varia com a
luz.
• Montagem :
5º PROJETO – O que é um LDR?
Quando a luz atinge o material
fotocondutor, ele perde a sua
resistência, permitindo que mais
corrente flua entre os eletrodos.
4º PROJETO – CÓDIGO
5º PROJETO – LDR. ONDE PODE SER USADO?
Automação Residencial – Controle de uma cort
6º PROJETO –
LED PWM
• Objetivo:
Controlar o
brilho do
LED através
do PWM.
• Montagem:
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.
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 –
CÓDIGO
Aplicação PWM
7º projeto – Controle de um motor cc
• Objetivo: Controlar a velocidade de um motor cc através do
potenciometro.
7º projeto – controle de um motor cc
• Explicação do hardware:
• Alimentado com 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.
7º 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.
7º 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 - código
7º Projeto - APLICAÇÃO
8º PROJETO – SERVOS
• Servomotores recebem um sinal de controle, verificam a
posição atual e atuam no sistema indo para a posição
desejada.
• O servo processa um pulso a cada 20 ms. O
comprimento do pulso determina a distância que o
motor gira.
8º PROJETO – CÓDIGO
8º PROJETO – APLICAÇÕES
DESAFIOS
• Controle o PWM de alguma carga (LED ou MOTOR CC)
através de um botão
• Mostre a velocidade do MOTOR CC através de 3 LED’s
• Controle mais de um SERVO com mais de um
POTENCIÔMETRO
• Controle várias cargas (LED’s e/ou servo e/ou motor)
usando UART
E agora????
LIVROS – DIGITAIS E EBOOKS
E agora????
www.arduino.cc

Mini curso Arduíno

  • 1.
  • 2.
    SUMÁRIO • Introdução aoArduino • Projetos: 1. Olá Mundo 2. Leitura digital 3. Comunicação UART 4. Leitura analógica 5. Barra LED’s com LDR 6. PWM 7. Controle de motor CC 8. Controle de Servos
  • 3.
    • Arduino éuma plataforma de prototipagem eletrônica open- source. (Hardware 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
  • 4.
  • 5.
    • 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
  • 6.
  • 7.
    • Hardware eprojetos de montagem disponíveis. • O software é também aberto. • Quem desejar, pode comprar os componentes e montar sua placa. • Mas..... • A marca arduino é registrada
  • 8.
    • Existem arduinosparalelos Introdução ao Arduino
  • 9.
  • 10.
    •O que éum microcontrolador? •Chip; •CPU de pequeno porte, capaz de executar um conjunto de instruções – Microprocessador; •Instruções simples e rápidas •Possui memória(s); •Possui e/ou pode comunicar com outros periféricos
  • 12.
    •Exemplos de microcontroladores •Família 8051(Intel ou ATMEL) •80C196KB (Intel) •68Hc11 (Motorola / Freescale) •MSP430 (texas Instruments) •ATmega328 (ATMEL) •PIC16F628a (Microship) Mas, onde está o arduino???
  • 13.
  • 14.
    PRINCIPAIS COMANDOS DALINGUAGEM ARDUINO 1.pinMode(pino, modo): • Sempre dentro da função setup • Estabelece a direção do fluxo de informações em um determinado pino do Arduino. 2.digitalRead(pino): • Lê o estado lógico de um pino do Arduino que foi configurado previamente como entrada. 3. digitalWrite(pino, valor): • Essa função envia para pino um nível lógico alto ou baixo, conforme especificado valor. 4.analogRead(pino): • Lê o valor de um dos 6 pinos analógicos do Arduino, e retorna um inteiro entre 0 e 1023 que representa o nível da tensão analógica entre 0 e 5 volts presentes no pino especificado.
  • 15.
    1.analogWrite(pino, valor): • Afunção analogWrite gera uma onda quadrada onde pode ser usada nos pinos PWM no Arduino (3,5,6,9,10 e 11). 2.delay(ms): • Interrompe o programa que está sendo executado por um período de tempo em milissegundos. 3.Serial.begin(taxa): • Abre um canal entre o Arduino e um computador PC. PRINCIPAIS COMANDOS DA LINGUAGEM ARDUINO
  • 16.
  • 17.
  • 18.
    PROTOBOAD ARDUINO 10 FIOS JUMPERS TRANSISTORPOT LDR RESISTOR 4.7KΩ 3 LED’s BOTÃO LED BICLOR CABO USB MOTOR CC CLIP BATERIA 4 X 220Ω SERVO BATERIA
  • 19.
    •Objetivo – Fazer um ledpiscar de 1 em 1 segundo. •Montagem 1º projeto – olá mundo!!
  • 20.
    O que éum LED: Um LED é um emissor semi- condutor que converte energia elétrica em energia luminosa.
  • 21.
  • 22.
    2º PROJETO – LEITURADIGITAL •Objetivo: Acender um led ao prescionar o botão •Montagem:
  • 23.
    2º PROJETO –EXPLICAÇÃO DO HARDWARE • Quando o botão é pressionado, o pino de entrada vai para LOW. O resistor R1 limita a corrente do VCC que passa pelo botão e vai pro GND. • Quando o botão não é pressionado, o pino de entrada vai para HIGH. O resistor R1 limita a tensão no pino de entrada.
  • 24.
  • 25.
    2º PROJETO –DESAFIO Faça a lógica de programação inversa. Ao apertar o botão o led apague.
  • 26.
    3º PROJETO –COMUNICAÇÃO SERIAL UART • Objetivo: ligar e desligar um LED conectado as saída digital d Arduino através de comandos enviados pelo computador. • Montagem:
  • 27.
  • 28.
    3º PROJETO – APLICAÇÃO Oprotocolo UART tem como principal função fazer a conversão de dados paralelos para serial ou vice-versa, e envia os dados para outro dispositivo
  • 29.
    4º PROJETO – Leitura Analógica Determinara leitura analógica de um potenciômetro através do Serial monitor
  • 30.
    O que éum potenciômetro
  • 31.
  • 32.
    3º PROJETO –APLICAÇÃO Display LCD 3D printer
  • 33.
    5º PROJETO– LDRE LEITURA ANALÓGICA • Objetivo: Fazer uma leitura analógica de um resistor que varia com a luz. • Montagem :
  • 34.
    5º PROJETO –O que é um LDR? Quando a luz atinge o material fotocondutor, ele perde a sua resistência, permitindo que mais corrente flua entre os eletrodos.
  • 35.
  • 36.
    5º PROJETO –LDR. ONDE PODE SER USADO? Automação Residencial – Controle de uma cort
  • 37.
    6º PROJETO – LEDPWM • Objetivo: Controlar o brilho do LED através do PWM. • Montagem:
  • 38.
    PWM – Pulsewidth modulation • Razão cíclica (duty cycle): define a tensão média aplicada: Pinos: 3, 5, 6, 9, 10, 11
  • 39.
    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. 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.
  • 40.
  • 41.
  • 42.
    7º projeto –Controle de um motor cc • Objetivo: Controlar a velocidade de um motor cc através do potenciometro.
  • 43.
    7º projeto –controle de um motor cc • Explicação do hardware: • Alimentado com 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.
  • 44.
    7º 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.
  • 45.
    7º 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!
  • 46.
  • 47.
    7º Projeto -APLICAÇÃO
  • 48.
    8º PROJETO –SERVOS • Servomotores recebem um sinal de controle, verificam a posição atual e atuam no sistema indo para a posição desejada. • O servo processa um pulso a cada 20 ms. O comprimento do pulso determina a distância que o motor gira.
  • 50.
  • 51.
    8º PROJETO –APLICAÇÕES
  • 52.
    DESAFIOS • Controle oPWM de alguma carga (LED ou MOTOR CC) através de um botão • Mostre a velocidade do MOTOR CC através de 3 LED’s • Controle mais de um SERVO com mais de um POTENCIÔMETRO • Controle várias cargas (LED’s e/ou servo e/ou motor) usando UART
  • 53.
    E agora???? LIVROS –DIGITAIS E EBOOKS
  • 54.