電子工作」カテゴリーアーカイブ

M5Stackでカメラのタイマーリモコン(タイマーレリーズ)を作ってみた

この記事は M5Stack Advent Calendar 2020 の19日目の記事です。


以前、M5Stackをカメラの有線リモコン化する実験を行った。

今回、(ブレッドボードではなく)プロトモジュールを使った実装と、簡単なタイマーリモコンとして使うためのプログラムを組んだので紹介したい。

続きを読む

自作キーボードキット(Cassette42)を組み立ててみた

ダイヤルのついた小型キーボード(マクロパッド)があったらある種のアプリケーションの操作に便利そうだな〜〜と日頃から思っていた(日頃からそういうアプリケーションを使っているというわけではない)。

遊舎工房で物色すると、ロータリーエンコーダーの載ったマクロパッド(のキット)はいくつかあった。

その中から、Casette42というやつを選んで買ってみた。ロータリーエンコーダーが2個あるのでお得感がある。

続きを読む

M5Stackで赤外線リモコンの信号を表示させてみた

ちょっと赤外線リモコンの信号を読み取りたいな〜〜って思うこと、ありますよね。

というわけで、先日買ったM5Stack + IR unitで、簡易的なやつを作ってみました。パルスの幅を読み取れるわけでもなく、目で見て楽しむ以上の実用性はありません(ですが、「目で見て楽しい」のって大事ですよね!?)。

続きを読む

Raspberry PiでI2C接続キャラクターディスプレイを制御する/CPU温度の表示

この間買ったRaspberry Piは基本的にヘッドレス運用(キーボードもディスプレイもつながない)をしている。

ただ、CPUの温度などの、安定動作に関わる情報はリアルタイムで確認できると良い。なので、小型のLCDを取り付けてそこに表示させてみることにした。

続きを読む

M5Stackを一眼レフの有線リモコン(レリーズ)にする

カメラオタクに電子工作をさせるとカメラ用のリモコンを作り始める

— 詠み人知らず

前回は赤外線を使って一眼レフを制御した。今回は、有線リモコン(レリーズ)として使ってみたい。

続きを読む

Raspberry Pi で赤外線リモコン

Raspberry Pi の GPIO に赤外線 LED をつけてリモコンとして使おう。

使ったハードウエア

  • Raspberry Pi Model B
    • 手元にあるのは、初代の、プラスじゃないやつ。microじゃない標準サイズのSDカードが刺さる。
    • Arch Linux が入っている。Raspbian だと若干手順が変わると思われる。
  • 赤外線LED
  • 赤外線リモコン受信モジュール
    • 3.3V で使えるもの。
    • Raspberry Pi を送信側として使うつもりであっても、既存のリモコンの信号を分析するには受信モジュールが必要となる。
  • トランジスター、抵抗、配線、ブレッドボードとか

参考にしたページ

ネット上のブログ記事の情報は古い場合があるし、そもそも環境が違って(Raspbian vs Arch Linux)参考にならないかもしれない。ネットの情報は参考程度にして、ソフトウエアのマニュアル等を参照するのが大切である。

作ったもの(ハードウエア)

使う GPIO の番号は選択の余地があるが、適当に GPIO17=出力 (LED), GPIO27=受信 とした。

ソフトウエア的な手順

Linux で赤外線リモコンの信号を送受信するための LIRC というソフトウエアがあるらしいのでそれを使う。

1. LIRC をインストールする

Arch Linux のパッケージになっているのでラクチン。

# pacman -S lirc

2. LIRC をロードする

/boot/config.txt を編集して、 LIRC をロードする。

/boot/overlays/README を参照。例として lirc が書いてあった。

# nano /boot/config.txt
dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=27

を書き加える。

lirc をロードするのに modprobe を叩いたり /etc/modules を編集したりは、しない。

(この辺で再起動をかける?)

systemctl start で lircd を起動する。systemctl enable するとラズパイの起動時に自動で起動してくれるはず。

# systemctl start lircd

3. 受信テスト

mode2 コマンドで、受信したものを吐かせる。

# mode2 -d /dev/lirc0

適当にリモコンを向けて、

space (数字)
pulse (数字)

の羅列が出てきたら多分OK。

4. リモコンを登録

irrecord コマンドを使い、リモコンの信号をファイルに記録する。

# irrecord -n -d /dev/lirc0 lircd.conf

メッセージの指示に従う。

途中で、 Enter name of remote と聞かれたので、 homeceiling と入力した。出力ファイル名は homeceiling.lircd.conf となった。

Enter name of remote (only ascii, no spaces) :homeceiling
Using homeceiling.lircd.conf as output filename

個別のボタンを登録する段になって Something went wrong: Cannot decode data といわれ、最後に Try using the -f option. と出てきたので、 -f オプションをつけて再実行した。

# irrecord -n -f -d /dev/lirc0 lircd.conf

homeceiling.lircd.conf ができた。

# cp homeceiling.lircd.conf /etc/lirc/lircd.conf.d/

5. 信号を送る

irsend SEND_ONCE (リモコン名) (ボタン名) で信号を送れる。

# irsend SEND_ONCE homeceiling lighter

FlashAirで遊ぶ — SPIでIOボードを制御

前回はFlashAirに直接LEDをつないでLEDを制御したが、今度は秋月のFlashAir DIP IOボードキットを介してLEDを制御してみよう。

用意するもの

続きを読む