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.
Add new tag, Arduino, arduinome, Python
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:





Tem mais no Flickr!
Arduino, Colméia, Stencil, udesc
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")
Arduino, LCD, Python