disciplina: laboratório de fis26  · 12 hardware 14 pinos digitais i/o (06 pwm – pulse width...

59
1 Professores: Sonia Guimarães [email protected] Douglas Leite [email protected] Monitoras: Larissa [email protected] Flávia [email protected] IEF/Física – Sala 2650 Disciplina: Laboratório de Fis26 www.fis.ita.br/labfis26

Upload: trinhxuyen

Post on 09-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

2

Conteúdo

Page 3: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

3

Origem

Page 4: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

4

Criadores

Page 5: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

5

O que é?

.

Page 6: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

6

O que é?

Page 7: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

7

Como usar...

Page 8: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

8

Linguagem

void setup(){

pinMode(13, OUTPUT);

}

void loop(){

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

}

Page 9: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

9

Como funciona?

Page 11: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

11

Microcontrolador

ATmega328 data sheet

Page 12: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

12

Hardware

14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation)

Usados para detecção

ou transmissão de con-

troles digitais.

06 Pinos Analógicos Pinos de

alimentação

Microcontrolador

Porta USB –

Universal Serial Bus

Usados para leituras de

sinais de sensores. Usados para ali-

mentação de circui-

tos externos.

Usada para comu-

nicação serial com o

computador.

Alimentação

Externa

Usada para alimentar

o hardware com uma

fonte externa. Ex.:

Bateria de 9V

Atmega 328

Page 13: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

13

PWM – Pulse Width Modulation

Page 14: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

14

PWM – Pulse Width Modulation

Page 15: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

15

Hardware

Page 16: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

16

Hardware

Page 17: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

17

Hardware

USB

Page 18: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

18

Características do Arduino UNO

Page 19: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

19

Arquitetura do Arduino UNO

Page 20: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

20

Software

Page 21: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

21

Software

.

Page 22: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

22

Barra de status

Gravar o programa na placa

Verificar se o programa tem algum problema

Novo programa

Abrir programa

Salvar programa

Sketch - Área de programação

Menu principal

Monitor Serial

Page 23: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

23

Ciclo de funcionamento do Arduino

Page 24: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

24

Funções base do Arduino

void setup(){

pinMode(13, OUTPUT);

}

Page 25: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

25

Funções base do Arduino

.

void loop(){

digitalWrite (13, HIGH);

delay (1000);

digitalWrite (13, LOW);

delay (1000);

}

Page 26: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

26

Declaração de variáveis no Arduino

Page 27: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

27

Page 28: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

28

Estrutura da Linguagem do Arduino

Símbolos:

Dentro das chaves vão os procedimentos que a função deve executar;

O ponto e vírgula é usado para marcar o final do procedimento;

Comentário de uma linha;

Comentário em várias linhas.

Page 29: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

29

Constantes do Arduino

TRUE –

FALSE –

HIGH –

LOW –

INPUT –

OUTPUT –

Page 30: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

30

Funções básicas e de referência do Arduino

I/O

pinMode()

digitalWrite()

digitalRead()

analogWrite()-PWM

pulseln()

I

analogRead()

I/O

tone()

noTone()

shiftOut()

pulseIn()

millis()

micros()

delay()

delayMicrosecond()

min()

max()

abs()

constrain()

map()

pow()

sqrt()

Page 31: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

31

sin()

cos()

tan()

randomSeed()

random()

attachInterrupt()

detachInterrupt()

interrupts()

noInterrupts()

lowByte()

highByte()

bitRead()

bitWrite()

bitSet()

bitClear()

bit()

Funções básicas e de referência do Arduino

Page 32: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

32

attachInterrupt()

detachInterrupt()

interrupts()

noInterrupts()

Serial.print()

Seiral.println()

Serial.read()

Serial.begin()

Serial.available()

Serial.end()

if

if...else

if...else...if

while

do...while

for

switch...case

Funções básicas e de referência do Arduino

Page 33: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

33

Funções básicas e de referência do Arduino

Page 34: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

34

Kit Arduino

Page 35: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

35

Kit Arduino - Protoboard

Page 36: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

36

Funcionamento de uma Protoboard

Trilhas que

não estão

conectadas

Page 37: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

37

Componetes eletrônicos e elétricos do Kit Arduino

