SlideShare uma empresa Scribd logo
1 de 130
Baixar para ler offline
IntroduIntroduççãoão àà Eletrônica comEletrônica com ArduinoArduino
Felipe Nascimento Martins
v. 4 - 2013
VIII Jornada de Iniciação Científica,
Desenvolvimento Tecnológico e
Inovação do Ifes
O trabalho Introdução à Eletrônica com
Arduino de Felipe Nascimento Martins foi
licenciado com uma Licença
Creative Commons - Atribuição-
CompartilhaIgual 3.0 Não Adaptada.
http://nera.sr.ifes.edu.br
Felipe Nascimento Martins
Contato:
Twitter: @@f_n_martinsf_n_martins
http://www.facebook.com/felipenmhttp://www.facebook.com/felipenm
felipefelipe.n.martins@gmail.com.n.martins@gmail.com
Conteúdo
• Arduino;
• Microcontrolador;
• Primeiro programa;
• Um pouco de eletrônica (pouco mesmo!);
• Programas mais legais;
• Práticas (montagem e programação);
• Avançando com o Arduino: shields,
comunicação sem fio, aplicações em
robótica...
Felipe Nascimento Martins
Felipe Nascimento Martins
O que é Arduino?
• Arduino é uma plataforma de prototipagem
eletrônica open-source, baseada nos princípios
de flexibilidade e facilidade de uso para hardware
e software.
• Consiste de uma placa com microcontrolador
programável preparada para receber sinais de
sensores e acionar atuadores.
• Sua linguagem de programação é baseada em
Wiring (baseado em C/C++).
• A placa pode funcionar em conjunto ou de forma
independente do computador.
Felipe Nascimento Martins
Arduino – hardware
Felipe Nascimento Martins
Arduino – hardware
Felipe Nascimento Martins
Arduino – software
Arduino é Open Source
• Desenvolvido por: Massimo Banzi, David
Cuartielles, Tom Igoe, Gianluca Martino e David
Mellis, na Itália, em 2005;
• Todo o projeto é aberto: open source hardware
and software;
• 200 placas vendidas em 2005, 5.000 em 2006,
30.000 em 2007 e mais de 300.000 em 2011 e
cerca de 1 milhão até setembro de 2013!
• Site oficial: www.arduino.cc
Felipe Nascimento Martins
Arduino é Open Source!
Felipe Nascimento Martins
Arduino é Open Source!
Felipe Nascimento Martins
Arduino é Open Source!
• Todo o hardware é aberto e os projetos estão
disponíveis.
• Quem quiser, pode comprar os componentes e montar a
sua placa!
• O software de programação também é livre e está
disponível para download gratuitamente.
Felipe Nascimento Martins
Arduino é Open Source!
• Todo o hardware é aberto e os projetos estão
disponíveis.
• Quem quiser, pode comprar os componentes e montar a
sua placa!
• O software de programação também é livre e está
disponível para download gratuitamente.
• Mas...
Felipe Nascimento Martins
Arduino é Open Source!
• Todo o hardware é aberto e os projetos estão
disponíveis.
• Quem quiser, pode comprar os componentes e montar a
sua placa!
• O software de programação também é livre e está
disponível para download gratuitamente.
• Mas...
• O nome ArduinoArduino é marca registrada!
Felipe Nascimento Martins
Clones do Arduino
• Freeduino
Felipe Nascimento Martins
Clones do Arduino
• Seeduino
Felipe Nascimento Martins
Clones do Arduino
• Brasuíno
Felipe Nascimento Martins
Clones do Arduino
• Severino
Felipe Nascimento Martins
Similares ao Arduino
• chipKIT Uno32 - PIC32MX320F128 (32 bits,
80MHz, 128kB Flash, 16kB SRAM)
Felipe Nascimento Martins
Similares ao Arduino
• Olimexino – STM32F103RBT6 (núcleo ARM Cortex
M3, 32 bits, 128kB, 72MHz)
Felipe Nascimento Martins
Similares ao Arduino
• Adafruit Trinket – ATtiny85
Felipe Nascimento Martins
Similares ao Arduino
• LaunchPad - MSP430
Felipe Nascimento Martins
Similares ao Arduino
• LaunchPad - MSP430
US$4,30
com frete
grátis!!
http://www.ti.com/tool/msp-exp430g2
Felipe Nascimento Martins
Arduino Uno
• Microcontrolador: ATmega328;
• Tensão de operação: 5V;
• Tensão de entrada (recomendada): 7-12V;
• Pinos digitais de E/S:14 (6 podem ter sinal PWM);
• Pinos com entrada analógica: 6;
• Corrente máxima por pino de E/S: 40 mA;
• Hardware para comunicação serial: 1 porta;
• Memória Flash (de programa): 32 kB, dos quais 0,5 kB
são usados pelo bootloader;
• Memória SRAM: 2 kB; EEPROM: 1 kB;
• Frequência de clock: 16 MHz.
Felipe Nascimento Martins
Felipe Nascimento Martins
Arduino Mega 2560
• Microcontrolador: ATmega2560;
• Tensão de operação: 5V;
• Tensão de entrada (recomendada): 7-12V;
• Pinos digitais de E/S: 54 (15 podem ter sinal PWM);
• Pinos com entrada analógica: 16;
• Corrente máxima por pino de E/S: 40 mA;
• Hardware para comunicação serial: 4 portas;
• Memória Flash (de programa): 256 kB, dos quais 8 kB
são usados pelo bootloader;
• Memória SRAM: 8 kB; EEPROM: 4 kB;
• Frequência de clock: 16 MHz.
Felipe Nascimento Martins
Felipe Nascimento Martins
Arduino Mega 2560
O que é um Microcontrolador?
– Chip;
– CPU de pequeno porte, capaz de executar
um conjunto de instruções;
– Ou seja, possui um microprocessador!
– Instruções simples e rápidas;
– Possui memória(s);
– Possui periféricos;
– Pode se comunicar com outros periféricos;
etc.
Felipe Nascimento Martins
Componentes de um Microcontrolador
Conversor
D/A
Conversor
A/D
PWM
CPU
EEPROM
RAM
Porta
Serial
Porta
Paralela
Temporizadores
Microcontrolador
Felipe Nascimento Martins
Exemplos de Microcontroladores
• Família 8051 (Intel ou ATMEL)
• 80C196KB (Intel)
• 68HC11 (Motorola / Freescale)
• MSP430 (Texas Instruments)
• ATmega328 (ATMEL)
• PIC16F628A (Microchip)
• dsPIC30F6014 (Microchip)
• Cortex M3 (ARM)
Felipe Nascimento Martins
Exemplos de Microcontroladores
• Família 8051 (Intel ou ATMEL)
• 80C196KB (Intel)
• 68HC11 (Motorola / Freescale)
• MSP430 (Texas Instruments)
• ATmega328 (ATMEL)
• PIC16F628A (Microchip)
• dsPIC30F6014 (Microchip)
• Cortex M3 (ARM)
Cadê o
Arduino??
Felipe Nascimento Martins
Exemplos de Microcontroladores
• Família 8051 (Intel ou ATMEL)
• 80C196KB (Intel)
• 68HC11 (Motorola / Freescale)
• MSP430 (Texas Instruments)
• ATmega328 (ATMEL)
• PIC16F628A (Microchip)
• dsPIC30F6014 (Microchip)
• Cortex M3 (ARM)
Felipe Nascimento Martins
Microcontroladores do Arduino
• ATMEL
• ATmega168: Diecimila, Duemilanove, Nano,
LilyPad;
• ATmega328P: Duemilanove, Nano, Fio, LilyPad,
Uno;
• ATmega1280: Mega;
• ATmega2560: Mega2560;
• ATmega32u4: Leonardo, Esplora, LilyPad USB,
Yún, Robot;
• AT91SAM3X8E: Due.
71612202,5132ATmega32u4Esplora
6168140,50,5/116/32
ATmega168 ou
ATmega328
Nano
61661410,516/32
ATmega168V ou
ATmega328V
LilyPad
71612202,5132ATmega32u4Leonardo
1284125496--512AT91SAM3X8EDue
1516165484256ATmega2560Mega2560
1516165484128ATmega1280Mega
6166142132ATmega328PUno
6166140,50,5/116/32ATmega168/328PDuemilanove
Pinos
PWM
Clock
(MHz)
Pinos
A/D
Dig.
I/O
SRAM
kB
EEPROM
kB
Flash
kB
ProcessadorArduino
Arduino
Arduino - Microcontrolador
Felipe Nascimento Martins
Arduino - Microcontrolador
• ATmega328:
• Núcleo AVR RISC de 8 bits;
• 32kB Flash, 2kB RAM, 1kB EEPROM;
• 23 pinos de E/S;
• 3 temporizadores/contadores;
• USART;
• interface a 2 fios SPI;
• 6 canais de conversor A/D de 10 bits;
• WDT com oscilador interno;
• Clock máximo de 20MHz;
• Opera de 1,8V a 5,5V.
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
Arduino – Programa básico
Felipe Nascimento Martins
No Arduino Uno:
pinos digitais 0 a 13 (0 a 13);
pinos analógicos 0 a 5 (14 a 19).
Prática 1: Pisca-LED
• Montagem:
Felipe Nascimento Martins
Um pouco de eletrônica
• Ok. Entendi o programa.
• Mas o que acontece nos
pinos do Arduino?
Felipe Nascimento Martins
Um pouco de eletrônica
• Ok. Entendi o programa.
• Mas o que acontece nos
pinos do Arduino?
• A função
digitalWrite(12,HIGH);
faz com que o pino 12 vá
para “nível alto”, ou seja,
ele fica com 5V.
Felipe Nascimento Martins
Um pouco de eletrônica
• Ok. Entendi o programa.
• Mas o que acontece nos
pinos do Arduino?
• A função
digitalWrite(12,HIGH);
faz com que o pino 12 vá
para “nível alto”, ou seja,
ele fica com 5V.
• Este pino está ligado ao
RESISTOR+LED, e ao pino
GND (0V).
Felipe Nascimento Martins
Um pouco de eletrônica
• Ok. Entendi o programa.
• Mas o que acontece nos
pinos do Arduino?
• A função
digitalWrite(12,HIGH);
faz com que o pino 12 vá
para “nível alto”, ou seja,
ele fica com 5V.
• Este pino está ligado ao
RESISTOR+LED, e ao pino
GND (0V).
• É um circuito série, por
onde circula corrente!
Felipe Nascimento Martins
+5V
0V
Um pouco de eletrônica
• Em resumo:
• É a circulação de corrente
elétrica (elétrons) que faz
acender o LED;
• Experimente retirar o fio
que liga o LED ao GND,
mantendo o pino 12 em 5V.
• O LED apaga pois a
corrente precisa circular
num circuito fechado!
Felipe Nascimento Martins
+5V
0V
Um pouco de eletrônica
• Em resumo:
• É a circulação de corrente
elétrica (elétrons) que faz
acender o LED;
• A corrente só existirá se
houver diferença de
potencial elétrico
(diferença de tensão) entre
pontos do circuito: 5V – 0 =
5V;
• Tensão: volt [V];
• Corrente: ampère [A].
Felipe Nascimento Martins
+5V
0V
Um pouco de eletrônica
• A função
digitalWrite(12,LOW);
faz com que o pino 12 vá
para “nível baixo”, ou seja,
ele fica com 0V.
• Logo, como não há
diferença de tensão entre
os pinos 12 e GND, a
corrente é zero => LED
apaga.
Felipe Nascimento Martins
0V
0V
Um pouco de eletrônica
• Beleza. Mas, e o resistor?
Serve para quê?
Felipe Nascimento Martins
Um pouco de eletrônica
• Beleza. Mas, e o resistor?
Serve para quê?
• O elemento resistor serve
para dificultar a circulação
de corrente elétrica;
• Ele é colocado no circuito
para evitar que a corrente
cresça muito, o que pode
provocar problemas;
• No nosso circuito, o
resistor serve para evitar
que o LED queime devido
a uma corrente muito alta.
Felipe Nascimento Martins
Um pouco de eletrônica
• Quanto maior for o valor
da resistência do resistor,
menor será a corrente
(para uma mesma
diferença de tensão).
• O brilho do LED varia com
a corrente.
Felipe Nascimento Martins
Um pouco de eletrônica
• Cálculo da corrente:
• Lei de Ohm: V = R * I
• V = 5V, R = 220 .
• I = 5 / 220
• I = 0,0227 A = 22,7 mA
Felipe Nascimento Martins
Um pouco de eletrônica
• Cálculo da corrente:
• Lei de Ohm: V = R * I
• V = 5V, R = 220 + 220 .
• I = 5 / 440
• I = 0,0114 A = 11,4 mA
• Podemos calcular a queda de
tensão em cada resistor:
• VR = R * I, R = 220 , I = 11,4 mA.
• VR = 220 * 0,0114 = 2,5 V.
Felipe Nascimento Martins
Um pouco de eletrônica
• Cálculo da corrente:
• O LED tem queda de
tensão fixa = ~1,73V. Logo:
• V = 5 – 1,73 = 3,27V.
• V = R * I => I = V / R.
• I = 3,27 / 220 = 0,0149 A
• I = 14,9mA.
Felipe Nascimento Martins
+5V
0V
Um pouco de eletrônica
• Note que se a tensão do
pino 12 pudesse ser
alterada, a corrente no
circuito seria diferente.
• Ou seja, poderíamos
controlar o brilho do LED!
Felipe Nascimento Martins
+5V
0V
Simulador: 123d.circuits.io
Felipe Nascimento Martins
Detalhes: http://123d.circuits.io/circuits/34111/edit#
Diodo
• Dispositivo semicondutor que permite a circulação de
corrente apenas em um sentido;
• A tensão em seus terminais deve ter polaridade correta:
mais positiva no terminal A (anodo) e mais negativa no
terminal K (catodo);
• Apresenta queda de tensão aproximadamente fixa
(~0,7V) quando a corrente circula;
• Usado em circuitos retificadores: transforma corrente
alternada para contínua.
Felipe Nascimento Martins
Diodo
• Retificador de onda completa:
Felipe Nascimento Martins
Diodo - exemplos
Felipe Nascimento Martins
Matriz de contatos (Breadboard ou Protoboard)
Felipe Nascimento Martins
Matriz de contatos (Breadboard ou Protoboard)
Felipe Nascimento Martins
Prática 1.1: Não pisca-LED
• LED é um diodo especial
que brilha quando a
corrente circula por ele.
• Experimente inverter a
ligação dos pinos do LED
em nosso circuito e
verifique que ele não vai
mais piscar, mesmo
quando houver diferença
de potencial nos pinos!
Felipe Nascimento Martins
Capacitor
• Elemento que armazena energia na forma de campo
elétrico;
• Existem vários tipos: alguns têm polaridade (como os
eletrolíticos), outros não (como os cerâmicos);
• A tensão em seus terminais depende da carga
acumulada, e não varia instantaneamente;
• Em corrente contínua, são usados como filtros ou
“suavizadores” de tensão.
Felipe Nascimento Martins
Capacitor - exemplos
Felipe Nascimento Martins
Capacitor – exemplo de aplicação
• Retificador de onda completa com capacitor:
Felipe Nascimento Martins
Prática 2: Pisca-LED com Capacitor
• Monte o circuito ao lado.
• Use o mesmo programa
da prática 1, mas altere
o tempo de espera para
5 segundos;
• Rode o programa e
verifique o resultado;
• Depois, retire o
capacitor e rode o
mesmo programa. O
que muda?
Felipe Nascimento Martins
Arduino
• Outras funções:
digitalRead(pino);
Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V).
analogRead(pino);
Obtém valor entre 0 e 1023 proporcional à tensão no
pino (entre 0 e 5V). Tempo de conversão = 100µs.
while(analogRead(A2) < 950);
Mantém-se em loop até que o valor de retorno da
função analogRead seja maior que 800.
for(int conta = 0; conta < 6; conta++)
Loop: executa o bloco de código até que conta >= 6.
Felipe Nascimento Martins
Arduino
• Outras funções:
digitalRead(pino);
Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V).
analogRead(pino);
Obtém valor entre 0 e 1023 proporcional à tensão no
pino (entre 0 e 5V). Tempo de conversão = 100µs.
while(analogRead(A2) < 950);
Mantém-se em loop até que o valor de retorno da
função analogRead seja maior que 800.
for(int conta = 0; conta < 6; conta++)
Loop: executa o bloco de código até que conta >= 6.
Felipe Nascimento Martins
Arduino
• Outras funções:
digitalRead(pino);
Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V).
analogRead(pino);
Obtém valor entre 0 e 1023 proporcional à tensão no
pino (entre 0 e 5V). Tempo de conversão = 100µs.
while(analogRead(A2) < 950);
Mantém-se em loop até que o valor de retorno da
função analogRead seja maior que 950.
for(int conta = 0; conta < 6; conta++)
Loop: executa o bloco de código até que conta >= 6.
Felipe Nascimento Martins
Arduino
• Outras funções:
digitalRead(pino);
Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V).
analogRead(pino);
Obtém valor entre 0 e 1023 proporcional à tensão no
pino (entre 0 e 5V). Tempo de conversão = 100µs.
while(analogRead(A2) < 950);
Mantém-se em loop até que o valor de retorno da
função analogRead seja maior que 800.
for(int conta = 0; conta < 6; conta++)
Loop: executa o bloco de código até que conta >= 6.
Felipe Nascimento Martins
LDR – Resistência variável com a luz
Felipe Nascimento Martins
LDR – Resistência variável com a luz
Felipe Nascimento Martins
LDR – Resistência variável com a luz
Felipe Nascimento Martins
O pino 13 tem
um resistor
interno!
Prática 3: Usando o sensor de luz
• Monte o circuito com o LDR – Light Dependent
Resistor – e execute o seguinte programa:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensor = analogRead(A2);
Serial.println(sensor, DEC);
}
Felipe Nascimento Martins
Arduino
• A.
Prática 4: Usando o sensor de luz
• Monte o circuito com LDR – Light Dependent
Resistor (sensor de luz).
• Escreva um programa que acenda o LED do pino
13 quando houver pouca luz e apague o mesmo
LED quando houver muita luz.
void setup() {
...
}
void loop() {
...
}
Felipe Nascimento Martins
Comunicação serial
• Bit: menor unidade de informação -> 0 ou 1;
• Informação é enviada bit a bit, em sequência;
• Síncrona: uma linha de dados e outra de clock:
Felipe Nascimento Martins
Comunicação serial
• Bit: menor unidade de informação -> 0 ou 1;
• Informação é enviada bit a bit, em sequência;
• Assíncrona: apenas uma linha de dados. A
velocidade deve ser definida:
Felipe Nascimento Martins
Comunicação serial
• OK.
• Mas como posso transmitir outras informações
além de “zeros” e “uns”?
Felipe Nascimento Martins
Comunicação serial
• OK.
• Mas como posso transmitir outras informações
além de “zeros” e “uns”?
• Existe uma tabela que relaciona caracteres a
sequências de zeros e uns:
• ASCII (American Standard Code for
Information Interchange).
• Esta tabela criou um padrão para troca de
informações em sistemas binários.
Felipe Nascimento Martins
Tabela ASCII
Felipe Nascimento Martins
Arduino
• Microcontrolador possui hardware para
comunicação serial:
• Pino digital 0 (RX): recepção de dados;
• Pino digital 1 (TX): transmissão de dados;
• Bit 1 = 5V; Bit 0 = 0V;
• A maioria das placas Arduino possui hardware
que converte sinais do padrão serial assíncrono
para USB;
Felipe Nascimento Martins
Prática 5: Comunicação bidirecional
• Outro exemplo de comunicação serial: desta vez
o Arduino vai receber um dado do computador,
processá-lo e retornar o resultado pela porta
serial.
• Vamos analisar o programa:
int i, numero;
void setup() {
Serial.begin(9600);
}
void loop() {
while (true) {
Serial.print("Entre com um numero: ");
while (Serial.available()==0);
numero = Serial.read();
Felipe Nascimento Martins
if (numero>='0' && numero<='9')
Serial.println(numero, BYTE);
else {
Serial.println("O valor deve ser
numerico!");
continue;
}
numero-='0';
for (i = 0; i <= 10; i++) {
Serial.print(numero);
Serial.print(" x ");
Serial.print(i);
Serial.print(" = ");
Serial.println(numero*i);
}
Serial.println("");
}
}
Felipe Nascimento Martins
PWM
• PWM = Pulse Width Modulation;
• Razão cíclica (duty cycle): define a tensão
média aplicada:
T(PWM) T(PWM) T(PWM)
A1 A2 A3
Felipe Nascimento Martins
Tensão média de um sinal PWM
Felipe Nascimento Martins
Sinal PWM versus sinal analógico
Felipe Nascimento Martins
Controle de potência por PWM
analogWrite(11, 200);
cria no pino 11 um sinal
PWM com razão cíclica
igual a 200;
f = 490Hz;
apenas alguns pinos
digitais possuem saída
PWM.
Felipe Nascimento Martins
Prática 6: Controle de brilho PWM
int brilho = 0; // brilho do LED
int sensor // valor do LDR
void setup() {
pinMode(A2, INPUT); // pino do LDR: entrada A2
pinMode(11, OUTPUT); // pino do LED: saida 11
Serial.begin(9600);
}
void loop() {
sensor = analogRead(A2); // le do LDR
brilho = map(sensor, 0, 1023, 0, 255);
Serial.println(brilho, DEC); // envia ao PC
analogWrite(11, brilho); // aciona LED
}
Felipe Nascimento Martins
Prática 7: Pisca-pisca suave
int brilho = 0; // brilho do LED
int variacao = 5; // quanto varia o brilho
void setup() {
pinMode(11, OUTPUT);
}
void loop() {
analogWrite(11, brilho);
brilho = brilho + variacao;
if (brilho == 0 || brilho == 255) {
variacao = -variacao;
}
delay(30);
}
Felipe Nascimento Martins
Motor de Corrente Contínua (CC)
Felipe Nascimento Martins
• Alimentado em corrente contínua;
• Possui ímã e bobinas internamente;
• Velocidade é ajustada pela tensão de
alimentação (pode ser por PWM!);
• Sentido de giro é alterado pela polaridade.
Motor de Passo
Felipe Nascimento Martins
• Alimentado com sinais
digitais;
• Alimentação das
bobinas deve ser
sequencial;
• Permite controle preciso
de posição;
• Torque cai muito com o
aumento da velocidade.
Servomotor
Felipe Nascimento Martins
Servomotor
Felipe Nascimento Martins
• É um motor CC que possui um sistema de
interno de controle:
• angular – controla a posição (giro) do eixo;
• contínuo – controla a velocidade do eixo;
Servomotor
Felipe Nascimento Martins
• Normalmente é feito com um motor de
corrente contínua, um circuito eletrônico e
engrenagens para aumentar o torque;
Servomotor
Felipe Nascimento Martins
• Três fios: 2 de alimentação e um de controle;
• O sinal de referência (de posição ou
velocidade) é do tipo PWM.
Servomotor
Felipe Nascimento Martins
• Três fios: 2 de alimentação e um de controle;
• O sinal de referência (de posição ou
velocidade) é do tipo PWM.
Prática 8: Controle de Servomotores
Felipe Nascimento Martins
Felipe Nascimento Martins
Prática 8: Controle de Servomotores
#include <Servo.h>
Servo myservo; // create servo object
Servo myservo2;
int potpin = 0; // used to connect the potentiometer
int val; // value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin
myservo2.attach(10);
}
void loop() {
val = analogRead(potpin); // entre 0 e 1023
val = map(val, 0, 1023, 0, 179); // escalona
myservo.write(val);
myservo2.write(179-val);
delay(15);
} Felipe Nascimento Martins
Prática 8: Controle de Servomotores
Outros motores com Arduino
• Cada pino do Arduino pode fornecer, no máximo,
40mA de corrente -> pode não ser suficiente para
acionar um motor!
• Solução: usar transistores.
Felipe Nascimento Martins
Transistor
• Um transistor pode ser entendido
como uma “válvula” eletrônica: é
capaz de acionar cargas de alta
corrente a partir de um sinal de
controle de baixa corrente.
• Quanto maior for a corrente no pino
de “base” (B), maior será a corrente
entre os pinos “coletor” (C) e “emissor”
(E).
• Por exemplo, se a corrente na base
variar de 0 a 0,01 A, a corrente de
coletor pode variar de 0 a 1A!
Felipe Nascimento Martins
Prática 9: Motor CC com transistor
Felipe Nascimento Martins
Prática 9: Motor CC com transistor
Felipe Nascimento Martins
Avançando com Arduino: Shields
• Pode acionar dois motores CC ou um motor de
passo: até 36V, 600mA, 5kHz.
Felipe Nascimento Martins
Avançando com Arduino: Shields
• Exemplo: controle de velocidade dos motores
com o Shield Motor Control:
Felipe Nascimento Martins
Avançando com Arduino: Shields
Felipe Nascimento Martins
• Shield oficial para controle de motores:
Avançando com Arduino: Shields
Felipe Nascimento Martins
• Ethernet Shield:
Avançando com Arduino: RS-485 e I2C
Detalhes: http://nossosrobos.blogspot.com.br/2011/08/arduino-conversando-com-nxt-via-rs-485.html
http://nossosrobos.blogspot.com.br/2013/03/comunicacao-ic-entre-lego-nxt-e-arduino.html
Felipe Nascimento Martins
Avançando com Arduino
Felipe Nascimento Martins
Arduino Nano
Avançando com Arduino: Sem fio
Detalhes: http://nossosrobos.blogspot.com.br/2011/12/arduino-wireless.html
Felipe Nascimento Martins
Avançando com Arduino: Bluetooth
Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html
Felipe Nascimento Martins
Avançando com Arduino: LCDs
Detalhes: http://nossosrobos.blogspot.com.br/2012/01/lcd-para-seu-robo-com-arduino.html
Felipe Nascimento Martins
• LCD gráfico 128x128 pixels:
Avançando com Arduino: MATLAB
Detalhes: http://nossosrobos.blogspot.com.br/2011/10/arduino-com-matlab.html
Felipe Nascimento Martins
Avançando com Arduino: LabVIEW
Detalhes: http://sine.ni.com/nips/cds/view/p/lang/pt/nid/209835
Felipe Nascimento Martins
Avançando com Arduino: Robô
Detalhes: http://nossosrobos.blogspot.com.br/2012/09/monte-seu-robo-com-arduino.html
Felipe Nascimento Martins
Robôs baseados em Arduino
• DFRobotShop Rover - Arduino
Compatible Tracked Robot
Felipe Nascimento Martins
Robôs baseados em Arduino
• DFRobotShop Rover 2.0 – Arduino
Compatible Mecanum
Felipe Nascimento Martins
Robô Arduino oficial
• Arduino Robot
Felipe Nascimento Martins
Detalhes: http://nossosrobos.blogspot.com.br/2013/07/arduino-robot-o-primeiro-robo-arduino.html
Softwares gratuitos
Felipe Nascimento Martins
• IDE de programação do Arduino:
www.arduino.cc
• Fritzing - para fazer esquemas elétricos, de
proto-board e placas de circuito impresso:
www.fritzing.org
• 123D Circuits.io - para simulação de circuitos
com ou sem Arduino e projeto de placas de
circuito impresso (roda no navegador):
http://123d.circuits.io
Referências
Felipe Nascimento Martins
• VALPEREIRO, Filipe. Workshop Arduino, 2008.
• JUSTEN, Álvaro. Curso de Arduino (apostila), 2011.
• FONSECA, Érika e BEPPU, Mathyan. Apostila
Arduino. CT/UFF, 2010.
• ERIKSSON, Fredrik. Industrial Circuits Application
Note - Stepper Motor Basics.
• POMÍLIO, J.A. Eletrônica de Potência. UNICAMP
(apostila para o curso de graduação). Acesso em
AGO/2010.
• Blog: www.nossosrobos.blogspot.com
• Site oficial do Arduino: www.arduino.cc
• http://www.labdegaragem.com.br/wiki
Obrigado!
Felipe N. Martins
@@f_n_martinsf_n_martins
www.facebook.com/felipenmwww.facebook.com/felipenm

