Mostrando postagens com marcador hobby. Mostrar todas as postagens
Mostrando postagens com marcador hobby. Mostrar todas as postagens

domingo, 2 de agosto de 2009

Cúmulo da preguiça

Bom, tinha que fazer uma coisa para testar a minha Arduino + Ethernet. A primeira coisa que me veio à mente foi fazer uma automação das luzes aqui da minha casa. Tá.. é o cúmulo da preguiça comandar todas as luzes sentadão no sofá, mas que é legal, é!

Mãos à obra, então! Primeiro o trabalho, depois o descanso. Para começar, o protótipo vai comandar apenas 4 leds, ligados nos pinos 2, 3, 4 e 5 da placa. Depois, com todo o software funcionando, é só colocar um acoplador ótico, ligado a um DIAC/TRIAC para controlar as luzes de verdade...

O programa vai atender aos seguintes comandos:
  • Status: Retorna o status das lâmpadas (quais estão acesas e quais estão apagadas)
  • Acender lâmpada
  • Apagar lâmpada
Deve ser acessível via browser (interface web). A comunicação com a placa é toda via TCP/IP. Antes de fazer a parte web, fiz um cliente nativo para windows, em delphi, para fazer e testar a parte de comunicação com a Arduino.


Quando este cliente funcionou ok, fiz uma interface web beeeem simples (visual bonito pra site não é meu forte.. e é só um protótipo, por enquanto):

Esta página é enviada para um servlet, que abre uma conexão TCP/IP com a Arduino e envia os comandos correspondentes aos radio-buttons da página (acende e apaga as luzes conforme o preenchido na página).

E aí está.. Dá para acessar esta página direto pelo iPod Touch, sentadão no sofá. E comandar todas as luzes da casa quando o hardware final estiver pronto, com o controle de potência. Por enquanto, dá para acender ou apagar 4 leds remotamente :-)

Mas toda a parte do software está pronta. Se tiver tempo, faço um vídeo disto funcionando e posto aqui.

Brincando com eletrônica


Pois é.. como falei ali no meu perfil, gosto muito de eletrônica.. e a junção de eletrônica com programação é muito bacana, dá para fazer umas coisas muito legais. Neste final de semana (chuvoso, por sinal.. mais um susto aqui pra região) acabei mexendo com minha placa arduino.

Resumidamente, a Arduino é uma placa open-source (o projeto do circuito da placa e o boot dela são totalmente free), baseada no PIC Atmega e programada em Java! Isto mesmo: Java! Ela não executa Java, ela executa Assembly nativo do processador, mas quem faz o trabalho sujo de converter Java para Assembly é a IDE.

A placa possui 13 saídas, sendo 5 PWM e 6 entradas analógicas, com conversor A/D, ou digitais.
Além da placa básica, existem vários módulos que podem ser acoplados a ela, como Ethernet (TCP/IP), Bluetooth, GPS, Saída de áudio, sensores de temperatura, luminosidade, etc..

Fantástica. Muito boa. Funciona de primeira. Foi só espetar a placa (que é conectada via USB), configurar os drivers e sair utilizando a IDE. A IDE é baseada na Processing, que eu já havia comentado aqui. Fizeram uma extensão para programação das placas Arduino.

Você escreve o programa, faz o upload pra placa e sai rodando. Uma vez na placa, não precisa mais do PC.

É um brinquedinho legal.