Mini curso Arduíno
-
Upload
tiago-de-oliveira -
Category
Technology
-
view
41 -
download
1
Transcript of Mini curso Arduíno
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)
•Cortex M3 (ARM)
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 cortina
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