コミュニケーション スマートホーム設計のためのArduino。 プロジェクト:「Arduinoでスマートホーム」

スマートホーム設計のためのArduino。 プロジェクト:「Arduinoでスマートホーム」

複雑なシステム管理 エンジニアリングコミュニケーションとして知られる住居 スマートハウス"ますます人気が高まっています。 これらのシステムの広範な導入は、十分な量の要件によって妨げられています。 部品のコストが高い要素と設置作業。 スマートホームオン Arduinoベースこれは、エレクトロニクスに関する少なくとも多少の知識がある人なら誰でも簡単に利用できるソリューションです。

Arduinoとは

Arduino は彼らが生産しているブランドです ハードウェアとソフトウェア自動化および遠隔制御システムの独立した構築に。

本質的に、これはモジュール式コンストラクターです。 幅広い可能性。 Arduinoのハードウェアは、 豊富な品揃えさまざまなセンサー、アクチュエーター、拡張カードが組み込まれたプリント基板。 システムの中核となるのは、 プログラマブルマイクロコントローラーを搭載したボード Arduino Pro Mini から Arduino Mega まで、複雑さのレベルはさまざまです。 拡張カードを使用すると、 たくさんの外部デバイス。

マイクロコントローラー、いくつかのディスクリート要素、クォーツ、 異なる種類垂直ピンを含むコネクタ。これを使用して拡張カードを追加して棚構造を組み立てます。 マイクロコントローラーとしてAtmegaファミリーのチップが使用されています。 コントローラーのタイプによって決まります 機能性入力と出力の数に応じてボードを選択します。

このように広く普及しているモジュールArduino 宇野マイクロコントローラー付きアトメガ328 には次の特徴があります。

  • デジタル入出力 – 14
  • このうち 6 つは PWM です
  • アナログ入力 – 6
  • メモリ – 32KB
  • 電源 – 7-12 V
  • 価格 – 950ルーブル

デジタル接点実行するようにプログラムすることができます 特定の機能。 入力でも出力でも構いません。 これらの入出力は、動作するのに 2 つのレベルのみを必要とするデバイスで動作できます。 これは論理 1 または電源電圧に近いレベルであり、論理 LOW レベルはゼロに対応します。 2 レベルのセンサーをデジタル入力に接続できます。 これらには、マグネットとリード スイッチのペアが含まれます。 このセンサーはドアや窓の開閉に反応します。 多くのセキュリティ センサーや火災警報センサーはこの原理に基づいて動作します。

デジタル出力は電磁リレーの動作を制御し、さまざまな家庭用電化製品が接続されている電源コンセントのオン/オフを制御できます。 Arduino のスマートなものは、既製の工業用キットよりもはるかに安価です。

アナログ入力は、アナログ - デジタル コンバーターを介して、温度センサー、光センサー、およびその他のデバイスのステータスに関する情報をコントローラーに送信します。 センサーの読み取り値をメモリに保存されたコマンドと比較することにより、システムの中央ユニットは電力の滑らかな変化を必要とするデバイスを制御できます。 パルス幅変調器に接続された 6 つの出力により、負荷電力をスムーズに制御できます。 たとえば、ランプの明るさを調整したり、ヒーターの温度を調整したり、電気モーターの速度を制御したりします。

ほとんど 強力で多機能なボードこのラインのArduino Megaです。 プリント基板に実装 コントローラ メガ 2560 、ディスクリート要素、電源接続用の USB コネクタ ポート。 このボードには、I/O 機能を実行するようにプログラムできる 54 個のユニバーサル ピンがあります。 そのうち 14 個はパルス幅変調を使用してアナログ デバイスを制御できます。 16 個のアナログ入力は、あらゆるアナログ デバイスを接続できるように設計されています。

コントローラーボード Arduino メガ約1,500ルーブルかかります。 プログラムする最も簡単な方法は、USB ポート経由でパーソナル コンピュータを使用することです。

Arduino用周辺モジュール

コントローラー ボードはシステムの中核ですが、デバイスを接続することはできません。 出力の負荷容量は小さく、電流は制限されています。 管理体制を整えるには 家庭用器具外部電源モジュール、通信デバイス、その他のデバイスが必要になります。 Arduino コントローラ用に設計された周辺モジュールが多数あるため、これは問題にはなりません。

ここではそのほんの一部を紹介します。

  • ガス分析計 – MQ-2
  • 光センサー – 2CH-Light-2
  • 外部温度センサー – DS18B20-PL
  • 室温・湿度センサー – DHT-11
  • モータードライバー – L298N、L9110
  • リレーモジュール – 1ch5V、4ch5V
  • リモコンモジュール IC2262/2272

室内のガス漏れを検知するセンサーは、家庭用ガスの成分であるプロパンとブタンに反応します。 このモジュールには感度調整とアナログ/デジタル出力があります。 光センサーは自動光制御システムの一部にすることができます。 個別に感度を調整できる 2 つの独立したチャンネルで構成されています。 屋外温度センサーは、-55 ~ +125 度の温度で動作するように設計されています。 室温と湿度センサーが設計されています。 温度範囲は 0 ~ +55 ℃、湿度は 20 ~ 90% です。

Arduino モジュールの供給電圧の範囲は 7 ~ 12 ボルトであるため、同じ動作レベルを持つ標準センサーをセキュリティまたは火災警報の編成に使用できます。

モータードライバー単相、二相、四相、ステッピングモーターを制御できます。 このような装置を使用すると、ブラインドやカーテンを開閉できます。 ドライバーに接続されたサーボ ドライブを使用すると、暖房用ラジエーター内の冷却剤の流れを調整できます。 スマートホームシステムに欠かせないリレーキー。 +5 ボルトの論理ユニット電位によって制御されるリレーにより、回路内の負荷をスイッチングできます。 交流電流最大 250 ボルトの電圧で最大 10 アンペア。

