Trilha Arduino




Introdução a construção de robôs
          com Arduino
                       Marcelo Quinta
 Mestre/Professor UFG/Instrutor Globalcode/Triangulum Soluções



                                                    Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Motivação
!     Está começando uma nova febre de eletrônica;
!     Barateamento de microcontroladores;
!     Criação de novas plataformas;
!     Tecnologia -> Arte.




                                         Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Exemplos de projetos
!     Robôs;
!     Roupas e decoração eletrônicas;
!     Máquinas de corte 3D de baixo custo;
!     Segway open-source;
!     Celulares customizados;
!     Instrumentos musicais;
!     Casas interativas.



                                             Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Agenda
!   Introdução ao Arduino e Robótica;
!   Componentes
   !     Motores;
   !     Comunicação;
   !     Alimentação;
   !     Suporte;
!   Oncocompro;
!   Exemplos conhecidos;
!   Indicações de livros, sites, grupos,etc;

                                               Globalcode	
  –	
  Open4education
Hardware aberto
!   Esquemas e circuitos padronizados e abertos na
    internet;
!   Microcontroladores ou microprocessadores de
    pequeno porte
  !   ATMEL;
  !   Texas Instruments;
!   Uso de componentes em padrões amplamente
    utilizados.



                                        Globalcode	
  –	
  Open4education
Plataformas para prototipagem

!     Lego Mind$torm$;
!     SunSpot;
!     Centilla;
!     PIC;
!     Arduino.




                                Globalcode	
  –	
  Open4education
Para o programador
!   Algumas mudanças
  !   Pixel -> Física;
  !   Conhecimentos de eletrônica básica
     !    JPA -> Resistor;
     !    JSP -> Capacitor;
     !    JSF -> Diodo;
     !    Clojures -> Transistor
     !    Soldagem básica (rapidinho);
     !    Palestra mais tarde...




                                           Globalcode	
  –	
  Open4education
Novos termos
!     Voltagem;
!     Amperagem;
!     Analógico;
!     Digital;
!     Transistor;
!     Datasheet;
!     Protoboard;
!     PWM;
!     Coulomb...
                    Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Arduino
!   Plataforma de prototipação de componentes
    eletrônicos flexível e fácil de usar;
!   Open-source hardware e software;
!   Preço acessível;
!   Ampla e ativa comunidade;
!   MCU com bootloader;
!   Transferência de firmware via USB;
!   Linguagem de programação simples.


                                       Globalcode	
  –	
  Open4education
Senta que lá vem história
!   Projeto criado na Itália, principalmente por
    Mássimo Banzi no Interaction Design Institute
    Ivrea;
!   Nasceu para complementar o aprendizado de
    programação, computação física e gráfica;
!   Wiring + Processing




                                         Globalcode	
  –	
  Open4education
O “++” do Arduino
!   Simplicidade no circuito




!   Linguagem de programação simples e fácil de
    utilizar, muito parecida com C e C++
   !   http://arduino.cc/en/Reference/HomePage

                                                 Globalcode	
  –	
  Open4education
Família Arduino (parte)




                          Globalcode	
  –	
  Open4education
Program-ME V1




                Globalcode	
  –	
  Open4education
Program-ME V2




                Globalcode	
  –	
  Open4education
E o melhor de tudo isso
!   Programação do controle do hardware na
    linguagem C;
!   Upload de programa por USB;
!   Ótima IDE compatível com todos os SOs.




                                       Globalcode	
  –	
  Open4education
Tá bom, mas estou começando agora. O que é mais
           importante saber no início?




                                  Globalcode	
  –	
  Open4education
Os mais importantes
!   Microcontrolador;
!   Portas analógicas;
!   Portas digitais;
   !   Portas PWM;
!   Pinos de alimentação;
!   Fonte de alimentação.




                            Globalcode	
  –	
  Open4education
