赤外線リモコン2

赤外線リモコンから続く

とりあえず配線してみた。

https://raw.github.com/iruka-/ATMEL_AVR/master/web/jpg/AVR/Pana1.jpg

裏側

https://raw.github.com/iruka-/ATMEL_AVR/master/web/jpg/AVR/Pana2.jpg

  • ATtiny2313は、瞬間接着剤で基板に貼り付け。
  • 配線材は、80PINのIDE(P-ATA)ケーブルを割いて使用。(廃物利用)
  • 電池は単三x2使用。
  • 赤LEDは、Lチカデバッグ(赤外LEDは人間の目では確認できないので、プログラムで同時点灯させてチェック)

ファームウェア

動作の概要

  • とりあえず、こんなメイン
    main() {
           ・・・各種初期化.
	//電力節約.
	ACSR=0x80;	//	アナログ比較器の電力をOff
	keybd_init();
	timer_init(CPUCLK/8/20 - 1); // 1/20秒 (20Hz) 周期で割り込み.
	sei();
	while(1) {
		MCUCR = 0b00100000;	// standby!
		asm("sleep");
	}
	return 0;
}
  • つまり、20Hz割り込みだけを許可して、あとは冬眠している。
  • 20Hz割り込み内で導電性キーマトリクスをスキャンして、押されたらソフトウェアで38kHzのリモコンパルスを生成している。
  • リモコン信号解析はpic18spxのファームウェアとユーティリティで行った。
  • 面倒なので、電源、1〜12CH、ボリュームUP/DOWNのみ実装している。
  • シャープとパナソニックのみサポート。メーカーコード切り替えは押しにくいオフタイマーボタンの5秒長押し。