SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Introdução ao Arduino	

LEONARDO MUNIZ	

RAFAEL SAKURAI	

@rafaelsakurai
O que é “Arduino”
—  Plataforma de prototipagem eletrônica de “código aberto”.
—  Placa de microcontrolador que usa eletrônica para projetos
multidiciplinares.
—  Possui um processador de 8-bit Atmel AVR, novos modelos
sendo produzidos em 32-bit Atmel ARM.
—  Vendido em modelos pré-montados ou peças soltas para
montar.
—  Em 2011 foram aproximadamente 300.000 Arduinos
vendidos em todo o mundo.
—  Fontes:
—  www.arduino.cc
—  www.arduino.com.br
Arduino
Arduino – A origem
—  Em 2005, Massimo Banzi e Daniel Cuartielles em
Turim na Itália.
—  Objetivo era criar um microcontrolador interativo mais
barato que os demais microcontroladores de mercado.
—  Chamaram este projeto de “Arduin of Ivrea”, e iniciaram
a produção em uma pequena fábrica na região noroeste
da Itália.
—  A codificação é uma variante da linguagem C++, porém
mais simples.
—  Fabricado na Europa pela Smart Projects, mas nos
EUA é produzida pela Sparkfun Eletronics
Arduino – A evolução
—  Em 2006 (Setembro), foi anunciado o Arduino Mini.
—  Em 2008, o Arduino Duemilanove foi disponibilizado com
processador ATmega168 e logo em seguida com
ATmega328.
—  Em 2009, o Arduino Mega foi lançado com o processador
ATmega1280.
—  Em 2011, foi contabilizado pela fabricante o total de 300 mil
Arduinos produzidos.
—  Em 2012, o Arduino Leonardo foi apresentado baseado
no processador ATMega32u4.
—  No mesmo ano, surgiu o Arduino Due e Arduino Micro.
—  Já existem diversas versões do Arduino.
Arduino – O funcionamento
—  O Arduino consiste de:
—  Uma placa com um processador integrado;
—  Portas seriais que permitem conectar periféricos;
—  Programar o hardware para funcionar em paralelo.
—  Ao invés de ficar conectando diversos fios por
meio de “Protoboards”, o Arduino:
—  Permite adicionar módulos adicionais (“Shields”).
—  A maioria das placas funcionam com 5 volts.
—  Possui uma memória flash com um “boot loader”
que armazenam códigos recém compilados.
Arduino – O funcionamento
—  Possui um conector USB que permite a transferência
de códigos fontes:
—  Também funciona como fonte de energia.
—  Disponibiliza até 14 pinos digitais (I/O), dentre estes 6
são analógicos, 2 são digitais, 2 para tratar
interrupções, AREF para entrada de tensão e GND é o
terra.
—  É possível conectar:
—  placas de bluetooth;
—  sensor de luminosidade;
—  sensor de temperatura;
—  sensor de presença;
—  buzinas;
—  servo-motores.
Arduino – Exemplos
Arduino Diecimila Arduino Duemilanove Arduino UNO
Arduino Leonardo
Arduino Mega
Arduino Nano Arduino Due
LilyPad Arduino
Arduino – Nacionais
RLRduino
http://www.rlrobotics.ind.br/
Tatuino
http://tato.ind.br/
Program-me v2.0
http://eletronlivre.com.br/
Software - IDE
—  O arduino possui uma IDE (Integrated Development
Environment) que permite a criação e publicação dos
códigos-fonte no Microprocessador.
—  É uma variação da linguagem C++, com facilidades.
Necessita apenas declarar 2 funções (setup e loop),
destacam por cores as palavras reservadas e possui um
Auto-identador de código.
—  É compilado e feito o “Upload” para o
processador com um único clique.
Ex.:
void	
  setup(){	
  
	
  	
  	
   	
  pinMode	
  (13,	
  OUTPUT);	
  
}	
  
//	
  acessa	
  o	
  LED	
  numero	
  13	
  e	
  o	
  acende	
  e	
  apaga	
  a	
  cada	
  1	
  segundo	
  
void	
  loop()	
  {	
  
	
  digitalWrite	
  (13,	
  HIGH)	
  	
  	
  
	
  Delay(1000);	
  
	
  digitalWrite	
  (13,	
  LOW)	
  
	
  Delay(1000);	
  
}	
  