Microcontrolador
!     Arquitetura RISC;
!     20 MIPS (20 milhões de instruções por segundo)
!     32kb Flash / 1 Kb EEPROM / 2Kb RAM estática;
!     10.000 ciclos na flash e 100.000 na EEPROM;
!     2 contadores / temporizadores de 8 bits;
!     1 contador / temporizador de 16 bits;
!     1 temporizador de tempo real com clock a parte;



                                         Globalcode	
  –	
  Open4education
Portas analógicas
!   Permitem medir tensões externas (i.e. sensores);
!   Conversor com resolução de 10 bits: 0 a 1023;
!   Medidas efetuadas com base nos 5V, mas pode-se
    utilizar referência externa ligada ao pino AREF;
!   Podem ser utilizadas como digitais, caso
    necessário;
!   6 portas disponíveis.




                                       Globalcode	
  –	
  Open4education
Portas digitais
!   Permitem ler e enviar sinais digitais para outros
    dispositivos;
!   Binário: 0 e 1;
!   14 portas disponíveis;




                                           Globalcode	
  –	
  Open4education
Portas PWM
!   Modulação por largura de pulso
!   Simulam sinais analógicos utilizando um sinal
    digital;
!   Comutação entre 0V e 5V durante período de
    tempo;
!   Varia entre 0 e 255;
!   Muito utilizada em controle de velocidade de
    motores, intensidade de LEDs, ângulo de servo
    motores, geração de sinais, dentre outros;
!   6 das 14 digitais são PWM.
                                        Globalcode	
  –	
  Open4education
Já sabemos
!   Há possibilidade de alimentarmos uma placa de
    forma independente (Ñ-USB);
!   Podemos usar saídas de diferentes voltagens.
!   Programamos em C;
!   Existe um microcontrolador;
!   Podemos controlar portas analógicas e digitais
    através da programação, dando maior ou menor
    energia a componentes conectados;



                                        Globalcode	
  –	
  Open4education
Globalcode	
  –	
  Open4education
Componentes




              Globalcode	
  –	
  Open4education
Motores
!   Servo-motor;
!   Motor DC;
!   Motor de passo.




                      Globalcode	
  –	
  Open4education
Tópicos importantes
!   Voltagem;
   !   Mínima;
   !   Máxima;
!   Amperagem;
   !   Mínima;
   !   Carga máxima;
!   Torque
   !   Máximo.


!   DATASHEET!
                       Globalcode	
  –	
  Open4education
Protoboard




             Globalcode	
  –	
  Open4education
Servo-motor
!   Arduino controla até 10 pela biblioteca Servo.h;
!   Movimento angular (0 a 180);
!   Podemos tirar uma “travinha” e ela faz 360,
    contínuo;
!   3 fios: Positivo (alimentação), negativo (terra) e
    sinal (vem do Arduino)
!   Arduino consegue dar força a 1 servo com
    alimentação USB;
   !   Mais de 1: alimentação externa para os servos;
   !   Não esquecer de juntar o – do servo ao terra do Arduino;
                                               Globalcode	
  –	
  Open4education
Motor de passo
!   Controle mais preciso de ângulos;
!   Torque;
!   Geralmente precisam de mais voltagem e
    amperagem;
!   O mais simples tem 6 fios, sendo um alimentação
    e o resto controle;
!   Utilização de chip ULN2003A para controle
    (aumento da amperagem);



                                        Globalcode	
  –	
  Open4education
Motor DC
!   Quem nunca queimou um?
!   Utilizados para dar movimento;
!   Sentido do movimento depende da ligação dos
    fios;
!   Diferentes voltagens, torque, tamanho e preços;
!   Geralmente precisa de um transistor ou capacitor
    na ligação direta do Arduino




                                         Globalcode	
  –	
  Open4education
DC no Program-ME




                   Globalcode	
  –	
  Open4education
Ponte-H
!   Para controlar mais de um e fazer que o motor gire
    nos dois sentidos, sem precisar trocar os fios
    podemos usar uma ponte-H;
!   O Program-ME v2.0 possui uma ponte-H;




                                         Globalcode	
  –	
  Open4education
