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

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

SourceCode, hex, Makefile(avr-gcc 3.4.6)

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



main()の中のループはこれだけ

charcolor0[3]={0b11111,0b000000,0b00000};//RGB
intad;
charstrBuf[6];
charsb[2];
for(;;){
ad=adc_convert(0);
colorToSb(color0,sb);//msb,lsb取得
lcd_erase();
lcd_waitRes();
lcd_paintArea(10,0,60,ad*128/1024,sb);//x1,y1,x2,y2,color(msb,lsb)
lcd_waitRes();
lcd_sendStr(&qute;ADC=&qute;,8,0,sb);
lcd_waitRes();
lcd_sendStr(intToStr(ad,strBuf),12,0,sb);
lcd_waitRes();
}

回路。CdSまわりの回路はs.h.log: Arduino+Proce55ingで3分PhysicalComputingと全く同じ

LCD+CdS