Generating barcodes on LCD display
this demonstrates generation of code-39 barcodes on lcd display.
lcd display http://www.sparkfun.com/products/9351
with http://sourceforge.net/projects/serialglcd/?source=directory , http://sourceforge.net/projects/serialglcdlib/?source=directory
text 7 characters or less can generated on screen. barcode readable zbar.
the code rough:
lcd display http://www.sparkfun.com/products/9351
with http://sourceforge.net/projects/serialglcd/?source=directory , http://sourceforge.net/projects/serialglcdlib/?source=directory
text 7 characters or less can generated on screen. barcode readable zbar.
the code rough:
code: [select]
#include <serialglcd.h>
#include <ctype.h>
serialglcd lcd;
char ctl[]="nwnnwnwnn";
char zero[]="nnnwwnwnn";
char one[]="wnnwnnnnw";
char two[]="nnwwnnnnw";
char three[]="wnwwnnnnn";
char four[]="nnnwwnnnw";
char five[]="wnnwwnnnn";
char six[]="nnwwwnnnn";
char seven[]="nnnwnnwnw";
char eight[]="wnnwnnwnn";
char nine[]="nnwwnnwnn";
char a[]="wnnnnwnnw";
char b[]="nnwnnwnnw";
char c[]="wnwnnwnnn";
char d[]="nnnnwwnnw";
char e[]="wnnnwwnnn";
char f[]="nnwnwwnnn";
char g[]="nnnnnwwnw";
char h[]="wnnnnwwnn";
char i[]="wnnnnwwnn";
char j[]="wnnnnwwnn";
char k[]="wnnnnnnww";
char l[]="nnwnnnnww";
char m[]="wnwnnnnwn";
char n[]="nnnnwnnww";
char o[]="wnnnwnnwn";
char p[]="nnwnwnnwn";
char q[]="nnnnnnwww";
char r[]="wnnnnnwwn";
char s[]="nnwnnnwwn";
char t[]="nnnnwnwwn";
char u[]="wwnnnnnnw";
char v[]="nwwnnnnnw";
char w[]="wwwnnnnnn";
char x[]="nwnnwnnnw";
char y[]="wwnnwnnnn";
char z[]="nwwnwnnnn";
char sp[]="nwwnnnwnn";
int xc = 1;
void intr(char *c){
int n;
for(n = 0;n < 9;n++){
switch(c[n]){
case 'w': lcd.drawline(xc, 0, xc, 64, 0); delay(7); lcd.drawline(xc+1, 0, xc+1, 64, 0); delay(6); xc+=2; break;
case 'n': lcd.drawline(xc, 0, xc, 64, 0); delay(7); xc++; break;
case 'w': xc+=2; break;
case 'n': xc++; break;
}
if(xc > 128){serial.println("ovrflw");}
}
xc++;
}
void str(char *s){
char a;
char *x;
for(a = 0;a < strlen(s);a++){
switch(tolower(s[a])){
case '*': x=ctl; break;
case 'a': x=a; break;
case 'b': x=b; break;
case 'c': x=c; break;
case 'd': x=d; break;
case 'e': x=e; break;
case 'f': x=f; break;
case 'g': x=g; break;
case 'h': x=h; break;
case 'i': x=i; break;
case 'j': x=j; break;
case 'k': x=k; break;
case 'l': x=l; break;
case 'm': x=m; break;
case 'n': x=n; break;
case 'o': x=o; break;
case 'p': x=p; break;
case 'q': x=q; break;
case 'r': x=r; break;
case 's': x=s; break;
case 't': x=t; break;
case 'u': x=u; break;
case 'v': x=v; break;
case 'w': x=w; break;
case 'x': x=x; break;
case 'y': x=y; break;
case 'z': x=z; break;
case ' ': x=sp; break;
case '0': x=zero; break;
case '1': x=one; break;
case '2': x=two; break;
case '3': x=three; break;
case '4': x=four; break;
case '5': x=five; break;
case '6': x=six; break;
case '7': x=seven; break;
case '8': x=eight; break;
case '9': x=nine; break;
default : x=sp;
}
intr(x);
}
}
void setup(){
serial.begin(115200);
delay(1500);
lcd.resetlcd();
delay(250);
unsigned char x,y;
for(x = 0;x < 128;x++){
for(y = 0;y < 64;y++){
lcd.togglepixel(x, y, 1);
}
}
str("*test*");
}
void loop(){
}
pretty cool. 

Arduino Forum > Community > Exhibition / Gallery > Generating barcodes on LCD display
arduino
Comments
Post a Comment