Mais conteúdo relacionado

Mais procurados

Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoFátima Bernardes
 
Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PICFabio Souza
 
Apostila clp final
Apostila clp finalApostila clp final
Apostila clp finalSamuel R
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Manutenção de Computadores.pdf
Manutenção de Computadores.pdfManutenção de Computadores.pdf
Manutenção de Computadores.pdfOs Fantasmas !
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar ArduinoIsvaldo Souza
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresGilvan Latreille
 
Introdução aos periféricos
Introdução aos periféricosIntrodução aos periféricos
Introdução aos periféricosHenrique Quirino
 
Fonte de alimentação
Fonte de alimentaçãoFonte de alimentação
Fonte de alimentaçãoCarlos Pereira
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Wellington Oliveira
 
Caderno de exercícios Sistemas digitais - Portas lógicas
Caderno de exercícios  Sistemas digitais - Portas lógicasCaderno de exercícios  Sistemas digitais - Portas lógicas
Caderno de exercícios Sistemas digitais - Portas lógicasCarlos Pereira
 

Mais procurados (20)

Programação em-arduino-módulo-básico
Programação em-arduino-módulo-básicoProgramação em-arduino-módulo-básico
Programação em-arduino-módulo-básico
 
Perifericos de entrada e saida
Perifericos de entrada e saidaPerifericos de entrada e saida
Perifericos de entrada e saida
 
