10月 072004
<< moblog復活なるか || テンダロイン☆オレンジ >>
夕方から暇だったのでAVR – 4433LCD付き実験基盤の時から放置してた温度計をさわってみた
LM35DZというトランジスタみたいな形の温度計と、LMC662というオペアンプを使う。
サンプルコード(avr-gcc)↓
/* PORTC ADコンバータ全入力 */
outp(0, DDRC);
outp(0, PORTC);
for(;;){
outp(BV(ADEN)|BV(ADSC)|0x05,ADCSR); /* A/D コンバータの値を表示する */
outp(0,ADMUX);
cbi(ADCSR, ADIF);
sbi(ADCSR, ADSC);
loop_until_bit_is_set(ADCSR, ADIF);lcd_gotopos(0,1); /* LCD2段目の1文字目に移動 */
lcd_print_16( inw(ADCL)/20 ); /* 文字列4桁に変換してLCD表示 */
}
最後20で割ってるのは、オペアンプの使い方がよくわかってないから。なんとなくデータシート眺めて適当に繋いで値出したら、580とか出た。丁度よいので20で割ってみた。
ビールで冷やしたり手で暖めたりすると数字が変わる。
今日の犠牲者
-可変抵抗 煙を上げて死亡