Perl + Arduino Extendendo sua aplicação ao mundo real! http://rio.pm.org http://www.arduinrio.cc
O que é um Microcontrolador? <ul><li>Computador ? </li></ul><ul><li>Circuito Integrado ? </li></ul><ul><ul><li>Computador ...
Arduino = Microcontrolador + Gravador + Interfaces <ul><li>A alma do negócio é o Microcontrolador ATMega 328 </li></ul><ul...
Componentes perifericos <ul><li>Como toda CPU, precisa de um Clock  </li></ul><ul><ul><li>Para isto temos o cristal </li><...
Entradas e Saídas do Arduino Duemilanove(2009) <ul><li>Isto geralmente não muda muito para um conjunto de microcontrolador...
PWM (Modulacao por Largura de Pulso)
Conversor Analogico<->Digital (ADC)
Arduino – a quebra de paradigmas <ul><li>Software Livre – Faça e extenda (em casa) </li></ul><ul><li>Hardware Livre – Faça...
int ledPin = 13;  // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT);  // sets the digital pin as o...
Shields – Bibliotecas de Hardware <ul><li>Apenas encaixando a placa de expansão e carregando a biblioteca, você já tem a f...
Shield Ethernet <ul><li>Fale com seu Arduino via TCP/IP, logo de qualquer lugar do mundo </li></ul>
Wi-Fi Shield <ul><li>Fale com seu Arduino de qualquer lugar do mundo sem precisar de fios </li></ul><ul><ul><li>WEP (64-bi...
Motor Shield <ul><li>2 Servo motores </li></ul><ul><li>4 Motores DC – dois sentidos </li></ul><ul><li>2 motores de passo <...
Conclusão <ul><li>Facilidade </li></ul><ul><ul><li>Até artistas programam hoje </li></ul></ul><ul><ul><li>Estudantes de es...
Casos de uso <ul><li>OpenEnergyMonitor.org </li></ul><ul><ul><li>Monitore o uso de energia eletrica numa casa, escritorio ...
E como falar com esse cara? <ul><li>USB – FDTI USB/Serial </li></ul><ul><li>Serial </li></ul><ul><li>Ethernet - TCP/IP </l...
Fazendo o Perl falar com ele <ul><li>Device::SerialPort – no Linux </li></ul><ul><li>O código do Arduino tem de estar prep...
void loop() { char pc_input; if (Serial.available()) { pc_input = Serial.read();  } if( pc_input ==  'w')  { if (Speed < 2...
Na Prática...
Um minuto sobre Cellbots <ul><li>Arduino +  Android </li></ul><ul><li>Arduino + Smartphone </li></ul><ul><li>Vantagens </l...
 
Arduino TV Out
Possibilidades <ul><li>Interfaceamento com controle remoto </li></ul><ul><ul><li>So precisa calibrar </li></ul></ul><ul><l...
Agora é usar a imaginação e desenvolver! Perguntas?
Upcoming SlideShare
Loading in...5
×

Perlduino - Interfaceando sua aplicação com o mundo real!

1,745

Published on

Palestra que dei no Encontro Técnico de Perl da comunidade http://rio.pm.org no dia 19/09/0210

http://rio.pm.org/enc_tecnicos.pl

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,745
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
45
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Perlduino - Interfaceando sua aplicação com o mundo real!

  1. 1. Perl + Arduino Extendendo sua aplicação ao mundo real! http://rio.pm.org http://www.arduinrio.cc
  2. 2. O que é um Microcontrolador? <ul><li>Computador ? </li></ul><ul><li>Circuito Integrado ? </li></ul><ul><ul><li>Computador num Circuito Integrado! </li></ul></ul><ul><li>Computador </li></ul><ul><ul><li>Entradas => INTELIGÊNCIA => Saídas </li></ul></ul><ul><li>Microcontrolador </li></ul><ul><ul><li>Entradas => INTELIGÊNCIA => Saídas </li></ul></ul><ul><li>Ou : </li></ul><ul><ul><li>Sensores => INTELIGÊNCIA => Atuadores </li></ul></ul><ul><ul><ul><li>No caso da robótica </li></ul></ul></ul>
  3. 3. Arduino = Microcontrolador + Gravador + Interfaces <ul><li>A alma do negócio é o Microcontrolador ATMega 328 </li></ul><ul><ul><li>Porém ele não funciona sozinho </li></ul></ul>
  4. 4. Componentes perifericos <ul><li>Como toda CPU, precisa de um Clock </li></ul><ul><ul><li>Para isto temos o cristal </li></ul></ul><ul><li>Interface serial/USB </li></ul><ul><li>Regulador de tensão – {7,21} V -> 5 V </li></ul>
  5. 5. Entradas e Saídas do Arduino Duemilanove(2009) <ul><li>Isto geralmente não muda muito para um conjunto de microcontroladores de mesmo porte : </li></ul>
  6. 6. PWM (Modulacao por Largura de Pulso)
  7. 7. Conversor Analogico<->Digital (ADC)
  8. 8. Arduino – a quebra de paradigmas <ul><li>Software Livre – Faça e extenda (em casa) </li></ul><ul><li>Hardware Livre – Faça e extenda (em casa!) </li></ul><ul><ul><li>Cultura de simplificação </li></ul></ul><ul><ul><li>Linguagem Wiring – o “C simplificado” </li></ul></ul><ul><ul><li>Você também pode programar o Arduino em C puro. </li></ul></ul>
  9. 9. int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
  10. 10. Shields – Bibliotecas de Hardware <ul><li>Apenas encaixando a placa de expansão e carregando a biblioteca, você já tem a funcionalidade pronta </li></ul>
  11. 11. Shield Ethernet <ul><li>Fale com seu Arduino via TCP/IP, logo de qualquer lugar do mundo </li></ul>
  12. 12. Wi-Fi Shield <ul><li>Fale com seu Arduino de qualquer lugar do mundo sem precisar de fios </li></ul><ul><ul><li>WEP (64-bit and 128-bit) </li></ul></ul><ul><ul><li>WPA/WPA2 (TKIP and AES) PSK </li></ul></ul>
  13. 13. Motor Shield <ul><li>2 Servo motores </li></ul><ul><li>4 Motores DC – dois sentidos </li></ul><ul><li>2 motores de passo </li></ul>
  14. 14. Conclusão <ul><li>Facilidade </li></ul><ul><ul><li>Até artistas programam hoje </li></ul></ul><ul><ul><li>Estudantes de escolas técnicas não tem mais porque não estudar este assunto </li></ul></ul><ul><ul><ul><li>Um Arduino custa R$ 40,00 vindo da china </li></ul></ul></ul><ul><ul><ul><li>Por volta de R$ 85,00 no Brasil. </li></ul></ul></ul><ul><li>Criatividade </li></ul><ul><ul><li>A facilidade te abstrai os problemas menores para que você se preocupe com o seu real problema </li></ul></ul>
  15. 15. Casos de uso <ul><li>OpenEnergyMonitor.org </li></ul><ul><ul><li>Monitore o uso de energia eletrica numa casa, escritorio ou fabrica (com graficos caso mande para o PC) </li></ul></ul><ul><li>MouseGlove </li></ul><ul><ul><li>Controle seu mouse por acelerometros numa luva </li></ul></ul><ul><li>Automação de casa </li></ul><ul><ul><li>Aquecedor, alarme de seguranca e iluminacao. </li></ul></ul><ul><ul><li>Interface WEB </li></ul></ul><ul><li>Padaria </li></ul><ul><ul><li>Arduino avisa aos clientes via Twitter quando o pão sai. </li></ul></ul>
  16. 16. E como falar com esse cara? <ul><li>USB – FDTI USB/Serial </li></ul><ul><li>Serial </li></ul><ul><li>Ethernet - TCP/IP </li></ul><ul><li>Wi-Fi – TCP/IP </li></ul><ul><li>Bluetooth </li></ul><ul><li>Xbee? </li></ul>
  17. 17. Fazendo o Perl falar com ele <ul><li>Device::SerialPort – no Linux </li></ul><ul><li>O código do Arduino tem de estar preparado para receber mensagens, e interpreta-las para a ação desejada </li></ul>my $sp=new Device::SerialPort(&quot;/dev/ttyUSB0&quot;); $sp->databits(8); $sp->baudrate(9600); $sp->stopbits(1); $sp->parity(&quot;none&quot;); $sp->write(“s”);
  18. 18. void loop() { char pc_input; if (Serial.available()) { pc_input = Serial.read(); } if( pc_input == 'w') { if (Speed < 255){ Speed = Speed + 5; } go_forward(Speed); } if( pc_input == 's') { stopMotors(); } if( pc_input == 'a') { turn_left(10); } if( pc_input == 'd') { turn_right(10); } }
  19. 19. Na Prática...
  20. 20. Um minuto sobre Cellbots <ul><li>Arduino + Android </li></ul><ul><li>Arduino + Smartphone </li></ul><ul><li>Vantagens </li></ul><ul><ul><li>Diversos sensores (acelerometros, GPS, luminosidade) </li></ul></ul><ul><ul><li>Camera embutida (streaming) </li></ul></ul><ul><ul><li>Muitos rodam Linux, logo sem dificuldade rodam Perl </li></ul></ul><ul><ul><li>Interface Wi-Fi </li></ul></ul><ul><ul><li>Interface Bluetooth </li></ul></ul><ul><ul><li>Internet – 3G / GPRS </li></ul></ul>
  21. 22. Arduino TV Out
  22. 23. Possibilidades <ul><li>Interfaceamento com controle remoto </li></ul><ul><ul><li>So precisa calibrar </li></ul></ul><ul><li>Interfaceamento com controle de Wii </li></ul><ul><li>Interfaceamento com Ipod/Iphone/Android </li></ul><ul><li>Sensores </li></ul><ul><ul><li>Temperatura, distância, microfone, luz, Infra-vermelho(controle remoto), muito mais! </li></ul></ul><ul><li>Atuadores </li></ul><ul><ul><li>Motores, LEDs, TVs, caixa de som, LED Infra-vermelho(controle remoto), muito mais! </li></ul></ul>
  23. 24. Agora é usar a imaginação e desenvolver! Perguntas?
  1. A particular slide catching your eye?

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

×