64
Minicurso: Getting Started - Arduino Mega 2560 R3 Prof. Gustavo Yoshio Maruyama 1

Slides minicurso Arduino - Arduino Day 2015

Embed Size (px)

Citation preview

Page 1: Slides minicurso Arduino - Arduino Day 2015

Minicurso: Getting Started - Arduino Mega 2560 R3Prof. Gustavo Yoshio Maruyama

1

Page 2: Slides minicurso Arduino - Arduino Day 2015

Apresentação

Gustavo Yoshio Maruyama

Professor no curso de Sistemas de Informação UFMS

[email protected]

Dener Alves Andrade

Acadêmico no curso de Sistemas de Informação UFMS

[email protected]

Angelino Caon

Técnico em Tecnologia da Informação UFMS

[email protected]

2

Page 3: Slides minicurso Arduino - Arduino Day 2015

Objetivo

Este minicurso tem como objetivo apresentar conceitosiniciais da prototipação com Arduino, bem comorealizar a leitura e manipulação de valores de sensorese outros componentes como o potenciômetro e chavemomentânea. Durante o curso será realizado algunspequenos projetos como um dimmer com sensor deluminosidade e um termômetro com display LCD.

3

Page 4: Slides minicurso Arduino - Arduino Day 2015

Programa

Parte 1Arduino

Protoboard

Acendendo Led

Funções setup(), loop() e delay()

Funções pinMode(), digitalWrite()

Resistor

Parte 2Escrevendo na Serial

Lendo sensor LDR (Luminosidade)

Lendo sensor LM35 (Temperatura)

Ler valor de potenciômetro

4

Page 5: Slides minicurso Arduino - Arduino Day 2015

Programa

Parte 3Dimmer com potenciômetro

Dimmer com sensor LDR

Parte 4Escrevendo no LCD

Termômetro

Utilizando chave momentânea

Piano com chave momentânea e Buzzer

5

Termômetro

Dimmer com LDR Piano

Page 6: Slides minicurso Arduino - Arduino Day 2015

Parte 1

6

Page 7: Slides minicurso Arduino - Arduino Day 2015

Arduino

Arduino é uma plataforma eletrônica de código abertobaseado em hardware e software de fácil utilização . Édestinado para qualquer pessoa que queira fazerprojetos interativos .

7

Page 8: Slides minicurso Arduino - Arduino Day 2015

Arduino

É possível prototipar e desenvolver vários tipos deprojetos eletrônicos, desde um simples circuito queacende leds, um robô complexo e até automatizar umacasa. A imaginação é o limite.

Protótipo robô seguidor de linha utilizando Arduinonano – experimento realizado na UFMS/CPCX

8

Page 9: Slides minicurso Arduino - Arduino Day 2015

Arduino Mega 2560 R39

Page 10: Slides minicurso Arduino - Arduino Day 2015

Configurando a IDE

Abra a IDE por meio de um ícone na área de trabalho ou na barra de tarefas:

10

Page 11: Slides minicurso Arduino - Arduino Day 2015

Configurando a IDE

Verifique se a placa selecionada é a Arduino Mega 2560

11

Page 12: Slides minicurso Arduino - Arduino Day 2015

Configurando a IDE

Verifique se a porta selecionada é a correspondente aoda instalação do arduino, no caso desse minicurso oarduino está instalado na porta COM4

12

Page 13: Slides minicurso Arduino - Arduino Day 2015

Protoboard

A protoboard é uma placa na qual podemos realizar um ensaio de um circuito eletrônico.

Facilita a inserção e remoção de componentes eletrônicos por não depender de solda.

Perfeito para nossos experimentos.

Protoboard Placa de circuito impresso

13

Page 14: Slides minicurso Arduino - Arduino Day 2015

Protoboard

Os “furos” são ligados da seguinte forma:

14

Page 15: Slides minicurso Arduino - Arduino Day 2015

Aviso

Antes de efetuar qualquer experimento desconecte oarduino da porta USB de seu computador. Sob risco dequeima de algum componente eletrônico ou até dopróprio arduino.

Ligue na porta USB apenas quando tiver certeza que o circuito está montado corretamente.

15

Page 16: Slides minicurso Arduino - Arduino Day 2015

Acendendo um Led

Led é um diodo emissor de luzPortanto não é uma lâmpada.

Operam com tensão de 1,1v a 4.0v

Possui polaridadeLado positivo: ÂNODO

Lado negativo: CÁTODO

16

Page 17: Slides minicurso Arduino - Arduino Day 2015

Acendendo um Led - Circuito6

GNDLed

Resistor 300 Ohms

17

Page 18: Slides minicurso Arduino - Arduino Day 2015

Acendendo um Led - Código18

Page 19: Slides minicurso Arduino - Arduino Day 2015

