0% acharam este documento útil (0 voto)
48 visualizações31 páginas

Aula 2 - Arduino

O documento apresenta uma introdução ao Arduino, um microcontrolador open-source que facilita o acesso à eletrônica e computação, especialmente em ambientes acadêmicos. Ele destaca características como facilidade de uso, baixo custo e uma ampla gama de sensores disponíveis. O conteúdo também aborda aspectos técnicos, como especificações do hardware, alimentação, segurança e um exemplo prático de programação para acender um LED.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
48 visualizações31 páginas

Aula 2 - Arduino

O documento apresenta uma introdução ao Arduino, um microcontrolador open-source que facilita o acesso à eletrônica e computação, especialmente em ambientes acadêmicos. Ele destaca características como facilidade de uso, baixo custo e uma ampla gama de sensores disponíveis. O conteúdo também aborda aspectos técnicos, como especificações do hardware, alimentação, segurança e um exemplo prático de programação para acender um LED.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 31

Microprocessadores e

microcontroladores
Arduino
Curso de Engenharia Elétrica
Universidade Paulista

© UNIP 2020 all rights reserved


Arduino (slide 2/27)

 Fácil de usar
 Grande gama de sensores
 Barato
- Original em torno de
R$120,00 e chinês aprox.
R$50,00
- Kits com chinês em torno de
R$130,00
 Muita coisa online!
- Inglês e português!

© UNIP 2020 all rights reserved


COMEÇANDO

© UNIP 2020 all rights reserved


O que é um Arduino? (slide 4/27)
 É um microcontrolador open-source
 Objetivo?
- Tornar o acesso à eletrônica e computação facilitado
- Principalmente nas universidades
- Barato e flexível
 Possui todos os elementos anteriores em uma plaquinha muito simples
- Microcontrolador é o ATMEGA328
 É um projeto Italiano
- Mas os chineses são mais baratos $$$

4
© UNIP 2020 all rights reserved
Arduino é filho único? (slide 5/27)
 São quase 15 dispositivos baseados nessa plataforma
- Umas mais poderosas, com mais memórias, I/Os e processamento, outras com
menos...

Mega Uno Nano Lillypad


101x53 mm 68x53 mm 43x18 mm ∅50 mm

DIMENSÃO

© UNIP 2020 all rights reserved


HARDWARE

© UNIP 2020 all rights reserved


Pinagem (slide 7/27)

 Vamos identificar os componentes

© UNIP 2020 all rights reserved


Microcontroller ATmega328P
Especificações Operating Voltage 5V
(specs) Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6 (3, 5, 6, 9, 10, and 11. 8-bit PWM)
Analog Input Pins 6 (A0-A5)
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
32 KB (ATmega328P) of which 0.5 KB
Flash Memory
used by bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
LED_BUILTIN 13
Length 68.6 mm
Width 53.4 mm
Weight 25 g

© UNIP 2020 all rights reserved


Pinagem de verdade (slide 9/27)
 Doc pinagem
 Doc placa

© UNIP 2020 all rights reserved


Alimentação (slide 10/27)

 Três tipos: USB, carregador externo ou


pela porta Vin. O Arduino escolhe
automaticamente.
- Carregador externo: pode ser com bateria ou
conversor AC-DC com saída de até 20 V.
- USB: 5 V
- Vin: conhecida como “9V”, semelhante ao
carregador externo
 A placa opera entre 6 V e 20 V.
- Se alimentamos menos de 7 V, a alimentação de
5 V pode não alimentar 5 V, deixando a placa
instável
- Se usarmos mais de 12 V, o regulador de tensão
pode sobreaquecer e danificar a placa.
- Recomenda-se entre 7 V e 12 V.

© UNIP 2020 all rights reserved


Alimentação: pinos (slide 11/27)

 Tanto o VIN de 5V quanto de 3.3V saem


direto do regulador de tensão
 3.3V fornece, no máximo, 50 mA
 O Arduino possui um polyfuse que
protege sua porta USB (quando
utilizada como alimentação). Apesar da
maioria dos PCs já possuírem proteção
interna, essa precaução extra é
importante. Se mais de 500 mA são
demandados da porta USB, o fuso vai
automaticamente quebrar a conexão e
esperar a situação normalizar

© UNIP 2020 all rights reserved


Segurança (do Arduino!) (slide 12/27)
 Cada pino do Arduino tem uma limitação de corrente...
 Corrente por pino de I/O - 40 mA
 Corrente máxima de todos os pinos sendo utilizados para alimentação
– 150 mA
 Corrente máxima de todos os pinos sendo utilizados para drenagem –
150 mA
 Corrente nos pinos Vcc (5V) e GND - 200 mA
 Mais detalhes em: https://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