Ponte-H




          Globalcode	
  –	
  Open4education
Alimentação
!   Baterias AA em série
   !   Dê preferência às recarregáveis;
!   Baterias 9V comuns;
!   Baterias Li-ion
   !   Celular;
!   Baterias LiPo
   !   Cuidado no recarregamento;
   !   Não deixar descarregar.



                                          Globalcode	
  –	
  Open4education
Essencial
!   Em que voltagem devo trabalhar?
!   Quantos Amperes eu preciso?
!   Qual é a robustez da bateria? Quanto ela aguenta?




                                        Globalcode	
  –	
  Open4education
Comunicação
!   Shields ou componentes;




                              Globalcode	
  –	
  Open4education
Bluetooth
!   Pinos RX/TX;
!   5v;
!   Muito fácil de implementar;




                                  Globalcode	
  –	
  Open4education
Sensores
!     Distância;
!     Localização;
!     Temperatura;           •  Alimentação;
!     Luminosidade;          •  Terra;
!     Pressão;               •  Sinal;
!     Toque;
!     Vibração
!     Batimento cardíaco?!


                                  Globalcode	
  –	
  Open4education
Sensores
!   Que sensor?
!   Que voltagem e amperagem ele trabalha?
!   Qual é o grau de precisão?
  !   Por voltagem aplicada;
!   Compatível com Arduino?




                                      Globalcode	
  –	
  Open4education
Oncocompro no Brasil
!   Eletron-livre;
   !   Program-ME’s
!   Mercado Livre;
!   Várias outras lojas...




                             Globalcode	
  –	
  Open4education
Oncocompro na gringa
!     iteadstudio.com;
!     adafruit.com;
!     sparkfun.com;
!     dealextreme.com;
!     seeedstudio.com;
!     dfrobot.com;
!     pololu.com;
!     aliexpress.com


                         Globalcode	
  –	
  Open4education
Livros




         Globalcode	
  –	
  Open4education
Grupos de usuários
!   Arduíno Brasília
   !   arduino-brasilia@googlegroups.com
!   Arduíno Goiânia
   !   arduino-goiania@googlegroups.com




                                           Globalcode	
  –	
  Open4education
FIM

      Globalcode	
  –	
  Open4education

