0
2014
Robótica
com Arduino
Felipe Nascimento Martins
Contato:
facebook.com/felipenm
felipe.n.martins@gmail.com
Conteúdo
• O que um robô precisa:
• Sensores, Atuadores e... “Cérebro”!
• Microcontrolador;
• Arduino;
• Programação e apl...
O que é um robô (móvel)?
• Veículo capaz de movimentação autônoma,
equipado com atuadores controlados por um
computador em...
Atuadores e Sensores
• Para deslocar-se de forma autônoma um
robô móvel precisa ter atuadores e
sensores, além de um compu...
LASER
Ultrassom
Encoder
Câmera
Acelerômetro
Bússola
GPS
Felipe Nascimento Martins
Sensores
Felipe Nascimento Martins
E o cérebro?
O que é Arduino?
• Arduino é uma plataforma de prototipagem
eletrônica open-source, baseada nos princípios
de flexibilidad...
Arduino – hardware
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 ...
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 componen...
Arduino é Open Source!
• Todo o hardware é aberto e os projetos estão
disponíveis.
• Quem quiser, pode comprar os componen...
Arduino é Open Source!
• Todo o hardware é aberto e os projetos estão
disponíveis.
• Quem quiser, pode comprar os componen...
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
• TI LaunchPad:
MSP430
Felipe Nascimento Martins
Similares ao Arduino
• LaunchPad:
ARM Cortex M4
Felipe Nascimento Martins
Compatível com Arduino
Felipe Nascimento Martins
Felipe Nascimento Martins
Características de Hardware
Arduino Uno
• Microcontrolador: ATmega328;
• Tensão de operação: 5V;
• Tensão de entrada (recomendada): 7-12V;
• Pinos dig...
Felipe Nascimento Martins
Arduino Leonardo
• Microcontrolador: ATmega32u4;
• Tensão de operação: 5V;
• Tensão de entrada (recomendada): 7-12V;
• Pin...
Felipe Nascimento Martins
Arduino Mega 2560
• Microcontrolador: ATmega2560;
• Tensão de operação: 5V;
• Tensão de entrada (recomendada): 7-12V;
• Pi...
Felipe Nascimento Martins
Arduino Mega 2560
Felipe Nascimento Martins
Microcontrolador
O que é um Microcontrolador?
– Chip;
– CPU de pequeno porte, capaz de executar
um conjunto de instruções;
– Ou seja, possu...
Componentes de um Microcontrolador
Conversor
D/A
Conversor
A/D
PWM
CPU
EEPROM
RAM
Porta
Serial
Porta
Paralela
Temporizador...
Felipe Nascimento Martins
Características de Software
Arduino – Programação
Felipe Nascimento Martins
Arduino – Programação
Programa.HEXCompilador
Programador
IDE
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
Felipe Nascimento Martins
Sensores Digitais
Sensores com Sinais Digitais
• Diversos sensores proveem informação através
de sinais digitais:
• Botão/bumper;
• Porta ab...
Sensores com Sinais Digitais
• Do ponto de vista elétrico, comportam-se como
se fossem uma chave liga/desliga;
• No Arduin...
Exemplo: Sensores Digitais
int led_pin = 13;
int button_pin = 0;
int button_state = 0;
void setup() {
pinMode(led_pin, OUT...
Felipe Nascimento Martins
http://123d.circuits.io/circuits/155968-pratica-4-leitura-de-sinal-digital/embed
Exemplo: Leitur...
Felipe Nascimento Martins
Sensores Analógicos
Sensores com Sinais Analógicos
• Diversos sensores proveem informação através
de sinais analógicos:
• Intensidade luminosa...
Exemplo: Medindo Temperatura
• Monte o circuito com o sensor de temperatura.
• Escreva um programa que mostre o valor da
t...
Exemplo: Medindo Temperatura
• Exemplo de programa:
void setup() {
Serial.begin(9600);
}
void loop() {
int sensor = analog...
Arduino
• A.
Exemplo: Medindo Temperatura
http://123d.circuits.io/circuits/155990-pratica-7-medindo-temperatura-sinal-analogico/embed
F...
Felipe Nascimento Martins
Acionando
Motores
“Simulando” uma tensão analógica
• PWM = Pulse Width Modulation;
• Razão cíclica (duty cycle): define a tensão
média aplic...
Tensão média de um sinal PWM
Felipe Nascimento Martins
Exemplo: Velocidade Ajustável
int velocidade = 0;
int sensor; // valor do LDR
void setup() {
pinMode(A2, INPUT); // sensor...
Motor Shield
• Exemplo: controle de velocidade dos motores
com o Shield Motor Control:
Felipe Nascimento Martins
• Pode acionar quatro
motores CC (46V, 4A) e
uma carga resistiva de até
30A.
Motor Shield 4 Power
Felipe Nascimento Martins
Arduino e NXT via RS-485 e I2C
Detalhes: http://nossosrobos.blogspot.com.br/2011/08/arduino-conversando-com-nxt-via-rs-485...
Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html
Felipe Nascimento Martin...
Conexão Bluetooth
Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html
Felipe...
Conexão Bluetooth
Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html
Felipe...
Ethernet Shield
Felipe Nascimento Martins
Arduino com MATLAB
Detalhes: http://nossosrobos.blogspot.com.br/2011/10/arduino-com-matlab.html
Felipe Nascimento Martins
Arduino com LabVIEW
Detalhes: http://sine.ni.com/nips/cds/view/p/lang/pt/nid/209835
Felipe Nascimento Martins
Controle de um Robô
Detalhes: http://nossosrobos.blogspot.com.br/2012/09/monte-seu-robo-com-arduino.html
Felipe Nascimento...
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/arduin...
Obrigado!
Palestra: Robótica com Arduino
Palestra: Robótica com Arduino
Upcoming SlideShare
Loading in...5
×

Palestra: Robótica com Arduino

5,337

Published on

Palestra: Robótica com Arduino

Apresentada no Workshop de Robótica Educacional realizado durante a RoboCup, em 23 de julho de 2014.
Apresentada pela primeira vez no VII Encontro Técnico Estudantil organizado pela ISA-ES, em 13 de agosto de 2011.

Autor: Felipe Nascimento Martins

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,337
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
484
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Palestra: Robótica com Arduino"

  1. 1. 2014 Robótica com Arduino Felipe Nascimento Martins
  2. 2. Contato: facebook.com/felipenm felipe.n.martins@gmail.com
  3. 3. Conteúdo • O que um robô precisa: • Sensores, Atuadores e... “Cérebro”! • Microcontrolador; • Arduino; • Programação e aplicação. • OBS.: • Esta é uma palestra introdutória; • Vamos ver algum conteúdo técnico. Felipe Nascimento Martins
  4. 4. O que é um robô (móvel)? • Veículo capaz de movimentação autônoma, equipado com atuadores controlados por um computador embarcado. • Um robô móvel pode deslocar-se: • no solo, através de rodas, esteiras, patas, etc.; • no ar, como um helicóptero, avião ou balão; • na água, como um navio ou submarino; • ou no espaço!
  5. 5. Atuadores e Sensores • Para deslocar-se de forma autônoma um robô móvel precisa ter atuadores e sensores, além de um computador. • Atuadores: transformam sinais de controle (de posição ou de velocidade) em movimento – motor, haste hidráulica, etc.; • Sensores: realizam a “percepção do mundo”: encoder, acelerômetro, LASER, bússola, ultrassom, câmera, etc. Felipe Nascimento Martins
  6. 6. LASER Ultrassom Encoder Câmera Acelerômetro Bússola GPS Felipe Nascimento Martins Sensores
  7. 7. Felipe Nascimento Martins E o cérebro?
  8. 8. 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
  9. 9. Arduino – hardware Felipe Nascimento Martins
  10. 10. Arduino – hardware Felipe Nascimento Martins
  11. 11. Arduino – hardware Felipe Nascimento Martins
  12. 12. Arduino – software
  13. 13. 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
  14. 14. Arduino é Open Source! Felipe Nascimento Martins
  15. 15. Arduino é Open Source! Felipe Nascimento Martins
  16. 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. Felipe Nascimento Martins
  17. 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... Felipe Nascimento Martins
  18. 18. 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 Arduino é marca registrada! Felipe Nascimento Martins
  19. 19. Clones do Arduino • Freeduino Felipe Nascimento Martins
  20. 20. Clones do Arduino • Seeduino Felipe Nascimento Martins
  21. 21. Clones do Arduino • Brasuíno Felipe Nascimento Martins
  22. 22. Clones do Arduino • Severino Felipe Nascimento Martins
  23. 23. Similares ao Arduino • chipKIT Uno32 - PIC32MX320F128 (32 bits, 80MHz, 128kB Flash, 16kB SRAM) Felipe Nascimento Martins
  24. 24. Similares ao Arduino • Olimexino – STM32F103RBT6 (núcleo ARM Cortex M3, 32 bits, 128kB, 72MHz) Felipe Nascimento Martins
  25. 25. Similares ao Arduino • Adafruit Trinket – ATtiny85 Felipe Nascimento Martins
  26. 26. Similares ao Arduino • TI LaunchPad: MSP430 Felipe Nascimento Martins
  27. 27. Similares ao Arduino • LaunchPad: ARM Cortex M4 Felipe Nascimento Martins
  28. 28. Compatível com Arduino Felipe Nascimento Martins
  29. 29. Felipe Nascimento Martins Características de Hardware
  30. 30. 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: 1 porta serial (UART TTL), I2C (TWI), SPI; • 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
  31. 31. Felipe Nascimento Martins
  32. 32. Arduino Leonardo • Microcontrolador: ATmega32u4; • Tensão de operação: 5V; • Tensão de entrada (recomendada): 7-12V; • Pinos digitais de E/S: 20 (7 podem ter sinal PWM); • Pinos com entrada analógica: 12; • Corrente máxima por pino de E/S: 40 mA; • Hardware para comunicação: 1 porta serial (UART TTL), I2C (TWI), SPI, USB 2.0 (emula teclado ou mouse); • Memória Flash (de programa): 32 kB, dos quais 4 kB são usados pelo bootloader; • Memória SRAM: 2,5 kB; EEPROM: 1 kB; • Frequência de clock: 16 MHz. Felipe Nascimento Martins
  33. 33. Felipe Nascimento Martins
  34. 34. 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: 4 portas seriais (UART TTL), I2C (TWI), SPI, USB 2.0 (emula teclado ou mouse); • 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
  35. 35. Felipe Nascimento Martins Arduino Mega 2560
  36. 36. Felipe Nascimento Martins Microcontrolador
  37. 37. 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
  38. 38. Componentes de um Microcontrolador Conversor D/A Conversor A/D PWM CPU EEPROM RAM Porta Serial Porta Paralela Temporizadores Microcontrolador Felipe Nascimento Martins
  39. 39. Felipe Nascimento Martins Características de Software
  40. 40. Arduino – Programação Felipe Nascimento Martins
  41. 41. Arduino – Programação Programa.HEXCompilador Programador IDE Felipe Nascimento Martins
  42. 42. Arduino – Programa básico Felipe Nascimento Martins
  43. 43. Arduino – Programa básico Felipe Nascimento Martins
  44. 44. Arduino – Programa básico Felipe Nascimento Martins
  45. 45. Arduino – Programa básico Felipe Nascimento Martins
  46. 46. Arduino – Programa básico Felipe Nascimento Martins
  47. 47. Arduino – Programa básico Felipe Nascimento Martins
  48. 48. Felipe Nascimento Martins Sensores Digitais
  49. 49. Sensores com Sinais Digitais • Diversos sensores proveem informação através de sinais digitais: • Botão/bumper; • Porta aberta/fechada; • Andar de elevador; • Fim-de-curso em máquinas industriais; • Equipamento ligado/desligado; • Nível de reservatório; • Presença; • Toque; • Etc. Felipe Nascimento Martins
  50. 50. Sensores com Sinais Digitais • Do ponto de vista elétrico, comportam-se como se fossem uma chave liga/desliga; • No Arduino, a função utilizada para leitura de sinais digitais é digitalRead(pino); onde pino é o número do pino em que o sensor está ligado; • Para Vs = 5V, retorna 0 (Vpino < 2V) ou 1 (Vpino > 3V).
  51. 51. Exemplo: Sensores Digitais int led_pin = 13; int button_pin = 0; int button_state = 0; void setup() { pinMode(led_pin, OUTPUT); pinMode(button_pin, INPUT); } void loop() { button_state = digitalRead(button_pin); digitalWrite(led_pin, button_state); delay(100); }
  52. 52. Felipe Nascimento Martins http://123d.circuits.io/circuits/155968-pratica-4-leitura-de-sinal-digital/embed Exemplo: Leitura de Sinal Digital
  53. 53. Felipe Nascimento Martins Sensores Analógicos
  54. 54. Sensores com Sinais Analógicos • Diversos sensores proveem informação através de sinais analógicos: • Intensidade luminosa (LDR); • Deslocamento (encoder); • Força/Torque (SFR, strain gage); • Proximidade; • Aceleração; • Inclinação; • Temperatura; • Etc. Felipe Nascimento Martins
  55. 55. Exemplo: Medindo Temperatura • Monte o circuito com o sensor de temperatura. • Escreva um programa que mostre o valor da temperatura na tela do computador a cada 0,5s. Felipe Nascimento Martins
  56. 56. Exemplo: Medindo Temperatura • Exemplo de programa: void setup() { Serial.begin(9600); } void loop() { int sensor = analogRead(A0); Serial.println(sensor); delay(500); } Felipe Nascimento Martins
  57. 57. Arduino • A.
  58. 58. Exemplo: Medindo Temperatura http://123d.circuits.io/circuits/155990-pratica-7-medindo-temperatura-sinal-analogico/embed Felipe Nascimento Martins
  59. 59. Felipe Nascimento Martins Acionando Motores
  60. 60. “Simulando” uma tensão analógica • 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
  61. 61. Tensão média de um sinal PWM Felipe Nascimento Martins
  62. 62. Exemplo: Velocidade Ajustável int velocidade = 0; int sensor; // valor do LDR void setup() { pinMode(A2, INPUT); // sensor pinMode(13, OUTPUT); / saida 13 Serial.begin(9600); } void loop() { sensor = analogRead(A2); velocidade = map(sensor, 0, 1023, 0, 255); analogWrite(13, velocidade); delay(100); } Felipe Nascimento Martins
  63. 63. Motor Shield • Exemplo: controle de velocidade dos motores com o Shield Motor Control: Felipe Nascimento Martins
  64. 64. • Pode acionar quatro motores CC (46V, 4A) e uma carga resistiva de até 30A. Motor Shield 4 Power Felipe Nascimento Martins
  65. 65. Arduino e NXT via 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
  66. 66. Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html Felipe Nascimento Martins Conexão Bluetooth
  67. 67. Conexão Bluetooth Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html Felipe Nascimento Martins
  68. 68. Conexão Bluetooth Detalhes: http://nossosrobos.blogspot.com.br/2012/05/arduino-wireless-parte-ii-via-bluetooth.html Felipe Nascimento Martins
  69. 69. Ethernet Shield Felipe Nascimento Martins
  70. 70. Arduino com MATLAB Detalhes: http://nossosrobos.blogspot.com.br/2011/10/arduino-com-matlab.html Felipe Nascimento Martins
  71. 71. Arduino com LabVIEW Detalhes: http://sine.ni.com/nips/cds/view/p/lang/pt/nid/209835 Felipe Nascimento Martins
  72. 72. Controle de um Robô Detalhes: http://nossosrobos.blogspot.com.br/2012/09/monte-seu-robo-com-arduino.html Felipe Nascimento Martins
  73. 73. Robôs baseados em Arduino • DFRobotShop Rover - Arduino Compatible Tracked Robot Felipe Nascimento Martins
  74. 74. Robôs baseados em Arduino • DFRobotShop Rover 2.0 – Arduino Compatible Mecanum Felipe Nascimento Martins
  75. 75. Robô Arduino oficial • Arduino Robot Felipe Nascimento Martins Detalhes: http://nossosrobos.blogspot.com.br/2013/07/arduino-robot-o-primeiro-robo-arduino.html
  76. 76. Obrigado!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×