« 非圧縮zip | トップページ | プリフェッチキュー »

2016年1月 6日 (水)

曲の選択

非圧縮zipの曲が演奏できるようになった。EEPROMに複数の曲が入っているので、曲を選択できる仕組みが必要になる。
新しいArduinoでは、A6-7が使えるらしい。
A6-A7は入力専用だが、アナログ入力できるのだからこれを利用しよう。
アナログピンが1本あれば、抵抗で分圧して複数のスイッチ入力として使える。
私の部品箱には抵抗があまり入っていない。数少ない抵抗を使ってテキトーに配線したのがこれ。

A7switch4

分圧の計算など不要だ。入力値を表示して、表示された値で入力判定すればいい。
倍々となるように配置するといいよ。
スイッチのところはすべてGNDに落とす。
コードは以下のように書いた。

//	----------------------------------------
//	switch test
//	----------------------------------------
uint8_t swGetA7() {
	char buf[10];
	int temp;

	temp = analogRead(A7);
	if( temp< 10 ) return 1;
	if( temp< 60 ) return 2;
	if( temp<150 ) return 3;
	if( temp<600 ) return 4;
	return 0;
}

たった1本のピンで、4個のswを処理できるので助かる。
こんな感じで配線すれば、比較的キレイに、そして高密度で配線できる。

選択swでカウンタを増減し、決定swで演奏開始とした。
表示は4ピンも使ってLEDアレイを接続した。LEDアレイを2進数と考えて16曲が選択できる。
これはカキフライ要求装置の頃から定番の処理である。

「カキフライが食べたいです」
「本当ですね」
「いつ作ってくれますか」
「明日なら作ってくれますか」
「ありがとうございます」

などと選択し、決定ボタンでしゃべるわけだ。

« 非圧縮zip | トップページ | プリフェッチキュー »

お仕事」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/24707/63394445

この記事へのトラックバック一覧です: 曲の選択:

« 非圧縮zip | トップページ | プリフェッチキュー »

最近のトラックバック