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/

Sestinfo 2013 - Arduino

  • 1.
    Introdução ao Arduino LEONARDOMUNIZ 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
  • 3.
  • 4.
    Arduino – Aorigem —  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 – Aevoluçã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 – Ofuncionamento —  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 – Ofuncionamento —  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 ArduinoDiecimila Arduino Duemilanove Arduino UNO Arduino Leonardo Arduino Mega Arduino Nano Arduino Due LilyPad Arduino
  • 9.
  • 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.
  • 12.
    Componentes necessários —  DiodoEmissor 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
  • 13.
  • 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.
  • 15.
  • 16.
    Sheilds —  O Arduinopermite 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.
  • 17.
  • 18.
  • 19.
  • 21.
  • 22.
  • 23.
    L298N Stepper MotorDriver Controller Board
  • 24.
  • 25.
    L298N Stepper MotorDriver + 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 MotorDriver + 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);! }
  • 27.
  • 28.
    Servo motor #include <Servo.h>! #defineservoPin 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);! }!
  • 29.
  • 30.
    Sensor ultra sônico #definetrigPin 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.");! }!
  • 31.
  • 32.
    Modulo receptor deinfravermelho
  • 33.
    Demonstração do carro robocontrolado via bluetooth Código Arduino: https://github.com/rafaelsakurai/arduino-carro-robo-bluetooth
  • 34.
    Demonstração do carro roboque 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/