それらを使用してオンとオフを切り替えることができます コンセント、電動ポンプおよびその他のシステム。

リモコンモジュールはリモコンと受信装置で構成されます。 リモコンには 4 つのボタンが装備されており、最大 100 メートルの距離にある受信ユニットにコマンドを送信します。 すべての周辺モジュールは同じ供給電圧を持ち、Arduino マイクロコントローラーと互換性があります。

スマートホームシステムの構成

一定のスキルや知識がないと 回路図エレクトロニクスの基本を理解するには、「スマートホーム」システムを全面的に導入しないほうがよいでしょう。

プログラミング Arduinoシリーズのマイクロコントローラー C/C++言語で実行されます。

まず、LED のオン/オフを切り替えたり、超小型電気モーターの動作を制御したりする簡単なプログラムを作成できます。 このようなプログラムの例は数多くあります。 if、while、then などの単純な演算子を使用します。 小学生でもプログラムを書くことができます。 最初のプログラムが正しく実行されたら、スムーズな光制御のために PWM 出力を使用する、より複雑なデバイスの組み立てを試みることができます。

Arduinoを使用して自分の手で「スマートホーム」を作成するには、各部屋のセンサーとアクチュエーターの数を示す技術プロジェクトを作成する必要があります。 いくつかの簡単な機能を実装する 1 つの部屋から始めることができます。 それらの一部は外部センサーからの信号に基づいて実行され、一部はタイマー信号に基づいて実行されます。 朝、仕事のために起きると、Arduino コントローラーの電源が入ります。 電気湯沸かし器またはコーヒーメーカー。 外が暗いと外部センサーが感知し、室内のランプが徐々に点灯します。 就寝時と起床時に快適な室温に設定することもできます。

機能が少ない場合は、Arduino Uno マイクロコントローラーと周辺モジュールのセットが適しています。

運転用 家庭用器具コンセントのオンオフにはリレースイッチが必要です。 光を制御するには、モーション検出器が必要です。 もし スマートシステムキッチンに設置するものを提供する必要があります 自動スイッチオンフード、家庭用ガス漏れセンサー、水漏れセンサー。 火災警報器として、煙感知器を室内に設置する必要があります。

結論

Arduino コントローラーを使用すると、比較的少ない金額でスマート ホーム プロジェクトを完了できます。 3部屋のアパートを装備するためのすべての費用を計算すると、その金額は30〜40,000ルーブルを超えることはほとんどありません。 機能を絞ればさらに予算は抑えられます。

こんにちは、みんな! Artem Luzhetsky が再びあなたと一緒にいて、方向性の別の素材です。 プロジェクトをインターネットに接続するには、何十もの方法を使用できますが、ここでは、最初の記事で説明したモジュールである ESP 8266 に焦点を当てます。インターネットでは動作しません。 アドオンやモジュールのない通常のボードでは、情報を長距離に送信できません。

しかし、Arduino の UART インターフェイスを使用すると、情報を受信し、処理して、データを送り返すことができます。 これを使用すると、UNO は Bluetooth および Wi-fi モジュールと連携できるようになり、すでにシステムに追加機能が提供されています。

インターネット・アクセス

インターネットについてさらに詳しく話しましょう。 インターネットは魔法ではなく、単なる電波ではなく、無線通信を使用した何千もの異なるデバイス間の巨大なネットワークであることはご存知かと思います。

私たちが毎日目にするサイトは、サーバーから送信されてくる情報です。 テキスト、写真、アニメーションなどすべては、クライアント (私たち) がこの情報の転送を要求するまで、サーバーに保存されます。

IP、TCP、HTTP、GET が何であるかが不明な場合は、インターネット上のリクエストを調べることができます。

しかし、これらはすべて、ボードをサイトやアプリケーションに接続しないと機能しません。 解決策は 2 つあります。別のサイト (サーバー) に接続して、ボード自体またはユーザーから受け取った情報を処理してデバイスをリモート制御するか、独自のサーバーを作成して、そこに個人的に作成したサイトを配置します。 将来的にはこれらすべてを実現できるよう努めてまいります。

Arduinoからデータを転送する

まず、Arduino にデータを別のサイトに送信させ、Arduino センサーから受信したデータを表示します。 モノのインターネットの Web サイトはこれに最適です - dweet.io

部屋の温度変化のデータを送信してみましょう。

独自のキーを作成しなくても、コード内 (キーを挿入する必要がある箇所) に何でも書き込むことができ、サイトには送信されたデータの時間の経過に伴う変化のグラフが表示されます。 しかし、将来的にオンライン デバイスのネットワークを構築するには、このサイトをもっと真剣に受け止める必要があります。

メインページで見ることができます 可能なオプションこのサイトの作品

また、アカウントとキーネットワークを作成します さまざまなデバイスデータのセキュリティを心配する必要がなく、どのデバイスからでも家の中で何が起こっているかを確認できるようになります。

接続図

整理しましょう 電気図 esp 8266 に接続します。必要なのは Rx、Tx、Gnd、および Vcc ピンのみです。 このモジュールは 3.3 ボルトで駆動されます。

そして、Arduino、ESP、サーミスターが必要となる一般的な電気回路です。

プロジェクトコード