Programando os Microcontroladores PIC
Programando os Microcontroladores PICProgramando os Microcontroladores PIC
Programando os Microcontroladores PIC
 
Aula 01 instalação de hardware
Aula 01 instalação de hardwareAula 01 instalação de hardware
Aula 01 instalação de hardware
 
Apostila clp final
Apostila clp finalApostila clp final
Apostila clp final
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Manutenção de Computadores.pdf
Manutenção de Computadores.pdfManutenção de Computadores.pdf
Manutenção de Computadores.pdf
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar Arduino
 
Memoria primária
Memoria primáriaMemoria primária
Memoria primária
 
Spda
SpdaSpda
Spda
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de Computadores
 
Introdução aos periféricos
Introdução aos periféricosIntrodução aos periféricos
Introdução aos periféricos
 
Fonte de alimentação
Fonte de alimentaçãoFonte de alimentação
Fonte de alimentação
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Projeto de redes
Projeto de redesProjeto de redes
Projeto de redes
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
 
Caderno de exercícios Sistemas digitais - Portas lógicas
Caderno de exercícios  Sistemas digitais - Portas lógicasCaderno de exercícios  Sistemas digitais - Portas lógicas
Caderno de exercícios Sistemas digitais - Portas lógicas
 
Amplificador operacional
Amplificador operacionalAmplificador operacional
Amplificador operacional
 
