English
English
中文
まず、簡単な例としてArduinoでAD 変換したデータをシリアルでブレークアウト基板で送信して、もう一つのブレークアウト基板で受信しLCDに表示します。
もちろんこれだけでは実用的ではありませんが、使い方の例として見て下さい。
LoRa/FSK無線ブレークアウト基板
Arduino に接続例
Arduino UNOは5秒おきにLM35の出力電圧をAD変換しシリアルで出力します。
デリミタがCR+LFなので注意して下さい。
ブレークアウト基板はそのシリアルデータを送信します。
この場合、Arduinoの出力は5Vなので2N7000で3.3Vに変換しています。
非常に見辛いのですが、動画ではブレークアウト基板がデータを受けると赤LEDが点灯し、”OK”が出力されると緑LEDが点灯しています。
配線図
int sensorPin = A0;
void setup() {
Serial.begin(115200);
}
void loop() {
int sensorValue = analogRead(sensorPin);
float temp = (float)(sensorValue) * 5 * 100 / 1024;
Serial.print(temp);
Serial.print("\r\n");
delay(5000);
}
スケッチ
送信側
スケッチ
受信側
配線図
ブレークアウト基板が受信するとシリアルデータを出力し、2N7000で5Vに変換してArduinoはLCDに表示をしています。
非常に見辛いのですが、動画ではブレークアウト基板が受信すると緑LEDが点灯しています。LCDは一瞬消えて値を更新しています。
#include <LiquidCrystal.h>
const int rs = 4, en = 6, d4 = 10, d5 = 11, d6 = 12, d7 = 13;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2);
Serial.begin(115200);
}
void loop() {
if (Serial.available()) {
lcd.clear();
delay(100);
while (Serial.available()) {
uint8_t ch = Serial.read();
if (ch >= ' '){
lcd.write(ch);
}
}
}
}
間違いを修正しました。