Post on 09-Dec-2018
1
Professores: Sonia Guimarães soniagui@ita.br
Douglas Leite prof.dmgl@gmail.com
Monitoras: Larissa chazfisica@gmail.com
Flávia rocha.pereira.flavia@gmail.com
IEF/Física – Sala 2650
Disciplina: Laboratório de Fis26 www.fis.ita.br/labfis26
2
Conteúdo
3
Origem
4
Criadores
5
O que é?
.
7
Como usar...
8
Linguagem
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
9
Como funciona?
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
13
PWM – Pulse Width Modulation
14
PWM – Pulse Width Modulation
15
Hardware
16
Hardware
17
Hardware
USB
18
Características do Arduino UNO
19
Arquitetura do Arduino UNO
20
Software
21
Software
.
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
23
Ciclo de funcionamento do Arduino
24
Funções base do Arduino
void setup(){
pinMode(13, OUTPUT);
}
25
Funções base do Arduino
.
void loop(){
digitalWrite (13, HIGH);
delay (1000);
digitalWrite (13, LOW);
delay (1000);
}
26
Declaração de variáveis no Arduino
27
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.
29
Constantes do Arduino
TRUE –
FALSE –
HIGH –
LOW –
INPUT –
OUTPUT –
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()
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
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
33
Funções básicas e de referência do Arduino
34
Kit Arduino
35
Kit Arduino - Protoboard
36
Funcionamento de uma Protoboard
Trilhas que
não estão
conectadas
37
Componetes eletrônicos e elétricos do Kit Arduino
38
Componetes eletrônicos e elétricos do Kit Arduino
39
Funcionalidades do Arduino
40
5
1,6
20 𝑚𝐴
𝑅 (Ω)𝑈 (𝑉)𝑖 (𝐴)
𝑈 = 𝑅 . 𝑖 𝑅 = 𝑈 / 𝑖 𝑅 = (5,0 – 1,6) / 0,020
𝑅 = 3,4
0,020 𝑅 = 170Ω 𝑈𝑡𝑖𝑙𝑖𝑧𝑎𝑟 𝑟𝑒𝑠𝑖𝑠𝑡𝑜𝑟 170Ω
Trabalhando com o Arduino
41
Medindo resistência
42
Definindo polaridade do LED
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)
}
45
Fazendo o Arduino funcionar
46
Semáforo
: Altere o programa anterior para 3 LEDs piscarem
sequencialmente.
47
Código do Semáforo 1
48
Código do Semáforo 2
49
Gerenciando um LCD com um I2C
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
52
Monitor Serial
53
LDR
LDR
(CdS) (CdSe);
LDR
Trabalhando com sensor de luz - LDR
54
: Acender o LED quando o ambiente estiver escuro e
apagar o LED quando o ambiente estiver claro.
Trabalhando com sensor de luz - LDR
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);
}
56
Vcc Gnd
Potenciômetro
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
58
Função map() do Arduino
59
Código do Potenciômetro