クモ、アナログの味を知る
STATUS: 故障中x2
ここのところ毎日 USBSPYDER08で遊んでますが、今日はADC(A/Dコンバーター)を動かしてみました。
ADCが動けば、アナログ値はなんでも入力できますからね。ボリュームからはじまって、温度センサーや距離センサー、加速度センサーなどみんなアナログで入力できます。
とりあえず、手軽なアナログ入力としてボリュームをつないでみました。
USBSPYDER08のCPUであるMC9S08QG4のコアは「HCS08」なのですが、丁度いいサンプルがみつからなかったので、「HC08」を使ったサンプルを参考にしました。
参考にしたページは、ここです。→ADCを使う
HC08とHCS08では、レジスタの名称が異なりますがデータシートみながら書きかえてみたらすんなり動きました。
ボリュームからの抵抗値をA/Dで8bit値として取得し、SPYDER08上のLEDを値に応じた明るさで点灯します。
HCS08用のソースは以下のようになります。
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
void main(void) {
int n1,n2,i;
EnableInterrupts; /* enable interrupts */
PTADD = 0b00000001; // PTAD bit 0 = out
PTAD &= 0b11111110;
// ADC start
// 7 COCO
// 6 AIEN
// 5 ADCO
// 43210 ADCH (select AD03 = 00011)
ADCSC1 = 0b00000011;
for(;;) {
if ( ADCSC1 & 0b10000000 ) {
n1 = ADCRH; // 0
n2 = ADCRL; // 0-255
ADCSC1 = 0b00000011; // ADC restart
PTAD |= 0b00000001;
for ( i=0; i<n2; i++ ) {
__RESET_WATCHDOG();
}
PTAD &= 0b11111110;
for ( i=0; i<255-n2; i++ ) {
__RESET_WATCHDOG();
}
}
__RESET_WATCHDOG(); /* feeds the dog */
} /* loop forever */
/* please make sure that you never leave main */
} 「ADCSC1」が、1つめのADCの制御レジスタで、変換方法や入力チャンネルの指定を行います。
連続変換が指定されていない場合は、このレジスタに書き込みがあるたびに、変換処理が開始されます。
また、今回は、ADP3のピンに接続しているので、入力チャンネルにAD03を選択しています。
AD変換には少し時間がかかります。「ADCSC1」の最上位ビットが、1になると変換は完了です。
「ADCRH」と「ADCRL」レジスタに値が入ってます。簡単ですね。
10bitの入力が可能ですが、デフォルトでは8bit入力となりますので、「ADCRL」に0〜255の値がはいります。
詳しくは、データシートの114ページを見てください。
あとは入力した値にしたがって、LEDを点灯しています。PTA0のON/OFFを制御しています。
入力値によって、LEDを点灯する時間を変更することで明るさを制御しています(PWM制御)。
配線は、写真をみてみてください。
→写真
USBSPYDER08上のピンから、ICクリップで直接ボリュームに繋いでいるだけです。
ICクリップの接続は次のとおりです。
赤…3番ピン(Vdd)
黒…4番ピン(Vss)
緑…8番ピン(ADP3)
簡単ですねえ。
ICクリップだけでいろいろ繋いで遊べます。
この後、CMOS温度センサー(S-8100B、秋月で100円で売ってました。データシート付き)をボリュームに繋ぎ変えてみました。
流石に、簡単に作り出せる温度変化ではLEDの明るさはほとんどかわらないので、デバッガで入力値をみると、手でつまんで暖めると約110、氷で冷やすと約140になりました。うんうん、それっぽいね。
これでだいたいこのマイコンの感じがつかめてきました。
何でも作れそうな気がしますよ〜
HotWired(Japan)復活

STATUS: 故障中x2
HotWiredがWIRED VISIONとして復活するそうです。
2006年4月より更新を停止しておりましたHotwired Japanは、このたび運営体制も新たにWIRED VISIONとして生まれ変わることとなりました。正式スタートは、5月24日からとなります。
WIRED VISIONのコンテンツは、アメリカで発行されているWIRED NEWSの翻訳記事と日本オリジナル編集記事から構成されます。
わーい。
ここはテクノロジー系ニュースが読み物として面白いです。リンクをたどって関連記事読んでるとあっという間に時間がすぎてしまいますね。
メールマガジンも早速申しこんだよー(ちょっと登録方法が古臭かったけど)。
現状も少しずつ記事が載っているようです。
先日、/.でGoogleの無い暮らしって記事が載っていましたが、Wiredでは逆に「Googleアプリケーションだけを使う生活」体験記って記事が載ってました。
あと、自転車で時速130キロに挑戦なんて記事もあった。もはや自転車と呼んでいいのかわからないけど、ひとつのジャンルとして確立してるっぽい。
今日のテレビチャンピオンは…
STATUS: 故障中x2
「外国人アキバ王選手権」デスヨ
たぶん僕より外国人ヲタクの人のほうがアキバ知ってるような気がする…