〇Lazurite MJ2001とGrove rotary angleセンサー・Groveスクリューターミナルを接続した写真
開発手順
1. Lazurite MJ2001とGrove rotary angleセンサーの接続以下の記事を参照してLazurite MJ2001とGrove rotary angleセンサーを接続します。
・Lazurite MJ2001とGrove Rotary Angleセンサーを接続して、ツマミの回転角度を取得する
2. 受信側Raspberry Pi ZeroとLazurite MJ2001の接続
以下の記事を参照して受信側のRaspberry Pi ZeroとLazurite MJ2001を接続して、受信プログラムを実行します。
・Raspberry Pi Zero/Raspberry Pi PicoとLazurite MJ2001を接続して、920MHz無線で通信する
4. Lazurite IDEでのプログラミングのコンパイル・書き込み
以下のプログラムのSG_PANID, SG_DAの値を変更してから、Lazurite IDEでコンパイルしてMJ2001に書き込みます。
実行後に、Raspberry Pi ZeroにGroverotary angleセンサーのデータが送信されて表示されることを確認します。
#include "sg_rotary_angle_sensor_ide.h" // Additional Header
// チャンネル
#define SG_CH 36
// PANID
#define SG_PANID 0x1111
// destination address
#define SG_DA 0xABCD
// 送信時に光らせる青色LED
#define BLUE_LED 26
// 送信用バッファ
char buf[128];
void setup() {
// シリアル初期化
Serial.begin(115200);
Serial.println("welcome");
// 14ピン=A0を入力モードに設定
pinMode(A0,INPUT);
// 青色LED off
pinMode(BLUE_LED,OUTPUT);
digitalWrite(BLUE_LED,HIGH);
// 無線初期化
SubGHz.init();
SubGHz.setBroadcastEnb(false);
}
void loop() {
int wl;
int val;
// バッファクリア
for(wl=0;wl<sizeof(buf);wl++)buf[wl]=0;
// Grove Rotraryセンサーの値を読み取る
val = analogRead(A0);
// Grove rotary angleセンサーの値をバッファに書き込み
Print.init(buf, sizeof(buf));
Print.p("ra:");
Print.l(val,DEC);
Print.p("\r\n");
// バッファの内容を送信
digitalWrite(BLUE_LED,LOW); // 青色LEDをON
SubGHz.begin(SG_CH, SG_PANID, SUBGHZ_100KBPS, SUBGHZ_PWR_20MW);
SubGHz.send(SG_PANID, SG_DA, buf, strlen(buf,sizeof(buf)),NULL);
SubGHz.close();
digitalWrite(BLUE_LED,HIGH); // 青色LEDをOFF
// コンソールに出力
Serial.print(buf);
sleep(2*1000);
}
関連情報
・Lazuriteに関する記事はこちらを参照してください。・Raspberry Pi Zeroと小型ターンテーブルをREST APIで制御する
0 件のコメント:
コメントを投稿