それでは、いよいよプロジェクトを始めましょう。 プロジェクトの大部分はコードで構成されます。 私たちのモジュールを使用するために、いくつかの新しい関数がライブラリに提供されています (ライブラリへのリンクは最初の記事にあります)。

  1. ESP8266 wifi(シリアル) - シリアル接続を介して esp8266 を接続します。
  2. wifi.joinAP(a,b); - Wi-Fi に接続します。a はアクセス ポイントの名前、b はこのアクセス ポイントのパスワードです。
  3. wifi.createTCP(a,b) - TCP 接続を開きます。「a」はサイト (www.dweet.io) の DNC、「b」はネットワーク ポート (ポート 80) です。
  4. wifi.send(a,b) - データを送信します。「a」は配列内のデータ (C スタイルの文字列)、「b」は送信された合計バイト数です。
  5. wifi.releaseTCP() - TCP 接続を閉じます。
#include "ESP8266.h" // esp8266 で動作する #include // UART ピンを追加するには #include // 対数を計算します #define SSID "Arduino" // Wi-Fi の名前 #define PASSWORD "12345678" // Wi-Fi のパスワード #define Thermistor_PIN A0 // サーミスターを接続するためのピン SoftwareSerial mySerial( 2、3); // UART ESP8266 wifi(mySerial) 経由の接続ピン; // UART ピン経由で動作することを esp8266 に伝えます。 String name = "MyEyse"; // サイトへのキー dweet.io void setup() ( Serial.begin(9600); // シリアル接続を開く if (wifi.joinAP(SSID, PASSWORD)) ( // ネットワークに接続した場合 Serial.begin(9600); // シリアル接続を開きます。 println( "https://dweet.io/follow/" + name); // ポート モニターにサイト アドレスを書き込みます) else ( Serial.println("Wi-Fi 接続エラー"); // 場合に備えてネットワークに接続しないとエラーが発生します ) ) void loop() ( float volt_temp = 1023.0 /analogRead(Thermistor_PIN) - 1.0; // 温度を計算します float temperatur = 1.0 / (-log(volt_temp) / 3977.0 + 1.0 / 295.0) - 273.0; if (wifi.createTCP("www.dweet.io", 80)) ( // TCP 接続を作成できた場合 String data = "GET /dweet/for/" + name + "?" ; // 文字列形式でデータ変数を作成します (GET リクエストを記入します) data += "temperatur_C=" + String(temperatur) + " HTTP/1.1\r\n"; \r\n\r\n"; / 行 wifi.send(data.c_str(), data.length()) の GET リクエストを閉じます; // データを配列 (C スタイルの文字列) で送信し、合計バイト数 wifi.releaseTCP(); // TCP 接続を閉じます ) else ( Serial.println("create TCP error"); // TCP 接続を作成していない場合はエラーが発生します ) late(1000); // 1 秒ほど待ちます (dweet.io は 1 秒間データを処理します。それより早くデータを送信しても意味がありません) )

最終結果

Wi-Fi からの正しいパスワードと名前を使用してコードを正しく書き留め、正常に動作している場合、リンクがポート モニターに送信され、ブラウザのアドレス バーに貼り付ける必要があります。 画像は次のようになります

これで、Arduino を電源に接続し、Arduino とコンピューターの接続ワイヤを取り外すことができます。 そして、街の反対側にある自分の家の気温を調べてください。 それはすべてあなたの想像力にのみ依存します。

次回は、インターネット モジュールのすべての機能をよりよく明らかにするのに役立つ別のプロジェクトを見ていきたいと思います。 将来的には、独自のサーバーやウェブサイトを作成したり、ソーシャル ネットワークへの接続についても話し合ったりする予定です。 家をスマートにする能力を高めます。 幸運を!

今では、「スマートホーム」などのシステムは、最も裕福な個人だけが利用できる驚くべき異国的なものから、誰でも参加できる一般的なものになりました。 選択肢はたくさんあります。多くの開発者がそのようなハードウェアおよびソフトウェア システムの作成を習得しています。 最も有名なものの 1 つは Arduino 会社で、その製品についてはこれから紹介します。

「スマートホーム」とは

この用語には、「ホームオートメーション」というよりわかりやすい類似語があります。 本質 同様の決定家庭、オフィス、または専門施設で発生するさまざまなプロセスを確実に自動実行することです。 最も単純な例- 居住者の一人が部屋に入った瞬間に照明が自動的にオンになります。

Arduino スマートホームシステムは、Arduino を使用してさまざまなデバイスの動作を制御するための機器セットです。 携帯電話 Android OSベース

スマート ホーム システムでは、次のコンポーネントを区別できます。

  1. 感覚的な部分。 これは一連のデバイスであり、その主要部分は、システムがさまざまな種類のイベントを記録できるようにするあらゆる種類のセンサーで表されます。 例には、温度センサーやモーションセンサーが含まれます。 タッチ部分の他のデバイスは、ユーザー コマンドをシステムに送信するために使用されます。 リモコンボタンと受信機付きリモコンです。

    最も一般的に使用されるスマート ホーム要素の 1 つはモーション センサーです。

  2. 執行部。 これらはシステムが制御できるデバイスであり、ユーザーが指定したシナリオに従って特定のイベントに反応します。 まず第一に、これらはリレーであり、スマート ホーム コントローラーはこれを介してあらゆる機器に電力を供給できます。 電気器具つまり、オンとオフを切り替えます。 たとえば、手のひらをたたくと (システムはマイクを使用してそれを「聞き」ます)、リレーをオンにしてファンに電力を供給するように設定できます。 注意: この例では、ファンは何でもかまいません。 ただし、特定のシステムの一部として動作するように特別に製造されたデバイスを使用することもできます。 たとえば、Arduino 社はそのシステム用の電気モーターを製造しており、これを使用して窓を閉めたり開けたりすることができます。また、Xiaomi 社 (同様のシステムを製造する中国のメーカー) は空気清浄機制御装置を製造しています。 このようなデバイスはシステムによって完全に制御されます。つまり、電源を入れるだけでなく、設定を変更することもできます。

    電気モーターは、システム コントローラーからの信号によって作動し、接続されている機構を動作させるアクチュエーターです。

  3. CPU。 コントローラーと呼ばれることもあります。 これはシステムの「頭脳」であり、すべてのコンポーネントの作業を調整および調整します。

    プロセッサー (またはコントローラー) ボードは、内蔵プログラムとセンサーから受信したデータに基づいてアクチュエーターを制御します。

  4. ソフトウェア。 これはプロセッサをガイドする一連の命令です。 Arduino などの一部のメーカーのシステムでは、ユーザーが独自にプログラムを作成できますが、他のメーカーでは、ユーザーが標準シナリオのみを利用できる既製のソリューションが使用されます。