Exemplo
“Ligar LED via bluetooth”
Componentes necessários
—  Diodo Emissor de Luz (LED) : Perna maior – “Positivo” (+), Perna menor “Negativo” (-)
—  Resistor de 330R (Ohms): Usado para diminuir a tensão, para não queimar o LED
—  BreadBoard / Protoboard : Placa usada para estender conexões
—  Placa Bluetooth (JY-MCU): Placa com 4 conectores (VCC, GND, RXD e TXD)
—  Fios diversos, para juntar os componentes
—  E o principal: Arduino UNO
Exemplo montado
Código Arduino:
https://github.com/rafaelsakurai/arduino-acender-led-via-
bluetooth
Ligando os componentes
—  Pegar o Breadboard/Protoboard, escolher uma trilha (na vertical).
—  Pegar o resistor, e conectar suas pontas em 2 trilhas diferentes.
—  Ligar os LEDs pela perna maior – Positivo (+) na trilha da ponta esquerda do
resistor
—  A ponta direita do Resistor, ligue-a com um fio na Porta 13 do Arduino.
—  Nos LEDS a perna menor – Negativa (-) ficaram numa terceira trilha, ligue um
fio na porta GND (Ground /Terra) do Arduino.
—  Conecte a Placa Bluetooth no Protoboard de modo que fique usando 4 trilhas.
—  Com o uso de fios, conecte um em cada trilhe e ligue conforme a associação
abaixo:
VCC do Bluetooth-> na porta 3,3v do Arduino
TXD do Bluetooth -> na porta RX – 0 do Arduino
RXD do Bluetooth -> na porta TX – 1 do Arduino
GND do Bluetooth -> na mesma trilha do LED que foi conectada no GND do
Arduino
—  Criar um programa pela IDE do Arduino que leia o Bluetooth, e envie para a
porta 13 do Arduino: HIGH para ligar os LEDS ou LOW para apagá-los.
Codificando seu Arduino
Sheilds
—  O Arduino permite a utilização de placas pré-
configuradas que são chamadas de “Shields”.
—  São expansões suportadas onde apenas conectá-
los ao Arduino permitem acessá-los facilmente
através de codificação.
—  Os Shields podem ser:
—  Pacas com GPS;
—  Placas Ethernet;
—  Display LCD;
—  Entre outros.
Sheilds - Exemplos
Projetos de robôs Arduino
Exemplo
“Carro robo controlado via
bluetooth”
21
Arduino Sensor Shield v5.0
L298N Stepper Motor Driver Controller Board
DC Geared Motor
L298N Stepper Motor Driver + DC Geared Motor
int ENA=5;!
int IN1=2; // Gira as rodas da direita para traz!
int IN2=3; // Gira as rodas da direita para frente!
int ENB=6;!
int IN3=4; // Gira as rodas da esquerda para traz!
int IN4=7; // Gira as rodas da esquerda para frente!
!
void setup() {!
pinMode(ENA, OUTPUT);!
pinMode(ENB, OUTPUT);!
pinMode(IN1, OUTPUT);!
pinMode(IN2, OUTPUT);!
pinMode(IN3, OUTPUT);!
pinMode(IN4, OUTPUT);!
digitalWrite(ENA, HIGH);!
digitalWrite(ENB, HIGH);!
}!
void loop() {!
// para frente!
digitalWrite(IN1, LOW);!
digitalWrite(IN2, HIGH);!
digitalWrite(IN3, LOW);!
digitalWrite(IN4, HIGH);!
delay(1000);!
}!
L298N Stepper Motor Driver + DC Geared Motor
void paraEsquerda() {!
digitalWrite(IN1, LOW);!
digitalWrite(IN2, HIGH);!
digitalWrite(IN3, HIGH);!
digitalWrite(IN4, LOW);!
delay(1000);!
}!
!
void paraTraz() {!
digitalWrite(IN1, HIGH);!
digitalWrite(IN2, LOW);!
digitalWrite(IN3, HIGH);!
digitalWrite(IN4, LOW);!
delay(1000);!
}!
void paraDireita() {!
digitalWrite(IN1, HIGH);!
digitalWrite(IN2, LOW);!
digitalWrite(IN3, LOW);!
digitalWrite(IN4, HIGH);!
delay(1000);!
}!
!
void parar() {!
digitalWrite(IN1, LOW);!
digitalWrite(IN2, LOW);!
digitalWrite(IN3, LOW);!
digitalWrite(IN4, LOW);!
}
Servo motor
Servo motor
#include <Servo.h>!
#define servoPin 9!
!
Servo cabeca;!
!
void setup() {!
pinMode(servoPin, OUTPUT);!
cabeca.attach(servoPin);!
}!
!
void loop() {!
cabeca.write(0); //Direita!
delay(1000);!
cabeca.write(90); //Frente!
delay(1000);!
cabeca.write(180); //Esquerda!
delay(1000);!
}!
Sensor ultra sônico
Sensor ultra sônico
#define trigPin 13!
#define echoPin 12!
!
void setup() {!
pinMode(trigPin, OUTPUT);!
pinMode(echoPin, INPUT);!
}!
!
void loop() {!
int duracao = 0, distancia = 0;!
digitalWrite(trigPin, HIGH);!
delayMicroseconds(1000);!
digitalWrite(trigPin, LOW);!
duracao = pulseIn(echoPin, HIGH);!
distancia = (duracao / 2) / 29.1;!
Serial.print(distancia);!
Serial.println("cm de distancia.");!
}!
Line hunting sensor
Modulo receptor de infravermelho
Demonstração do
carro robo controlado via
bluetooth
Código Arduino:
https://github.com/rafaelsakurai/arduino-carro-robo-bluetooth
Demonstração do
carro robo que desvia de
obstaculos
Código Arduino:
https://github.com/rafaelsakurai/arduino-carro-robo-anda-
sozinho
Obrigado!!!	

