Usando essa lib estou conseguindo controlar o Arduinome com baudrate em 57600 no firmware. Trabalhar com a biblioteca é bem tranquilo:

from arduinome import Arduinome
from time import sleep
 
a = Arduinome("/dev/ttyUSB0")
 
while 1: a.read()
for x in range(8):
        for y in range(8):
                a.led(x, y, 1)
                sleep(0.5)

E o resto está lá, não vou copiar tudo aqui.

, , ,

Por incrível que pareça, estivemos na UDESC em pleno sábado de férias. Mas isso por um bom e belo motivo! Nos encontramos para trabalhar em nossos projetos pessoas e pintar as paredes do Colméia. Eu terminei de montar o Arduino Punk Console, um sequenciador 8bits e liguei ele no circuito amplificador que é usado no Smapler, um shield para o Arduino que possui interface PS/2 e um mini-amplificador de áudio.

Fizemos alguns stencils na parede da sala e em tampas de gabinetes. Agora a sala está ficando mais bonita!

Fotos do dia:

Arduino Punk Console e Smapler

Stencil Tux e Gnu na parede

Arduino Punk Console e Smapler

Stencil Tux Gabinete

Stencil Debian Gabinete

Tem mais no Flickr!

, , ,

seminátios colméia

, , , ,

Para enviar mensagens através da comunicação serial estabelecida entre o Arduino e o computador e mostrar essas mensagens no display LCD escrevi o código abaixo baseado no artigo escrito por Benjamin Eckel:

#include <LiquidCrystal.h>
 
LiquidCrystal lcd(11, 13, 12, 7, 8, 9, 10);
char message[16];
 
void setup() {
     Serial.begin(9600);
     lcd.clear();
}
 
void loop () {
     write_lcd();
}
 
int write_lcd () {
     int i = 0;
     char incoming_char = 0;
 
     while (incoming_char != '~') {
          incoming_char = get_incoming_char();
          message[i] = incoming_char;
          i += 1;
     }
     for (int j=i-1; j < 16; j++) {
          message[j] = ' ';
     }
     lcd.clear();
     lcd.print(message);
     Serial.println(message);
     delay(500);
}
 
char get_incoming_char() {
     char incoming_char;
 
     while (1) {
          if (Serial.available() > 0) {
               incoming_char = Serial.read();
               return incoming_char;
          }
     }
}

Para enviar as mensagens pode-se utilizar a própria IDE do Arduino ou escrever programas em outras linguagens para esse fim.

Usando Python fica fácil:

import serial
 
/*ttyUSB0 é a porta onde o Arduino está conectado e
9600 a velocidade de comunicação */
ser = serial.Serial('/dev/ttyUSB0', 9600) 
 
ser.write("string")
, ,

Lendo o blog do Gallois descobri um pacote pré-compilado para o Debian Lenny que integra o Dropbox ao Gnome. Legal :D

, ,