Diodo
DiodoDiodo
Diodo
 

Destaque

Android e Arduino para automação residencial
Android e Arduino para automação residencialAndroid e Arduino para automação residencial
Android e Arduino para automação residencialÁlvaro Justen
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectosDaniel Chavier
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
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
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & TruquesÁlvaro Justen
 
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...Manoel Lemos
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduinoentrebits
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Marco Antonio Maciel
 
Robótica e Automação: Introdução e Aplicações
Robótica e Automação: Introdução e AplicaçõesRobótica e Automação: Introdução e Aplicações
Robótica e Automação: Introdução e AplicaçõesFelipe Martins
 
Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)
Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)
Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)Habro Group
 
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINOAUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINOgu_elastico
 
Interfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveisInterfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveisTiago Barros
 
Scratch & Arduino
Scratch & ArduinoScratch & Arduino
Scratch & ArduinoJoão Sá
 
Controlo de motor de passo com Snap4Arduino
Controlo de motor de passo com Snap4ArduinoControlo de motor de passo com Snap4Arduino
Controlo de motor de passo com Snap4ArduinoAna Carneirinho
 
Introdução a Internet das Coisas
Introdução a Internet das CoisasIntrodução a Internet das Coisas
Introdução a Internet das CoisasTiago Barros
 

Destaque (20)

