Web/モバイルアプリから家電を制御するスマートホームシステム
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | |
| ジャンパーワイヤー | 4本 | |
| リレーモジュール (汎用) | 1 |
使用するアプリとオンラインサービス
- gadgetProgrammers Web APIサービス (Webポータル経由でON/OFF制御)
- Processing 実行ファイル (Windows版のみ提供)
プロジェクト概要
プロジェクトの着想
Arduinoで家電をON/OFFするプロジェクトは数多くありますが、回路が複雑だったり、Web/モバイルからの制御方法まで解説しているものは少なく、あっても手順が長大です。そこで「誰でも簡単に、低コストで実現できる共通プラットフォーム」を作ることで、他の人の労力を大幅に削減しようと考えました。Arduinoプログラミングとリレー回路だけで、Web/モバイルから家電を制御できるようになります。DIYとして誰でも実装可能で、コストは5ドル未満 (5Vリレーと配線/プラグのみ) です。
仕組み
オープンで無料のWebプラットフォームを用意し、そこから電気機器や家電を簡単に管理・自動化できます。外出先からスマホやPCでWebページにアクセスし、消し忘れ家電を操作できます。
使用するのは、Processingからのシリアル入力を読み取り、リレーを制御するArduinoコード のみ。Processingがどう動作し、リレーとどう連携するか、ステップバイステップで解説します。
Arduino側の処理
Processingからのシリアルデータを読み取り、リレー制御用にシリアルポートへ書き出します。受信データが '1' ならリレーON、'0' ならOFF にします。
// 実際のコードの一部
if(Serial.available() > 0){
readSerial = Serial.read();
delay(100);
if(readSerial == '1'){
digitalWrite(RELAY1, HIGH); // リレーON
}
if(readSerial == '0'){
digitalWrite(RELAY1, LOW); // リレーOFF
}
}
リレーの仕組み (知っていればスキップ可)
家庭用AC100V (日本) / 220V (インド等) をArduinoで直接制御することはできません。リレーはこの役割を担うために設計されています。
- COM (Common): 共通端子。負荷側の電源をこの端子に接続
- NO (Normally Open): 常時開放。リレー駆動時にCOMと導通し負荷に電力供給
- NC (Normally Closed): 常時閉鎖。リレー非駆動時にCOMと導通。駆動で開放 (NOと逆動作)
本プロジェクトでは NO (常時開放) 接点を使用します。
Processing側の処理
Processingコードがプロジェクトの核心部分で、WebアプリケーションとArduinoの橋渡し (郵便配達員のような役割) を果たします。当社が用意したAPI (https://www.parikshacrack.com/gadgetProgrammers/homeAutomation/xxxxx ※デモ用) を定期的に呼び出し、スイッチの現在状態を取得。それをArduinoへシリアル送信し、Arduinoがボード上のリレーを駆動します。
Web/モバイル側
以下のURLにアクセスし、ボタンでデバイスをON/OFFします。Processingコードがこれを読み取ります。
https://www.parikshacrack.com/gadgetProgrammers/homeAutomation
配線 (回路図参照)
- Arduino D7 → リレー IN1
- Arduino 5V → リレー VCC
- AC電源片側 → リレー COM (中央端子)
- ランプ(電球)片側 → リレー NO
- ランプ残り片側とAC電源残り片側をAC電源に接続
プロジェクト実行手順
- ArduinoコードをコピペしてArduinoエディタに貼り付け
- Arduinoへ書き込み
- Processing zipをダウンロードし、OSに合った実行ファイルを展開
- 実行ファイルを起動 (Windowsの場合
.exe) - Webサイト
https://www.parikshacrack.com/gadgetProgrammers/homeAutomationにアクセスし、ボタンでON/OFF操作
最後に
うまくいけば、あなたの照明がWeb/モバイルから制御できるようになります!
お時間をいただきありがとうございました。質問・疑問があればコメント欄へどうぞ。
ソースコード
Arduino Code (Arduino)
#define RELAY1 7
char readSerial;
void setup() {
Serial.begin(9600);
pinMode(RELAY1, OUTPUT);
}
void loop(){
char readSerial;
if(Serial.available() > 0){
readSerial = Serial.read();
delay(100);
Serial.println(readSerial);
if(readSerial == '1'){
digitalWrite(RELAY1, HIGH);
}
if(readSerial == '0'){
digitalWrite(RELAY1, LOW);
}
}
}
カスタムパーツ・エンクロージャ
circuitdiagram_tRPxERkCY3.tiff
回路図
Arduinoとリレーのピン接続
pinconnections_bN2A04yM0t.tiff
製造プロセス
- 経口避妊薬:歴史、メリット、リスク、製造
- 妊娠検査薬:仕組み、設計、そして未来
- Raspberry Pi & Webダッシュボードで自宅温度・湿度監視 – リアルタイムリモート追跡
- Raspberry Piで構築するホームオートメーションシステム:リモート制御対応
- 自動プール給水・監視システム
- DIY自動列車制御システム – Arduinoで実現するシンプル・信頼性・カスタマイズ自在なレイアウト運転
- Arduino電源制御センター:N-FET/P-FET/リレー/RTC搭載キット
- ウェブハンドリングのテンション制御:必須コンポーネント徹底解説
- ルネサス、RX66T搭載故障検出e-AIソリューション発表 – モータ駆動家電向け
- IEC 60730 Class B規格で家電安全性を強化
- 耐久性に優れたカーボンファイバー家電で住まいをアップグレード