SlideShare uma empresa Scribd logo
1 de 154
Baixar para ler offline
Arduino – Parte 1
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Eletricidade
Conceitos de eletricidade e
eletrônica
A eletricidade é a área
mais robusta, exemplo:
uma instalação elétrica
1
A eletrônica é a área
mais delicada,
exemplo: componentes
e circuitos eletrônicos
2
Eletrônica
A eletrônica pode ser definida como a
ciência que estuda formas de controlar a
energia elétrica em circuitos elétricos.
É um ramo da engenharia que desenvolve
soluções aplicando os princípios de
eletricidade descobertos pela física.
Usa circuitos elétricos são formados por
condutores elétricos e componentes
eletrônicos para controlar sinais elétricos.
A eletrônica divide-se em analógica e digital.
Analógico vs
Digital
 Os dados representados
no nosso mundo:
natureza
 Intensidade e tempo
 Valores infinitos
 Os dados transformados
para um computador
 Conversão
 Valores finitos
Corrente
elétrica
 Fluxo de elétrons que
circulam em um condutor
 Contínua
 Alternada
 Medida em Ampère (A)
 Representada pela letra I
(intensidade da corrente)
Corrente (I)
Tensão (V)
 É a força responsável por
impulsionar os elétrons em um
condutor.
 A tensão é medida em Volts (V)
 Corrente alternada (Tomadas)
 110V e 220V
 Corrente contínua (Fontes e
baterias)
 5V, 9V e 12V
Tensão
TREINAMENTO DO PROF. WELLINGTON TELLES CUNHA
Elementos da
Eletrônica
Resistor
 Resistores limitam a passagem de
corrente elétrica, impedindo que
alguns componentes venham a ser
danificados por excesso de tensão
elétrica.
 Site para descobrir o valor:
 http://www.audioacustica.com.br/e
xemplos/Valores_Resistores/Calculad
ora_Ohms_Resistor.html#
Resistor
Exemplo
 Primeira faixa: marrom = 1
 Segunda faixa: cinza = 8
 Terceira faixa: marrom = x10
 Tolerância dourado: ± 5%
Exemplo
 Primeira faixa: marrom = 1
 Segunda faixa: cinza = 8
 Terceira faixa: preto = 0
 Quarta faixa: marrom = x10
 Tolerância marrom: ± 1%
Tabela de Resistores
Electrodroid
UM APLICATIVO PARA
CELULAR
Capacitor
 Componente que armazena
energia para ser usada
rapidamente
 Unidade farad (F)
Capacitor
 Com polaridade e sem polaridade
Diodo
 Componente semicondutor que
permite que a corrente flua em
apenas um sentido
LED
 LED (Light-Emitting Diode – Diodo Emissor de Luz)
 O LED emite luz visível (amarela, verde, vermelha, laranja ou azul)
ou luz infravermelha.
 Deve ser ligado em série com um resistor limitador de corrente.
LED RGB
 O LED RGB emite, numa
mesma peça, as cores
vermelho, verde e azul e tem
o formato à direita:
Tinkercad
 Online
 https://www.tinkercad.com
 https://www.youtube.com/user/Tinkercad/featured
LED RGB
Lei de Ohm
 Para obtermos o valor
do resistor R, usamos a
lei de Ohm:
U=R.I
Aplicação da Lei de Ohm
 Para conectar um LED no Arduino,
necessitamos associá-lo a um
resistor para que a tensão de
trabalho (5V) do Arduino produza
a corrente mais aproximada
possível daquela suportada pelo
LED para que este não queime.
 Cada LED tem uma resistência
interna. A condição ideal de
trabalho são para os seguintes
valores aproximados de tensão e
corrente (i):
LED Tensão Corrente
Vermelho e
infravermelho
1,8 V 15mA = 0,015A
Verde,
amarelo e
laranja
2,1 V 20 a 25 mA =
0,02A a 0,025A
Azul e branco 2,7 V a 4,2 V 15 a 30 mA =
0,015A a 0,030A
Aplicação da Lei de Ohm
 Assim, se usarmos um LED verde
podemos calcular o valor do resistor
que deve ser associado, através da
Lei de Ohm:
 𝑅 =
𝑉
𝑖
 𝑅 =
𝑉𝐹𝑜𝑛𝑡𝑒−𝑉𝐿𝐸𝐷
𝑖
 𝑅 =
5−2,1
0,02
= 145Ω
 Nota: Devemos encontrar um resistor
com valor aproximado acima do
valor encontrado.
 No exemplo: 150Ω
Transistores e
Circuitos
Integrados
TREINAMENTO PROF. WELLINGTON TELLES
Montagem de
Circuitos
Elétricos
PROTOBOARD
 Placa de prototipagem
 Montagem de circuitos elétricos antes da montagem de uma placa
de circuito impresso
Jumper
 Para conexões
 Macho-Macho
 Fêmea-Fêmea
 Macho-Fêmea
Montagem
de circuito
RESISTOR: 390Ω
LARANJA, BRANCO,
MARROM
Exercício
 Segundo a tabela ao lado, qual
seria o resistor se fosse trocado
o LED por e fonte de 9V:
 A) verde
 B) amarelo
 C) azul
Vermelho 1.8 V 0.02 A
Verde 2.1 V 0.02 A
Amarelo 2.0 V 0.015 A
Laranja 2.0 V 0.02 A
Azul 3.1 V 0.02 A
Branco
3.1 V a 4.0V (depende
do fabricante)
0.02 A
Infra-vermelho 1.1 V 0.02 A
Montagem
Circuito
MONTAGEM
330 OHMS: LARANJA,
LARANJA, PRETO, PRETO
TREINAMENTO PROF. WELLINGTON TELLES
ARDUINO
O que é
microcontrolador
 Um pequeno computador
tudo em um circuito
integrado com:
 Processador
 Memória
 Entradas e Saídas
 Armazenamento
 Arduino: ATMEGA328
Criadores
MASSIMO BANZI E DAVID
CUARTIELLES
Sobre o projeto
arduino
 O projeto do Arduino teve
início em 2005 na cidade de
Ivrea, Itália.
 Projeto de interação escolar
de prototipagem com
menor custo
 Estimado quase 300,000
unidades oficiais de arduino
até 2011
 Documentário:
 https://www.youtube.com/w
atch?v=SiTmTP_F6so
Arduino
O Arduino é uma plataforma utilizada
para prototipação de circuitos eletrônicos
Tanto o hardware como o ambiente de
programação do Arduino são livres, ou
seja, qualquer pessoa pode modificá-los
e reproduzi-los.
O Arduino também é conhecido como
plataforma de computação física.
Arduino
 Com o Arduino é possível também enviar e receber informações de
praticamente qualquer outro sistema eletrônico. Desta forma é
possível construir por exemplo, um sistema de captação de dados
de sensores, como temperatura, controlo de iluminação, processar
e enviar esses dados para um sistema remoto, ou demonstrá-los em
uma tela.
Plataforma arduino
(uno e nano)
 A principal diferença está no