Android e Arduino para automação residencial
Android e Arduino para automação residencialAndroid e Arduino para automação residencial
Android e Arduino para automação residencial
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectos
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
 
Curso de arduino
Curso de arduinoCurso de arduino
Curso de arduino
 
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
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...
Arduino Day 2014 - Construindo um Medidor de Consumo de Energia Conectado à N...
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
 
Robótica e Automação: Introdução e Aplicações
Robótica e Automação: Introdução e AplicaçõesRobótica e Automação: Introdução e Aplicações
Robótica e Automação: Introdução e Aplicações
 
Eletrônica Básica
Eletrônica BásicaEletrônica Básica
Eletrônica Básica
 
Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)
Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)
Manual da Bateria Eletrônica Shelter STD82 (PORTUGUÊS)
 
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINOAUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
AUTOMAÇÃO RESIDENCIAL NO GERENCIAMENTO DE ENERGIA UTILIZANDO ARDUINO
 
Aula 1: Conhecendo o Arduino
Aula 1: Conhecendo o ArduinoAula 1: Conhecendo o Arduino
Aula 1: Conhecendo o Arduino
 
Interfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveisInterfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveis
 
Scratch & Arduino
Scratch & ArduinoScratch & Arduino
Scratch & Arduino
 
Controlo de motor de passo com Snap4Arduino
Controlo de motor de passo com Snap4ArduinoControlo de motor de passo com Snap4Arduino
Controlo de motor de passo com Snap4Arduino
 
Introdução a Internet das Coisas
Introdução a Internet das CoisasIntrodução a Internet das Coisas
Introdução a Internet das Coisas
 

Semelhante a Mini-curso de Introdução a Eletrônica com Arduino

Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduinoinfo_cimol
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfCurso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfTheoneAbove
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduinoEdson Paz
 
A evolução do Arduino: dos 8 aos 32-bits
A evolução do Arduino: dos 8 aos 32-bitsA evolução do Arduino: dos 8 aos 32-bits
A evolução do Arduino: dos 8 aos 32-bitsEronides Neto
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...PotiLivre Sobrenome
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresCarlos Eduardo Pantoja
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreMarcelo Laranjeira Melo
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e alémFabio Souza
 

Semelhante a Mini-curso de Introdução a Eletrônica com Arduino (20)

Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
 
Mini curso arduino
Mini curso arduinoMini curso arduino
Mini curso arduino
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduino
 
Arduino como programar
Arduino como programarArduino como programar
Arduino como programar
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdfCurso-Programação-Básica-em-Arduino-Aula-1.pdf
Curso-Programação-Básica-em-Arduino-Aula-1.pdf
 
CURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptxCURSO_ARDUÍNO.pptx
CURSO_ARDUÍNO.pptx
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduino
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
Arduino Hack Day Corumbá
Arduino Hack Day CorumbáArduino Hack Day Corumbá
Arduino Hack Day Corumbá
 
Workshop arduino EAD
Workshop arduino EADWorkshop arduino EAD
Workshop arduino EAD
 
Guia AC mod 5
Guia AC mod 5Guia AC mod 5
Guia AC mod 5
 
A evolução do Arduino: dos 8 aos 32-bits
A evolução do Arduino: dos 8 aos 32-bitsA evolução do Arduino: dos 8 aos 32-bits
A evolução do Arduino: dos 8 aos 32-bits
 
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
Minicurso introducao a plataforma arduino nathecia cunha e alcimar medeiros -...
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
 
3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino3 aula do curso de automação - Arduino
3 aula do curso de automação - Arduino
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e além
 

Mais de Felipe Martins

Competições Estudantis de Rrobótica
Competições Estudantis de RrobóticaCompetições Estudantis de Rrobótica
Competições Estudantis de RrobóticaFelipe Martins
 
Robótica: Introdução e Aplicações
Robótica: Introdução e AplicaçõesRobótica: Introdução e Aplicações
Robótica: Introdução e AplicaçõesFelipe Martins
 
Mercado de automação no ES
Mercado de automação no ESMercado de automação no ES
Mercado de automação no ESFelipe Martins
 
Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...
Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...
Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...Felipe Martins
 
Controle do Gerador de Indução Trifásico Baseado em Lógica Fuzzy
Controle do Gerador de Indução Trifásico Baseado em Lógica FuzzyControle do Gerador de Indução Trifásico Baseado em Lógica Fuzzy
Controle do Gerador de Indução Trifásico Baseado em Lógica FuzzyFelipe Martins
 
Introdução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs MóveisIntrodução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs MóveisFelipe Martins
 
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas MultirrobôsModelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas MultirrobôsFelipe Martins
 

Mais de Felipe Martins (7)

Competições Estudantis de Rrobótica
Competições Estudantis de RrobóticaCompetições Estudantis de Rrobótica
Competições Estudantis de Rrobótica
 
Robótica: Introdução e Aplicações
Robótica: Introdução e AplicaçõesRobótica: Introdução e Aplicações
Robótica: Introdução e Aplicações
 
Mercado de automação no ES
Mercado de automação no ESMercado de automação no ES
Mercado de automação no ES
 
Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...
Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...
Modelagem e Compensação da Dinâmica de Robôs Móveis e sua aplicação em Contro...
 
Controle do Gerador de Indução Trifásico Baseado em Lógica Fuzzy
Controle do Gerador de Indução Trifásico Baseado em Lógica FuzzyControle do Gerador de Indução Trifásico Baseado em Lógica Fuzzy
Controle do Gerador de Indução Trifásico Baseado em Lógica Fuzzy
 
Introdução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs MóveisIntrodução ao Controle de Robôs Móveis
Introdução ao Controle de Robôs Móveis
 
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas MultirrobôsModelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
Modelagem e Controle de Robôs Móveis e Sistemas Multirrobôs
 

