19
1º Workshop – Introdução ao Arduino Setembro 2015 Hack’Aveiro Casa da Juventude de Aveiro

Hack'Aveiro - 1º workshop - Introdução ao Arduino

Embed Size (px)

Citation preview

Page 1: Hack'Aveiro - 1º workshop - Introdução ao Arduino

1º Workshop – Introdução ao Arduino

Setembro 2015Hack’Aveiro

Casa da Juventude de Aveiro

Page 2: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 2

O que é o Arduino?• Uma placa de circuito impresso• Um software para programar• É um movimento criado em 2005 por Massimo Banzi e David

Cuartielles• Plataforma de hardware open-source• Ambiente de desenvolvimento open-source• Mais info https://www.arduino.cc

Page 3: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 3

Para que serve o Arduino?• Prototipagem rápida• Artistas e Hackers

• Aprendizagem de Eletrónica e Informática• Estudantes e Hobistas

Page 4: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 4

Placas Arduino

Page 5: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 5

Arduino• Microcontrolador ATMEL – ATmega328p, ...• Voltagem 3.3v, 5v, 7-12v• Corrente máxima por pin: 40mA• Regulador de Tensão• Portas

• Serie (via USB)• Digitais• Analogicas (10bit ADC)• Interrupts• Pulse Width Modulation (PWM)• LED Built-in

Page 6: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 6

Como programar• Fazer download do IDE

• http://arduino.cc/en/Guide/HomePage

• Ligar a placa ao computador através de um cabo USB• Se necessário, instalar os drivers• Executar o Arduino IDE• Selecionar a placa• Selecionar a porta de serie• Abrir o exemplo “Blink program”• Carregar o programa para a placa

Page 7: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 7

Configuração do IDE Arduino

Page 8: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 8

Processo de desenvolvimento

Escrever Sketch Compilar Upload

Page 9: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 9

1º Programa – Olá Mundo

Page 10: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 10

Aquisição de Sinais (Analógico e Digital)• A natureza é analógica

• O microcontrolador é digital

• Converção entre sinais• ADC – Analog to Digital Converter• DAC – Digital to Analog Converter

• Arduino possui portas distintas• A0, A1, A2, A3, ... – Ligadas a ADC• D0, D1, D2, D3, ... – Aquisição digital (0/1)

Configuração da porta:

pinMode(pin, mode) – pin é o numero e mode é INPUT ou OUTPUTdigitalRead(pin)digitalWrite(pin, value) – value é HIGH ou LOW (1 ou 0)

Image from:http://www.thefoa.org/tech/ref/OSP/OSPdatalink.htmlhttp://www.ntu.edu.sg/home/eomchai/www.ntu.edu.sg/home/yanggao/EEEWorkshop/workshop.html

Page 11: Hack'Aveiro - 1º workshop - Introdução ao Arduino

11

2º Programa

Hack'Aveiro 2015

Page 12: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 12

LED’s• Light-Emitting Diode

• Apenas emite luz quando o ânodo (+) tem um potencial superior ao cátodo (-) na ordem dos 2-3,5volts.

• O cátodo tem uma “perna” mais curta, ou o seu lado encontra-se lascado.

• Uma corrente elevada pode danificar o LED• Colocar sempre uma resistência em serie

Image from:http://www.ntu.edu.sg/home/eomchai/www.ntu.edu.sg/home/yanggao/EEEWorkshop/workshop.html

Page 13: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 13

3º Programa1. Construa o circuito

2. Escreva um programa que utilize uma porta digital para ler o valor do botão. Imprima o valor do botão no ecrã:Serial.println(valor_lido);

3. Se o botão for pressionado (valor digital = 1) então ligar o LED utilizando outra porta digital

Descodificador de Resistencias:http://www.hobby-hour.com/electronics/resistorcalculator.php

Page 14: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 14

Analógico para Digital• Converter um unidade analógica

em digital no Arduino:• 10-bit – significa que um valor

entre 0 e 5v é convertido num valor entre 0 e 1023.• Velocidade de amostragem 10kHz

analogRead(pin) – pin é o numero (A0, A1, A2, ...)

Page 15: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 15

4º Programa1. Construa o circuito

2. Escreva um programa que utilize uma porta analogica para ler o valor do potenciometro. Imprima o valor do botão no ecrã:Serial.println(valor_lido);

3. Se o valor lido for superior a um valor X (ex. 200), então ligar o led.

Page 16: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 16

Digital para Analógico• Arduino não produz sinais analógicos nem tensões

intermédia (0v-5v)

• PWM (Pulse-Width Modulation) permite “enganar” a realidade• Sinal digital• onda quadrada de frequência constante

Configuração da porta:

analogWrite(pin, dutyCycle) – pin é o numero e dutyCycle é um valor [0, 255]

• Como converter uma posição de um intervalo para a mesma posição em intervalo distinto.

novoValor = map(valor, 0, 1024, 0, 255)converte valor compreendido em [0, 1024] em novoValor compreendido em [0, 255]

Page 17: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 17

5º Programa1. Construa o circuito com base no circuito

anterior

2. Em vez de ligar e desligar o LED, vamos controlar a intensidade do mesmo.

Page 18: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 18

Imaginação é o Limite!

Pressão Temp/Hum Com. Radio Bluetooth Ethernet

Relay Servo Motor Fluxo CO2, CO, etc

LCD

Movimento

E MUITOS MAIS!!!!

Page 19: Hack'Aveiro - 1º workshop - Introdução ao Arduino

Hack'Aveiro 2015 19

Obrigado!

Brevemente:- Workshop Intermédio (I2C, Sensores)