光センサーでArduinoからMacにシリアル通信!?
はじめに
前回は、MacからcURLでAPI Gatewayを叩き、AWS Lambda経由でDynamoDBにデータを保存できるところまでやってみました。
全体構成
Arduino → Android → AWS (API Gateway → Lambda → DynamoDB)
今回はその前段階として、ArduinoとMac間のシリアル通信にフォーカスします。
まずは簡単な構成で、センサー値をシリアル通信で送ってみる実験です。
この記事は「Arduino × AWSサーバーレスで作るIoT温度モニタリングシステム」シリーズの一部です。シリーズの全体リンクは記事の末尾にまとめてあります!
やったこと
- 光センサーを使って周囲の明るさを取得
- タクトスイッチを使ってON/OFFの切り替え制御
- スイッチONでLED点灯+シリアル通信で値を送信
- スイッチOFFでLED消灯+送信ストップ
実際の回路
以下のようなシンプルな構成で組んでみました👇
※ 上記は「光センサー」「タクトスイッチ」「LED」の役割がラベリングされた写真です
Arduino側のコード(抜粋)
スイッチが押された時にLEDを点灯し、明るさの値をシリアル通信で送る処理は以下のように実装しています👇
void loop() {
int light = analogRead(A0);
if (digitalRead(2) == HIGH) {
digitalWrite(13, HIGH);
Serial.println(light);
} else {
digitalWrite(13, LOW);
}
}
動作の様子(動画)
スイッチを押すとLEDが点灯し、シリアルモニタにデータが流れます。
離すとLEDが消えて、出力も止まります。
🎥 動画はこちら:
今後の予定
この動作確認をベースに、次回は以下を進めていく予定です:
- 光センサー → 温度センサー(DHT11 or DHT22)に置き換え
- シリアル通信 → Bluetooth(HC-06)通信に変更
- Androidアプリ側でBluetoothデータ受信に対応
おわりに
今回の構成はとてもシンプルですが、「ちゃんと動く」という実感が得られるとモチベが上がりますね!
次はいよいよ、センサーも通信方法も本番仕様に近づいていくので、さらに楽しくなりそうです😊
シリーズ記事一覧
- 【第1回】AWSでクラウド側の受け口を作ってみる
- 【第2回】光センサーでArduinoからMacにシリアル通信 (このページ)
- 【第3回】DHT22で温湿度を取得してシリアル送信
- 【第4回】Bluetooth通信でセンサーデータをAndroidに送信
- 【第5回】自作アプリでBluetooth接続&温湿度データ受信
- 【第6回】クラウド連携でDynamoDBへのPOST&完結編
※今後の更新もお楽しみに!
つづく…(第3回へ)📡🌡️📲