Mini-curso de Introdução a Eletrônica com Arduino

  • 1. IntroduIntroduççãoão àà Eletrônica comEletrônica com ArduinoArduino Felipe Nascimento Martins v. 4 - 2013 VIII Jornada de Iniciação Científica, Desenvolvimento Tecnológico e Inovação do Ifes
  • 2. O trabalho Introdução à Eletrônica com Arduino de Felipe Nascimento Martins foi licenciado com uma Licença Creative Commons - Atribuição- CompartilhaIgual 3.0 Não Adaptada.
  • 5. Conteúdo • Arduino; • Microcontrolador; • Primeiro programa; • Um pouco de eletrônica (pouco mesmo!); • Programas mais legais; • Práticas (montagem e programação); • Avançando com o Arduino: shields, comunicação sem fio, aplicações em robótica... Felipe Nascimento Martins
  • 7. O que é Arduino? • Arduino é uma plataforma de prototipagem eletrônica open-source, baseada nos princípios de flexibilidade e facilidade de uso para hardware e software. • Consiste de uma placa com microcontrolador programável preparada para receber sinais de sensores e acionar atuadores. • Sua linguagem de programação é baseada em Wiring (baseado em C/C++). • A placa pode funcionar em conjunto ou de forma independente do computador. Felipe Nascimento Martins
  • 8. Arduino – hardware Felipe Nascimento Martins
  • 9. Arduino – hardware Felipe Nascimento Martins
  • 11. Arduino é Open Source • Desenvolvido por: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis, na Itália, em 2005; • Todo o projeto é aberto: open source hardware and software; • 200 placas vendidas em 2005, 5.000 em 2006, 30.000 em 2007 e mais de 300.000 em 2011 e cerca de 1 milhão até setembro de 2013! • Site oficial: www.arduino.cc Felipe Nascimento Martins
  • 12.
  • 13. Arduino é Open Source! Felipe Nascimento Martins
  • 14. Arduino é Open Source! Felipe Nascimento Martins
  • 15. Arduino é Open Source! • Todo o hardware é aberto e os projetos estão disponíveis. • Quem quiser, pode comprar os componentes e montar a sua placa! • O software de programação também é livre e está disponível para download gratuitamente. Felipe Nascimento Martins
  • 16. Arduino é Open Source! • Todo o hardware é aberto e os projetos estão disponíveis. • Quem quiser, pode comprar os componentes e montar a sua placa! • O software de programação também é livre e está disponível para download gratuitamente. • Mas... Felipe Nascimento Martins
  • 17. Arduino é Open Source! • Todo o hardware é aberto e os projetos estão disponíveis. • Quem quiser, pode comprar os componentes e montar a sua placa! • O software de programação também é livre e está disponível para download gratuitamente. • Mas... • O nome ArduinoArduino é marca registrada! Felipe Nascimento Martins
  • 18. Clones do Arduino • Freeduino Felipe Nascimento Martins
  • 19. Clones do Arduino • Seeduino Felipe Nascimento Martins
  • 20. Clones do Arduino • Brasuíno Felipe Nascimento Martins
  • 21. Clones do Arduino • Severino Felipe Nascimento Martins
  • 22. Similares ao Arduino • chipKIT Uno32 - PIC32MX320F128 (32 bits, 80MHz, 128kB Flash, 16kB SRAM) Felipe Nascimento Martins
  • 23. Similares ao Arduino • Olimexino – STM32F103RBT6 (núcleo ARM Cortex M3, 32 bits, 128kB, 72MHz) Felipe Nascimento Martins
  • 24. Similares ao Arduino • Adafruit Trinket – ATtiny85 Felipe Nascimento Martins
  • 25. Similares ao Arduino • LaunchPad - MSP430 Felipe Nascimento Martins
  • 26. Similares ao Arduino • LaunchPad - MSP430 US$4,30 com frete grátis!! http://www.ti.com/tool/msp-exp430g2
  • 28. Arduino Uno • Microcontrolador: ATmega328; • Tensão de operação: 5V; • Tensão de entrada (recomendada): 7-12V; • Pinos digitais de E/S:14 (6 podem ter sinal PWM); • Pinos com entrada analógica: 6; • Corrente máxima por pino de E/S: 40 mA; • Hardware para comunicação serial: 1 porta; • Memória Flash (de programa): 32 kB, dos quais 0,5 kB são usados pelo bootloader; • Memória SRAM: 2 kB; EEPROM: 1 kB; • Frequência de clock: 16 MHz. Felipe Nascimento Martins
  • 30. Arduino Mega 2560 • Microcontrolador: ATmega2560; • Tensão de operação: 5V; • Tensão de entrada (recomendada): 7-12V; • Pinos digitais de E/S: 54 (15 podem ter sinal PWM); • Pinos com entrada analógica: 16; • Corrente máxima por pino de E/S: 40 mA; • Hardware para comunicação serial: 4 portas; • Memória Flash (de programa): 256 kB, dos quais 8 kB são usados pelo bootloader; • Memória SRAM: 8 kB; EEPROM: 4 kB; • Frequência de clock: 16 MHz. Felipe Nascimento Martins
  • 32. O que é um Microcontrolador? – Chip; – CPU de pequeno porte, capaz de executar um conjunto de instruções; – Ou seja, possui um microprocessador! – Instruções simples e rápidas; – Possui memória(s); – Possui periféricos; – Pode se comunicar com outros periféricos; etc. Felipe Nascimento Martins
  • 33. Componentes de um Microcontrolador Conversor D/A Conversor A/D PWM CPU EEPROM RAM Porta Serial Porta Paralela Temporizadores Microcontrolador Felipe Nascimento Martins
  • 34. Exemplos de Microcontroladores • Família 8051 (Intel ou ATMEL) • 80C196KB (Intel) • 68HC11 (Motorola / Freescale) • MSP430 (Texas Instruments) • ATmega328 (ATMEL) • PIC16F628A (Microchip) • dsPIC30F6014 (Microchip) • Cortex M3 (ARM) Felipe Nascimento Martins
  • 35. Exemplos de Microcontroladores • Família 8051 (Intel ou ATMEL) • 80C196KB (Intel) • 68HC11 (Motorola / Freescale) • MSP430 (Texas Instruments) • ATmega328 (ATMEL) • PIC16F628A (Microchip) • dsPIC30F6014 (Microchip) • Cortex M3 (ARM) Cadê o Arduino?? Felipe Nascimento Martins
  • 36. Exemplos de Microcontroladores • Família 8051 (Intel ou ATMEL) • 80C196KB (Intel) • 68HC11 (Motorola / Freescale) • MSP430 (Texas Instruments) • ATmega328 (ATMEL) • PIC16F628A (Microchip) • dsPIC30F6014 (Microchip) • Cortex M3 (ARM) Felipe Nascimento Martins
  • 37. Microcontroladores do Arduino • ATMEL • ATmega168: Diecimila, Duemilanove, Nano, LilyPad; • ATmega328P: Duemilanove, Nano, Fio, LilyPad, Uno; • ATmega1280: Mega; • ATmega2560: Mega2560; • ATmega32u4: Leonardo, Esplora, LilyPad USB, Yún, Robot; • AT91SAM3X8E: Due.
  • 39. Arduino - Microcontrolador Felipe Nascimento Martins
  • 40. Arduino - Microcontrolador • ATmega328: • Núcleo AVR RISC de 8 bits; • 32kB Flash, 2kB RAM, 1kB EEPROM; • 23 pinos de E/S; • 3 temporizadores/contadores; • USART; • interface a 2 fios SPI; • 6 canais de conversor A/D de 10 bits; • WDT com oscilador interno; • Clock máximo de 20MHz; • Opera de 1,8V a 5,5V. Felipe Nascimento Martins
  • 41. Arduino – Programa básico Felipe Nascimento Martins
  • 42. Arduino – Programa básico Felipe Nascimento Martins
  • 43. Arduino – Programa básico Felipe Nascimento Martins
  • 44. Arduino – Programa básico Felipe Nascimento Martins
  • 45. Arduino – Programa básico Felipe Nascimento Martins
  • 46. Arduino – Programa básico Felipe Nascimento Martins
  • 47. Arduino – Programa básico Felipe Nascimento Martins No Arduino Uno: pinos digitais 0 a 13 (0 a 13); pinos analógicos 0 a 5 (14 a 19).
  • 48. Prática 1: Pisca-LED • Montagem: Felipe Nascimento Martins
  • 49. Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? Felipe Nascimento Martins
  • 50. Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? • A função digitalWrite(12,HIGH); faz com que o pino 12 vá para “nível alto”, ou seja, ele fica com 5V. Felipe Nascimento Martins
  • 51. Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? • A função digitalWrite(12,HIGH); faz com que o pino 12 vá para “nível alto”, ou seja, ele fica com 5V. • Este pino está ligado ao RESISTOR+LED, e ao pino GND (0V). Felipe Nascimento Martins
  • 52. Um pouco de eletrônica • Ok. Entendi o programa. • Mas o que acontece nos pinos do Arduino? • A função digitalWrite(12,HIGH); faz com que o pino 12 vá para “nível alto”, ou seja, ele fica com 5V. • Este pino está ligado ao RESISTOR+LED, e ao pino GND (0V). • É um circuito série, por onde circula corrente! Felipe Nascimento Martins +5V 0V
  • 53. Um pouco de eletrônica • Em resumo: • É a circulação de corrente elétrica (elétrons) que faz acender o LED; • Experimente retirar o fio que liga o LED ao GND, mantendo o pino 12 em 5V. • O LED apaga pois a corrente precisa circular num circuito fechado! Felipe Nascimento Martins +5V 0V
  • 54. Um pouco de eletrônica • Em resumo: • É a circulação de corrente elétrica (elétrons) que faz acender o LED; • A corrente só existirá se houver diferença de potencial elétrico (diferença de tensão) entre pontos do circuito: 5V – 0 = 5V; • Tensão: volt [V]; • Corrente: ampère [A]. Felipe Nascimento Martins +5V 0V
  • 55. Um pouco de eletrônica • A função digitalWrite(12,LOW); faz com que o pino 12 vá para “nível baixo”, ou seja, ele fica com 0V. • Logo, como não há diferença de tensão entre os pinos 12 e GND, a corrente é zero => LED apaga. Felipe Nascimento Martins 0V 0V
  • 56. Um pouco de eletrônica • Beleza. Mas, e o resistor? Serve para quê? Felipe Nascimento Martins
  • 57. Um pouco de eletrônica • Beleza. Mas, e o resistor? Serve para quê? • O elemento resistor serve para dificultar a circulação de corrente elétrica; • Ele é colocado no circuito para evitar que a corrente cresça muito, o que pode provocar problemas; • No nosso circuito, o resistor serve para evitar que o LED queime devido a uma corrente muito alta. Felipe Nascimento Martins
  • 58. Um pouco de eletrônica • Quanto maior for o valor da resistência do resistor, menor será a corrente (para uma mesma diferença de tensão). • O brilho do LED varia com a corrente. Felipe Nascimento Martins
  • 59. Um pouco de eletrônica • Cálculo da corrente: • Lei de Ohm: V = R * I • V = 5V, R = 220 . • I = 5 / 220 • I = 0,0227 A = 22,7 mA Felipe Nascimento Martins
  • 60. Um pouco de eletrônica • Cálculo da corrente: • Lei de Ohm: V = R * I • V = 5V, R = 220 + 220 . • I = 5 / 440 • I = 0,0114 A = 11,4 mA • Podemos calcular a queda de tensão em cada resistor: • VR = R * I, R = 220 , I = 11,4 mA. • VR = 220 * 0,0114 = 2,5 V. Felipe Nascimento Martins
  • 61. Um pouco de eletrônica • Cálculo da corrente: • O LED tem queda de tensão fixa = ~1,73V. Logo: • V = 5 – 1,73 = 3,27V. • V = R * I => I = V / R. • I = 3,27 / 220 = 0,0149 A • I = 14,9mA. Felipe Nascimento Martins +5V 0V
  • 62. Um pouco de eletrônica • Note que se a tensão do pino 12 pudesse ser alterada, a corrente no circuito seria diferente. • Ou seja, poderíamos controlar o brilho do LED! Felipe Nascimento Martins +5V 0V
  • 63. Simulador: 123d.circuits.io Felipe Nascimento Martins Detalhes: http://123d.circuits.io/circuits/34111/edit#
  • 64. Diodo • Dispositivo semicondutor que permite a circulação de corrente apenas em um sentido; • A tensão em seus terminais deve ter polaridade correta: mais positiva no terminal A (anodo) e mais negativa no terminal K (catodo); • Apresenta queda de tensão aproximadamente fixa (~0,7V) quando a corrente circula; • Usado em circuitos retificadores: transforma corrente alternada para contínua. Felipe Nascimento Martins
  • 65. Diodo • Retificador de onda completa: Felipe Nascimento Martins
  • 66. Diodo - exemplos Felipe Nascimento Martins
  • 67. Matriz de contatos (Breadboard ou Protoboard) Felipe Nascimento Martins
  • 68. Matriz de contatos (Breadboard ou Protoboard) Felipe Nascimento Martins
  • 69. Prática 1.1: Não pisca-LED • LED é um diodo especial que brilha quando a corrente circula por ele. • Experimente inverter a ligação dos pinos do LED em nosso circuito e verifique que ele não vai mais piscar, mesmo quando houver diferença de potencial nos pinos! Felipe Nascimento Martins
  • 70. Capacitor • Elemento que armazena energia na forma de campo elétrico; • Existem vários tipos: alguns têm polaridade (como os eletrolíticos), outros não (como os cerâmicos); • A tensão em seus terminais depende da carga acumulada, e não varia instantaneamente; • Em corrente contínua, são usados como filtros ou “suavizadores” de tensão. Felipe Nascimento Martins
  • 71. Capacitor - exemplos Felipe Nascimento Martins
  • 72. Capacitor – exemplo de aplicação • Retificador de onda completa com capacitor: Felipe Nascimento Martins
  • 73. Prática 2: Pisca-LED com Capacitor • Monte o circuito ao lado. • Use o mesmo programa da prática 1, mas altere o tempo de espera para 5 segundos; • Rode o programa e verifique o resultado; • Depois, retire o capacitor e rode o mesmo programa. O que muda? Felipe Nascimento Martins
  • 74. Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 800. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
  • 75. Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 800. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
  • 76. Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 950. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
  • 77. Arduino • Outras funções: digitalRead(pino); Retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V). analogRead(pino); Obtém valor entre 0 e 1023 proporcional à tensão no pino (entre 0 e 5V). Tempo de conversão = 100µs. while(analogRead(A2) < 950); Mantém-se em loop até que o valor de retorno da função analogRead seja maior que 800. for(int conta = 0; conta < 6; conta++) Loop: executa o bloco de código até que conta >= 6. Felipe Nascimento Martins
  • 78. LDR – Resistência variável com a luz Felipe Nascimento Martins
  • 79. LDR – Resistência variável com a luz Felipe Nascimento Martins
  • 80. LDR – Resistência variável com a luz Felipe Nascimento Martins O pino 13 tem um resistor interno!
  • 81. Prática 3: Usando o sensor de luz • Monte o circuito com o LDR – Light Dependent Resistor – e execute o seguinte programa: void setup() { Serial.begin(9600); } void loop() { int sensor = analogRead(A2); Serial.println(sensor, DEC); } Felipe Nascimento Martins
  • 83. Prática 4: Usando o sensor de luz • Monte o circuito com LDR – Light Dependent Resistor (sensor de luz). • Escreva um programa que acenda o LED do pino 13 quando houver pouca luz e apague o mesmo LED quando houver muita luz. void setup() { ... } void loop() { ... } Felipe Nascimento Martins
  • 84. Comunicação serial • Bit: menor unidade de informação -> 0 ou 1; • Informação é enviada bit a bit, em sequência; • Síncrona: uma linha de dados e outra de clock: Felipe Nascimento Martins
  • 85. Comunicação serial • Bit: menor unidade de informação -> 0 ou 1; • Informação é enviada bit a bit, em sequência; • Assíncrona: apenas uma linha de dados. A velocidade deve ser definida: Felipe Nascimento Martins
  • 86. Comunicação serial • OK. • Mas como posso transmitir outras informações além de “zeros” e “uns”? Felipe Nascimento Martins
  • 87. Comunicação serial • OK. • Mas como posso transmitir outras informações além de “zeros” e “uns”? • Existe uma tabela que relaciona caracteres a sequências de zeros e uns: • ASCII (American Standard Code for Information Interchange). • Esta tabela criou um padrão para troca de informações em sistemas binários. Felipe Nascimento Martins
  • 89. Arduino • Microcontrolador possui hardware para comunicação serial: • Pino digital 0 (RX): recepção de dados; • Pino digital 1 (TX): transmissão de dados; • Bit 1 = 5V; Bit 0 = 0V; • A maioria das placas Arduino possui hardware que converte sinais do padrão serial assíncrono para USB; Felipe Nascimento Martins
  • 90. Prática 5: Comunicação bidirecional • Outro exemplo de comunicação serial: desta vez o Arduino vai receber um dado do computador, processá-lo e retornar o resultado pela porta serial. • Vamos analisar o programa: int i, numero; void setup() { Serial.begin(9600); } void loop() { while (true) { Serial.print("Entre com um numero: "); while (Serial.available()==0); numero = Serial.read(); Felipe Nascimento Martins
  • 91. if (numero>='0' && numero<='9') Serial.println(numero, BYTE); else { Serial.println("O valor deve ser numerico!"); continue; } numero-='0'; for (i = 0; i <= 10; i++) { Serial.print(numero); Serial.print(" x "); Serial.print(i); Serial.print(" = "); Serial.println(numero*i); } Serial.println(""); } } Felipe Nascimento Martins
  • 92.
  • 93. PWM • PWM = Pulse Width Modulation; • Razão cíclica (duty cycle): define a tensão média aplicada: T(PWM) T(PWM) T(PWM) A1 A2 A3 Felipe Nascimento Martins
  • 94. Tensão média de um sinal PWM Felipe Nascimento Martins
  • 95. Sinal PWM versus sinal analógico Felipe Nascimento Martins
  • 96. Controle de potência por PWM analogWrite(11, 200); cria no pino 11 um sinal PWM com razão cíclica igual a 200; f = 490Hz; apenas alguns pinos digitais possuem saída PWM. Felipe Nascimento Martins
  • 97. Prática 6: Controle de brilho PWM int brilho = 0; // brilho do LED int sensor // valor do LDR void setup() { pinMode(A2, INPUT); // pino do LDR: entrada A2 pinMode(11, OUTPUT); // pino do LED: saida 11 Serial.begin(9600); } void loop() { sensor = analogRead(A2); // le do LDR brilho = map(sensor, 0, 1023, 0, 255); Serial.println(brilho, DEC); // envia ao PC analogWrite(11, brilho); // aciona LED } Felipe Nascimento Martins
  • 98. Prática 7: Pisca-pisca suave int brilho = 0; // brilho do LED int variacao = 5; // quanto varia o brilho void setup() { pinMode(11, OUTPUT); } void loop() { analogWrite(11, brilho); brilho = brilho + variacao; if (brilho == 0 || brilho == 255) { variacao = -variacao; } delay(30); } Felipe Nascimento Martins
  • 99. Motor de Corrente Contínua (CC) Felipe Nascimento Martins • Alimentado em corrente contínua; • Possui ímã e bobinas internamente; • Velocidade é ajustada pela tensão de alimentação (pode ser por PWM!); • Sentido de giro é alterado pela polaridade.
  • 100. Motor de Passo Felipe Nascimento Martins • Alimentado com sinais digitais; • Alimentação das bobinas deve ser sequencial; • Permite controle preciso de posição; • Torque cai muito com o aumento da velocidade.
  • 102. Servomotor Felipe Nascimento Martins • É um motor CC que possui um sistema de interno de controle: • angular – controla a posição (giro) do eixo; • contínuo – controla a velocidade do eixo;
  • 103. Servomotor Felipe Nascimento Martins • Normalmente é feito com um motor de corrente contínua, um circuito eletrônico e engrenagens para aumentar o torque;
  • 104. Servomotor Felipe Nascimento Martins • Três fios: 2 de alimentação e um de controle; • O sinal de referência (de posição ou velocidade) é do tipo PWM.
  • 105. Servomotor Felipe Nascimento Martins • Três fios: 2 de alimentação e um de controle; • O sinal de referência (de posição ou velocidade) é do tipo PWM.
  • 106. Prática 8: Controle de Servomotores Felipe Nascimento Martins
  • 107. Felipe Nascimento Martins Prática 8: Controle de Servomotores
  • 108. #include <Servo.h> Servo myservo; // create servo object Servo myservo2; int potpin = 0; // used to connect the potentiometer int val; // value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin myservo2.attach(10); } void loop() { val = analogRead(potpin); // entre 0 e 1023 val = map(val, 0, 1023, 0, 179); // escalona myservo.write(val); myservo2.write(179-val); delay(15); } Felipe Nascimento Martins Prática 8: Controle de Servomotores
  • 109. Outros motores com Arduino • Cada pino do Arduino pode fornecer, no máximo, 40mA de corrente -> pode não ser suficiente para acionar um motor! • Solução: usar transistores. Felipe Nascimento Martins
  • 110. Transistor • Um transistor pode ser entendido como uma “válvula” eletrônica: é capaz de acionar cargas de alta corrente a partir de um sinal de controle de baixa corrente. • Quanto maior for a corrente no pino de “base” (B), maior será a corrente entre os pinos “coletor” (C) e “emissor” (E). • Por exemplo, se a corrente na base variar de 0 a 0,01 A, a corrente de coletor pode variar de 0 a 1A! Felipe Nascimento Martins
  • 111. Prática 9: Motor CC com transistor Felipe Nascimento Martins
  • 112. Prática 9: Motor CC com transistor Felipe Nascimento Martins
  • 113. Avançando com Arduino: Shields • Pode acionar dois motores CC ou um motor de passo: até 36V, 600mA, 5kHz. Felipe Nascimento Martins
  • 114. Avançando com Arduino: Shields • Exemplo: controle de velocidade dos motores com o Shield Motor Control: Felipe Nascimento Martins
  • 115. Avançando com Arduino: Shields Felipe Nascimento Martins • Shield oficial para controle de motores:
  • 116. Avançando com Arduino: Shields Felipe Nascimento Martins • Ethernet Shield:
  • 117. Avançando com Arduino: RS-485 e I2C Detalhes: http://nossosrobos.blogspot.com.br/2011/08/arduino-conversando-com-nxt-via-rs-485.html http://nossosrobos.blogspot.com.br/2013/03/comunicacao-ic-entre-lego-nxt-e-arduino.html Felipe Nascimento Martins
  • 118. Avançando com Arduino Felipe Nascimento Martins Arduino Nano
  • 119. Avançando com Arduino: Sem fio Detalhes: http://nossosrobos.blogspot.com.br/2011/12/arduino-wireless.html Felipe Nascimento Martins
  • 120. Avançando com Arduino: Bluetooth Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html Felipe Nascimento Martins
  • 121. Avançando com Arduino: LCDs Detalhes: http://nossosrobos.blogspot.com.br/2012/01/lcd-para-seu-robo-com-arduino.html Felipe Nascimento Martins • LCD gráfico 128x128 pixels:
  • 122. Avançando com Arduino: MATLAB Detalhes: http://nossosrobos.blogspot.com.br/2011/10/arduino-com-matlab.html Felipe Nascimento Martins
  • 123. Avançando com Arduino: LabVIEW Detalhes: http://sine.ni.com/nips/cds/view/p/lang/pt/nid/209835 Felipe Nascimento Martins
  • 124. Avançando com Arduino: Robô Detalhes: http://nossosrobos.blogspot.com.br/2012/09/monte-seu-robo-com-arduino.html Felipe Nascimento Martins
  • 125. Robôs baseados em Arduino • DFRobotShop Rover - Arduino Compatible Tracked Robot Felipe Nascimento Martins
  • 126. Robôs baseados em Arduino • DFRobotShop Rover 2.0 – Arduino Compatible Mecanum Felipe Nascimento Martins
  • 127. Robô Arduino oficial • Arduino Robot Felipe Nascimento Martins Detalhes: http://nossosrobos.blogspot.com.br/2013/07/arduino-robot-o-primeiro-robo-arduino.html
  • 128. Softwares gratuitos Felipe Nascimento Martins • IDE de programação do Arduino: www.arduino.cc • Fritzing - para fazer esquemas elétricos, de proto-board e placas de circuito impresso: www.fritzing.org • 123D Circuits.io - para simulação de circuitos com ou sem Arduino e projeto de placas de circuito impresso (roda no navegador): http://123d.circuits.io
  • 129. Referências Felipe Nascimento Martins • VALPEREIRO, Filipe. Workshop Arduino, 2008. • JUSTEN, Álvaro. Curso de Arduino (apostila), 2011. • FONSECA, Érika e BEPPU, Mathyan. Apostila Arduino. CT/UFF, 2010. • ERIKSSON, Fredrik. Industrial Circuits Application Note - Stepper Motor Basics. • POMÍLIO, J.A. Eletrônica de Potência. UNICAMP (apostila para o curso de graduação). Acesso em AGO/2010. • Blog: www.nossosrobos.blogspot.com • Site oficial do Arduino: www.arduino.cc • http://www.labdegaragem.com.br/wiki