LEONARDO MUNIZ	

RAFAEL SAKURAI	

@rafaelsakurai	

Exemplos: https://github.com/rafaelsakurai	

Apresentação: http://www.slideshare.net/rafaelsakurai/

Mais conteúdo relacionado

Mais procurados

Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoSamir Siqueira
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesRogerio Alencar Filho
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robóticaMarcelo Quinta
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoFelipe Martins
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoMarcelo Laranjeira Melo
 
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
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Gustavo Yoshio Maruyama
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreMarcelo Laranjeira Melo
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
Arduino e a_internet_das_coisas
Arduino e a_internet_das_coisasArduino e a_internet_das_coisas
Arduino e a_internet_das_coisasHugo Lavalle
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino CompletoTiago Barros
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectosDaniel Chavier
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e RobóticaMarinho Brandão
 

Mais procurados (20)

Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
V2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduinoV2 - Microcontroladores: a revolucao do arduino
V2 - Microcontroladores: a revolucao do arduino
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica 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
 
Introdução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantesIntrodução a arduino, oficina para iniciantes
Introdução a arduino, oficina para iniciantes
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
MiniCursoDeArduino
MiniCursoDeArduinoMiniCursoDeArduino
MiniCursoDeArduino
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 
Arduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo modernoArduino: Soluções para o mundo moderno
Arduino: Soluções para o mundo moderno
 
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
 
Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015Slides minicurso Arduino - Arduino Day 2015
Slides minicurso Arduino - Arduino Day 2015
 
Arduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livreArduino - Desenvolvendo com hardware livre
Arduino - Desenvolvendo com hardware livre
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
Mini curso arduino
Mini curso arduinoMini curso arduino
Mini curso arduino
 
Arduino e a_internet_das_coisas
Arduino e a_internet_das_coisasArduino e a_internet_das_coisas
Arduino e a_internet_das_coisas
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
 
Arduino introdução - 10 projectos
Arduino   introdução - 10 projectosArduino   introdução - 10 projectos
Arduino introdução - 10 projectos
 
Arduino - Hardware Livre e Robótica
Arduino -  Hardware Livre e RobóticaArduino -  Hardware Livre e Robótica
Arduino - Hardware Livre e Robótica
 

Semelhante a Sestinfo 2013 - Arduino

Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduinoinfo_cimol
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduinoEdson Paz
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduinoWalter Coan
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
Intel edison Primeiro Projeto
Intel edison Primeiro ProjetoIntel edison Primeiro Projeto
Intel edison Primeiro ProjetoRicardo Ogliari
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfHenrique Alves
 
Arduino - aula Teste - Ilha
Arduino - aula Teste - IlhaArduino - aula Teste - Ilha
Arduino - aula Teste - IlhaLuckas Judocka
 
