mini curso arduíno

54
Mini Curso Arduino - Básico Felipe Amaral

Upload: tiago-de-oliveira

Post on 26-Jan-2017

41 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Mini curso Arduíno

Mini Curso Arduino - Básico

Felipe Amaral

Page 2: Mini curso Arduíno

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

Page 3: Mini curso Arduíno

• 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

Page 4: Mini curso Arduíno

Introdução ao Arduino

Page 5: Mini curso Arduíno

• 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

Page 6: Mini curso Arduíno

Esquemático Arduino

Page 7: Mini curso Arduíno

• 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

Page 8: Mini curso Arduíno

• Existem arduinos paralelos

Introdução ao Arduino

Page 9: Mini curso Arduíno

Arduino

Page 10: Mini curso Arduíno

•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

Page 11: Mini curso Arduíno
Page 12: Mini curso Arduíno

•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???

Page 13: Mini curso Arduíno

SOFTWARE

SOFTWARE: Download: https://www.arduino.cc/en/Main/Software

Page 14: Mini curso Arduíno

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.

Page 15: Mini curso Arduíno

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

Page 16: Mini curso Arduíno

Protoboard

Page 17: Mini curso Arduíno

Tabela de resistência

Page 18: Mini curso Arduíno

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

Page 19: Mini curso Arduíno

•Objetivo – Fazer um led piscar de 1 em 1 segundo.

•Montagem

1º projeto – olá mundo!!

Page 20: Mini curso Arduíno

O que é um LED:

Um LED é um emissor semi-condutor que converte energia elétrica em energia luminosa.

Page 21: Mini curso Arduíno

1º PROJETO- Código

Page 22: Mini curso Arduíno

2º PROJETO – LEITURA DIGITAL

•Objetivo: Acender um led ao prescionar o botão

•Montagem:

Page 23: Mini curso Arduíno

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.

Page 24: Mini curso Arduíno

2º PROJETO - CÓDIGO

Page 25: Mini curso Arduíno

2º PROJETO – DESAFIO

Faça a lógica de programação inversa. Ao apertar o botão o led apague.

Page 26: Mini curso Arduíno

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:

Page 27: Mini curso Arduíno

3º PROJETO – CÓDIGO UART

Serial Monitor – ctrl + shift +M

Page 28: Mini curso Arduíno

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

Page 29: Mini curso Arduíno

4º PROJETO – Leitura Analógica

Determinar a leitura analógica de um potenciômetro através do Serial monitor

Page 30: Mini curso Arduíno

O que é um potenciômetro

Page 31: Mini curso Arduíno

4º PROJETO – Código

Page 32: Mini curso Arduíno

3º PROJETO – APLICAÇÃO

Display LCD 3D printer

Page 33: Mini curso Arduíno

5º PROJETO– LDR E LEITURA ANALÓGICA

• Objetivo: Fazer uma leitura analógica de um resistor que varia com a luz.

• Montagem :

Page 34: Mini curso Arduíno

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.

Page 35: Mini curso Arduíno

4º PROJETO – CÓDIGO

Page 36: Mini curso Arduíno

5º PROJETO – LDR. ONDE PODE SER USADO?

Automação Residencial – Controle de uma cortina

Page 37: Mini curso Arduíno

6º PROJETO – LED PWM

• Objetivo: Controlar o brilho do LED através do PWM.

• Montagem:

Page 38: Mini curso Arduíno

PWM – Pulse width modulation

• Razão cíclica (duty cycle): define a tensão média aplicada:

Pinos: 3, 5, 6, 9, 10, 11

Page 39: Mini curso Arduíno

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.

Page 40: Mini curso Arduíno

6º PROJETO – CÓDIGO

Page 41: Mini curso Arduíno

Aplicação PWM

Page 42: Mini curso Arduíno

7º projeto – Controle de um motor cc • Objetivo: Controlar a velocidade de um motor cc através do

potenciometro.

Page 43: Mini curso Arduíno

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.

Page 44: Mini curso Arduíno

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.

Page 45: Mini curso Arduíno

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!

Page 46: Mini curso Arduíno

7º Projeto - código

Page 47: Mini curso Arduíno

7º Projeto - APLICAÇÃO

Page 48: Mini curso Arduíno

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.

Page 49: Mini curso Arduíno
Page 50: Mini curso Arduíno

8º PROJETO – CÓDIGO

Page 51: Mini curso Arduíno

8º PROJETO – APLICAÇÕES

Page 52: Mini curso Arduíno

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

Page 53: Mini curso Arduíno

E agora????

LIVROS – DIGITAIS E EBOOKS

Page 54: Mini curso Arduíno

E agora????

www.arduino.cc