Академический Документы
Профессиональный Документы
Культура Документы
11/04/2018
Campus Mossoró, Eng Msc Kleber Jacinto
12/04/2018 1
Arduino
hardware
12/04/2018 2
Arduino
Hardware
Oficiais
12/04/2018 3
Arduino
Hardware
Clones
12/04/2018 4
Arduino
Hardware
Clones
12/04/2018 5
Arduino
Hardware
Clones
12/04/2018 6
Arduino
Hardware
Clones
12/04/2018 7
Arduino
Hardware
Clones
12/04/2018 8
Arduino
Hardware
Clones
12/04/2018 9
Arduino
Hardware
Clones
12/04/2018 10
Arduino
Hardware
Clones
12/04/2018 11
Arduino
Hardware
Componentes
https://www.circuitar.com.br/tutoriais/esquema-eletrico-do-arduino-o-guia-definitivo/
12/04/2018 12
Arduino
Hardware
Shields
12/04/2018 13
Arduino
Hardware
Shields
12/04/2018 14
Arduino
Hardware
Shields
12/04/2018 15
Arduino
Software
12/04/2018 16
Arduino
Software
IDE
Ardublock
https://www.circuitar.com.br/tutoriais/ardublock-programacao-grafica-para-arduino/
12/04/2018 18
Arduino
Software
Programino
http://programino.com/download-programino-ide-for-arduino.html
12/04/2018 19
Arduino
Software
Codeblocks
http://arduinodev.com/codeblocks/#download
12/04/2018 20
Arduino
Software
fritzing
http://fritzing.org/download/
12/04/2018 21
Arduino
Software
Programação
void setup() {
// Inicialização: este código roda apenas uma vez
void loop() {
// Repetição: este código rodara indefinidamente
12/04/2018 22
Arduino
Software
Programação
Operadores Aritméticos
% (módulo)
* (multiplicação)
+ (adição)
- (subtração)
/ (divisão)
= (operador de atribuição)
12/04/2018 23
Arduino
Software
Programação
Operadores de Comparação
!= (diferente de)
< (menor que)
<= (menor que ou igual a)
== (igual a)
> (maior que)
>= (maior que ou igual a)
12/04/2018 24
Arduino
Software
Programação
Operadores Boleanos
! (NÃO lógico)
&& (E lógico)
|| (OU lógico)
12/04/2018 25
Arduino
Software
Programação
Constantes
Constantes
Constantes Inteiras
Constantes de Ponto Flutuante
12/04/2018 26
Arduino
Software
Programação
Tipos de Dados
String()
bool
boolean
byte
char
double
float
int
long
short
string
unsigned char
unsigned int
unsigned long
vetor
void
word
12/04/2018 27
Arduino
Software
Programação
12/04/2018 28
Arduino
Software
Programação
12/04/2018 29
Arduino
Software
Programação
12/04/2018 30
Arduino
Software
Programação
12/04/2018 31
Arduino
Software
Programação Exemplos
const int analogPin = A0;
const int ledPin = 13;
const int threshold = 400;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
int analogValue = analogRead(analogPin);
if (analogValue > threshold) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
Serial.println(analogValue);
delay(1);
}
12/04/2018 32
Arduino – Entradas e Saídas
Conversando com o mundo exterior
12/04/2018 33
Arduino – Entradas e saídas
Configuração e funcionalidades
Portas
Digitais
~ PWM
Portas
Analógicas
12/04/2018 34
Arduino – Entradas e saídas
Configuração e funcionalidades
Sinais digitais
12/04/2018 35
Arduino – Entradas e saídas
Configuração e funcionalidades
Sinais Analógicos
12/04/2018 36
Arduino – Entradas e saídas
Configuração e funcionalidades
Portas digitais
• 13 pinos: entradas ou saídas. Padrão: entradas
• Como entrada: Estado de alta impedância (para efeito prático, resistência),
equivalente a um resistor de 100 MegaOhms em serie com o circuito a ser
monitorado. O pino absorve uma corrente muito baixa do circuito que está
monitorando.
• É necessário colocar um resistor de pull up (ligado a +5V) ou um resistor de
pull down (ligado a GND). Valor comum para o resistor: 10Ω
12/04/2018 37
Arduino – Entradas e saídas
Configuração e funcionalidades
Portas digitais
• ATmega328 possui resistores de pull up internos (20KΩ)
• Como saída: baixa impedância.
• O pino pode fornecer ou drenar corrente para um circuito externo.
• Corrente máxima de um pino: 40 mA
• Soma das correntes de todos os pinos: 200 mA.
• Curto-circuitos: dano permanente.
12/04/2018 38
Arduino – Entradas e saídas
Configuração e funcionalidades
Parâmetros:
pino: Número correspondente ao pino que se deseja configurar, conforme a
placa que está trabalhando. No caso da Arduino UNO pode ser de 0 a 13;
Sintaxe:
digitalRead(pino);
Parâmetros:
pino: valor correspondente ao pino que se deseja ler.
Retorno:
HIGH ou LOW.
12/04/2018 40
Arduino – Entradas e saídas
Configuração e funcionalidades
Sintaxe:
digitalWrite(pino, valor)
Parâmetros:
pino: Número correspondente ao pino;
valor: HIGH OU LOW
12/04/2018 41
Arduino – Entradas e saídas
Configuração e funcionalidades
• Valores: 0 a 5V
• Representação: 8 bits – 0 a 255
• frequência:
• 490 Hz nos pinos 3, 9 10 e 11
• 980 Hz nos pinos 5 e 6
• Aplicações:
controle de velocidade de motores;
variação da luminosidade de leds;
geração de sinais analógicos;
geração de sinais de áudio.
12/04/2018 43
Arduino – Entradas e saídas
Configuração e funcionalidades
analogWrite();
Escreve um valor analógico numa porta digital. Não há conversão Analógico-
digital.
Sintaxe:
analogWrite(pino, valor);
Parâmetros:
Pino: corresponde ao pino que será gerado o sinal PWM;
Valor: corresponde ao duty cycle, ou seja, o valor que permanecerá em nível
alto o sinal. Entre 0 e 255.
12/04/2018 44
Arduino – Entradas e saídas
Configuração e funcionalidades
Portas Analógicas
12/04/2018 45
Arduino – Entradas e saídas
Configuração e funcionalidades
Sintaxe:
analogReference(tipo);
Parâmetros:
tipo:
DEFAULT: a tensão padrão para conversão é a tensão de alimentação da placa. 5 V para
placas alimentadas com 5 V e 3,3 V para placas alimentadas com 3,3 V;
INTERNAL: referência interna de 1,1V no Atmega168 e Atmega328, e 2,56 V no
ATmega8;
INTERNAL1V1: referência de 1,1V, apenas no Arduino Mega;
INTERNAL2V56: referência interna de 5,6 V, apenas no Arduino Mega;
EXTERNAL: referência de tensão aplicada no pino AREF (valor entre 0 e 5V).
12/04/2018 46
Arduino – Entradas e saídas
Configuração e funcionalidades
Sintaxe:
analogRead(pino);
Parâmetros:
pino: valor do pino configurado como entrada analógica (0 a 5 na maioria da
placas, 0 a 7 na MINI e NANO, 0 a 15 na MEGA).
Retorno
int (0 a 1023)
12/04/2018 47
Arduino – Entradas e saídas
Configuração e funcionalidades
Potenciômetro
Configurado como um divisor de tensão pode “fornecer” a variação de tensão
que simule um sensor.
= .
+
12/04/2018 48
Arduino – Entradas e saídas
Configuração e funcionalidades
Potenciômetro
Configurado como um divisor de tensão pode “fornecer” a variação de tensão
que simule um sensor.
Vin
Vout
GND
12/04/2018 49
Estudem!
12/04/2018 50