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

Sestinfo 2013 - Arduino

Jul 03, 2015

Download

Technology

Rafael Sakurai

Apresentação realizada na SESTINFO 2013 da Universidade Metodista de São Paulo.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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/