赤外線通信、
リモコン方式は双方向通信はけっこういじってみたけど
Arduinoではうまくいかない。
PSoCならたぶんなんてことないと思うのだけど。。。
PSoCは後々フツーのことする時に残念になるのでそっちには戻りたくない。
で、ここはArduinoでなんとかしたいちょっと意地になってきた。
赤外線LEDはフツーにポートについてるだけのはず?なので
ひとまずLチカ。 肉眼では全くわからないけど
スマホのカメラと押すとちゃんとわかる。
写真はいまいちだけど。
肉眼では全くわからない、
— しん (@shinichi_nin) 2023年8月26日
赤外線LEDのLチカ。
スマホで見ると光ってるのわかります。
赤外線リモコン式の通信での双方向通信
どうも気に入らないので
ソフトウエアシリアルを赤外線LEDに乗せて
38kHzの変調掛けて赤外線シリアル化したい。。。#M5StickC #Arduino #赤外線通信 pic.twitter.com/1Vinzg1xkr
ここからはちょっと他人にはなんのこっちゃです・・・
通信は1kbps
青:ポートG0でシリアル1で出力 ”1” と ”2” のところ
赤:つぶれて見えないけど38kHzの搬送波相当を割込みで作ったもの
データ 1 を出力してる時の最初の最初部分もっと拡大 1ms 1bit立ってる。
データ 1 が立つ瞬間付近さらに拡大
計測結果にあるように赤い搬送波は38kHz に作り込んだ。
dutyは20%
基本的には赤と青の信号のAND取った信号で赤外線LEDを叩けば
いいだけなんだけど・・・
躓き中。
Arduinoの動き? ESP32の動き? なんか原因不明の挙動する。
数百Hz程度までなら普通に青信号の出力を
pinModeのinput、outputの切り替えに赤い信号を使ってやれば
できるんだけど、、、なぜか不思議な動きになる。
何かがオーバーフローかウェイトが掛かる???みたいな感じで時々
数秒止まる。 何が起きてるんだろう。。。
そういえば
ESP32のデータシートをこれまでまじめに見たことない。
Arduinoのライブラリも中身はよく知らずに使ってる。
pinMode をそんな高速で切り替えるなんて想定されてないよなぁ
きっと・・・
明日、もーちょっと頑張ってみるかな。
ネットでは結構探したけどわからんかった。
M5StickC、外付けなしでポート操作でいけんか試す。。。
やっぱりそれができんともったいない。
あかんかったらしょうがないのでその赤と青のポートを外付けの
赤外線LEDを抵抗通して繋ぐ。。。かな。
それならマイコンの動作はもう関係ないので当たり前に
赤外線シリアルの格好にはなる。。。
これはちょっといけてないけど途中のメモ