〇Raspberry Pi ZeroとLazurite MJ2001を接続した写真
開発手順
1. 必要部品の準備・MJ2001(Lazurite Miniシリーズ、920J後継品)
https://www.switch-science.com/catalog/7162/
・Lazurite Mini writer Type B(Lazurite Miniシリーズ)
https://www.switch-science.com/catalog/2956/
※MJ2001にプログラムを書き込むのに必要です。
・ピッチ変換基板 2×5⇔1×10
https://akizukidenshi.com/catalog/g/gP-14224/
※ハーフピッチ(1.27mm)を2.54mmピッチに変換してくれる基板です。
・ピンソケット 1.27mm 2×5(10P)
https://akizukidenshi.com/catalog/g/gC-13806/
・分割ロングピンソケット 1×42 (42P)
https://akizukidenshi.com/catalog/g/gC-05779/
※10ピン分に切っておきます。
あと、Raspberry Pi Zeroも用意します。
2. 変換基板の作成
ピッチ変換基板・ピンソケット1.27mm 2×5(10P)と10ピンにカットした分割ロングピンソケットをハンダ付けします。コネクタはいずれとも文字が印刷されている面に取り付けます。
〇ピッチ変換基板・ピンソケット1.27mm 2×5(10P)と10ピンにカットした分割ロングピンソケット
〇ピッチ変換基板・ピンソケット1.27mm 2×5(10P)と10ピンにカットした分割ロングピンソケットをハンダ付けした写真(とMJ2001)
3. Lazurite MJ2001にtest920jプログラムを書き込み
Lazurite IDEを以下からダウンロードしてWindowsマシンにインストールします。example/10.920j/test920jのプログラムを開いて、MJ2001に書き込みます。
https://www.lapis-tech.com/lazurite-jp/download
WindowsマシンとLazurite MJ2001の接続は以下のページにある「インターフェイス仕様」のPDFを参照します。
Lazurite mini writer (Type B)ラズライト
https://www.lapis-tech.com/lazurite-jp/products/lazurite-mini-writer-type-b
4. Raspberry Pi Zero側:raspi-configでSerial Portの有効化
Serialポートを有効化するために以下を実行します。
1) 以下のコマンドを実行します。
sudo raspi-config
2) Interface Optionsを選択します
3) P6 Serial Portを選択します
4) Would you like a login shell to be accessible over serial?にNoと答えます
5) Would you like the serial port hardware to be enabled?にYesと答えます
6) Okを選択します
7) Finishを選択します
8 ) Would you like to reboot now?でYesを選択して、リブートします
5. Raspberry Pi ZeroとMJ2001の接続
・以下の様にRaspberry Pi Zeroと変換コネクタを接続します。
Raspberry Pi Zero 3.3Vピン(SDカードスロットを上方向にした時、左列のピンの一番上) -> 変換ピンの10番ピン
Raspberry Pi Zero GNDピン(SDカードスロットを上方向にした時、右列のピンの上から3番目) -> 変換ピンの8番ピン
Raspberry Pi Zero GPIO15/Txピン(SDカードスロットを上方向にした時、右列のピンの上から4番目) -> 変換ピンの1番ピン
Raspberry Pi Zero GPIO16/Rxピン(SDカードスロットを上方向にした時、右列のピンの上から5番目) -> 変換ピンの2番ピン
変換コネクタとMJ2001は2x5ピンを合わせて接続します。ピンの位置などがずれないように合わせます。
6. Raspberry Pi Zero側:pipenvのインストール
sudo apt-get -y install python3-pip python3-distutils python3-dev python3-testresources
sudo pip3 install --upgrade setuptools
sudo pip3 install pipenv
echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc
source ~/.bashrc
7. Raspberry Pi Zero側:pyserialのインストール
以下のコマンドで、pyserialをインストールした仮想環境を作成します。
mkdir -p ./pyserial
cd ./pyserial
pipenv --python 3
pipenv install pyserial
pipenv shell
8. Raspberry Pi Zero側:Raspberry Piでプログラムの実行
以下のプログラムをmj2001blink.pyとして、保存し実行します。
※プログラムでシリアル通信で送信しているコマンドは以下のページを参照してください。
Lazurite920J 初期プログラム、インタフェース仕様
https://www.lapis-tech.com/lazurite-jp/contents/Serial920J/Serial920J.html
import serial
import time
try:
ser = serial.Serial(port='/dev/serial0',baudrate=115200,timeout=None)
ser.write("pm,26,o\n".encode("utf-8"))
ser.flush()
line = ser.readline()
print("result:{}".format(line.decode('utf-8').strip()))
time.sleep(2)
print("setup")
while True:
ser.write("dw,26,0\n".encode("utf-8"))
ser.flush()
line = ser.readline()
print("result:{}".format(line.decode('utf-8').strip()))
print("on")
time.sleep(2)
ser.write("dw,26,1\n".encode("utf-8"))
ser.flush()
line = ser.readline()
print("result:{}".format(line.decode('utf-8').strip()))
print("off")
time.sleep(2)
finally:
ser.close()
・実行コマンド
以下のコマンドを実行して、MJ2001の青色LEDが2秒おきに点滅する事を確認します。
python3 mj2001blink.py
関連項目
・Raspberry Pi Zero/Raspberry Pi PicoとLazurite MJ2001を接続して、920MHz無線で通信する・Raspberry Pi Zeroと小型ターンテーブルをREST APIで制御する
0 件のコメント:
コメントを投稿