12
© UNIP 2020 all rights reserved
Software

COMO É QUE FUNCIONA


ENTÃO?

© UNIP 2020 all rights reserved


Como funciona? Arquitetura (slide 14/27)
 IDE - Integrated Development
Environment
- Ambiente onde se escreve os códigos
desejados
- O Arduino possui sua própria IDE (baseada
C/C++)
 Qual o “caminho” do código?
 O firmware é o software do usuário
 Bootloader é o software do hardware
- Quando o hardware é energizado, ele tem que
chamar a posição 0 de memória
- Em computadores, vai inicializar todo o SO
- No Arduino, permite escrevermos nosso
programa sem hardware externo
- O usuário não reescreve o bootloader
- https://www.arduino.cc/en/Hacking/Bootloader?from
=Tutorial.Bootloader

14
© UNIP 2020 all rights reserved
Instalando a IDE (slide 15/27)
 Baixar em http://arduino.cc/en/Main/Software
 Instalar...
 Como parece?

15
© UNIP 2020 all rights reserved
Identificando a IDE (slide 16/27)
 Verify (símbolo de certo)
- Verificação de código (busca por erros)
 Upload (seta pra direita)
- Compila o código e sobe na placa do Arduino
 New (Pequena página em branco)
- Cria uma sketch em branco
 Open (seta pra cima)
- Abre uma lista de todas as sketches que já existem no seu PC
 Save (seta para baixo)
- Salva a sketch no PC
 Serial Monitor (pequena lupa)
- Monitor da porta serial (USB)

16
© UNIP 2020 all rights reserved
Identificando a IDE (slide 17/27)
 Console
- Situação da compilação e subida de
código
 Code goes here
- Seu código (em breve)
 Board & Serial port selections
- Situação da placa selecionada (!)

17
© UNIP 2020 all rights reserved
Escolhendo sua placa Arduino (slide 18/27)
 Vá em Tools -> Board -> escolha sua placa

18
© UNIP 2020 all rights reserved
Exemplo! (slide 19/27)

© UNIP 2020 all rights reserved


Protoboard (slide 20/27)
 Exemplo

© UNIP 2020 all rights reserved


Protoboard (slide 21/27)
 Exemplo

© UNIP 2020 all rights reserved


Solução (slide 22/27)
 Servem pra drenar a corrente que o Arduino não conseguiria
- Por exemplo, um motor de 24V vai puxar alguns amperes, enquanto que o Arduino
alimenta, aprox., 40 mA.
 Solução?
 Transistors!
- Para motores
- Para LEDs e resistores, Arduino dá conta

22
© UNIP 2020 all rights reserved
(slide 23/27)

Mais de perto

 https://www.arduino.cc/en/Tutorial/TransistorMotorControl

© UNIP 2020 all rights reserved


Tipos de Entradas e Saídas (slide 24/27)
 Dois tipos
- Entradas Digitais
- Medem estado
- Entradas Analógicas
- Medem valores

24
© UNIP 2020 all rights reserved
1ª TAREFA

© UNIP 2020 all rights reserved


Primeira tarefa: ligar um LED (slide 26/27)
 Materiais: 1x LED, 1x Resistor 220 Ω, fios e Arduino UNO

 Tinkercad.com

26
© UNIP 2020 all rights reserved
Resistor (slide 27/27)
 Tabela de cores

27
© UNIP 2020 all rights reserved
Alimentação (slide 28/27)
 2 maneiras
- USB (5 V)
- Até uns 400 mA
- Fonte externa (9V a 12V)

28
© UNIP 2020 all rights reserved
1ª Tarefa - Piscar meu LED (slide 29/27)
int pinoLED = 8; // pinoLED é uma variável do pino selecionado, no caso, 8
void setup() {
pinMode(pinoLED, OUTPUT); // inicializa o pino ledPin (porta 8) como um
OUTPUT
}

void loop() {
digitalWrite(pinoLED, HIGH); // liga o LED (HIGH = 5 V)
delay(250); //espera 250 ms
digitalWrite(pinoLED, LOW); //desliga o LED (LOW = 0 V)
delay(500); //espera 500 ms
}

© UNIP 2020 all rights reserved


Característica

int pinoLED = 8;  setup()


void setup()
- Só roda a primeira vez
{
em que o
pinMode(ledPin, OUTPUT); microcontrolador é ligado
} ou reiniciado
void loop() {
digitalWrite(ledPin, HIGH);
 loop()
delay(250); - Funciona para sempre
digitalWrite(ledPin, LOW); depois de rodar o setup()
delay(500);
}

© UNIP 2020 all rights reserved


FIM !
© UNIP 2020 all rights reserved

Você também pode gostar