Introdução ao Arduino e robótica

  • 1.
    Trilha Arduino Introdução aconstrução de robôs com Arduino Marcelo Quinta Mestre/Professor UFG/Instrutor Globalcode/Triangulum Soluções Globalcode  –  Open4education
  • 2.
  • 3.
    Motivação !   Está começando uma nova febre de eletrônica; !   Barateamento de microcontroladores; !   Criação de novas plataformas; !   Tecnologia -> Arte. Globalcode  –  Open4education
  • 4.
  • 5.
    Exemplos de projetos !   Robôs; !   Roupas e decoração eletrônicas; !   Máquinas de corte 3D de baixo custo; !   Segway open-source; !   Celulares customizados; !   Instrumentos musicais; !   Casas interativas. Globalcode  –  Open4education
  • 6.
  • 7.
  • 8.
    Agenda !   Introduçãoao Arduino e Robótica; !   Componentes !   Motores; !   Comunicação; !   Alimentação; !   Suporte; !   Oncocompro; !   Exemplos conhecidos; !   Indicações de livros, sites, grupos,etc; Globalcode  –  Open4education
  • 9.
    Hardware aberto !  Esquemas e circuitos padronizados e abertos na internet; !   Microcontroladores ou microprocessadores de pequeno porte !   ATMEL; !   Texas Instruments; !   Uso de componentes em padrões amplamente utilizados. Globalcode  –  Open4education
  • 10.
    Plataformas para prototipagem !   Lego Mind$torm$; !   SunSpot; !   Centilla; !   PIC; !   Arduino. Globalcode  –  Open4education
  • 11.
    Para o programador !  Algumas mudanças !   Pixel -> Física; !   Conhecimentos de eletrônica básica !  JPA -> Resistor; !  JSP -> Capacitor; !  JSF -> Diodo; !  Clojures -> Transistor !  Soldagem básica (rapidinho); !  Palestra mais tarde... Globalcode  –  Open4education
  • 12.
    Novos termos !   Voltagem; !   Amperagem; !   Analógico; !   Digital; !   Transistor; !   Datasheet; !   Protoboard; !   PWM; !   Coulomb... Globalcode  –  Open4education
  • 13.
  • 14.
    Arduino !   Plataformade prototipação de componentes eletrônicos flexível e fácil de usar; !   Open-source hardware e software; !   Preço acessível; !   Ampla e ativa comunidade; !   MCU com bootloader; !   Transferência de firmware via USB; !   Linguagem de programação simples. Globalcode  –  Open4education
  • 15.
    Senta que lávem história !   Projeto criado na Itália, principalmente por Mássimo Banzi no Interaction Design Institute Ivrea; !   Nasceu para complementar o aprendizado de programação, computação física e gráfica; !   Wiring + Processing Globalcode  –  Open4education
  • 16.
    O “++” doArduino !   Simplicidade no circuito !   Linguagem de programação simples e fácil de utilizar, muito parecida com C e C++ !   http://arduino.cc/en/Reference/HomePage Globalcode  –  Open4education
  • 17.
    Família Arduino (parte) Globalcode  –  Open4education
  • 18.
    Program-ME V1 Globalcode  –  Open4education
  • 19.
    Program-ME V2 Globalcode  –  Open4education
  • 20.
    E o melhorde tudo isso !   Programação do controle do hardware na linguagem C; !   Upload de programa por USB; !   Ótima IDE compatível com todos os SOs. Globalcode  –  Open4education
  • 21.
    Tá bom, masestou começando agora. O que é mais importante saber no início? Globalcode  –  Open4education
  • 22.
    Os mais importantes !  Microcontrolador; !   Portas analógicas; !   Portas digitais; !   Portas PWM; !   Pinos de alimentação; !   Fonte de alimentação. Globalcode  –  Open4education
  • 23.
    Microcontrolador !   Arquitetura RISC; !   20 MIPS (20 milhões de instruções por segundo) !   32kb Flash / 1 Kb EEPROM / 2Kb RAM estática; !   10.000 ciclos na flash e 100.000 na EEPROM; !   2 contadores / temporizadores de 8 bits; !   1 contador / temporizador de 16 bits; !   1 temporizador de tempo real com clock a parte; Globalcode  –  Open4education
  • 24.
    Portas analógicas !  Permitem medir tensões externas (i.e. sensores); !   Conversor com resolução de 10 bits: 0 a 1023; !   Medidas efetuadas com base nos 5V, mas pode-se utilizar referência externa ligada ao pino AREF; !   Podem ser utilizadas como digitais, caso necessário; !   6 portas disponíveis. Globalcode  –  Open4education
  • 25.
    Portas digitais !  Permitem ler e enviar sinais digitais para outros dispositivos; !   Binário: 0 e 1; !   14 portas disponíveis; Globalcode  –  Open4education
  • 26.
    Portas PWM !  Modulação por largura de pulso !   Simulam sinais analógicos utilizando um sinal digital; !   Comutação entre 0V e 5V durante período de tempo; !   Varia entre 0 e 255; !   Muito utilizada em controle de velocidade de motores, intensidade de LEDs, ângulo de servo motores, geração de sinais, dentre outros; !   6 das 14 digitais são PWM. Globalcode  –  Open4education
  • 27.
    Já sabemos !  Há possibilidade de alimentarmos uma placa de forma independente (Ñ-USB); !   Podemos usar saídas de diferentes voltagens. !   Programamos em C; !   Existe um microcontrolador; !   Podemos controlar portas analógicas e digitais através da programação, dando maior ou menor energia a componentes conectados; Globalcode  –  Open4education
  • 28.
  • 29.
    Componentes Globalcode  –  Open4education
  • 30.
    Motores !   Servo-motor; !  Motor DC; !   Motor de passo. Globalcode  –  Open4education
  • 31.
    Tópicos importantes !  Voltagem; !   Mínima; !   Máxima; !   Amperagem; !   Mínima; !   Carga máxima; !   Torque !   Máximo. !   DATASHEET! Globalcode  –  Open4education
  • 32.
    Protoboard Globalcode  –  Open4education
  • 33.
    Servo-motor !   Arduinocontrola até 10 pela biblioteca Servo.h; !   Movimento angular (0 a 180); !   Podemos tirar uma “travinha” e ela faz 360, contínuo; !   3 fios: Positivo (alimentação), negativo (terra) e sinal (vem do Arduino) !   Arduino consegue dar força a 1 servo com alimentação USB; !   Mais de 1: alimentação externa para os servos; !   Não esquecer de juntar o – do servo ao terra do Arduino; Globalcode  –  Open4education
  • 34.
    Motor de passo !  Controle mais preciso de ângulos; !   Torque; !   Geralmente precisam de mais voltagem e amperagem; !   O mais simples tem 6 fios, sendo um alimentação e o resto controle; !   Utilização de chip ULN2003A para controle (aumento da amperagem); Globalcode  –  Open4education
  • 35.
    Motor DC !  Quem nunca queimou um? !   Utilizados para dar movimento; !   Sentido do movimento depende da ligação dos fios; !   Diferentes voltagens, torque, tamanho e preços; !   Geralmente precisa de um transistor ou capacitor na ligação direta do Arduino Globalcode  –  Open4education
  • 36.
    DC no Program-ME Globalcode  –  Open4education
  • 37.
    Ponte-H !   Paracontrolar mais de um e fazer que o motor gire nos dois sentidos, sem precisar trocar os fios podemos usar uma ponte-H; !   O Program-ME v2.0 possui uma ponte-H; Globalcode  –  Open4education
  • 38.
    Ponte-H Globalcode  –  Open4education
  • 39.
    Alimentação !   BateriasAA em série !   Dê preferência às recarregáveis; !   Baterias 9V comuns; !   Baterias Li-ion !   Celular; !   Baterias LiPo !   Cuidado no recarregamento; !   Não deixar descarregar. Globalcode  –  Open4education
  • 40.
    Essencial !   Emque voltagem devo trabalhar? !   Quantos Amperes eu preciso? !   Qual é a robustez da bateria? Quanto ela aguenta? Globalcode  –  Open4education
  • 41.
    Comunicação !   Shieldsou componentes; Globalcode  –  Open4education
  • 42.
    Bluetooth !   PinosRX/TX; !   5v; !   Muito fácil de implementar; Globalcode  –  Open4education
  • 43.
    Sensores !   Distância; !   Localização; !   Temperatura; •  Alimentação; !   Luminosidade; •  Terra; !   Pressão; •  Sinal; !   Toque; !   Vibração !   Batimento cardíaco?! Globalcode  –  Open4education
  • 44.
    Sensores !   Quesensor? !   Que voltagem e amperagem ele trabalha? !   Qual é o grau de precisão? !   Por voltagem aplicada; !   Compatível com Arduino? Globalcode  –  Open4education
  • 45.
    Oncocompro no Brasil !  Eletron-livre; !   Program-ME’s !   Mercado Livre; !   Várias outras lojas... Globalcode  –  Open4education
  • 46.
    Oncocompro na gringa !   iteadstudio.com; !   adafruit.com; !   sparkfun.com; !   dealextreme.com; !   seeedstudio.com; !   dfrobot.com; !   pololu.com; !   aliexpress.com Globalcode  –  Open4education
  • 47.
    Livros Globalcode  –  Open4education
  • 48.
    Grupos de usuários !  Arduíno Brasília !   arduino-brasilia@googlegroups.com !   Arduíno Goiânia !   arduino-goiania@googlegroups.com Globalcode  –  Open4education
  • 49.
    FIM Globalcode  –  Open4education