Compilação, Validação e Upload do programa

Compila e valida o código

Compila e faz o upload do programa para o arduino

19

Page 20: Slides minicurso Arduino - Arduino Day 2015

Compilação, Validação e Upload do programa

Se der tudo certo:

Se der tudo errado:

20

Page 21: Slides minicurso Arduino - Arduino Day 2015

Funções setup(), loop() e delay()

setup()Esta função é acionada quando o arduino é ligado.

Serve para definir configurações iniciais de portas.

loop()Esta função entra em execução logo após a função setup.

Toda vez que a função loop termina de ser executada, ela éexecutada novamente. Ou seja, um loop.

Nesta função é definida todo o código funcional de nossoprotótipo, como ligar uma porta, ler um sensor e outros.

delay(parâmetro)Esta função permite colocar um intervalo em milissegundosentre uma instrução e outra.

Recebe como parâmetro um valor inteiro

21

Page 22: Slides minicurso Arduino - Arduino Day 2015

Funções pinMode() e digitalWrite()

pinMode(parâmetro 1, parâmetro 2)Configura uma porta digital, podendo ela ser de entrada(INPUT) ou saída (OUTPUT)

Recebe no parâmetro 1 o número da porta digital, e no parâmetro 2 é definido se porta é de entrada(INPUT) ou saída(OUTPUT)

digitalWrite(parâmetro 1,parâmetro 2)Escreve na porta digital selecionada

Recebe no parâmetro 1 o número da porta digital, e no parâmetro 2 recebe um valor:

ligado(HIGH) ou desligado(LOW)

22

Page 23: Slides minicurso Arduino - Arduino Day 2015

Resistor

Resistores são utilizados para:Limitar corrente elétrica em um circuito (ampère)

Diminuir tensão (volts)

Unidade de medidaOmhs

Quanto maior seu valor, menor é limite de correnteelétrica, e maior é a queda de tensão.

Não possui polaridade

23

Page 24: Slides minicurso Arduino - Arduino Day 2015

Resistor

Resistores (de valores fixos) utilizados neste minicurso:

300 Ohms

10000 Ohms = 10k

3 0 0

1 0 000

24

Page 25: Slides minicurso Arduino - Arduino Day 2015

Resistor do Led

Tensão de saída de uma porta digital do arduino = 5v

Tensão de funcionamento do led vermelho = 1,8v

Corrente máxima do led = 0,02 A (20mA)

Qual resistor utilizar?

5v – 1,8v

0,02= 160 Ohms

• Não temos resistor de 160 Ohms em nosso kit, portanto foi utilizado o de 300 Ohms

• Não se pode utilizar um resistor de menor valor recomendado, pois o led pode queimar

• Caso utilize um resistor MUITO alto, o led não acenderá

25

Page 26: Slides minicurso Arduino - Arduino Day 2015

Parte 2

26

Page 27: Slides minicurso Arduino - Arduino Day 2015

Escrevendo na porta serialConfigura a taxa de dados por segundo (baud rate) para transmissão serial,Para comunicação com um computador é comum utilizar baud rate = 9600

Escreve na porta Serial, ou seja, envia um texto via usbdo arduino para o computador

27

Page 28: Slides minicurso Arduino - Arduino Day 2015

Escrevendo na porta serial

Dados enviados do arduino para o computador via USB

28

Page 29: Slides minicurso Arduino - Arduino Day 2015

Lendo sensor LDR (luminosidade)

É tipo de resistor variável.

Valor de resistência varia conforme a intensidade da luzque incide sobre ele.

Não tem polaridade

29

Page 30: Slides minicurso Arduino - Arduino Day 2015

Lendo sensor LDR - Circuito

GND5v A0

Sensor LDRResistor 10K

30

Page 31: Slides minicurso Arduino - Arduino Day 2015

Lendo sensor LDR - Código

Faz leitura de uma porta analógica

Valores lidos vão de 0 até 1023Quanto mais luz tiver, maior é o valorQuanto menos luz tiver, menor é o valor

31

Page 32: Slides minicurso Arduino - Arduino Day 2015

Lendo sensor LM35

Sensor de temperatura.

32

Page 33: Slides minicurso Arduino - Arduino Day 2015

Lendo sensor LM35 - Circuito

A05v GND

LM35

33

Page 34: Slides minicurso Arduino - Arduino Day 2015

Lendo sensor LM35 - Código

Transforma em graus célsius

34

Page 35: Slides minicurso Arduino - Arduino Day 2015

Lendo Potenciômetro

Resistor de valor regulável.

Utilização comum:Regulagem de volume de aparelhos de som

Divisor de tensão

Resistor utilizado 10k

GND

Saída

VCC

35

