ATtiny85を使ってレジスタとか難しいことは考えないでHEX符号を直書き出来る赤外リモコンを作ってみた

2023年02月26日 01時25分21秒 | Weblog
arduino AVR マイコン ATtiny85 赤外 リモコン NECフォーマット HEX
--------------------------
/* ATtiny85を使ってレジスタとか難しいことは考えないでHEX符号を直書き出来る赤外リモコンを作ってみた
参考 IR Transmitter Circuit With ATtiny85
https://forum.arduino.cc/t/ir-transmitter-circuit-with-attiny85/986369/11     (8MHz HEX化)

DiCUNO2sw-HEX 2023.02.25
DiCUNO 照明リモコンスイッチ 引掛けシーリング用 ペンダント型照明器具専用 丸型 {amazon通販}

ATTiny85
PCINT5/A0/D5/RST |1---O---8| VCC
PCINT3/A3/D3 |2 7| D2/A1/INT0/PCINT2 -> SW D2 ON input_pin2 7pin
PCINT4/A2/D4 |3 6| D1/PWM/PCINT1 <- LED D1 IR LED 6pin
GND |4-------5| D0/PWM/A0/PCINT0 <- SW D0 OFF input_pin1 5pin
注 8MHz internal
このままでは電池のもちは非常に悪い 電池使用の場合は別途スリープ機能等を実装する必要有りかと・・・
スイッチを押すのタイミングなのか時々発光しない時がある
利用される際はあくまで参考サンプルとして自己責任にて
*/

#include <IRremote.h> // NEC HEX をそのまま直書き出来るようにする
const int input_pin2 = 2; // 7pin ON -SW
const int input_pin1 = 0; // 5pin OFF-SW
const int ir_out = 1; // 6pin RI-LED

void setup() {
pinMode(input_pin2, INPUT_PULLUP);
pinMode(input_pin1, INPUT_PULLUP);
pinMode(ir_out, OUTPUT);
IrSender.begin(ir_out);
}

void loop() {
int status ;

status = digitalRead(input_pin2); // ON スイッチの状態を読む
if (status == LOW) { // ON -SW
IrSender.sendNEC(0xA1FF00, 0x5E, 0); // ← UserCode 00FF DataCode 5EA1 ON 信号
} else {
digitalWrite(ir_out, LOW); // IR-LED OFF

status = digitalRead(input_pin1); // OFFスイッチの状態を読む
if (status == LOW) { // OFF-SW
IrSender.sendNEC(0xB5FF00, 0x4A, 0); // ← UserCode 00FF DataCode 4AB5 OFF信号
} else {
digitalWrite(ir_out, LOW); // IR-LED OFF
}
}
}

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« SkypeでもUSBビデオキャプチ... | トップ | windows 11 (22H2) HOME / Pr... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Weblog」カテゴリの最新記事