Introdução ao Arduino
1
O que é Arduino?
AgendaPráticas
a. Especificações Técnicas a. Acender Led
b. Como ele se comunica? b. Piscar Led
c. O que ele faz? c. Comunicação Serial
d. Tipos de placas
Uso e Interações
a. O que eu posso fazer?
b. O que são os Shields?
c. Como usar Shields?
Especificações
Como Programá-lo
a. O Programa
b. Estrutura básica de um firmware do
Arduino
c. Entendendo o programa
i. funções básicas
d. Comunicação Serial
2
O que é Arduino?genda
O Arduino é uma plataforma de
prototipagem eletrônica open-source
que se baseia em hardware e software
flexíveis e fáceis de usar.
Nasceu em 2005 a partir de um projeto
inicado na cidade de Ivrea situada na
Itália.
Site oficial: https://www.arduino.cc/
3
O que ele faz?genda
- Recebe, gera e interpreta dados.
- Controle e automação residencial;
- Robótica;
- Tudo que você quiser!
4
Tipos de placasgenda
Arduino Mega 2560
Arduino Uno
Arduino Mega ADK 5
Tipos de placasgenda
Arduino Mini Arduino Leonardo
Arduino Nano Arduino Lilypad 6
O que são os Shields?enda
São placas modulares,
extensões do arduino que
permitem interagir com
tecnologias diversas com
facilidade.
Ethernet Shield
Xbee Shield
7
O que são os Shields?enda
LCD Shield
Motor Shield
8
Especificaçõesenda
Arduino Unoenda
-É uma placa baseada no microcontrolador
ATmega328P.
-Possui 14 pinos digitais de Entrada/Saída.
-Possui 6 pinos de entradas analógicas.
-Conexão USB
-Conector Jack para alimentação.
-Botão de Reset. 9
Especificaçõesenda
-Tensão de operação: 5V
-Tensão de entrada (recomendada): 7-12V
-Tensão de entrada (limite): 6-20V
-Corrente DC por pino I/O : 20 mA
-Memória Flash : 32 KB (ATmega328P) em que 0.5 KB é usado para
bootloader.
-SRAM : 2 KB (ATmega328P)
-EEPROM : 1 KB (ATmega328P)
-Clock: 16 MHz
10
Pinos de Alimentação:
- Vin.
- 5V.
- 3V3
- GND
- RESET
- IOREF
- AREF
11
Como ele se comunica?genda
As placas de Arduíno possuem ao
menos uma porta serial (UART /
USART), chamada de Serial. Ela
realiza comunicação por meio dos
pinos digitais 0 (RX) e 1 (TX), assim
como via USB com o PC.
12
Como ele se comunica?genda
-Interface Serial (UART) : tx e rx
-Interface SPI : (10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estes
pinos dão suporte à comunicação SPI utilizando a biblioteca SPI.
-Interface I2C: 4 (SDA) and 5 (SCL). Fornecem suporte a
comunicação I2C (TWI) utilizando a biblioteca Wire.
13
O códigoenda
O programa:
- Linguagem variante de C/C++;
- Funções pré-especificas
programadas em bibliotecas
modulares.
14
A IDE do arduinoenda
- Integrated Develop Environment:
● Editor de Código Fonte
● Compilador (AVR-GCC)
● Debugger
● Modeling
15
A IDE do arduinoenda
16
Estrutura básica de um firmwareenda
Os métodos Main e Int ficam
ocultos no próprio bootloader,
então não só devemos nos
preocupar como programaremos
os métodos setup loop.
17
Como compilar?enda
- Conecte o USB ao PC e ao arduino;
- Selecionar o modelo e a porta USB
que está conectado;
- TOOLs > Board > “modelo”
- TOOLs > Serial Port > “porta usada”
18
Práticas: entradas e saídas digitais enda
1 - Acender Led.
Funções:
● pinMode(pin, mode)
Parâmetros:
- pin: o número do pino que se deseja configurar.
- mode: INPUT, OUTPUT, INPUT_PULLUP.
● digitalWrite(pin, value)
Parâmetros:
- pin: o número do pino.
- mode: HIGH ou LOW
19
Práticas: entradas e saídas digitais a
2 - Piscar Led.
Funções de Temporização:
● delay(ms)
Parâmetros:
- ms: o número de milisegundos de atraso.
● delayMicroseconds(us)
Parâmetros:
- us: o número de microsegundos de atraso.
● millis( )
● micros( )
20
Entendendo o programanda
21
Práticas: entradas e saídas digitais a
3 - Acionando led com botão.
Funções:
● digitalRead(pin)
Parâmetros:
- pin: o número do pino digital que será lido.
Retorno:
- HIGH or LOW
22
Entendendo o programa.nda
23
Práticas: entradas e saídas digitais a
4 - Semáforo simples 2 vias.
24
Entendendo o programa.nda
25
Comunicação Serialenda
- Permite a comunicação entre o arduino e o computador em
tempo real.
26
Prática: Comunicação Serial enda
5 - Hello World.
Funções:
● begin(pin, mode)
Sintaxe:
- Serial.begin(speed);
Parâmetros:
- speed: bits por segundo (bauds)
27
Prática: Comunicação Serial enda
● print( )
Sintaxe
Serial.print(val)
Serial.print(val, format)
Parâmetros
val: o valor a ser printado.
format: especifica a base ou número de casas
decimais.
Retorno
size_t (long): retorna o número de bytes escritos.
● println( )
28
O “Hello Word”enda
29
O “Hello Word”enda
30