tamanho
 O nano é ideal para usar em
uma protoboard
Arduino UNO - Características
 Microcontrolador: ATmega328
 Tensão de operação: 5V
 Tensão recomendada (entrada): 7-12V
 Limite da tensão de entrada: 6-20V
 Pinos digitais: 14 (seis pinos com saída PWM)
 Entrada analógica: 6 pinos
 Corrente contínua por pino de entrada e saída: 40mA
 Corrente para o pino de 3.3 V: 50 mA
 Quantidade de memória FLASH: 32 KB (ATmega328) onde 0.5 KB usado para o bootloader
 Quantidade de memória SRAM: 2 KB (ATmega328)
 Quantidade de memória EEPROM: 1 KB (ATmega328)
 Velocidade de clock: 16 MHz
Alimentação
O Arduino UNO pode ser alimentado
pela porta USB ou por uma fonte
externa DC.
A recomendação é que a fonte
externa seja de 7 V a 12 V e pode ser
ligada diretamente no conector de
fonte ou nos pinos Vin e Gnd.
Analógico e
Digital
 Analógico:
 Temperatura
 Som
 Situações que tem efeito
mecânico
 Digital
 Computador
 Celulares
 Situações que tem efeito
eletrônico
Analógico e
Digital
O Arduino possui tanto portas digitais
quanto portas analógicas.
As portas servem para comunicação
entre o Arduino e dispositivos externos,
por exemplo: ler um botão, acender um
led ou uma lâmpada.
Conforme já mencionado, o Arduino
UNO, possui 14 portas digitais e 6 portas
analógicas (que também podem ser
utilizadas como portas digitais).
Sistema Digital
 0 e 1
 0V e 5V
 LOW (baixo) e HIGH (alto)
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Aplicação
Aplicações
 Criação de prototipagem
 Automação de residências (através de celulares ou
não)
 Criação de robôs
 Segurança biométrica
 Impressoras 3D
 Jogos com interações com câmera
 Automação industrial de pequeno porte
Aplicações
IoT
INTERNET DAS COISAS (INTERNET OF THINGS)
Aplicações
 Lares inteligentes
 Vestíveis
 Cidades inteligentes
 Redes inteligentes
 Internet Industrial
 Carro conectado
 Saúde conectada
 Lojas inteligentes
 Cadeia de suprimentos inteligentes
 Agricultura inteligente
Aplicações
Arduino na
educação
O Arduino pode ser um grande aliado
na aprendizagem de disciplinas de
ciências como um todo, seja para o
Ensino Fundamental e Médio.
Em nível acadêmico, na utilização de
TCCs e outros projetos acadêmicos
Uso pessoal e comercial
 Você pode utilizar o Arduino para o seu uso pessoal, como por
exemplo, na sua casa, no seu trabalho, ou em qualquer lugar
em que ele possa realizar uma tarefa de seu interesse. Além
dos seus interesses, você pode vender soluções tecnológicas
para ajudar na realização de tarefas de interesses alheios.
Projeto Botão
 Materiais:
 Arduino
 1 LED vermelho
 1 resistor de 330Ω
 1 botão (push button)
 Protoboard
 Jumpers
Projeto
Botão
MONTAGEM
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Modelos
Modelos de
placas arduino
 Nano
 Uno
 Mega
 Due
 Micro
 Leonardo
Modelos
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Acessórios
Shields
para
arduino
SÃO PLACAS QUE
PODEM SER
ENCAIXADAS AO
ARDUINO ESTENDENDO
SUAS CAPACIDADES.
Módulos
OS MÓDULOS SÃO
CONECTADOS E NÃO SE
ENCAIXAM DIRETAMENTE
AO ARDUINO, MAS TAMBÉM
ESTENDEM AS
FUNCIONALIDADES.
Sensores
OS SENSORES SÃO
ENTRADAS DE DADOS DO
ARDUINO PARA “CAPTURA”
UMA DETERMINADA
INFORMAÇÃO.
Comunicação
e expansão
 Módulo WiFi – ESP8266
 Conexão WiFi
 Portas I2C (PCF8574)
 A4 e A5 (UNO)
 A4(SDA – Serial
Data)
 A5(SCL – Serial
Clock)
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Software
Software
arduino
 Site oficial: http://arduino.cc
 Para baixar o programa:
https://www.arduino.cc/en/
Main/Software#
 Escolha a sua plataforma
 Instale o software (caso não
esteja instalado)
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Conexão
Conectado o
arduino ao
computador
 Instale primeiro o Arduino IDE
 Conecte o cabo USB:
 Conector tipo B ao Arduino
 Conector tipo A ao computador
Instalando os drivers do arduino
Segundo o site do fabricante, caso o software da
IDE do Arduino for instalado antes (Windows XP até
o 10) os drivers serão instalados automaticamente
Se baixar a versão ZIP, a instalação deverá ser de
forma manual conforme o site:
https://www.arduino.cc/en/Guide/ArduinoUno
Seleção da
Placa
 Tecla Windows + Pause
 Gerenciador de dispositivos
Seleção do
modelo de
placa
Seleção da
porta de
comunicação
Blocos
lógicos
Testando o Arduino
 Materiais:
 Arduino
Testando
Arduino
MONTAGEM
Testando o Arduino
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Portas
Entrada e saída
Sensores
Botões
Som
Presença
Processo
Acionamento
Som
Mensagem
Portas digitais
As portas digitais trabalham com valores bem
definidos. No caso do Arduino esses valores são
0V e 5V.
0V indica a ausência de um sinal e 5V indica a
presença de um sinal.
Para escrever em uma porta digital basta utilizar
a função: digitalWrite(pino, estado)
Para ler um valor em uma porta digital basta
utilizar a função: digitalRead(pino).
Entrada e
Saída
Exemplos:
Define que a porta 13
será de saída
• pinMode(13, OUTPUT)
Define que a porta 7 será
de entrada
• pinMode(7, INPUT)
A função pinMode(pino, estado) é utilizada para definir se a porta
será de entrada ou saída de dados.
Para definir se uma porta será usada para entrada ou para saída
de dados, é necessário explicitar essa situação no programa.
As portas digitais são usadas para entrada e saída de dados.
Saídas Digitais
Pinos (0 ao 13)
•Buzina (Buzzer)
•Led
•Relé
Exemplos:
Saída Digital
 Materiais:
 Arduino
 1 LED vermelho
 1 resistor de 180Ω
 Protoboard
 Jumpers
