Mini Curso Arduino - BásicoFacilitadores: Felipe Amaral e Yuri Guedes
SUMÁRIO• Introdução ao Arduino• Projetos:
1. Olá Mundo2. Leitura digital 3. Comunicação UART4. Leitura analógica5. Barra LED’s com LDR6. PWM7. Controle de motor CC
•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
• 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!!
• Existem arduinos paralelos
Introdução ao Arduino
• Ou você pode criar o seu próprio arduino.
Arduino Duemilanove
•O que é um microcontrolador?•Chip;•CPU de pequeno porte, capaz de execitar 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???
SOFTWARESOFTWARE:
Download: https://www.arduino.cc/en/Main/Software
PRINCIPAIS COMANDOS DA LINGUAGEM ARDUINO1.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 calor 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
Um pouco de eletrônica
•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
Pull UP
Pull DOWN
Resistores de pull up e pull down:
2º PROJETO - CÓDIGO
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
4º PROJETO – Leitura AnalógicaDeterminar 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 dealimentaçã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 paraacionar 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
E agora????
LIVROS – DIGITAIS E EBOOKS
Mini Cursos - PET
Básico – Interface gráfica –Matlab e Arduino
Arduino Básico – Intermediário - Avançado
PIC