最新のスマート ホーム システムは、いくつかのタイプに分類されます。

  1. 専用コントローラーを搭載。
  2. ユーザーのコンピューター (タブレット、スマートフォン) のプロセッサをこの機能で使用します。
  3. 開発会社が保有するリモートサーバー(クラウドサービス)を利用して情報を処理します。

システムは、特定のデバイスをアクティブにするだけでなく、電話にメッセージを送信するか、その他の方法で、発生したイベントについてユーザーに通知することもできます。 したがって、火災警報を含む警報機能を割り当てることができます。

シナリオは、例で説明したものよりもはるかに複雑になる場合があります。 たとえば、家の居住者の 1 人の存在が検出された場合 (赤外線、赤外線、 超音波センサー、モーションセンサーも同様)。

Arduinoを知る

Arduino は、コンポーネントの開発と生産に特化したイタリアの会社です。 ソフトウェア非専門家向けのシンプルなスマート ホーム システム向け。 この開発者が作成したシステムのアーキテクチャを完全にオープンにしたことは注目に値します。これにより、サードパーティのメーカーが新しい Arduino 互換デバイスを開発したり既存の Arduino 互換デバイスをコピーしたり、そのデバイス用のソフトウェアをリリースしたりできるようになりました。

Arduino Uno キットの内容 必要なコンポーネント付属の本に記載されているデバイスを実装する

このアプローチは、イタリアの会社のシステムの高い人気を確保しましたが、欠点もあります。いわば、怠け者ではない人全員がArduinoシステム用のコンポーネントの生産を引き受けるという事実により、いつでも高品質の製品を初めて購入できます。 さまざまなメーカーのコンポーネントの互換性の問題に対処しなければならないことがよくあります。

潜在的なユーザーは、2008 年以来、Arduino ブランドで製品を製造している会社が 2 社あることを知っておく必要があります。 この方向性を開始した最初のものには、公式 Web サイト www.arduino.cc があります。 2 つ目は新しく形成されたもの - www.arduino.org にあります。 分割前に開発されたものは両方のサイトで同じように表示されますが、新製品の範囲はすでに異なります。

Arduino スマート ホーム システム用のソフトウェアは、プログラムを作成してコンパイルできるソフトウェア シェル (IDE と呼ばれる) の形式をとります。 無料で配布されます。 プログラムは C++ で書かれています。

これらのサイトで紹介されている Arduino IDE プログラムのバージョンも大きく異なりますが、名前だけでなくバージョン番号も同じです。 このため、これらは非常に混同されやすいです。 違いは、各ソフトウェアが独自のライブラリとボードをサポートしていることです。

システムの「ハードウェア」は、マイクロコントローラーを搭載したボード (プロセッサーボード) と、その上に取り付けられた拡張カード (一般にシールドと呼ばれます) で構成されます。 シールドをプロセッサーボードに接続すると、スマートホームに新しいコンポーネントを追加できます。 組み立てられたシステム完全に自律型であることも、標準の有線または無線インターフェイスを介してコンピュータと連携して動作することもできます。


プロセッサーボードに特別な拡張機能 (シールド) を取り付けて、システムの機能を向上させることができます。

Arduinoシステムの利点

このハードウェアとソフトウェアの複合体は、次のような利点でユーザーを魅了します。

  • 機会 バッテリー寿命、独自のコントローラーが存在するため。
  • システムの動作をカスタマイズする十分な機会(ユーザー自身が、あらゆる複雑なシナリオを含めることができるプログラムを作成します)。
  • プログラムをコントローラーにロードするプロセスが簡単です。これにはプログラマーは必要ありません。USB ケーブルがあれば十分です (マイクロコントローラーにはブートローダー ファームウェアがあります)。
  • あるメーカーまたは別のメーカーによる独占権がないため、コンポーネントのコストが手頃です (アーキテクチャはオープンです)。

ブートローダーが誤動作し始めた場合、または購入したマイクロコントローラーにブートローダーがない場合、ユーザーは独立してブートローダーをフラッシュすることができます。 IDE ソフトウェア シェルは、この目的のために、最もアクセスしやすく人気のある多数のプログラマをサポートします。 さらに、ほぼすべての Arduino プロセッサ ボードには、回路内プログラミングを可能にするヘッダーが付いています。

Arduinoプログラム arduino.cc Web サイトで紹介されている IDE にはカスタム ハードウェアおよびソフトウェア プラットフォームを作成する機能がありますが、arduino.org のプログラムのバージョンにはそのような機能がありません。

Arduino はどのようなソリューションを提供しますか?

多くの企業が Arduino 互換のセンサーやデバイスの製造に携わっているため、これらの製品の範囲は非常に幅広いです。 最も頻繁に使用されるものは次のとおりです。

  1. 気候パラメータを監視するセンサー:
  2. 取り付けられているオブジェクトの空間位置を決定できるセンサー:
  3. さまざまなオブジェクトの存在を登録できるセンサー:
  4. 緊急センサー:
  5. 他のデバイスとしては、次のようなものがあります。
    • マイクロフォン;
    • 時計;
    • ドア開口センサー。
    • 受信機付きリモコン (無線周波数および赤外線)。
    • リモートボタン。