manual arduino (1)Primeiros passos arduino.pdf
manual arduino (1)Primeiros passos arduino.pdfmanual arduino (1)Primeiros passos arduino.pdf
manual arduino (1)Primeiros passos arduino.pdfLuizFernandoKruger1
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoDomingosRodrigues16
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014Fabio Souza
 
Projeto em Arduino + LCD 16x2 + LDR sensor de luminosidade
Projeto em Arduino + LCD 16x2 + LDR sensor de luminosidadeProjeto em Arduino + LCD 16x2 + LDR sensor de luminosidade
Projeto em Arduino + LCD 16x2 + LDR sensor de luminosidadeLinuxF5 Solutions
 
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 Sestinfo 2013 - Arduino (20)

Semana 1
Semana 1Semana 1
Semana 1
 
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
 
Apostila arduino
Apostila arduinoApostila arduino
Apostila arduino
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Intel edison Primeiro Projeto
Intel edison Primeiro ProjetoIntel edison Primeiro Projeto
Intel edison Primeiro Projeto
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdf
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Arduino - aula Teste - Ilha
Arduino - aula Teste - IlhaArduino - aula Teste - Ilha
Arduino - aula Teste - Ilha
 
manual arduino (1)Primeiros passos arduino.pdf
manual arduino (1)Primeiros passos arduino.pdfmanual arduino (1)Primeiros passos arduino.pdf
manual arduino (1)Primeiros passos arduino.pdf
 
Oficina Arduino
Oficina ArduinoOficina Arduino
Oficina Arduino
 
Erus minicurso arduino
Erus minicurso arduinoErus minicurso arduino
Erus minicurso arduino
 
Robótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando ArduinoRobótica e Sistemas interativos utilizando Arduino
Robótica e Sistemas interativos utilizando Arduino
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
 
Projeto em Arduino + LCD 16x2 + LDR sensor de luminosidade
Projeto em Arduino + LCD 16x2 + LDR sensor de luminosidadeProjeto em Arduino + LCD 16x2 + LDR sensor de luminosidade
Projeto em Arduino + LCD 16x2 + LDR sensor de luminosidade
 
ARDUINO.pptx
ARDUINO.pptxARDUINO.pptx
ARDUINO.pptx
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e além
 
Apresentando o Arduino - UESPI
Apresentando o Arduino - UESPIApresentando o Arduino - UESPI
Apresentando o Arduino - UESPI
 

Mais de Rafael Sakurai

Inteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogosInteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogosRafael Sakurai
 
Semana FACET 2015 - Arquitetura de Micro Serviços
Semana FACET 2015 - Arquitetura de Micro ServiçosSemana FACET 2015 - Arquitetura de Micro Serviços
Semana FACET 2015 - Arquitetura de Micro ServiçosRafael Sakurai
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5Rafael Sakurai
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 

Mais de Rafael Sakurai (7)

Inteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogosInteligência artificial aplicada a jogos
Inteligência artificial aplicada a jogos
 
Semana FACET 2015 - Arquitetura de Micro Serviços
Semana FACET 2015 - Arquitetura de Micro ServiçosSemana FACET 2015 - Arquitetura de Micro Serviços
Semana FACET 2015 - Arquitetura de Micro Serviços
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5
 
Html5 Sestinfo 2012
Html5 Sestinfo 2012Html5 Sestinfo 2012
Html5 Sestinfo 2012
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
SCJA
SCJASCJA
SCJA
 

