概要
ソフトウェアエンジニアを長くやっているとこう思う人もいるでしょう。
「ちょっとハードも触ってみたいな・・・」
私はそう思ったのでちょっと手を出してみることにしました。
具体的に言えばパソコンからGPIOのコントロールができれば、リレーモジュールを使い色々とできそうです。
使用したもの
秋月電子さんで買いました。
USB Type-Cでパソコンと繋ぎ、このPINに電気を流したり止めたりしてリレーなどを制御する感じですね。
余談ですが、はんだ付けをする必要があります。慣れてないのでドキドキしながらやりました。
環境を整える
adafruitのページにmacOSでの使い方が記載されていたので、こちらに沿って整えます。
M1 MacBook Pro(Sonoma 14.4.1)
Python 3.12.3
libusbのインストール
Homebrewでインストール可能です。
brew install libusb
pyftdiのインストール
pipでインストール可能です。pyserialやpyusbも一緒に入りました。
pip install pyftdi
adafruit-blinkaのインストール
こちらもpipでインストールします。
pip install adafruit-blinka
環境変数設定
この環境変数をセットすると、上記ライブラリがFT232Hを認識してくれるようですね。
export BLINKA_FT232H=1
これで環境は整いました。
実行してみる
BlinkaのGitHubページにサンプルがあったので参考にします。
※使用するPINだけ変更しました。
import time
import board
import digitalio
PIN = board.C0
print("hello blinky!")
led = digitalio.DigitalInOut(PIN)
led.direction = digitalio.Direction.OUTPUT
while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)
ハード部分はC0のPINから抵抗を挟んでLEDを通し、GNDに繋いでいます。
結果
参考にさせていただきました
https://qiita.com/kotai2003/items/0c96143b7d6e84629d99
https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h/mac-osx