これらのデバイスの一部は、メーカーによっては StarterKit と呼ばれる、基本的な Arduino Start キットに含まれています。


Arduino スターター キットには、プロセッサ ボードといくつかの一般的に使用されるデバイスが含まれています。

実行部分には、次のような膨大なデバイスのセットが含まれています。

  • 電気モーター。
  • リレーや各種スイッチ。
  • 調光器(照明の強さをスムーズに変更できます)。
  • ドアクローザー。
  • バルブおよびサーボドライブ付き 3 方バルブ。

Arduinoリレーを介して照明を接続する予定がある場合は、ランプとして使用する方が正しいです。 LED電球。 このようなリレーを介して接続すると、白熱灯がすぐに燃えてしまいます。

ビデオ: Arduino の入門 - Web インターフェイス経由で LED を制御する

Arduinoでプロジェクトを作成する

次の機能を含むシステムの例を使用して、Arduino の「スマート ホーム」を作成およびセットアップするプロセスを示します。

  • 屋外および屋内の温度監視。
  • ウィンドウ状態の追跡 (開いている/閉じている)。
  • 気象状況(晴れ/雨)を監視する。
  • アラーム機能が作動している場合、モーションセンサーが作動すると音声信号が生成されます。

特別なアプリケーションと Web ブラウザーを使用してデータを表示できるようにシステムを構成します。つまり、ユーザーはインターネットにアクセスできる場所ならどこからでもデータを表示できます。

使用される略語:

  1. 「GND」 - 接地。
  2. 「VCC」 - 電源。
  3. 「PIR」 - モーションセンサー。

スマートホームシステム構築に必要なコンポーネント

Arduino スマート ホーム システムの場合は、次のものが必要です。

  • Arduinoマイクロプロセッサボード;
  • イーサネットモジュールENC28J60;
  • 2 つの温度センサー ブランド DS18B20。
  • マイクロフォン;
  • 雨と雪のセンサー。
  • モーションセンサー;
  • リードスイッチ。
  • リレー;
  • 抵抗値が4.7 kΩの抵抗器。
  • ツイストペアケーブル。
  • イーサネットケーブル。

すべてのコンポーネントの費用は約 90 ドルです。


必要な機能を備えたシステムを作成するには、約 90 ドルのデバイスのセットが必要になります

「スマートホーム」の組み立て: ステップバイステップの説明

これは、行動する必要がある順序です。

アクチュエーターとセンサーデバイスの接続

図に従ってすべてのコンポーネントを接続します。


システムの組み立ては主に、アクチュエータをプロセッサ ボードの対応する接点に接続することになります。

プログラムコード開発

ユーザーはプログラム全体を Arduino IDE シェルで記述します。Arduino IDE シェルには、テキスト エディタ、プロジェクト マネージャ、コンパイラ、プリプロセッサ、およびプログラム コードを Arduino ボードのマイクロプロセッサにアップロードするためのツールが装備されています。 IDE バージョンは、Mac OS X、Windows、および Linux オペレーティング システム用に開発されました。 プログラミング言語は C++ ですが、いくつか簡略化されています。 Arduino のユーザー プログラムは通常、スケッチまたはスケッチと呼ばれ、IDE プログラムは拡張子「.ino」を持つファイルに保存します。

C++ では必須の main() 関数は、IDE シェルによって自動的に作成され、その中にいくつかの標準アクションが指定されます。 ユーザーは、setup() (起動時に 1 回実行) 関数とloop() (無限ループで実行) 関数を作成する必要があります。 これらの機能は両方とも Arduino に必要です。

標準ライブラリのヘッダー ファイルをプログラムに挿入する必要はありません。これは IDE によって自動的に行われます。 これはユーザー ライブラリには適用されません。ユーザー ライブラリは指定する必要があります。

IDE のプロジェクト マネージャーへのライブラリの追加は、少し特殊な方法で行われます。 C++ で書かれたソースとして、IDE シェルの作業ディレクトリ内の特別なフォルダーに追加されます。 この後、これらのライブラリの名前が対応する IDE メニューに表示されます。 ユーザーが選択したものが編集リストに含まれます。

IDE は最小限の設定を提供し、コンパイラーをカスタマイズする機能はまったくありません。 したがって、初心者プログラマはエラーから保護されます。

以下は、ボードのピン 13 に接続されている LED を 2 秒ごとに点滅させる最も単純なプログラムの例です。

