0

同窓会

0

Dontronics uLCD128に棒グラフを表示

ATmega168のADC0にCdS(明るさのセンサ)を接続し、AD値を取る。そのAD値をグラフとテキストにしてLCDに描画した。

小型LCD→Dontronics :: 4d-Micro-LCD Old

SourceCode, hex, Makefile(avr-gcc 3.4.6)

ここまでに作った関数だけで全部できた。

Read more

0

Dontronics uLCD128に文字列を表示する

引き続き。ドントロニクスの小型LCDをいじってます。

文字列を表示する関数 lcd_sendStr()、文字1つを表示する関数 lcd_sendTextを作りました

■文字列関数

/*文字を表示する*/

voidlcd_sendText(chart,charcolumn,charrow,char*sb){

loop_until_bit_is_set(UCSR0A,UDRE0);//送信データレジスタ空きまで待機

UDR0=’T’;

loop_until_bit_is_set(UCSR0A,UDRE0);

UDR0=t;

loop_until_bit_is_set(UCSR0A,UDRE0);

UDR0=column;

loop_until_bit_is_set(UCSR0A,UDRE0);

UDR0=row;

loop_until_bit_is_set(UCSR0A,UDRE0);

UDR0=sb[0];

loop_until_bit_is_set(UCSR0A,UDRE0);

UDR0=sb[1];

}

/*文字列を表示する*/

voidlcd_sendStr(char*str,charcolumn,charrow,char*sb){

while(*str!=NULL){

lcd_sendText(*str,column,row,sb);//1文字表示

*str++;//1文字進む

column++;//表示位置ずらす

lcd_waitRes();

}

}

Read more

0

Dontronics uLCD128をマイコンから操作、RGB3色で順に塗りつぶす

動いた。ATmega168からUARTでコマンドを送って、動かす。

SourceCode, hex, Makefile(avr-gcc 3.4.6)

データシートにはマイコンが5Vの場合、マイコンのTXDとLCDの間に1kΩの抵抗を入れろと書いてあったが、なぜかVCCとの間に入れてプルアップにしたら小気味よく動いた。RXDはそのまま。Dontronics uLCD128

■カラーコードの変換関数

前のs.h.log: Dontronics uLCD128のカラーコード変換もちょっと間違いがあったので直した

voidcolorToSb(char*color,char*sb){

//msb

sb[0]=((color[0]&0b11111)< <3)//RED

+((color[1]&0b111000)>>3);//GREEN-A

//lsb

sb[1]=((color[1]&0b111)< <5)//GREEN-B

+(color[2]&0b11111);//BLUE;

}

Read more

0

トランジスタでUARTを分岐させる

普段使う20ピンや28ピンのAVRには、UARTピンが1組しかない。64ピンとかになれば2組とか付いているけど。

んで昨日からDontronicsのUARTかUSBで制御できる小型LCDをいじっているんだけど、いつもシリアル通信でデバッグしているのに、UARTがLCDに占有されているせいでデバッグができない。

仕方ないので、信号用のトランジスタ2SC1815と10kΩの抵抗を使って、UARTセレクタ(分岐させる回路)を作った。

usart selectorusart selector

Read more