Arduíno muito prazer

706 visualizações

Publicada em

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
706
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
17
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Arduíno muito prazer

  1. 1. Arduíno: muito prazer Heider Lopes
  2. 2. Quem sou eu? • Pós-Graduando em Sistemas e Desenvolvimento WEB • Formado em Sistemas de Informações - (FIAP) • Twitter: @HeiderLopes • Blog: www.heidertreinamentos.com.br/blog • Programador
  3. 3. Agenda • • • • O que é o Arduino? Como programar? Robótica com o Arduino Demonstrações
  4. 4. Introdução • Plataforma baseada em Atmel da AVR (ATMega168); • Oferece um IDE e bibliotecas de programação de alto nível; • Open-source hardware e software • Ampla comunidade • Programado em C/C++ • Transferência de firmware via USB • MCU com bootloader
  5. 5. Histórico • Criado na Itália – Mássimo Banzi no Interaction Design Institute Ivrea; • Nasceu para complementar o aprendizado de programação, computação física e gráfica;
  6. 6. Aplicações práticas • • • • • • • • • Robôs Roupas eletrônicas Máquinas de corte e modelagem 3D de baixo custo; Segway open-source Desenvolvimento de celulares customizados Instrumentos musicais Paredes interativas Instrumentação humana Circuit bending
  7. 7. Fabricantes • • • • • • • • • Mega Lilypad Nano Uno Pro Arduino BT Freeduino Severino Program-ME
  8. 8. Modelo de Arduino
  9. 9. Atmega168 / Atmega328 • • • • • • • • • • Características do ATmega 168: RISC 20 MIPS (20 Milhões de instruções por segundo) 16Kb Flash / 512 b EEPROM / 1Kb RAM Estática 10.000 ciclos na Flash e 100.000 na EEPROM 2 contadores / temporizadores de 8bits 1 contador / temporizador de 16bits 1 temporizador de tempo real com clock a parte 14 portas digitais 6 portas analógicas
  10. 10. Características técnicas • • • • • • • • 6 canais PWM 6 conversores analógico/digital de 10 bits 1 serial programável (USART) 1 interface SPI (Serial Peripheral Interface) 1 interface serial a 2 fios (I2C) 1 watch dog timer programável 1 comparador analógico no chip Interrupção ou wake-up na alteração de estado dos pinos
  11. 11. Demonstrando uma placa Arduino
  12. 12. Demonstrando uma placa Arduino FT232RL Conversor USB-Serial Conector USB Regular 7085: Recebe até 12 volts e regula para 5 volts Alimentação externa: Até 12 volts
  13. 13. Demonstrando uma placa Arduino Botão de reset ICSP Para gravar bootloader ou programas/firmware AtMega328 /168/8
  14. 14. Demonstrando uma placa Arduino AREF Referência analógica Padrão 5 volts GND Portas digitais 0 a 13 0 RX 1 TX = usada durante transferência de sketch e comunicação serial com placa 2,4,7,8,12,13 = portas digitais convêncionais 3,5,6,9,10,11 = portas PWM
  15. 15. Demonstrando uma placa Arduino Portas analógicas 4 e 5 São as portas utilizadas para conexões via I2C / TWI. Portas analógicas de 0 a 5 GND Reset Podem funcionar como digitais de 14 a 19 5 volts VIN 3.3 volts Alimentação de entrada sem regulagem
  16. 16. Porta Digital Vs. Analógica • Digital: trabalha com 0 e 1 na lógica binária. – Digital do Arduino segue padrão TTL onde: • 0 a 0,8 volts = 0 • 2 a 5 volts = 1 • Analógica: valor lido é análogo a tensão. – Referência de analogia é 5 volts • 0 volts = 0 • 2.5 volts= 512 • 5 volts = 1023 – Conversor A/D de 10 bits: 0 a 1023
  17. 17. Porta Digital Vs. Analógica • Portas analógicas expressam valores de 0 a 1023 mas não são utilizadas para transferência de informações precisas • As portas digitais permitem que dados sejam transferidos em sequencia através de uma lógica ou protocolo binário • Portas digitais não conseguem comandar potência
  18. 18. Porta PWM • Uma porta híbrida: digital porém com modularização de zeros e uns de forma que consegue expressar uma idéia de potência;
  19. 19. Na prática • Ligamos componentes em portas digitais comuns, pwm ou analógica • Fazemos leitura e escrita nestas portas afim de obter um dado ou um determinado comportamento • Processamos os dados no microcontrolador
  20. 20. Shields • Arquitetura modular inteligente • Arduino estabeleceu um padrão de pinagem que é respeitado por diversas placas shield:
  21. 21. Exemplo de shields
  22. 22. EXEMPLO DE COMPONENTES
  23. 23. Ping – Sensor de distância ultrasonico
  24. 24. Bússola
  25. 25. Shield LCD Touch screen
  26. 26. SIM Reader
  27. 27. Bluetooth
  28. 28. Como programar? • • • • • IDE pode ser baixada de www.arduino.cc A IDE foi desenvolvida com Java (necessário JVM) Funciona em Windows, Mac OS X e Linux Utiliza GCC + GCC Avr para compilação A transferência para a placa pode ser feita – via USB pelo IDE; – Gravadores ICSP
  29. 29. Primeiros passos na IDE • Temos que obrigatoriamente programar dois métodos: void setup() { } void loop() { } • O setup é executado úma só vez assim que a placa for ligada • O loop terá o código de execução infinita
  30. 30. Manipulando as Portas digitais e analógicas – pinMode(<porta>, <modo>): configura uma porta digital para ser lida ou para enviarmos dados; – digitalWrite(<porta>, 0 ou 1): envia 0 ou 1 para porta digital – digitalRead(<porta>): retorna um 0 ou 1 lido da porta – analogRead(<porta>): retorna de 0 a 1023 com o valor da porta analógica – analogWrite(<porta>, <valor>): escreve em uma porta PWM um valor de 0 a 255
  31. 31. Exemplo I: Piscando Led void setup() { pinMode(13, OUTPUT); //porta 13 em output } void loop() { digitalWrite(13, HIGH); //HIGH = 1 = TRUE delay(500); digitalWrite(13, LOW); //LOW = 0 = FALSE delay(500); }
  32. 32. Exemplo II: Luz Ambiente void setup() { //Inicializando conexão com PC via FT232 cabo Serial.begin(9600); } void loop() { int luz = analogRead(5); //LDR ligado na 5 //envia informações para o PC Serial.println(luz); delay(500); }
  33. 33. Exemplo III: Sensor de movimento
  34. 34. Demonstração da IDE • Como compilar? • Como ver exemplos? • Como enviar o código para a placa?
  35. 35. ROBÓTICA COM ARDUINO
  36. 36. Introdução • A palavra robô vem de robot que foi utilizada em uma peça de teatro de 1920, chamada R.U.R. (Rossum's Universal Robots), do tcheco Karel Capek. • Aparentemente a palavra descende de ROBOTA, que em checo significa trabalho servil ou trabalho pesado. • Uma definição mais realista de robô, seria que ele é um manipulador reprogramável e multi-funcional projetado para mover materiais, partes, ferramentas ou dispositivos especializados através de movimentos variáveis programados para desempenhar uma variedade de tarefas.
  37. 37. Paralelo entre robôs e humanos • Sentidos • Pensamentos • Ações
  38. 38. Nos seres humanos • Nos seres humanos, iniciando pelos seus sentidos, temos um caminho que passa pelo tratamento do pensamento e termina ou resulta em ações.
  39. 39. Nos robôs • Um robô aciona seus atuadores, baseado em seu processamento que teve como entrada os dados vindos de seus sensores • Sentidos - > Sensores • Pensamentos- > Processamento • Ações - > Atuadores
  40. 40. Robôs: Disitinguindo por capacidade de processamento • Todos os robôs têm em comum a realização de algum tipo de movimento sendo que também podemos distinguir os robôs pela sua capacidade de processamento, sendo assim poderíamos classificar os robôs como:
  41. 41. Robô inteligente • Pode se mover de forma autônoma e segura por um ambiente não preparado e atingir um objetivo ou efetivar uma tarefa.
  42. 42. Robô não inteligente • Deve repetir de forma confiável a mesma tarefa para que foi programado, porém sem enfrentar variações no ambiente ou situações. • Nesse caso, a definição fica mais próxima de automação e pode distinguir entre um robô e uma máquina de lavar.
  43. 43. Robôs de forma geral • Manipuladores ou braços robóticos; • Robôs móveis com rodas; • Robôs móveis com pernas; • Humanóides
  44. 44. Manipuladores ou braço robótico • Atualmente, a maior aplicação de robôs é na área industrial, principalmente na produção de bens de consumo. • Nessa área, o tipo mais popularmente conhecido de robô é o braço robótico
  45. 45. Robô cartesiano
  46. 46. Robôs móveis com rodas
  47. 47. Robôs móveis com pernas
  48. 48. Robôs humanóides
  49. 49. Robôs de papelão
  50. 50. Robôs de madeira • Compensado / MDF: talvez o material mais fácil de trabalhar e muito acessível. É isolante, o que diminui a preocupação com a montagem. Pode ser colada e furada com facilidade. O inconveniente é a sua relação peso / resistência. • Duratex: muito fácil de ser trabalhado, pode ser usado em alguns casos, porém, é muito flexível para ser usado como chassi de robôs maiores.
  51. 51. Robôs de plástico
  52. 52. Concluindo • Arduino é um projeto simples, popular e acessível • Eletrônica e programação embarcada alto nível • Na prática ligamos componentes nas portas analógicas e digitais e escrevemos programas que usam as portas • Existem diversas bibliotecas que encapsulam a lógica de comunicação digital ou analógica: servo, motor de passo, Android, display LCD • Ter portas digitais analógicas e pmw é um grande valor do microcontrolador utilizado • A transfêrencia via USB e a ferramenta / IDE para programação funcionam em múltiplas plataformas • Open-source Hardware e Open-source software

×