Upload
samir-siqueira
View
1.725
Download
0
Embed Size (px)
DESCRIPTION
Palestra que dei no Encontro Técnico de Perl da comunidade http://rio.pm.org no dia 19/09/0210http://rio.pm.org/enc_tecnicos.pl
Citation preview
Perl + ArduinoExtendendo sua aplicação ao
mundo real!
http://rio.pm.org http://www.arduinrio.cc
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
Arduino = Microcontrolador + Gravador + Interfaces
• A alma do negócio é o Microcontrolador ATMega 328
– Porém ele não funciona sozinho
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
Entradas e Saídas do Arduino Duemilanove(2009)
Isto geralmente não muda muito para um conjunto de microcontroladores de mesmo porte :
PWM(Modulacao por Largura de Pulso)
Conversor Analogico<->Digital (ADC)
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.
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}
Shields – Bibliotecas de Hardware
Apenas encaixando a placa de expansão e carregando a biblioteca, você já tem a funcionalidade pronta
Shield Ethernet
• Fale com seu Arduino via TCP/IP, logo de qualquer lugar do mundo
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
Motor Shield
• 2 Servo motores
• 4 Motores DC – dois sentidos
• 2 motores de passo
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
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.
E como falar com esse cara?
• USB – FDTI USB/Serial
• Serial
• Ethernet - TCP/IP
• Wi-Fi – TCP/IP
• Bluetooth
• Xbee?
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”);
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); } }
Na Prática...
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
Arduino TV Out
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!
Agora é usar a imaginação e desenvolver!
Perguntas?