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