Sestinfo 2013 - Arduino

  • 1. Introdução ao Arduino LEONARDO MUNIZ RAFAEL SAKURAI @rafaelsakurai
  • 2. O que é “Arduino” —  Plataforma de prototipagem eletrônica de “código aberto”. —  Placa de microcontrolador que usa eletrônica para projetos multidiciplinares. —  Possui um processador de 8-bit Atmel AVR, novos modelos sendo produzidos em 32-bit Atmel ARM. —  Vendido em modelos pré-montados ou peças soltas para montar. —  Em 2011 foram aproximadamente 300.000 Arduinos vendidos em todo o mundo. —  Fontes: —  www.arduino.cc —  www.arduino.com.br
  • 4. Arduino – A origem —  Em 2005, Massimo Banzi e Daniel Cuartielles em Turim na Itália. —  Objetivo era criar um microcontrolador interativo mais barato que os demais microcontroladores de mercado. —  Chamaram este projeto de “Arduin of Ivrea”, e iniciaram a produção em uma pequena fábrica na região noroeste da Itália. —  A codificação é uma variante da linguagem C++, porém mais simples. —  Fabricado na Europa pela Smart Projects, mas nos EUA é produzida pela Sparkfun Eletronics
  • 5. Arduino – A evolução —  Em 2006 (Setembro), foi anunciado o Arduino Mini. —  Em 2008, o Arduino Duemilanove foi disponibilizado com processador ATmega168 e logo em seguida com ATmega328. —  Em 2009, o Arduino Mega foi lançado com o processador ATmega1280. —  Em 2011, foi contabilizado pela fabricante o total de 300 mil Arduinos produzidos. —  Em 2012, o Arduino Leonardo foi apresentado baseado no processador ATMega32u4. —  No mesmo ano, surgiu o Arduino Due e Arduino Micro. —  Já existem diversas versões do Arduino.
  • 6. Arduino – O funcionamento —  O Arduino consiste de: —  Uma placa com um processador integrado; —  Portas seriais que permitem conectar periféricos; —  Programar o hardware para funcionar em paralelo. —  Ao invés de ficar conectando diversos fios por meio de “Protoboards”, o Arduino: —  Permite adicionar módulos adicionais (“Shields”). —  A maioria das placas funcionam com 5 volts. —  Possui uma memória flash com um “boot loader” que armazenam códigos recém compilados.
  • 7. Arduino – O funcionamento —  Possui um conector USB que permite a transferência de códigos fontes: —  Também funciona como fonte de energia. —  Disponibiliza até 14 pinos digitais (I/O), dentre estes 6 são analógicos, 2 são digitais, 2 para tratar interrupções, AREF para entrada de tensão e GND é o terra. —  É possível conectar: —  placas de bluetooth; —  sensor de luminosidade; —  sensor de temperatura; —  sensor de presença; —  buzinas; —  servo-motores.
  • 8. Arduino – Exemplos Arduino Diecimila Arduino Duemilanove Arduino UNO Arduino Leonardo Arduino Mega Arduino Nano Arduino Due LilyPad Arduino
  • 10. Software - IDE —  O arduino possui uma IDE (Integrated Development Environment) que permite a criação e publicação dos códigos-fonte no Microprocessador. —  É uma variação da linguagem C++, com facilidades. Necessita apenas declarar 2 funções (setup e loop), destacam por cores as palavras reservadas e possui um Auto-identador de código. —  É compilado e feito o “Upload” para o processador com um único clique. Ex.: void  setup(){          pinMode  (13,  OUTPUT);   }   //  acessa  o  LED  numero  13  e  o  acende  e  apaga  a  cada  1  segundo   void  loop()  {    digitalWrite  (13,  HIGH)        Delay(1000);    digitalWrite  (13,  LOW)    Delay(1000);   }  
  • 11. Exemplo “Ligar LED via bluetooth”
  • 12. Componentes necessários —  Diodo Emissor de Luz (LED) : Perna maior – “Positivo” (+), Perna menor “Negativo” (-) —  Resistor de 330R (Ohms): Usado para diminuir a tensão, para não queimar o LED —  BreadBoard / Protoboard : Placa usada para estender conexões —  Placa Bluetooth (JY-MCU): Placa com 4 conectores (VCC, GND, RXD e TXD) —  Fios diversos, para juntar os componentes —  E o principal: Arduino UNO
  • 14. Ligando os componentes —  Pegar o Breadboard/Protoboard, escolher uma trilha (na vertical). —  Pegar o resistor, e conectar suas pontas em 2 trilhas diferentes. —  Ligar os LEDs pela perna maior – Positivo (+) na trilha da ponta esquerda do resistor —  A ponta direita do Resistor, ligue-a com um fio na Porta 13 do Arduino. —  Nos LEDS a perna menor – Negativa (-) ficaram numa terceira trilha, ligue um fio na porta GND (Ground /Terra) do Arduino. —  Conecte a Placa Bluetooth no Protoboard de modo que fique usando 4 trilhas. —  Com o uso de fios, conecte um em cada trilhe e ligue conforme a associação abaixo: VCC do Bluetooth-> na porta 3,3v do Arduino TXD do Bluetooth -> na porta RX – 0 do Arduino RXD do Bluetooth -> na porta TX – 1 do Arduino GND do Bluetooth -> na mesma trilha do LED que foi conectada no GND do Arduino —  Criar um programa pela IDE do Arduino que leia o Bluetooth, e envie para a porta 13 do Arduino: HIGH para ligar os LEDS ou LOW para apagá-los.
  • 16. Sheilds —  O Arduino permite a utilização de placas pré- configuradas que são chamadas de “Shields”. —  São expansões suportadas onde apenas conectá- los ao Arduino permitem acessá-los facilmente através de codificação. —  Os Shields podem ser: —  Pacas com GPS; —  Placas Ethernet; —  Display LCD; —  Entre outros.
  • 20.
  • 21. 21
  • 23. L298N Stepper Motor Driver Controller Board
  • 25. L298N Stepper Motor Driver + DC Geared Motor int ENA=5;! int IN1=2; // Gira as rodas da direita para traz! int IN2=3; // Gira as rodas da direita para frente! int ENB=6;! int IN3=4; // Gira as rodas da esquerda para traz! int IN4=7; // Gira as rodas da esquerda para frente! ! void setup() {! pinMode(ENA, OUTPUT);! pinMode(ENB, OUTPUT);! pinMode(IN1, OUTPUT);! pinMode(IN2, OUTPUT);! pinMode(IN3, OUTPUT);! pinMode(IN4, OUTPUT);! digitalWrite(ENA, HIGH);! digitalWrite(ENB, HIGH);! }! void loop() {! // para frente! digitalWrite(IN1, LOW);! digitalWrite(IN2, HIGH);! digitalWrite(IN3, LOW);! digitalWrite(IN4, HIGH);! delay(1000);! }!
  • 26. L298N Stepper Motor Driver + DC Geared Motor void paraEsquerda() {! digitalWrite(IN1, LOW);! digitalWrite(IN2, HIGH);! digitalWrite(IN3, HIGH);! digitalWrite(IN4, LOW);! delay(1000);! }! ! void paraTraz() {! digitalWrite(IN1, HIGH);! digitalWrite(IN2, LOW);! digitalWrite(IN3, HIGH);! digitalWrite(IN4, LOW);! delay(1000);! }! void paraDireita() {! digitalWrite(IN1, HIGH);! digitalWrite(IN2, LOW);! digitalWrite(IN3, LOW);! digitalWrite(IN4, HIGH);! delay(1000);! }! ! void parar() {! digitalWrite(IN1, LOW);! digitalWrite(IN2, LOW);! digitalWrite(IN3, LOW);! digitalWrite(IN4, LOW);! }
  • 28. Servo motor #include <Servo.h>! #define servoPin 9! ! Servo cabeca;! ! void setup() {! pinMode(servoPin, OUTPUT);! cabeca.attach(servoPin);! }! ! void loop() {! cabeca.write(0); //Direita! delay(1000);! cabeca.write(90); //Frente! delay(1000);! cabeca.write(180); //Esquerda! delay(1000);! }!
  • 30. Sensor ultra sônico #define trigPin 13! #define echoPin 12! ! void setup() {! pinMode(trigPin, OUTPUT);! pinMode(echoPin, INPUT);! }! ! void loop() {! int duracao = 0, distancia = 0;! digitalWrite(trigPin, HIGH);! delayMicroseconds(1000);! digitalWrite(trigPin, LOW);! duracao = pulseIn(echoPin, HIGH);! distancia = (duracao / 2) / 29.1;! Serial.print(distancia);! Serial.println("cm de distancia.");! }!
  • 32. Modulo receptor de infravermelho
  • 33. Demonstração do carro robo controlado via bluetooth Código Arduino: https://github.com/rafaelsakurai/arduino-carro-robo-bluetooth
  • 34. Demonstração do carro robo que desvia de obstaculos Código Arduino: https://github.com/rafaelsakurai/arduino-carro-robo-anda- sozinho
  • 35. Obrigado!!! LEONARDO MUNIZ RAFAEL SAKURAI @rafaelsakurai Exemplos: https://github.com/rafaelsakurai Apresentação: http://www.slideshare.net/rafaelsakurai/