Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);
// I2C / TWI
char cmdbuffer[19];
byte cmdlen=0;;
bool cmdinput =false;
byte cmd=0;
void draw(byte d) {
if (d==0) u8g.drawBitmapP( 40, 16, 6, 48, normal);
if (d==1) u8g.drawBitmapP( 40, 16, 6, 48, spiral);
if (d==2) u8g.drawBitmapP( 40, 16, 6, 48, heart);
if (d==3) u8g.drawBitmapP( 40, 16, 6, 48, LOL);
}
void setup(void) {
Serial.begin(9600);
Serial.println(9999);
I2C_SLA = 0x078;
u8g.firstPage();
do {
draw(0);
} while( u8g.nextPage() );
I2C_SLA = 0x07A;
u8g.firstPage();
do {
draw(0);
} while( u8g.nextPage() );
}
void loop(void) {
cmdinput=false;
while (Serial.available()>0 ) {
char s=Serial.read();
if ((s<33) || (cmdlen>=18)) {
if (cmdlen>0) {
cmdinput=true;
cmdbuffer[cmdlen]=0;
break;
}
}
else
{
cmdbuffer[cmdlen]=s;
cmdlen++;
cmdbuffer[cmdlen]=0;
}
}
if (cmdinput) {
Serial.println(cmdbuffer);
if ( (strcmp(cmdbuffer,"OK")==0) ) cmd=0;
if ( (strcmp(cmdbuffer,"CRAZY")==0) ) cmd=1;
if ( (strcmp(cmdbuffer,"LOVE")==0) ) cmd=2;
if ( (strcmp(cmdbuffer,"FUNNY")==0) ) cmd=3;
cmdlen=0;
cmdbuffer[cmdlen]=0;
I2C_SLA = 0x078;
u8g.firstPage();
do {
draw(cmd);
} while( u8g.nextPage() );
I2C_SLA = 0x07A;
u8g.firstPage();
do {
draw(cmd);
} while( u8g.nextPage() );
}}