Arduíno: muito prazer
Heider Lopes
Quem sou eu?
• Pós-Graduando em Sistemas e Desenvolvimento
WEB
• Formado em Sistemas de Informações - (FIAP)
• Twitter: @H...
Agenda
•
•
•
•

O que é o Arduino?
Como programar?
Robótica com o Arduino
Demonstrações
Introdução
• Plataforma baseada em Atmel da AVR
(ATMega168);
• Oferece um IDE e bibliotecas de programação de
alto nível;
...
Histórico
• Criado na Itália
– Mássimo Banzi no Interaction Design Institute Ivrea;

• Nasceu para complementar o aprendiz...
Aplicações práticas
•
•
•
•
•
•
•
•
•

Robôs
Roupas eletrônicas
Máquinas de corte e modelagem 3D de baixo custo;
Segway op...
Fabricantes
•
•
•
•
•
•
•
•
•

Mega
Lilypad
Nano
Uno
Pro
Arduino BT
Freeduino
Severino
Program-ME
Modelo de Arduino
Atmega168 / Atmega328
•
•
•
•
•
•
•
•
•
•

Características do ATmega 168:
RISC
20 MIPS (20 Milhões de instruções por segun...
Características técnicas
•
•
•
•
•
•
•
•

6 canais PWM
6 conversores analógico/digital de 10 bits
1 serial programável (US...
Demonstrando uma placa Arduino
Demonstrando uma placa Arduino
FT232RL
Conversor USB-Serial

Conector USB

Regular 7085:
Recebe até 12 volts e
regula para...
Demonstrando uma placa Arduino
Botão de reset

ICSP
Para gravar bootloader
ou programas/firmware

AtMega328 /168/8
Demonstrando uma placa Arduino
AREF
Referência analógica
Padrão 5 volts

GND

Portas digitais 0 a 13
0 RX 1 TX = usada dur...
Demonstrando uma placa Arduino

Portas analógicas 4 e 5
São as portas utilizadas
para conexões via I2C /
TWI.

Portas anal...
Porta Digital Vs. Analógica
• Digital: trabalha com 0 e 1 na lógica binária.
– Digital do Arduino segue padrão TTL onde:
•...
Porta Digital Vs. Analógica
• Portas analógicas expressam valores de 0 a 1023
mas não são utilizadas para transferência de...
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...
Na prática
• Ligamos componentes em portas digitais
comuns, pwm ou analógica
• Fazemos leitura e escrita nestas portas afi...
Shields
• Arquitetura modular inteligente
• Arduino estabeleceu um padrão de pinagem que
é respeitado por diversas placas ...
Exemplo de shields
EXEMPLO DE COMPONENTES
Ping – Sensor de distância ultrasonico
Bússola
Shield LCD Touch screen
SIM Reader
Bluetooth
Como programar?
•
•
•
•
•

IDE pode ser baixada de www.arduino.cc
A IDE foi desenvolvida com Java (necessário JVM)
Funcion...
Primeiros passos na IDE
• Temos que obrigatoriamente programar dois
métodos:
void setup() {
}
void loop() {
}

• O setup é...
Manipulando as Portas digitais e
analógicas
– pinMode(<porta>, <modo>): configura uma porta
digital para ser lida ou para ...
Exemplo I: Piscando Led
void setup() {
pinMode(13, OUTPUT); //porta 13 em output
}
void loop() {
digitalWrite(13, HIGH); /...
Exemplo II: Luz Ambiente
void setup() {
//Inicializando conexão com PC via FT232 cabo
Serial.begin(9600);
}
void loop() {
...
Exemplo III: Sensor de movimento
Demonstração da IDE
• Como compilar?
• Como ver exemplos?
• Como enviar o código para a placa?
ROBÓTICA COM ARDUINO
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 Univers...
Paralelo entre robôs e humanos
• Sentidos
• Pensamentos
• Ações
Nos seres humanos
• Nos seres humanos, iniciando pelos seus
sentidos, temos um caminho que passa pelo
tratamento do pensam...
Nos robôs
• Um robô aciona seus atuadores, baseado em seu
processamento que teve como entrada os dados
vindos de seus sens...
Robôs: Disitinguindo por capacidade
de processamento
• Todos os robôs têm em comum a realização de
algum tipo de movimento...
Robô inteligente
• Pode se mover de forma autônoma e segura por
um ambiente não preparado e atingir um
objetivo ou efetiva...
Robô não inteligente
• Deve repetir de forma confiável a mesma tarefa
para que foi programado, porém sem enfrentar
variaçõ...
Robôs de forma geral
• Manipuladores ou braços robóticos;
• Robôs móveis com rodas;
• Robôs móveis com pernas;
• Humanóide...
Manipuladores ou braço robótico
• Atualmente, a maior
aplicação de robôs é na
área
industrial, principalmente
na produção ...
Robô cartesiano
Robôs móveis com rodas
Robôs móveis com pernas
Robôs humanóides
Robôs de papelão
Robôs de madeira
• Compensado / MDF: talvez o
material mais fácil de trabalhar e
muito acessível. É isolante, o que
diminu...
Robôs de plástico
Concluindo
• Arduino é um projeto simples, popular e acessível
• Eletrônica e programação embarcada alto nível
• Na prátic...
Upcoming SlideShare
Loading in...5
×

Arduíno muito prazer

295

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
295
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
Embeds 0
No embeds

No notes for 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
  1. A particular slide catching your eye?

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

×