Page 38: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

38

Componetes eletrônicos e elétricos do Kit Arduino

Page 39: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

39

Funcionalidades do Arduino

Page 40: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

40

5

1,6

20 𝑚𝐴

𝑅 (Ω)𝑈 (𝑉)𝑖 (𝐴)

𝑈 = 𝑅 . 𝑖 𝑅 = 𝑈 / 𝑖 𝑅 = (5,0 – 1,6) / 0,020

𝑅 = 3,4

0,020 𝑅 = 170Ω 𝑈𝑡𝑖𝑙𝑖𝑧𝑎𝑟 𝑟𝑒𝑠𝑖𝑠𝑡𝑜𝑟 170Ω

Trabalhando com o Arduino

Page 41: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

41

Medindo resistência

Page 42: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

42

Definindo polaridade do LED

Page 43: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

43

Fazer o LED piscar

Page 44: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

44

Código do LED piscando -----------------------------------

//Ligar e desligar um LED por um segundo

//------------------------------------

//Função principal

//------------------------------------

void setup() // Executa-se quando o arduino é ligado

{

pinMode(12,OUTPUT); // Inicializa o pin 12 como uma //saída

}

//------------------------------------

//Função repetitiva

//------------------------------------

void loop() // Esta função executa-se o instante todo

// quando está ligado o Arduino

{ digitalWrite(12,HIGH); // Liga o LED

delay(1000); // Temporiza um segundo (1s = 1000ms)

digitalWrite(12,LOW); // Desliga o LED

delay(1000); // Temporiza um segundo (1s = 1000ms)

}

Page 45: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

45

Fazendo o Arduino funcionar

Page 46: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

46

Semáforo

: Altere o programa anterior para 3 LEDs piscarem

sequencialmente.

Page 47: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

47

Código do Semáforo 1

Page 48: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

48

Código do Semáforo 2

Page 49: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

49

Gerenciando um LCD com um I2C

Page 50: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

50

Gerenciando um LCD com um I2C

Page 51: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

51

Código do gerenciamento um LCD com um I2C, com Monitor Serial

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

// Inicializa o display no endereco 0x3F

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6,

7, 3, POSITIVE);

void setup(){

lcd.begin (16, 2);

Serial.begin(9600);

}

void loop()

{

lcd.setBacklight (HIGH);

lcd.setCursor (0,0);

lcd.print ("Arduino e Cia !!");

lcd.setCursor (0,1);

lcd.print ("LCD e modulo I2C");

delay (1000);

lcd.setBacklight (LOW);

delay (1000);

Serial.println("Arduino e Cia !!");

Serial.println("Monitor Serial !!");

}

CÓDIGO: DISPLAY LCD/MÓDULO I2C com Monitor serial

Page 52: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

52

Monitor Serial

Page 53: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

53

LDR

LDR

(CdS) (CdSe);

LDR

Trabalhando com sensor de luz - LDR

Page 54: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

54

: Acender o LED quando o ambiente estiver escuro e

apagar o LED quando o ambiente estiver claro.

Trabalhando com sensor de luz - LDR

Page 55: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

55

Código do LDR

int ledpin = 10;

int LDRpin = A5;

void setup() {

pinMode (ledpin, OUTPUT);

Serial.begin(9600);

}

void loop() {

int estado = analogRead(LDRpin);

if (estado > 1000)

{

digitalWrite(ledpin, HIGH);

}

else

{

digitalWrite(ledpin, LOW);

}

Serial.println(estado);

}

Page 56: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

56

Vcc Gnd

Potenciômetro

Page 57: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

57

: Monte um circuito para regular a intensidade do LED

com o potenciômetro. Observe:

Utilize uma porta PWM como entrada do LED.

Utilize a função “map()” do Arduino para converter os valores de

entrada do potenciômetro nos valores de saída para o LED.

Potenciômetro

Page 58: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

58

Função map() do Arduino

Page 59: Disciplina: Laboratório de Fis26  · 12 Hardware 14 Pinos Digitais I/O (06 PWM – Pulse Width Modulation) Usados para detecção ou transmissão de con-troles digitais. Pinos de

59

Código do Potenciômetro