Page 36: Slides minicurso Arduino - Arduino Day 2015

Lendo Potenciômetro - Circuito

A05v GND

Potenciômetro

36

Page 37: Slides minicurso Arduino - Arduino Day 2015

Lendo Potenciômetro - Código

Gire o potenciômetro e veja o resultado

37

Page 38: Slides minicurso Arduino - Arduino Day 2015

Parte 3

38

Page 39: Slides minicurso Arduino - Arduino Day 2015

Dimmer com potenciômetro

Um dimmer tem como objetivo fazer com que aumenteou diminua a intensidade luminosa por meio de umpotenciômetro ou sensor, que auxilia nessa operação.

39

Page 40: Slides minicurso Arduino - Arduino Day 2015

Dimmer com potenciômetro -Circuito

5v A0GND

2

Potenciômetro

R 300 Ohms

Led BrancoAlto brilho

40

Page 41: Slides minicurso Arduino - Arduino Day 2015

Dimmer com potenciômetro -Código

Gire o potenciômetro e veja o resultado

• O valor lido pelo potenciômetrovai de 0 até 1023.

• Porém o uma porta pwm sópode receber valores de 0 até255.

• Nesta linha o valor lido dopotenciômetro é convertidopara um valor valido pwm.

• Atribuição do valor convertidodo potenciômetro para a portado led

41

Page 42: Slides minicurso Arduino - Arduino Day 2015

Dimmer com LDR- Circuito42

Page 43: Slides minicurso Arduino - Arduino Day 2015

Dimmer com LDR- Circuito

5v A0GND

2

R 300 Ohms

Led BrancoAlto brilho

R 10k

Sensor LDR

43

Page 44: Slides minicurso Arduino - Arduino Day 2015

Dimmer com LDR- Código

Faça sombra no sensor LDR

44

Page 45: Slides minicurso Arduino - Arduino Day 2015

Parte 4

45

Page 46: Slides minicurso Arduino - Arduino Day 2015

Escrevendo no LCD

Display LCD

Dispositivo de saída (Mostra informação para o usuário)

46

Page 47: Slides minicurso Arduino - Arduino Day 2015

Escrevendo no LCD - Circuito47

Page 48: Slides minicurso Arduino - Arduino Day 2015

Escrevendo no LCD - Circuito

5V GND

48

Page 49: Slides minicurso Arduino - Arduino Day 2015

Escrevendo no LCD - Circuito12

11

49

Page 50: Slides minicurso Arduino - Arduino Day 2015

Escrevendo no LCD - Circuito

2345

50

Page 51: Slides minicurso Arduino - Arduino Day 2015

Escrevendo no LCD - Código51

Page 52: Slides minicurso Arduino - Arduino Day 2015

Termômetro52

Page 53: Slides minicurso Arduino - Arduino Day 2015

Termômetro - Circuito53

Page 54: Slides minicurso Arduino - Arduino Day 2015

Termômetro - Circuito54

Page 55: Slides minicurso Arduino - Arduino Day 2015

Termômetro - Circuito55

Page 56: Slides minicurso Arduino - Arduino Day 2015

Termômetro - Código56

Page 57: Slides minicurso Arduino - Arduino Day 2015

Chave momentâneaTambém chamada de push button ou micro chave.

A chave momentânea utilizada no minicurso possui 4 pinos.

Pinos são divididos em dois pares.

Os pinos de um par tem contato permanente. Porém não há contato entre os pares.

Quando o botão é pressionado os pares se conectam fechando o circuito.

Quando o botão é solto, os pares se desconectam.

57

Page 58: Slides minicurso Arduino - Arduino Day 2015

Chave momentânea - Circuito58

5V GND

2

Chave

R 10K

Page 59: Slides minicurso Arduino - Arduino Day 2015

Chave momentânea - Código59

Aperte o botão da chave e veja o resultado

Page 60: Slides minicurso Arduino - Arduino Day 2015

Piano com chave momentânea e Buzzer

60

Page 61: Slides minicurso Arduino - Arduino Day 2015

Piano com chave momentânea e Buzzer -Circuito

61

5V GND

234

Chave

R 10K

Page 62: Slides minicurso Arduino - Arduino Day 2015

Piano com chave momentânea e Buzzer - Circuito

62

10

Buzzer

Page 63: Slides minicurso Arduino - Arduino Day 2015

Piano com chave momentânea e Buzzer - Código

63

Aperte os botões e escute o resultado

Porta do Buzzer

Porta dos botões

Page 64: Slides minicurso Arduino - Arduino Day 2015

Final – Explore outros sensores e componentes

64

Sensor ultra sônicoSensor de umidade Pastilha piezoeléctrica Sensor reflexivo

Servo motor Motor de passoMotor dc

Bluetooth Acelerômetro