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
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#
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:
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Ω
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
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).
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
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
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)
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
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.
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.
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
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()
{
}
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
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;
}
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
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