Saída
Digital
MONTAGEM
Saída
Digital
CÓDIGO
Código
void setup()
{
pinMode(3, OUTPUT);
}
void loop()
{
digitalWrite(3, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(3, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
Botão
Botão
Entradas
Digitais
 Materiais:
 Arduino
 1 botão (push button)
 1 resistor 10K ohms
 Protoboard
 Jumpers
Entradas
Digitais
MONTAGEM
Entradas Digitais
void setup()
{
pinMode(7, INPUT);
}
void loop()
{
digitalRead(7);
delay(10);
}
Entradas
Digitais
void setup()
{
pinMode(7, INPUT);
pinMode(13, OUTPUT);
}
void loop()
{
if (digitalRead(7) == HIGH){
digitalWrite(13,HIGH);
} else
{
digitalWrite(13,LOW);
}
delay(100);
}
Entrada
Analógica
 Materiais
 Arduino
 Potenciômetro 10KΩ
 LED vermelho
 Resistor 330 ohms
 Protoboard
 Jumpers
Entrada
Analógica
MONTAGEM
Entrada Analógica
Entrada
Analógica
Código
void setup()
{
pinMode(A0, INPUT);
pinMode(3, OUTPUT);
}
void loop()
{
analogWrite(3, map(analogRead(A0), 0, 1023, 0, 255));
delay(10);
}
Saída (PWM)
 Portas (3,5,6,9,10,11)
 Exemplos:
 LEDs
 Motores *
 Alto-falante *
* Necessita de drives de potência ou amplificadores
Saída
(PWM)
MONTAGEM
https://www.tinkercad.com/things/2g40dxlwpRO
Saída
(PWM)
CÓDIGO
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
Programação
Programação
O microcontrolador vai seguir as instruções definidas pelo usuário
As instruções serão os passos/sequências para microcontrolador
Linguagem: alto nível e baixo nível
Wiring – Plataforma – Computação Física
Ambiente de programação
 As principais funcionalidades do IDE do Arduino são:
 Escrever o código do programa
 Salvar o código do programa
 Compilar um programa
 Transportar o código compilado para a placa do Arduino
IDE
VERIFICA
ENVIA P/
PLACA
NOVO
ABRIR
SALVAR
ABAS
ÁREA
CÓDIGO
ÁREA
STATUS
SKETCH
UPLOAD
MONITOR
SERIAL
Bibliotecas
Estrutura
do
programa
Bibliotecas
Define Pinos
Variáveis
Inicialização
Ciclo infinito
Funções setup() e loop()
 As duas principais partes (funções)
de um programa desenvolvido para
o Arduino são:
 setup(): onde devem ser definidas
algumas configurações iniciais do
programa. Executa uma única vez.
 loop(): função principal do
programa. Fica executando
indefinidamente.
 Todo programa para o Arduino deve
ter estas duas funções.
Exemplo
setup() e
loop()
Linguagem de
programação
Valores de variáveis
 Um valor que pode se alterar ao longo do tempo
 char, são utilizados para armazenar caracteres e ocupam um
byte.
 byte, podem armazenar um número entre 0 e 255.
 int, ocupam 2 bytes (16 bits) e tanto armazenam um número
entre 2-15 e 215-1, ou seja, entre -32,768 e 32,767.
 unsigned int, também ocupam 2 bytes, mas como não
possuem sinal, podem tomar valores entre 0 e 216-1, ou seja,
entre 0 e 65,535.
 long, ocupa 32 bits (4 bytes), de -2,147,483,648 até
2,147,483,647.
 unsigned long.
 float, números decimais que ocupam 32 bits (4 bytes). Podem
tomar valores entre -3.4028235E+38 e +3.4028235E+38.
 double, também armazena números decimais, mas possuem
8-bytes (64 bit).
Valores constantes
 Um dado é constante quando não sofre nenhuma variação no
decorrer do tempo.
 Do início ao fim do programa o valor permanece inalterado.
 Exemplos:
const int ledPin1 = 13;
const int ledPin2 = 14;
Constantes
 A criação de constantes no Arduino pode ser feita de duas
maneiras:
 Usando a palavra reservada const
 Exemplo:
 const int x = 100;
 Usando a palavra reservada define
 Exemplo:
 #define X 100
Constantes
 No Arduino existem algumas constantes previamente definidas e
são consideradas palavras reservadas.
 As constantes definidas são:
 true – indica valor lógico verdadeiro
 false – indica valor lógico falso
 HIGH – indica que uma porta está ativada, ou seja, está em 5V.
 LOW – indica que uma porta está desativada, ou seja, está em 0V.
 INPUT – indica que uma porta será de entrada de dados.
 OUTPUT – indica que uma porta será de saída de dados.
Comentários
// Comentário de uma
linha
/* */ Comentário de um
trecho do programa
Projeto 1 – Liga LED
 Liga LED
 Material:
 1 Arduino
 1 Resistor de 220 ohms (vermelho, vermelho, marrom)
 1 LED vermelho
 1 Protoboard
 Jumpers
330 ohms ou 330R
Projeto 1
MONTAGEM
Projeto 1 - Programação
void setup()
{
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop()
{
digitalWrite(11, HIGH);
delay(1000);
digitalWrite(10, HIGH);
delay(1000);
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
delay(1000);
}
Operadores
Aritméticos
Operador Ação
+ Soma
- Subtração ou troca de
sinal
* Multiplicação
/ Divisão
% Resto da divisão inteira
++ Incremento
-- Decremento
Exemplos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int a = 5; //variável <em>a</em> é um inteiro, inicializado a 5
int b = 6; //variável <em>b</em> é um inteiro, inicializado a 6
int c = a + b; //variável <em>c</em> é um inteiro, inicializado a 11.
void setup()
{
// initializar Serial
Serial.begin(9600); // baudrate 9600
Serial.print("a + b igual ");
Serial.println(String(c));
}
void loop()
{
}
Operadores
Relacionais
Operador Ação
> maior
< menor
>= maior ou igual
<= menor ou igual
== igual
!= não igual
Estrutura de Controle
// Se expressão igual a TRUE, o bloco de comandos é executado
if (expressão) {
[Bloco de comandos]
}
Projeto if
 Controle de acendimento de LED mediante chave
push button
 Material:
 1 Arduino
 1 Resistor de 220 ohms (vermelho, vermelho, marrom)
 1 Resistor de 10k ohms
 1 Push button
 1 LED vermelho
 1 Protoboard
 Jumpers
10 quilo ohms
Projeto if
MONTAGEM
Projeto if - programação
int botEstado = 0;
void setup()
{
pinMode(2, INPUT);
pinMode(3, OUTPUT);
}
void loop()
{
botEstado = digitalRead(2);
if (botEstado == HIGH) {
digitalWrite(3, HIGH);
} else {
digitalWrite(3, LOW);
}
}
Operadores
Lógicos
Símbolo Operação
&& E (AND)
|| OU (OR)
! NÃO (NOT)
Operadores
Bit a Bit
Símbolo Operação
& E (AND)
| OU (OR)
~ NÃO (NOT)
^ OU exclusivo (XOR)
<< Deslocamento de bit à
esquerda
>> Deslocamento de bit à
direita
Repetição: FOR
// Enquanto for igual a true, repita o bloco de comandos
for (variável = inicio; final; incremento){
[Bloco de comandos]
}
Projeto for
 Controle de acendimento de LEDs na sequência
 Material:
 1 Arduino
 1 Resistor de 220 ohms (vermelho, vermelho, marrom)
 1 Resistor de 10k ohms
 1 Push button
 1 LED vermelho
 1 Protoboard
 Jumpers
Projeto
for
MONTAGEM
Projeto for
Código
int led_ini = 3;
int led_fim = 7;
int led = 0;
void setup() {
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
for(int led = led_ini ; led <= led_fim ; led++)
{
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
}
for(int led = led_fim ; led >= led_ini ; led--)
{
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
}
}
Repetição: WHILE
// Enquanto for TRUE repita
while (expressão){
[Bloco de comandos]
}
// Faça enquanto for TRUE
do {
[Bloco de comandos]
}
Projeto while
 Materiais:
 Arduino
 Botão push button
 Resistor de 330 ohms
 Resistor de 10k ohms
 LED vermelho
 Protoboard
 Jumpers
Projeto
while
MONTAGEM
Projeto while Código
void setup()
{
pinMode(5, INPUT);
pinMode(3, OUTPUT);
}
void loop()
{
while (digitalRead(5) == 1) {
digitalWrite(3, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(3, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
}
Seleção: SWITCH
// Compara um valor com suas possíveis respostas
switch (variável)
case valor1:
[bloco de comandos 1]
break;
case valor2:
[bloco de comandos 2]
break;
....
default:
[bloco de comandos padrão]
break;
}
Projeto switch
 Material:
 Arduino
 Três LED vermelhos
 Três resistores de 330 ohms
 Protoboard
 Jumpers
Projeto switch
MONTAGEM
Projeto
switch
Código
int A = 10;
int B = 52;
void setup()
{
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop()
{
int x = B % A;
switch(x){
case 0: digitalWrite(3, HIGH); break;
case 1: digitalWrite(4, HIGH); break;
default: digitalWrite(5, HIGH); break;
}
}
Funções do Arduino
 Um bloco de códigos para executar uma ação
 Pode ser usada para “dividir” um situação problema
 Usada para fazer ações dependente dos parâmetros
Declarando uma função
func([parâmetros])
{
// Linhas de código pertencentes à função func
}
 Exemplo:
void light(int intensidade)
{
analogWrite(lamp, intensidade);
delay(500);
}
Como usar?
int lamp = 3;
// Declaração da Função
void light(int intensidade)
{
analogWrite(lamp, intensidade);
delay(500);
}
void setup()
{
pinMode(lamp, OUTPUT);
}
void loop()
{
// Chamadas das funções passando os valores
light(5);
light(55);
light(105);
light(155);
light(205);
light(255);
}
TREINAMENTO PROF. WELLINGTON TELLES
DETALHES
Arquitetura
Entradas e Saídas
Entradas
Digitais
Entradas
Analógicas
Saídas
Digitais
Saídas
Analógicas
Arduino
Memória RAM
Memória Flash
Comunicação
Serial / USB
PC
Pinos -
Alimentação
 IOREF - Fornece uma tensão de referência para que shields
possam selecionar o tipo de interface apropriada, dessa
forma shields que funcionam com a placas Arduino que são
alimentadas com 3,3V podem se adaptar para ser utilizados
em 5V e vice-versa.
 RESET - pino conectado a pino de RESET do microcontrolador.
Pode ser utilizado para um reset externo da placa Arduino.
Pinos -
Alimentação
 3,3 V. - Fornece tensão de 3,3V. para alimentação de shield e
módulos externos. Corrente máxima de 50 mA.
 5 V - Fornece tensão de 5 V para alimentação de shields e
circuitos externos.
 GND - pinos de referência, terra.
 VIN - pino para alimentar a placa através de shield ou bateria
externa. Quando a placa é alimentada através do conector
Jack, a tensão da fonte estará nesse pino.
Pinos
 Pinos de 0 a 5, aceitam tensão de zero a cinco volts CC
que vão ao conversor A/D de 10 bits no
microcontrolador do Arduino.
 O pino AREF, nas entradas digitais, é a entrada de
tensão de referência para esse conversor.
 Quando houver 5V o valor conversão será 1023
Pinos
 Pinos AREF e GND: o pino AREF é a entrada de tensão de referência
para o conversor A/D do Arduino; o pino GND é o terra, comum a
todos os outros pinos.
 Pinos 3,5,6 e 9 a 11 (PWM): são seis pinos digitais que podem ser
usados para gerar sinais analógicos com a função analogWrite()
utilizandoa técnica de Modulação por Largura de Pulso (PWM)
 Pinos 0 e 1: são conectados a USART do microcontrolador do Arduino
para comunicação serial com um computador
 Pinos 2 e 3: pinos que chamam uma ISR (Interrupt Service Routine)
para tratar uma interrupção com a função attachInterrupt() nesses
pinos.
Comunicação
USB
 Como interface USB para
comunicação com o
computador, há na placa
um microcontrolador ATMEL
ATMEGA16U2
 Esse microcontrolador que é
o responsável do upload do
código binário
 Dois LEDS TX e RX indicadores
ATMEGA16U2
Arduino
Arduino
TREINAMENTO PROF. WELLINGTON TELLES CUNHA
PROJETOS
Projeto 2
 Controle de acendimento de LED mediante chave push button - Atividade:
semáforo simples;
 Material:
 1 Arduino
 3 Resistores de 220 ohms (vermelho, vermelho, marrom)
 1 LED vermelho
 1 LED verde
 1 LED amarelo
 1 Protoboard
 Jumpers
Projeto 2
MONTAGEM
Projeto 2
PROGRAMAÇÃO
Projeto 2
PROGRAMAÇÃO
Projeto 2
Código
void setup()
{
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
}
void loop()
{
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
delay(2000); // Wait for 2000 millisecond(s)
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
delay(3000); // Wait for 3000 millisecond(s)
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, HIGH);
delay(3000); // Wait for 3000 millisecond(s)
}

Mais conteúdo relacionado

Semelhante a Arduino - Parte 1.pdf

C.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoC.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoTiago Barros
 
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IIOficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IICarlos Carvalho
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Walter Coan
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoRafael Sakurai
 
Coder dojo lx especial arduino
Coder dojo lx especial arduinoCoder dojo lx especial arduino
Coder dojo lx especial arduinoMauricio Martins
 
Arduino em quadrinhos
Arduino em quadrinhosArduino em quadrinhos
Arduino em quadrinhosIFBA
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Gustavo Yoshio Maruyama
 
Oficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgOficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgGuilherme Kruger Araujo
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectosDaniel Chavier
 
Apostila de-introdução-ao-arduino11
Apostila de-introdução-ao-arduino11Apostila de-introdução-ao-arduino11
Apostila de-introdução-ao-arduino11IFBA
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 

Semelhante a Arduino - Parte 1.pdf (20)

C.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao ArduinoC.E.S.A.R Introducao ao Arduino
C.E.S.A.R Introducao ao Arduino
 
Workshop arduino EAD
Workshop arduino EADWorkshop arduino EAD
Workshop arduino EAD
 
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part IIOficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
Oficina Arduino - Jornada de Tecnologia 2014 (E-poti) - Part II
 
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
 
Sestinfo 2013 - Arduino
Sestinfo 2013 - ArduinoSestinfo 2013 - Arduino
Sestinfo 2013 - Arduino
 
Arduino
ArduinoArduino
Arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Coder dojo lx especial arduino
Coder dojo lx especial arduinoCoder dojo lx especial arduino
Coder dojo lx especial arduino
 
Arduino em quadrinhos
Arduino em quadrinhosArduino em quadrinhos
Arduino em quadrinhos
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC
 
Oficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.orgOficina de Arduino Beta - Matehackers.org
Oficina de Arduino Beta - Matehackers.org
 
Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02Arduino001 110911083100-phpapp02
Arduino001 110911083100-phpapp02
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectos
 
Apostila de-introdução-ao-arduino11
Apostila de-introdução-ao-arduino11Apostila de-introdução-ao-arduino11
Apostila de-introdução-ao-arduino11
 
Introdução ao arduino
Introdução ao arduinoIntrodução ao arduino
Introdução ao arduino
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Robotica_-_Aula_0.pdf
Robotica_-_Aula_0.pdfRobotica_-_Aula_0.pdf
Robotica_-_Aula_0.pdf
 

Mais de profwtelles

Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdfprofwtelles
 
Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdfprofwtelles
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutorprofwtelles
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxoprofwtelles
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresprofwtelles
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08profwtelles
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07profwtelles
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06profwtelles
 
Linguagem c wellington telles - aula 04
Linguagem c   wellington telles - aula 04Linguagem c   wellington telles - aula 04
Linguagem c wellington telles - aula 04profwtelles
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05profwtelles
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphiprofwtelles
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno senoprofwtelles
 

Mais de profwtelles (20)

Arduino - Parte 3.pdf
Arduino - Parte 3.pdfArduino - Parte 3.pdf
Arduino - Parte 3.pdf
 
Arduino - Parte 2.pdf
Arduino - Parte 2.pdfArduino - Parte 2.pdf
Arduino - Parte 2.pdf
 
Aula teoria semicondutor
Aula teoria semicondutorAula teoria semicondutor
Aula teoria semicondutor
 
Ccp
CcpCcp
Ccp
 
C 1
C 1C 1
C 1
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
3 vetor.matriz
3 vetor.matriz3 vetor.matriz
3 vetor.matriz
 
2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
Pic aula1
Pic   aula1Pic   aula1
Pic aula1
 
Flip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadoresFlip flops,+registradores+e+contadores
Flip flops,+registradores+e+contadores
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Linguagem c wellington telles - aula 04
Linguagem c   wellington telles - aula 04Linguagem c   wellington telles - aula 04
Linguagem c wellington telles - aula 04
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Linguagem c wellington telles - aula 05
Linguagem c   wellington telles - aula 05Linguagem c   wellington telles - aula 05
Linguagem c wellington telles - aula 05
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Componentes importantes para Delphi
Componentes importantes para DelphiComponentes importantes para Delphi
Componentes importantes para Delphi
 
Lista coseno seno
Lista coseno senoLista coseno seno
Lista coseno seno
 

Último

07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06AndressaTenreiro
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 

Último (6)

07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 

Arduino - Parte 1.pdf

  • 1. Arduino – Parte 1 TREINAMENTO PROF. WELLINGTON TELLES CUNHA
  • 2. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Eletricidade
  • 3. Conceitos de eletricidade e eletrônica A eletricidade é a área mais robusta, exemplo: uma instalação elétrica 1 A eletrônica é a área mais delicada, exemplo: componentes e circuitos eletrônicos 2
  • 4. Eletrônica A eletrônica pode ser definida como a ciência que estuda formas de controlar a energia elétrica em circuitos elétricos. É um ramo da engenharia que desenvolve soluções aplicando os princípios de eletricidade descobertos pela física. Usa circuitos elétricos são formados por condutores elétricos e componentes eletrônicos para controlar sinais elétricos. A eletrônica divide-se em analógica e digital.
  • 5. Analógico vs Digital  Os dados representados no nosso mundo: natureza  Intensidade e tempo  Valores infinitos  Os dados transformados para um computador  Conversão  Valores finitos
  • 6. Corrente elétrica  Fluxo de elétrons que circulam em um condutor  Contínua  Alternada  Medida em Ampère (A)  Representada pela letra I (intensidade da corrente)
  • 8. Tensão (V)  É a força responsável por impulsionar os elétrons em um condutor.  A tensão é medida em Volts (V)  Corrente alternada (Tomadas)  110V e 220V  Corrente contínua (Fontes e baterias)  5V, 9V e 12V
  • 10. TREINAMENTO DO PROF. WELLINGTON TELLES CUNHA Elementos da Eletrônica
  • 11. Resistor  Resistores limitam a passagem de corrente elétrica, impedindo que alguns componentes venham a ser danificados por excesso de tensão elétrica.  Site para descobrir o valor:  http://www.audioacustica.com.br/e xemplos/Valores_Resistores/Calculad ora_Ohms_Resistor.html#
  • 13. Exemplo  Primeira faixa: marrom = 1  Segunda faixa: cinza = 8  Terceira faixa: marrom = x10  Tolerância dourado: ± 5%
  • 14. Exemplo  Primeira faixa: marrom = 1  Segunda faixa: cinza = 8  Terceira faixa: preto = 0  Quarta faixa: marrom = x10  Tolerância marrom: ± 1%
  • 17. Capacitor  Componente que armazena energia para ser usada rapidamente  Unidade farad (F)
  • 18. Capacitor  Com polaridade e sem polaridade
  • 19. Diodo  Componente semicondutor que permite que a corrente flua em apenas um sentido
  • 20. LED  LED (Light-Emitting Diode – Diodo Emissor de Luz)  O LED emite luz visível (amarela, verde, vermelha, laranja ou azul) ou luz infravermelha.  Deve ser ligado em série com um resistor limitador de corrente.
  • 21. LED RGB  O LED RGB emite, numa mesma peça, as cores vermelho, verde e azul e tem o formato à direita:
  • 22. Tinkercad  Online  https://www.tinkercad.com  https://www.youtube.com/user/Tinkercad/featured
  • 24. Lei de Ohm  Para obtermos o valor do resistor R, usamos a lei de Ohm: U=R.I
  • 25. Aplicação da Lei de Ohm  Para conectar um LED no Arduino, necessitamos associá-lo a um resistor para que a tensão de trabalho (5V) do Arduino produza a corrente mais aproximada possível daquela suportada pelo LED para que este não queime.  Cada LED tem uma resistência interna. A condição ideal de trabalho são para os seguintes valores aproximados de tensão e corrente (i): LED Tensão Corrente Vermelho e infravermelho 1,8 V 15mA = 0,015A Verde, amarelo e laranja 2,1 V 20 a 25 mA = 0,02A a 0,025A Azul e branco 2,7 V a 4,2 V 15 a 30 mA = 0,015A a 0,030A
  • 26. Aplicação da Lei de Ohm  Assim, se usarmos um LED verde podemos calcular o valor do resistor que deve ser associado, através da Lei de Ohm:  𝑅 = 𝑉 𝑖  𝑅 = 𝑉𝐹𝑜𝑛𝑡𝑒−𝑉𝐿𝐸𝐷 𝑖  𝑅 = 5−2,1 0,02 = 145Ω  Nota: Devemos encontrar um resistor com valor aproximado acima do valor encontrado.  No exemplo: 150Ω
  • 28. TREINAMENTO PROF. WELLINGTON TELLES Montagem de Circuitos Elétricos
  • 29. PROTOBOARD  Placa de prototipagem  Montagem de circuitos elétricos antes da montagem de uma placa de circuito impresso
  • 30. Jumper  Para conexões  Macho-Macho  Fêmea-Fêmea  Macho-Fêmea
  • 32. Exercício  Segundo a tabela ao lado, qual seria o resistor se fosse trocado o LED por e fonte de 9V:  A) verde  B) amarelo  C) azul Vermelho 1.8 V 0.02 A Verde 2.1 V 0.02 A Amarelo 2.0 V 0.015 A Laranja 2.0 V 0.02 A Azul 3.1 V 0.02 A Branco 3.1 V a 4.0V (depende do fabricante) 0.02 A Infra-vermelho 1.1 V 0.02 A
  • 35. O que é microcontrolador  Um pequeno computador tudo em um circuito integrado com:  Processador  Memória  Entradas e Saídas  Armazenamento  Arduino: ATMEGA328
  • 36. Criadores MASSIMO BANZI E DAVID CUARTIELLES
  • 37. Sobre o projeto arduino  O projeto do Arduino teve início em 2005 na cidade de Ivrea, Itália.  Projeto de interação escolar de prototipagem com menor custo  Estimado quase 300,000 unidades oficiais de arduino até 2011  Documentário:  https://www.youtube.com/w atch?v=SiTmTP_F6so
  • 38. Arduino O Arduino é uma plataforma utilizada para prototipação de circuitos eletrônicos Tanto o hardware como o ambiente de programação do Arduino são livres, ou seja, qualquer pessoa pode modificá-los e reproduzi-los. O Arduino também é conhecido como plataforma de computação física.
  • 39. Arduino  Com o Arduino é possível também enviar e receber informações de praticamente qualquer outro sistema eletrônico. Desta forma é possível construir por exemplo, um sistema de captação de dados de sensores, como temperatura, controlo de iluminação, processar e enviar esses dados para um sistema remoto, ou demonstrá-los em uma tela.
  • 40. Plataforma arduino (uno e nano)  A principal diferença está no tamanho  O nano é ideal para usar em uma protoboard
  • 41. Arduino UNO - Características  Microcontrolador: ATmega328  Tensão de operação: 5V  Tensão recomendada (entrada): 7-12V  Limite da tensão de entrada: 6-20V  Pinos digitais: 14 (seis pinos com saída PWM)  Entrada analógica: 6 pinos  Corrente contínua por pino de entrada e saída: 40mA  Corrente para o pino de 3.3 V: 50 mA  Quantidade de memória FLASH: 32 KB (ATmega328) onde 0.5 KB usado para o bootloader  Quantidade de memória SRAM: 2 KB (ATmega328)  Quantidade de memória EEPROM: 1 KB (ATmega328)  Velocidade de clock: 16 MHz
  • 42. Alimentação O Arduino UNO pode ser alimentado pela porta USB ou por uma fonte externa DC. A recomendação é que a fonte externa seja de 7 V a 12 V e pode ser ligada diretamente no conector de fonte ou nos pinos Vin e Gnd.
  • 43. Analógico e Digital  Analógico:  Temperatura  Som  Situações que tem efeito mecânico  Digital  Computador  Celulares  Situações que tem efeito eletrônico
  • 44. Analógico e Digital O Arduino possui tanto portas digitais quanto portas analógicas. As portas servem para comunicação entre o Arduino e dispositivos externos, por exemplo: ler um botão, acender um led ou uma lâmpada. Conforme já mencionado, o Arduino UNO, possui 14 portas digitais e 6 portas analógicas (que também podem ser utilizadas como portas digitais).
  • 45. Sistema Digital  0 e 1  0V e 5V  LOW (baixo) e HIGH (alto)
  • 46. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Aplicação
  • 47. Aplicações  Criação de prototipagem  Automação de residências (através de celulares ou não)  Criação de robôs  Segurança biométrica  Impressoras 3D  Jogos com interações com câmera  Automação industrial de pequeno porte
  • 49. IoT INTERNET DAS COISAS (INTERNET OF THINGS)
  • 50. Aplicações  Lares inteligentes  Vestíveis  Cidades inteligentes  Redes inteligentes  Internet Industrial  Carro conectado  Saúde conectada  Lojas inteligentes  Cadeia de suprimentos inteligentes  Agricultura inteligente
  • 52. Arduino na educação O Arduino pode ser um grande aliado na aprendizagem de disciplinas de ciências como um todo, seja para o Ensino Fundamental e Médio. Em nível acadêmico, na utilização de TCCs e outros projetos acadêmicos
  • 53. Uso pessoal e comercial  Você pode utilizar o Arduino para o seu uso pessoal, como por exemplo, na sua casa, no seu trabalho, ou em qualquer lugar em que ele possa realizar uma tarefa de seu interesse. Além dos seus interesses, você pode vender soluções tecnológicas para ajudar na realização de tarefas de interesses alheios.
  • 54. Projeto Botão  Materiais:  Arduino  1 LED vermelho  1 resistor de 330Ω  1 botão (push button)  Protoboard  Jumpers
  • 56. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Modelos
  • 57. Modelos de placas arduino  Nano  Uno  Mega  Due  Micro  Leonardo
  • 59. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Acessórios
  • 60. Shields para arduino SÃO PLACAS QUE PODEM SER ENCAIXADAS AO ARDUINO ESTENDENDO SUAS CAPACIDADES.
  • 61. Módulos OS MÓDULOS SÃO CONECTADOS E NÃO SE ENCAIXAM DIRETAMENTE AO ARDUINO, MAS TAMBÉM ESTENDEM AS FUNCIONALIDADES.
  • 62. Sensores OS SENSORES SÃO ENTRADAS DE DADOS DO ARDUINO PARA “CAPTURA” UMA DETERMINADA INFORMAÇÃO.
  • 63. Comunicação e expansão  Módulo WiFi – ESP8266  Conexão WiFi  Portas I2C (PCF8574)  A4 e A5 (UNO)  A4(SDA – Serial Data)  A5(SCL – Serial Clock)
  • 64. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Software
  • 65. Software arduino  Site oficial: http://arduino.cc  Para baixar o programa: https://www.arduino.cc/en/ Main/Software#  Escolha a sua plataforma  Instale o software (caso não esteja instalado)
  • 66. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Conexão
  • 67. Conectado o arduino ao computador  Instale primeiro o Arduino IDE  Conecte o cabo USB:  Conector tipo B ao Arduino  Conector tipo A ao computador
  • 68. Instalando os drivers do arduino Segundo o site do fabricante, caso o software da IDE do Arduino for instalado antes (Windows XP até o 10) os drivers serão instalados automaticamente Se baixar a versão ZIP, a instalação deverá ser de forma manual conforme o site: https://www.arduino.cc/en/Guide/ArduinoUno
  • 69. Seleção da Placa  Tecla Windows + Pause  Gerenciador de dispositivos
  • 73. Testando o Arduino  Materiais:  Arduino
  • 75. Testando o Arduino void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
  • 76. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Portas
  • 78. Portas digitais As portas digitais trabalham com valores bem definidos. No caso do Arduino esses valores são 0V e 5V. 0V indica a ausência de um sinal e 5V indica a presença de um sinal. Para escrever em uma porta digital basta utilizar a função: digitalWrite(pino, estado) Para ler um valor em uma porta digital basta utilizar a função: digitalRead(pino).
  • 79. Entrada e Saída Exemplos: Define que a porta 13 será de saída • pinMode(13, OUTPUT) Define que a porta 7 será de entrada • pinMode(7, INPUT) A função pinMode(pino, estado) é utilizada para definir se a porta será de entrada ou saída de dados. Para definir se uma porta será usada para entrada ou para saída de dados, é necessário explicitar essa situação no programa. As portas digitais são usadas para entrada e saída de dados.
  • 80. Saídas Digitais Pinos (0 ao 13) •Buzina (Buzzer) •Led •Relé Exemplos:
  • 81. Saída Digital  Materiais:  Arduino  1 LED vermelho  1 resistor de 180Ω  Protoboard  Jumpers
  • 84. Código void setup() { pinMode(3, OUTPUT); } void loop() { digitalWrite(3, HIGH); delay(1000); // Wait for 1000 millisecond(s) digitalWrite(3, LOW); delay(1000); // Wait for 1000 millisecond(s) }
  • 87. Entradas Digitais  Materiais:  Arduino  1 botão (push button)  1 resistor 10K ohms  Protoboard  Jumpers
  • 89. Entradas Digitais void setup() { pinMode(7, INPUT); } void loop() { digitalRead(7); delay(10); }
  • 90. Entradas Digitais void setup() { pinMode(7, INPUT); pinMode(13, OUTPUT); } void loop() { if (digitalRead(7) == HIGH){ digitalWrite(13,HIGH); } else { digitalWrite(13,LOW); } delay(100); }
  • 91. Entrada Analógica  Materiais  Arduino  Potenciômetro 10KΩ  LED vermelho  Resistor 330 ohms  Protoboard  Jumpers
  • 94. Entrada Analógica Código void setup() { pinMode(A0, INPUT); pinMode(3, OUTPUT); } void loop() { analogWrite(3, map(analogRead(A0), 0, 1023, 0, 255)); delay(10); }
  • 95. Saída (PWM)  Portas (3,5,6,9,10,11)  Exemplos:  LEDs  Motores *  Alto-falante * * Necessita de drives de potência ou amplificadores
  • 98. TREINAMENTO PROF. WELLINGTON TELLES CUNHA Programação
  • 99. Programação O microcontrolador vai seguir as instruções definidas pelo usuário As instruções serão os passos/sequências para microcontrolador Linguagem: alto nível e baixo nível Wiring – Plataforma – Computação Física
  • 100. Ambiente de programação  As principais funcionalidades do IDE do Arduino são:  Escrever o código do programa  Salvar o código do programa  Compilar um programa  Transportar o código compilado para a placa do Arduino
  • 104. Funções setup() e loop()  As duas principais partes (funções) de um programa desenvolvido para o Arduino são:  setup(): onde devem ser definidas algumas configurações iniciais do programa. Executa uma única vez.  loop(): função principal do programa. Fica executando indefinidamente.  Todo programa para o Arduino deve ter estas duas funções.
  • 107. Valores de variáveis  Um valor que pode se alterar ao longo do tempo  char, são utilizados para armazenar caracteres e ocupam um byte.  byte, podem armazenar um número entre 0 e 255.  int, ocupam 2 bytes (16 bits) e tanto armazenam um número entre 2-15 e 215-1, ou seja, entre -32,768 e 32,767.  unsigned int, também ocupam 2 bytes, mas como não possuem sinal, podem tomar valores entre 0 e 216-1, ou seja, entre 0 e 65,535.  long, ocupa 32 bits (4 bytes), de -2,147,483,648 até 2,147,483,647.  unsigned long.  float, números decimais que ocupam 32 bits (4 bytes). Podem tomar valores entre -3.4028235E+38 e +3.4028235E+38.  double, também armazena números decimais, mas possuem 8-bytes (64 bit).
  • 108. Valores constantes  Um dado é constante quando não sofre nenhuma variação no decorrer do tempo.  Do início ao fim do programa o valor permanece inalterado.  Exemplos: const int ledPin1 = 13; const int ledPin2 = 14;
  • 109. Constantes  A criação de constantes no Arduino pode ser feita de duas maneiras:  Usando a palavra reservada const  Exemplo:  const int x = 100;  Usando a palavra reservada define  Exemplo:  #define X 100
  • 110. Constantes  No Arduino existem algumas constantes previamente definidas e são consideradas palavras reservadas.  As constantes definidas são:  true – indica valor lógico verdadeiro  false – indica valor lógico falso  HIGH – indica que uma porta está ativada, ou seja, está em 5V.  LOW – indica que uma porta está desativada, ou seja, está em 0V.  INPUT – indica que uma porta será de entrada de dados.  OUTPUT – indica que uma porta será de saída de dados.
  • 111. Comentários // Comentário de uma linha /* */ Comentário de um trecho do programa
  • 112. Projeto 1 – Liga LED  Liga LED  Material:  1 Arduino  1 Resistor de 220 ohms (vermelho, vermelho, marrom)  1 LED vermelho  1 Protoboard  Jumpers 330 ohms ou 330R
  • 114. Projeto 1 - Programação void setup() { pinMode(11, OUTPUT); pinMode(10, OUTPUT); pinMode(9, OUTPUT); } void loop() { digitalWrite(11, HIGH); delay(1000); digitalWrite(10, HIGH); delay(1000); digitalWrite(9, HIGH); delay(1000); digitalWrite(11, LOW); digitalWrite(10, LOW); digitalWrite(9, LOW); delay(1000); }
  • 115. Operadores Aritméticos Operador Ação + Soma - Subtração ou troca de sinal * Multiplicação / Divisão % Resto da divisão inteira ++ Incremento -- Decremento
  • 116. Exemplos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 int a = 5; //variável <em>a</em> é um inteiro, inicializado a 5 int b = 6; //variável <em>b</em> é um inteiro, inicializado a 6 int c = a + b; //variável <em>c</em> é um inteiro, inicializado a 11. void setup() { // initializar Serial Serial.begin(9600); // baudrate 9600 Serial.print("a + b igual "); Serial.println(String(c)); } void loop() { }
  • 117. Operadores Relacionais Operador Ação > maior < menor >= maior ou igual <= menor ou igual == igual != não igual
  • 118. Estrutura de Controle // Se expressão igual a TRUE, o bloco de comandos é executado if (expressão) { [Bloco de comandos] }
  • 119. Projeto if  Controle de acendimento de LED mediante chave push button  Material:  1 Arduino  1 Resistor de 220 ohms (vermelho, vermelho, marrom)  1 Resistor de 10k ohms  1 Push button  1 LED vermelho  1 Protoboard  Jumpers 10 quilo ohms
  • 121. Projeto if - programação int botEstado = 0; void setup() { pinMode(2, INPUT); pinMode(3, OUTPUT); } void loop() { botEstado = digitalRead(2); if (botEstado == HIGH) { digitalWrite(3, HIGH); } else { digitalWrite(3, LOW); } }
  • 122. Operadores Lógicos Símbolo Operação && E (AND) || OU (OR) ! NÃO (NOT)
  • 123. Operadores Bit a Bit Símbolo Operação & E (AND) | OU (OR) ~ NÃO (NOT) ^ OU exclusivo (XOR) << Deslocamento de bit à esquerda >> Deslocamento de bit à direita
  • 124. Repetição: FOR // Enquanto for igual a true, repita o bloco de comandos for (variável = inicio; final; incremento){ [Bloco de comandos] }
  • 125. Projeto for  Controle de acendimento de LEDs na sequência  Material:  1 Arduino  1 Resistor de 220 ohms (vermelho, vermelho, marrom)  1 Resistor de 10k ohms  1 Push button  1 LED vermelho  1 Protoboard  Jumpers
  • 127. Projeto for Código int led_ini = 3; int led_fim = 7; int led = 0; void setup() { pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); } void loop() { for(int led = led_ini ; led <= led_fim ; led++) { digitalWrite(led, HIGH); delay(100); digitalWrite(led, LOW); } for(int led = led_fim ; led >= led_ini ; led--) { digitalWrite(led, HIGH); delay(100); digitalWrite(led, LOW); } }
  • 128. Repetição: WHILE // Enquanto for TRUE repita while (expressão){ [Bloco de comandos] } // Faça enquanto for TRUE do { [Bloco de comandos] }
  • 129. Projeto while  Materiais:  Arduino  Botão push button  Resistor de 330 ohms  Resistor de 10k ohms  LED vermelho  Protoboard  Jumpers
  • 131. Projeto while Código void setup() { pinMode(5, INPUT); pinMode(3, OUTPUT); } void loop() { while (digitalRead(5) == 1) { digitalWrite(3, HIGH); delay(1000); // Wait for 1000 millisecond(s) digitalWrite(3, LOW); delay(1000); // Wait for 1000 millisecond(s) } }
  • 132. Seleção: SWITCH // Compara um valor com suas possíveis respostas switch (variável) case valor1: [bloco de comandos 1] break; case valor2: [bloco de comandos 2] break; .... default: [bloco de comandos padrão] break; }
  • 133. Projeto switch  Material:  Arduino  Três LED vermelhos  Três resistores de 330 ohms  Protoboard  Jumpers
  • 135. Projeto switch Código int A = 10; int B = 52; void setup() { pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); } void loop() { int x = B % A; switch(x){ case 0: digitalWrite(3, HIGH); break; case 1: digitalWrite(4, HIGH); break; default: digitalWrite(5, HIGH); break; } }
  • 136. Funções do Arduino  Um bloco de códigos para executar uma ação  Pode ser usada para “dividir” um situação problema  Usada para fazer ações dependente dos parâmetros
  • 137. Declarando uma função func([parâmetros]) { // Linhas de código pertencentes à função func }  Exemplo: void light(int intensidade) { analogWrite(lamp, intensidade); delay(500); }
  • 138. Como usar? int lamp = 3; // Declaração da Função void light(int intensidade) { analogWrite(lamp, intensidade); delay(500); } void setup() { pinMode(lamp, OUTPUT); } void loop() { // Chamadas das funções passando os valores light(5); light(55); light(105); light(155); light(205); light(255); }
  • 139. TREINAMENTO PROF. WELLINGTON TELLES DETALHES
  • 142. Pinos - Alimentação  IOREF - Fornece uma tensão de referência para que shields possam selecionar o tipo de interface apropriada, dessa forma shields que funcionam com a placas Arduino que são alimentadas com 3,3V podem se adaptar para ser utilizados em 5V e vice-versa.  RESET - pino conectado a pino de RESET do microcontrolador. Pode ser utilizado para um reset externo da placa Arduino.
  • 143. Pinos - Alimentação  3,3 V. - Fornece tensão de 3,3V. para alimentação de shield e módulos externos. Corrente máxima de 50 mA.  5 V - Fornece tensão de 5 V para alimentação de shields e circuitos externos.  GND - pinos de referência, terra.  VIN - pino para alimentar a placa através de shield ou bateria externa. Quando a placa é alimentada através do conector Jack, a tensão da fonte estará nesse pino.
  • 144. Pinos  Pinos de 0 a 5, aceitam tensão de zero a cinco volts CC que vão ao conversor A/D de 10 bits no microcontrolador do Arduino.  O pino AREF, nas entradas digitais, é a entrada de tensão de referência para esse conversor.  Quando houver 5V o valor conversão será 1023
  • 145. Pinos  Pinos AREF e GND: o pino AREF é a entrada de tensão de referência para o conversor A/D do Arduino; o pino GND é o terra, comum a todos os outros pinos.  Pinos 3,5,6 e 9 a 11 (PWM): são seis pinos digitais que podem ser usados para gerar sinais analógicos com a função analogWrite() utilizandoa técnica de Modulação por Largura de Pulso (PWM)  Pinos 0 e 1: são conectados a USART do microcontrolador do Arduino para comunicação serial com um computador  Pinos 2 e 3: pinos que chamam uma ISR (Interrupt Service Routine) para tratar uma interrupção com a função attachInterrupt() nesses pinos.
  • 146. Comunicação USB  Como interface USB para comunicação com o computador, há na placa um microcontrolador ATMEL ATMEGA16U2  Esse microcontrolador que é o responsável do upload do código binário  Dois LEDS TX e RX indicadores ATMEGA16U2
  • 149. TREINAMENTO PROF. WELLINGTON TELLES CUNHA PROJETOS
  • 150. Projeto 2  Controle de acendimento de LED mediante chave push button - Atividade: semáforo simples;  Material:  1 Arduino  3 Resistores de 220 ohms (vermelho, vermelho, marrom)  1 LED vermelho  1 LED verde  1 LED amarelo  1 Protoboard  Jumpers
  • 154. Projeto 2 Código void setup() { pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); } void loop() { digitalWrite(12, HIGH); digitalWrite(11, LOW); digitalWrite(10, LOW); delay(2000); // Wait for 2000 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, HIGH); digitalWrite(10, LOW); delay(3000); // Wait for 3000 millisecond(s) digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, HIGH); delay(3000); // Wait for 3000 millisecond(s) }