35
Introdução ao Arduino LEONARDO MUNIZ RAFAEL SAKURAI @rafaelsakurai

Sestinfo 2013 - Arduino

Embed Size (px)

DESCRIPTION

Apresentação realizada na SESTINFO 2013 da Universidade Metodista de São Paulo.

Citation preview

Page 1: Sestinfo 2013 - Arduino

Introdução ao Arduino

LEONARDO MUNIZ RAFAEL SAKURAI @rafaelsakurai

Page 2: Sestinfo 2013 - Arduino

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

Page 3: Sestinfo 2013 - Arduino

Arduino

Page 4: Sestinfo 2013 - 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

Page 5: Sestinfo 2013 - Arduino

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.

Page 6: Sestinfo 2013 - 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.

Page 7: Sestinfo 2013 - Arduino

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.

Page 8: Sestinfo 2013 - Arduino

Arduino – Exemplos

Arduino Diecimila Arduino Duemilanove Arduino UNO

Arduino Leonardo Arduino Mega

Arduino Nano Arduino Due

LilyPad Arduino

Page 9: Sestinfo 2013 - Arduino

Arduino – Nacionais

RLRduino http://www.rlrobotics.ind.br/

Tatuino http://tato.ind.br/

Program-me v2.0 http://eletronlivre.com.br/

Page 10: Sestinfo 2013 - Arduino

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);  

}  

Page 11: Sestinfo 2013 - Arduino

Exemplo “Ligar LED via bluetooth”

Page 12: Sestinfo 2013 - Arduino

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

Page 13: Sestinfo 2013 - Arduino

Exemplo montado

Código Arduino: https://github.com/rafaelsakurai/arduino-acender-led-via-bluetooth

Page 14: Sestinfo 2013 - Arduino

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.

Page 15: Sestinfo 2013 - Arduino

Codificando seu Arduino

Page 16: Sestinfo 2013 - 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.

Page 17: Sestinfo 2013 - Arduino

Sheilds - Exemplos

Page 18: Sestinfo 2013 - Arduino

Projetos de robôs Arduino

Page 19: Sestinfo 2013 - Arduino

Exemplo “Carro robo controlado via

bluetooth”

Page 20: Sestinfo 2013 - Arduino
Page 21: Sestinfo 2013 - Arduino

21

Page 22: Sestinfo 2013 - Arduino

Arduino Sensor Shield v5.0

Page 23: Sestinfo 2013 - Arduino

L298N Stepper Motor Driver Controller Board

Page 24: Sestinfo 2013 - Arduino

DC Geared Motor

Page 25: Sestinfo 2013 - Arduino

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);!}!

Page 26: Sestinfo 2013 - Arduino

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);!}

Page 27: Sestinfo 2013 - Arduino

Servo motor

Page 28: Sestinfo 2013 - Arduino

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);!}!

Page 29: Sestinfo 2013 - Arduino

Sensor ultra sônico

Page 30: Sestinfo 2013 - Arduino

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.");!}!

Page 31: Sestinfo 2013 - Arduino

Line hunting sensor

Page 32: Sestinfo 2013 - Arduino

Modulo receptor de infravermelho

Page 33: Sestinfo 2013 - Arduino

Demonstração do carro robo controlado via

bluetooth

Código Arduino: https://github.com/rafaelsakurai/arduino-carro-robo-bluetooth

Page 34: Sestinfo 2013 - Arduino

Demonstração do carro robo que desvia de

obstaculos

Código Arduino: https://github.com/rafaelsakurai/arduino-carro-robo-anda-sozinho

Page 35: Sestinfo 2013 - Arduino

Obrigado!!!

LEONARDO MUNIZ RAFAEL SAKURAI @rafaelsakurai

Exemplos: https://github.com/rafaelsakurai Apresentação: http://www.slideshare.net/rafaelsakurai/