void setup () ( pinMode (13, OUTPUT); // Arduino ピン 13 を出力として割り当てます)

voidループ()(digitalWrite(13,HIGH); //ピン13をオンにする、関数を呼び出すためのパラメータdigitalWrite HIGH - 高論理レベルの符号

遅延(1000); // 1000 ミリ秒 - 1 秒の遅延ループ

デジタル書き込み(13, LOW); // ピン 13 をオフにし、パラメーター LOW を呼び出します - 論理レベルが低いことを示します

遅延(1000); // ループを 1 秒遅延します)

ただし、現時点では、ユーザーが必ずしも個人的にプログラムを作成する必要があるわけではありません。多くの既製のライブラリやスケッチがインターネット上に公開されています (http://arduino.ru/Reference)。 この例で検討しているシステムには既製のプログラムがあります。 ダウンロードして解凍し、IDE にインポートする必要があります。 プログラムのテキストには、その動作原理を説明するコメントが付いています。


すべての Arduino プログラムは同じ原理で動作します。ユーザーがプロセッサにリクエストを送信すると、プロセッサは必要なコードをコンピュータまたはスマートフォンの画面にロードします。

ユーザーがスマートフォンにインストールされているブラウザまたはアプリケーションの「更新」ボタンを押すと、Arduino マイクロコントローラーがこのクライアントにデータを送信します。 「/tempin」、「/tempout」、「/rain」、「/window」、「/alarm」として指定される各ページからプログラム コードが受信され、画面に表示されます。

スマートフォンにクライアントアプリをインストールする(Android OSの場合)

スマート ホーム システムからデータをオンラインで受信するには、既製のアプリケーションをダウンロードできます。

ガジェットの所有者が行う必要があることは次のとおりです。


このアプリケーションを使用すると、スマート ホーム システムから情報を受信するだけでなく、アラームのオン/オフなど、スマート ホーム システムを制御することもできます。 有効にすると、モーション センサーがトリガーされたときにアプリケーションに通知が送信されます。 アプリケーションは、Arduino システムをポーリングして、モーション センサーのアクティベーションを 1 分に 1 回実行します。

「設定」アイコンをアクティブ化すると、IP アドレスを編集できます。

スマート ホームで動作するようにブラウザを設定する

ブラウザのアドレス バーに「XXX.XXX.XXX.XXX/all」と入力します。「XXX.XXX.XXX.XXX」は IP アドレスです。 これ以降、システムからデータを受信して​​管理できるようになります。

Androidスマートフォンアプリにはそのような機能が実装されていませんが、今回紹介するプログラムコードではブラウザ上で照明のオンオフを行うことができます。

ルーターの使用


noip.com でのアカウントのセットアップ

この手順はオプションですが、アドレスにドメイン名を割り当てる場合は必須です。 これを行うには、Web サイト https://www.noip.com/ に登録し、「ホストの追加」セクションに移動して、システムの IP アドレスを入力する必要があります。


Web サイト noip.com に登録すると、IP アドレスだけでなく完全なドメイン名でもシステムにアクセスできるようになります。

プロジェクトの作成が完了すると、システムの機能を確認できます。

ビデオ: Arduino を使用したスマートホーム

一部のArduinoハードウェアの機能

Arduino互換コンポーネントは多くのサードパーティ企業によって製造されており、その製品の品質はArduino自体によって管理されていないため、ユーザーは完全に正しく動作しないコンポーネントを購入する可能性があります。

パーソナルコンピュータ開発の分野でも同様の状況が生じている。 かつて、IBM は自社のコンピュータのアーキテクチャをオープンにし、その結果、多くの企業が IBM 互換のコンピュータや個別のコンポーネントを製造し始めました。 その結果、この種の「個人用機器」は世界中に広く普及しましたが、部品の品質や互換性の程度が最良ではないことが多くありました。 上級。 Appleは逆の戦略をとった。 アーキテクチャにアクセスできる開発者の数を制限し、ソフトウェア開発の分野でも同じポリシーを実装しました。 その結果、Apple コンピュータは一般的ではなくなり、より高価になりましたが、その品質は Windows を実行する IBM 互換デバイスよりも桁違いに優れています。

ユーザーは、Arduino システムの一部のコンポーネントに関して次のことに気づきました。

  1. DHT11 温度センサーが付属 基本セット(StarterKit)、2 ~ 3 度の重大な誤差が生じます。 屋内での使用を推奨します 温度センサー DHT22、さらに与える 正確な測定値、および屋外設置用 - DHT21、で動作可能 マイナスの気温機械的損傷から保護されています。
  2. 一部の Arduino マイクロプロセッサ ボードでは、接続されているリレーが短絡すると、COM ポートに障害が発生します。 このため、スケッチをマイクロコントローラーにロードできません。アップロードが開始されるとすぐに、プロセッサーが再起動します。 同時に、リレーがカチッと音を立て、COM ポートがオフになり、スケッチの読み込みプロセスが停止します。
  3. 窓やドアが閉まるセンサーは、時々次のような驚きを与えます。 偽陽性。 これを考慮して、システムが生成するようにスケッチが作成されます。 必要なアクション複数の信号を連続して受信した場合のみ。
  4. クラップを使用してプロセス制御をセットアップするために、一部のユーザーは経験が浅いため、次のサウンド検出器を注文します。 手動設定しきい値。 このコンポーネントは、到達距離が短​​すぎるため、そのような目的には適していません。検出器から 10 cm 以内で拍手する必要があります。 さらに、このセンサーは持続時間の短いパルスで信号を送信するため、処理に比較的長い時間がかかる大規模なスケッチがある場合、マイクロコントローラーにはそれらを記録する時間がありません。
  5. デバイス用 火災警報火災感知器ではなく煙感知器を使用する必要があります。 後者は、それ自体から 30 cm 以内で炎を記録します。
  6. マイクロコントローラーの故障またはコードのエラーの場合には、手動スイッチを直列に接続した常閉リレーを使用することをお勧めします。

低品質のコンポーネントの購入を避けるために、経験豊富なユーザーは、まずインターネット上で公開されているコンポーネントに関するレビューを調べることをお勧めします。 安価なセンサーはいくつかの種類があり、どれが最も効果的かを自分でテストできます。

おそらくArduinoのスマートホームシステムは最高品質ではありませんが、 最も幅広い選択肢コンポーネントとその手頃な価格により、間違いなく最も人気のある製品の 1 つとなりました。 私たちのヒントを使用すると、Arduino プロジェクトを作成し、さまざまなホームプロセスを自動化する方法をすぐに学ぶことができます。

Arduinoの動作原理を簡単に説明すると、すべてが非常に簡単です。 たとえば、スマート ホーム プロジェクトを実装する場合、このデバイスは次のように動作します。 家中の特定の場所には、外部環境に反応して情報をマイクロプロセッサに送信するセンサーがあり、マイクロプロセッサが決定を下します。

マイクロプロセッサは、コンピュータ、タブレット、ラップトップ、またはスマートフォンに接続できます。 Arduino 用のプログラムはインターネット上で簡単にダウンロードできます。 メーカーは、あらゆる接続用にすべてのコンポーネントとコネクタを標準化しています。 スマートホームを実装する方法を詳しく見てみましょう。

「スマートホーム」の設計

テクノロジーは年々私たちの生活に深く浸透しています。 もはやエレクトロニクスなしでは想像できません 日常生活テクノロジーがそれをより面白く、よりシンプルにするからです。

少なくとも電気工学の基本的な知識を持っている人なら誰でも、家庭に役立つあらゆるデバイスを独自に作成できます。 あなたのアパートや家に、情報を読み取り、さまざまな機能を実行する特別なセンサーが搭載されている場合、それは「スマート ホーム」です。

実際には、ロボットが朝の朝食を準備し、洗濯し、家の掃除をするSF映画のように、すべてが美しく魔法のように美しいわけではありません。 実際のコンピュータはまだこのレベルの発展には程遠いです。

スマート ホーム センサーは次の機能のみを実行できます。

  • 自動運転 家庭用機器。 システム自体がケトル、テレビ、電子レンジなどの機器を接続したり取り外したりします。
  • 提供する 火災安全。 このシステムは、火災の発生や室内の煙の存在について所有者に信号を送信します。 より複雑なシステムでは、警報が作動するだけでなく、消防隊やその他の必要なサービスも自動的に呼び出されます。
  • 天候制御。 このシステムは屋外の気象条件の変化を監視し、信号を送信します。 これは、一日の計画を正しく立てるのに役立ちます。
  • コントロール 気候条件部屋の中に。 この装置は、暖房、換気、その他の環境制御装置と連動して動作します。 その動作原理は、 自動増加プログラム設定に応じて、温度や湿度などを下げることもできます。
  • 住宅敷地内への立ち入り規制。 このシステムはモーションセンサーと相互接続されており、ドアを自動的にロックしたり、部屋内の正確な人数を判断したりすることができます。
  • 照明機器を自動的に接続および切断することで、消費電力を制御します。 さらに詳しく 複雑なオプションシステムでは、コントロールパネルから照明がオフになり、家の所有者が不在の場合は自動的に完全に照明がオフになります。

そうした手配に携わる資格のある専門家 スマートホーム、それほどではありません。 彼らのサービスには多額の費用がかかります。 ただし、この作業は独立して実行できます。 システム全体はセンサーとコントローラーで構成されます。 たとえば、部屋の温度を制御するには、プログラムされたレベルを下回る温度の低下に反応するセンサーが取り付けられます。 この場合、マイクロプロセッサは自動的に加熱装置をオンにします。 同様のセンサーが家のいたるところにあり、さまざまな機能を実行します。

制御システムは非常に信頼性が高く、故障することはほとんどありません。 オープン ソフトウェア コードが含まれており、コンピュータに接続できます。 工場出荷時の設定では、マイクロプロセッサにはいくつかの標準プログラムが装備されています。 ただし、これらのプログラムのコードは簡単に変更でき、独自のプロジェクトに置き換えることもできます。

Arduinoシステムの操作

センサーは情報をコンピューターにワイヤレスで送信します。 このデータは特別なプログラムを使用して処理されます。 次に、特定のアクションを実行するコマンドが与えられます。 中央のボードは購入するか、自分で組み立てることができます。 ボード上のすべてのコネクタは標準化されているため、システムの組み立てが容易になります。

必要なコンポーネント

自己組み立てには、次のコンポーネントが必要です。

  • ドライバー。
  • ペンチ。
  • 抵抗器。
  • リレー。
  • センサー
  • 通信モジュール。
  • Arduino UNO。

偽造要素の使用は非常に危険であるため、認定店で同様のシステム用のキットを購入することをお勧めします。 システムのセットアップに必要なプログラムは、インターネットで簡単に見つけることができます。

センサーは、制御するパラメーターに対応するものを購入する必要があります。

Arduinoのインストールの特徴

スマートホーム システムでは、省エネランプのみ、できれば LED を使用することをお勧めします。 この装置はそのような負荷向けに設計されていないため、通常のランプの使用は許可されません。

プロジェクトを準備し、すべてのコンポーネントを購入したら、すべての要素をシステムに接続し始めることができます。 すべての接続は図に従って厳密に行われます。 すべての接点と接続は絶縁する必要があります。

  • プログラムコードのインストール。
  • 使用しているタブレットまたはコンピューターにプログラムをセットアップします。
  • 通信モジュールのポートを構成します。
  • 機能チェック。
  • プログラムコードの修正(必要な場合)。

使用するガジェットはインターネット上でダウンロードされます 特別番組、その後インストールされます。 プログラムの誤動作を避けるために、公式ソースからダウンロードすることをお勧めします。 プログラムのインストール後、コンピューターまたはタブレットが再起動されます。

プログラムは、次の場所にあるセンサーからの情報を表示する必要があります。 別の部屋。 必要に応じて、プログラムの設定を変更できます。

ルーターのセットアップ

通信モジュール(ルーター)のポートを開く必要があります。 これは次のように行われます。

  • ルーターのプロパティを開きます。
  • デバイスのIPアドレスを指定します。
  • ポート80を開きます。
  • 新しいアドレスにドメイン名を割り当てます。
  • システム全体の動作をテストします。

このようなプロジェクトでは、オープン タイプの IP アドレスを使用することはお勧めできません。そのようなシステムはインターネット経由でハッカーによってハッキングされ、システムの機能が中断される可能性があるからです。

このような「スマートホーム」システムは大幅な節約が可能です 電気エネルギー。 メインステージは、 正しい選択認定されたコンポーネント、それ以外の場合は保証がありません 質の高い仕事システム。 Arduino には既製のプログラム コードが多数用意されています。 これにより、このようなシステムを自分で簡単に組み立てることができます。

自動化システムとロボティクス Arduino のプロジェクト作成の歴史は 2005 年に遡ります。 その後、イタリアの研究所で、学生の Hernando Barragan がハードウェアとソフトウェアを備えたプラットフォームを作成しました。これが後にこのプロジェクトの基礎となりました。 現時点では、Arduino プラットフォームは信じられないほど成功しています。 今、彼らはその助けを借りて、 自動化システム、生産のさまざまな段階で使用されます。

このボードは、ロボット システムのさまざまなバリエーションや、多くの追加モジュール セットが使用されるスマート ホーム プロジェクトでも広く使用されています。 他の自動化システムに対するこのようなプロジェクトの主な利点は、その価格です。 Arduino を使用した自動化されたスマート ホーム システムは、価格が低いため、基本的なプログラミング スキルと知識を持つユーザーであれば誰でも組み立てることができます。 必要なセットコンポーネント。

さまざまな Arduino ボードとスマート ホームでのそれらの使用

次の Arduino ボード セットの現在のバージョンは次のとおりです。

  • マイクロ;
  • プロミニ;
  • ナノ。

近い将来登場する新アイテムも。

  • メガ2560;
  • ゼロ;

Arduino ボードの公式メーカーに加えて、プロセッサ大手の Intel も、Intel Galileo をリリースして Arduino に似たボードの作成に参加しました。 Intel はすでにこのプログラムに基づいて 3 つのボードを正式に発売しています。

  • インテルガリレオ。
  • インテル ガリレオ Gen 2;
  • インテル・エジソン。

ボードに加えて、Arduino に接続して機能を強化できるモジュールのセットが数十種類あります。

最も人気のあるボードはArduino Unoです。 比較的安価で初心者からプロまで幅広く人気のボードです。 このようなボードを使用すると、基本的な自動化されたスマート ホーム メカニズムを作成できます。 たとえば、 Arduinoを使って Uno と追加のモジュール セットは、次のようなスマート ホーム プロセスを自動化できます。

  • AndroidまたはiOS上のアプリケーションを介してエアコンを制御します。
  • 家の電源システムを遠隔制御します。
  • 家の温度に関する情報をリモートで調べます。
  • Android または iOS 上のアプリを介してテレビを制御します。
  • 受信機を制御します。
  • 家の照明を制御します。
  • スマート ホームに接続されているデバイスに関するすべての情報をインターネット経由で受信します。
  • ソーラーパネルを管理します。
  • 管理 温度条件家の中。

これは、誰でも自分の手で組み立てることができるスマート ホーム向けの Arduino プロジェクトの機能のほんの一部にすぎません。 最近では、既製のスマートホーム ソリューションを導入している企業を見つけることができます。 しかし、そのようなソリューションのコストは非常に高くなります。 したがって、このようなスマートホームプロジェクトは現在世界中で非常に人気があります。 さらに、スマート ホームの機能は、あなたの想像力とリソースによってのみ制限されます。 一連の追加モジュールを備えたスマート ホームのモデルを次の図に示します。

Arduino用IDEのインストール

公式 Web サイトには独自の IDE ソフトウェア シェルがあり、これは無料で、すべての人気のあるソフトウェアでサポートされています。 オペレーティングシステム。 IDE を使用すると、ユーザーは独自のプログラムを作成し、それをロードできます。 プリント回路基板アルドゥイーノ。 IDE は公式 Web サイトで https://www.Arduino.cc/en/Main/Software にアクセスしてダウンロードできます。 現在のArduino IDEのバージョンは1.6.6です。 Windows プラットフォームの IDE インストール プロセスを詳しく見てみましょう。 ダウンロード後、インストーラーを実行し、「同意する」ボタンをクリックしてください。

次のウィンドウでは、すべてのチェックボックスをオフにして「次へ」ボタンをクリックします。

IDE のインストール場所を選択し、「インストール」ボタンをクリックします。

インストールプロセスが開始されます。

IDE をインストールした後、デスクトップ上のショートカットから起動できます。 ワークスペースプログラム:

簡単なプログラムを書いてArduinoにアップロードしてみましょう

Arduino IDE は、初心者プログラマーにとって理解しやすい簡素化された C++ プログラミング言語を使用します。 たとえば、1.5 秒間隔で LED を点灯するプログラムを書いてみましょう。 これを行うには、IDE を起動し、以下のコードを貼り付けます。

「int ledPin = 13」の行でデジタル変数 ledPin を宣言し、「setup」関数でポート 13 を送信として設定します。 「ループ」サイクルでは、「digitalWrite」オペレーターを使用して LED をオンまたはオフにします。 そして、「遅延」演算子を使用して、1.5 秒の遅延を 2 回作成します。 その結果、無限の「ループ」がオフになり、LED が 1.5 秒間オンになります。

今回のプログラムでArduino UnoボードとLEDのセットを使用した接続図を下図に示します。

プログラムを Arduino Uno にダウンロードするには、USB ケーブルを使用してボードをコンピュータに接続する必要があります。 接続に成功すると「ON」LEDが点灯、「L」LEDが点滅します。

その後、「スケッチ」メニューでアップロードボタンをクリックします。

プログラムをコンパイルしてロードすると、デバイスの LED が点滅し始めます。

結論

Arduino をマスターし始めると、ニーズに最適な本物のスマート ホームを作ることができます。 私たちの記事が、このようなプロジェクトについてもっと詳しく知っていただくのに役立つことを願っています。 Arduino ボードとモジュール セットは以下から購入できます。 公式サプライヤー、公式ウェブサイトと多くのオンラインストアの両方で見つけることができます。

トピックに関するビデオ



サイトの新着情報

>

最も人気のある