工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino Indoor Garden

コンポーネントと消耗品

>
Arduino Nano R3
× 1
mbientLabBluetoothからUSBドングル
× 1
JLCPCBカスタマイズPCB
× 1

このプロジェクトについて

現代のガーデニングとは、電子、ビット、バイトを使って、物事をより複雑で困難なものにすることを意味します。マイクロコントローラーとガーデニングを組み合わせるのは本当に人気のあるアイデアです。それは、庭には頭を包み込みやすい非常に単純な入力と出力があるためだと思います。人々(私自身も含む)は、悪名高いシンプルでリラックスした趣味を見て、それを過度に複雑にしなければならないと感じざるを得ないと思います。

このプロジェクトでは、Arduino開発ボードを使用してよりシンプルなバージョンの屋内庭園を構築する方法を紹介します。 。

私はあなた自身の美しい庭を作る方法をあなたに示すために完全なステップバイステップのガイダンスを提供します、そして私はあなたがあなたを試すように導く最も簡単な方法をこのガイダンスに変えるためにハードウェアとソフトウェアの両方の部分を詳細に説明します電子製作における自身のスキル。このプロジェクトは、JLCPCBに注文したカスタマイズされたPCBを入手した後、車の外観を改善するために特別に作成するのに非常に便利です。また、このガイドには、自動ガーデンシステムを作成するのに十分なドキュメントとコードがあります。

>

このプロジェクトはわずか7日で作成され、ハードウェアの作成と組み立てが完了するまでに3日、コードとAndroidアプリの準備に4日かかりました。それを通して庭を制御するために。始める前にまず見てみましょう

このチュートリアルから学ぶこと:

  • プロジェクトの機能に応じて適切なコンポーネントを選択する
  • 選択したすべてのコンポーネントを接続する回路を作成する
  • すべてのプロジェクトパーツを組み立てて、テストを開始します
  • Androidアプリの使用。 Bluetooth経由で接続し、システムの操作を開始するには

ステップ1:屋内庭園とは!

ほとんどの植物には単純なニーズがあります。ゲストが行くように、彼らは比較的要求が厳しくありません。植物を家に招待する前に理解する必要がある基本的なことは、光、水、空気の3つだけです。これらの4つの要素を植物の観点から習得できれば、世界中のほぼどこでも、1年のどの季節でも屋内庭園を作ることができます。

  • 軽い -ほとんどの園芸植物は、1日に少なくとも6時間の光を必要とします。しかし、それは良い光でなければなりません。窓の前に手を置いて影を落とさない場合、ほとんどの植物が幸せな生活を送るには光が十分でない可能性があります。ただし、いつでもグローライトで低照度条件を補うことができます。家に適度な自然光があり、特別な照明に煩わされたくない場合は、通常は低照度条件を必要とする植物に固執するか、庭をに移動してみてください日当たりの良い窓辺。
  • -植物は、本来の生息地に近い条件を必要とします。砂漠を故郷と呼ぶ植物は、沼地に生息する植物よりも水やりの頻度が少なくて済みます。植物が好む水の状態を知ることは、屋内庭園を成功させるための良い第一歩です。植物自体が手がかりを与えることが多いので、思ったより簡単です。厚いゴム状の葉を持つ植物は水を蓄え、通常、薄くて繊細な葉を持つ植物よりも少ない水で生き残ることができます。植物に水をやるのが嫌なら、繁殖力の低い品種を選ぶか、貯水池が隠れている植木鉢を選んで、水やりの雑用を減らしましょう。
  • 空気 -光合成の副産物として、植物は酸素を生成し、ホルムアルデヒドなどの厄介なガスを家庭環境から葉を介してろ過します。植物を健康に保つには、葉を清潔に保ち、周囲の空気を動かして湿らせておく必要があります。これを行うには、空気の流れが良い場所に配置するか、小さなファンを提供します。

Arduinoベースのシステムを作成して、プラントの温度と湿度の状態を監視し、光の強度、水、純粋な新鮮な空気などの必要なニーズを自動的に提供します。これを行うには、いくつかのアクチュエータを制御するためのセンサーが必要です。たとえば、水やりの場合と同じように、光の明るさセンサーから受信した信号に応じて光の強度を制御します。モイスターセンサーを使用してウォーターポンプのオンとオフを切り替え、温度/湿度センサーを使用して12VDCファンのオンとオフを制御しました。 。

ステップ2:センサーとアクチュエーター

このシステムの作成は、プラント周辺の物理データにアクセスし、プラントから要求されたものと、いつ供給すべきかを見つけるために、いくつかのセンサーとアクチュエーターを組み立てることです。

これが、すべて1つのArduinoボードに接続されたいくつかのセンサーとアクチュエーターを使用する必要がある理由です:

センサー

  • 光センサーBH1750:BH1750FVIは、I2Cバスインターフェース用のデジタル環境光センサーICであるデジタル光センサーです。このICは、携帯電話のLCDおよびキーパッドのバックライト電力を調整するための周囲光データを取得するのに最適です。高解像度で広範囲を検出することが可能です。(1〜65535 lx)。
  • 土壌水分センサー:2つの接点間の土壌マトリックス全体の抵抗または導電率を測定する水分センサーは本質的にジャンクです。まず第一に、抵抗は水分含有量のあまり良い指標ではありません。なぜなら、それは土壌のpH、水中の溶解固形物、温度など、庭ごとに異なる可能性のある多くの要因に大きく依存するからです。第二に、それらのほとんどは、簡単に腐食する接点を備えた質の悪いものです。ほとんどの場合、シーズン全体を通して1つを持続させることができれば幸運です。
  • 温度および湿度センサー:DHT11は、基本的な超低コストのデジタル温度および湿度センサーです。静電容量式湿度センサーとサーミスタを使用して周囲の空気を測定し、データピンにデジタル信号を吐き出します(アナログ入力ピンは必要ありません)。使い方はかなり簡単ですが、データを取得するには注意深いタイミングが必要です。このセンサーの唯一の本当の欠点は、2秒に1回しか新しいデータを取得できないことです。そのため、ライブラリを使用する場合、センサーの読み取り値は最大2秒前になる可能性があります。

アクチュエータ

  • ライトホワイトLED:発光ダイオード(LED)は、2ピンの半導体光源です。これは、活性化されると発光するp-n接合ダイオードです。[5]リード線に適切な電圧が印加されると、電子はデバイス内の電子正孔と再結合し、光子の形でエネルギーを放出することができます。
  • ウォーターポンプ:ポンプは、機械的作用によって流体(液体または気体)、または場合によってはスラリーを移動させる装置です。ポンプは、流体の移動方法に応じて、直接揚水ポンプ、押しのけポンプ、重力ポンプの3つの主要なグループに分類できます。ポンプは何らかのメカニズム(通常は往復または回転)で動作し、エネルギーを消費して、体液。ポンプは、手動操作、電気、エンジン、風力など、さまざまなエネルギー源を介して動作し、医療用途で使用するための微視的なものから大型の産業用ポンプまで、さまざまなサイズがあります。
  • DC 12V冷却ファン:植物を健康な状態に保つ必要がある場合は、植物の周りに新鮮な空気を移動させることで、植物の寿命を延ばすために使用できる冷却技術を理解することが重要です。

ステップ3:PCB作成(JLCPCBによって作成)

JLCPCBについて

JLCPCB(Shenzhen JIALICHUANG Electronic Technology Development Co.、Ltd。)は、中国最大のPCBプロトタイプ企業であり、迅速なPCBプロトタイプと小ロットPCB生産を専門とするハイテクメーカーです。

PCB製造で10年以上の経験を持つJLCPCBは、国内外で20万人以上の顧客を抱えており、1日あたり8,000件を超えるPCBプロトタイピングと少量のPCB生産をオンラインで注文しています。年間生産能力は20万平方メートルです。さまざまな1層、2層、または多層PCB用。 JLCは、大規模で設備の整った、厳格な管理と優れた品質を特徴とするプロのPCBメーカーです。

プロジェクトに戻る

PCBを製造するために、私は多くのPCB生産者からの価格を比較し、この回路を注文するためにJLCPCBを最高のPCBサプライヤーと最も安価なPCBプロバイダーに選びました。私がする必要があるのは、ガーバーファイルをアップロードし、PCBの厚さの色や量などのパラメータを設定するための簡単なクリックだけです。その後、3日後にPCBを取得するためにわずか2ドルを支払いましたが、そこに気づきました。このオンライン注文プラットフォームでは、随時送料無料のオファーがあります。

ここからCircuit(PDF)ファイルを入手できます。

上の写真でわかるように、PCBは非常によく製造されており、設計したものと同じPCBリーフの形状があり、はんだ付けの手順でガイドとなるすべてのラベルとロゴがあります。

ステップ4:材料

それでは、このプロジェクトに必要なコンポーネントを確認しましょう。オンライン注文に関連するすべてのリンクを見つけることができるので、次のものが必要になります。

  • -JLCPCBに注文したPCB
  • -Arduino Nano:http://amzn.to/2C7g0YW
  • -ESP01モジュール:http://amzn.to/2CCRVdL
  • -HC-05またはHC-06Bluetoothモジュール:http://amzn.to/2CCRVdL
  • -光センサーBH1750:http://amzn.to/2CCRVdL
  • -温度および湿度センサー:http://amzn.to/2CCRVdL
  • -水分センサー:http://amzn.to/2CCRVdL
  • -ウォーターポンプ:http://amzn.to/2CCRVdL
  • -12V DCファン:http://amzn.to/2CCRVdL
  • -白色LED:http://amzn.to/2CCRVdL
  • -一部のヘッダーコネクタ:http://amzn.to/2CCRVdL-

ステップ5:組み立て

9つのアイテムすべてを表示

これで準備が整いましたので、コンポーネントのはんだ付けを始めましょう。はんだ付けの間違いを避けるために、ラベルに従うことを忘れないでください。まず、Arduinoコネクタをはんだ付けして電源をテストします。また、基本的なテストコードを記述して、光センサーなどの各センサーの正しい接続を確認します。LEDはすべてボードに直接接続されているため、同じです(Arduino )だから、あなたはそれらに完全にアクセスできます。

:はんだごてをきれいに保つ必要があります。それはあなたがそれを使うたびにそれをスポンジで拭くことを意味します。はんだごての先端は清潔で光沢があるはずです。先端がフラックスや酸化で汚れているのを見るときはいつでも、それはそれの光沢を失うことを意味します、あなたはそれをきれいにするべきです。はんだ付け中であっても。はんだ付けチップがきれいなため、はんだ付けターゲットに熱を伝達しやすくなります。

JLCPCBに注文したPCBは、すべてを正しい位置に保つためのガイドとなるため、作成したPCBを表示してオンライン注文を行う場合は、このリンクにアクセスしてください。

ご覧のとおり、このPCBを使用すると、その品質が非常に便利であり、そこにあるすべてのラベルが最良のガイダンスを提供するため、はんだ付けの間違いを犯さないことが100%確実になります。

各コンポーネントをその配置にはんだ付けしました。PCBの両面を使用して電子部品をはんだ付けできます。

これでPCBの準備が整い、すべてのコンポーネントが非常によくはんだ付けされました。その後、電子部品とプラントを1つのサポートに挿入するために、CNCレーザー切断を行うためにこの設計を準備しました。したがって、同じ設計を作成する場合は、ここで(DXF)ファイルを見つけてください

ステップ6:Androidアプリ。

このアプリを使用すると、Bluetooth経由でArduinoに接続できます。手動モードを使用すると、データを読み取ることができるセンサーを忘れることなく、ファン、ライト、およびオンとオフを制御するためのウォーターポンプにアクセスできます。 「データを取得」ボタンを押すと、適切なすべてのデータがスマートフォンの画面に表示されます。

このリンクからこのAndroidアプリを無料で入手できます

ステップ7:Arduinoコードとテストの検証

コードは入手可能であり、いつものようにこのリンクからダウンロードできます。写真でわかるように、コードは非常にシンプルで非常によくコメントされているため、自分が所有していることを理解できます。

ご覧のとおり、各ボタンにはシステムの機能がありますが、私が本当に感謝しているのは、光の明るさを制御する自動モードです。家の下部に光センサーを配置し、このモードを選択すると、システムが明るさを制御します。センサー信号に応じてフロントライトLEDの。また、スマートフォンの画面で温度と湿度の値を直接読み取ることができ、とても印象的です。

コード

  • Arduinoソースコード
Arduinoソースコード Arduino
 / ********************************************** ************************************************** ************************************************** ********************** *-作成者:BELKHIR Mohamed * *-職業:(開発者)MEGADAS所有者**-主な目的:産業用アプリケーション* *-著作権(c)所有者:無断転載禁止* *-ライセンス:BSD2-条項ライセンス**-日付:2017年11月20日* * ******************* ************************************************** ************************************************** ************************************************ / / *********************************** ノート ************** ************************ ///以下の条件を条件として、//変更の有無にかかわらず、ソースおよびバイナリ形式での再配布および使用が許可されます。満たされている:// *ソースコードの再配布では、上記の著作権表示、この//条件のリスト、および次の免責事項を保持する必要があります。//*バイナリ形式での再配布ではaboを複製する必要があります。 ve著作権表示、//この条件のリストおよびドキュメント内の次の免責事項//および/またはディストリビューションで提供されるその他の資料。//このソフトウェアは、著作権所有者および寄稿者によって「現状有姿」で提供されます。または、商品性および特定の目的への適合性の黙示の保証を含むがこれに限定されない黙示の保証は否認されます/ * ________________________________________________________________________________________________( `v)________________________________________________________________________________________________(`())__( `v)________________________________________________________________________________________________ _)__( `())___________________________________________________________________________________________________(` v)(_。^ ._)__________________________________________________________________________________________________( `())(` v)_______________________________________________________________ ____________________________________(_。^ ._)( `())______________________________________________________________________________________________(` v)_____(_。^ ._)( `v)_____________________________________________________________________________________________(`())_( `v)___(`()___ 。 。^ ._)_____(_。^ ._)________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________.__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ______________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________( `V)__________________________________________________________________________________________(`())__________________________________________________________________________________________(_ ^ ._)___________________________________________________________________________________________( `V)____________________________________________________________________________________________(`())______________________________________________________________________________________________(_ ^ ._)__________________________________________________________________________ ______________________( `v)__________________________________________________________________________________________________(`())__________________________________________________________________________________________________(_。^ ._)__________________________________________________________________________________________________________________________________________________________________________________________________ * /#include "DHT.h" // DHTセンサーとのインターフェースにdhtライブラリを含める#include  //光センサーを使用するためのICライブラリ#include  //光センサーを使用できるようにするためにBH1750ライブラリをインポートします// ------------------- -----------------------------制御ピンを定義します----------------- --------------------------------------- const int Pump =4; //このピンを使用して、モーターポンプを制御しましたconst int Fan =5; //このピンをPWM出力として使用して、ファン速度を制御しますconst int Light =6; //このピンを使用して、LEDの明るさを制御しますconst int TempHum =7; // DHTセンサーの入力ピンconstint Moisture =8; //湿気コマンド信号を読み取るためのデジタル入力ピンconstint TestLED =9; //この出力ピンを使用して、テストLEDのオンとオフを切り替えてPCBの正しいはんだ付けをテストします。constintBrightness =12; //光センサー信号を読み取るための入力ピンconstint analogMoistue =0; //水分センサーからアナログ信号を読み取るためのアナログ入力// ------------------------------------ -------------------------------------------------- -------------------------------------------#define DHTTYPE DHT11 // DHT 22(AM2302)、AM2321DHT dht(TempHum、DHTTYPE); //温度および湿度センサーコンストラクターBH1750lightMeter; //光センサーconstructorcharData ='x'; //シリアルデータをこの変数に保存しますStringcmd =""; // android appint flagModeAuto =0から送信された完全な命令を読み取ります。 //自動モードをアクティブにするフラグsprayCMD =0; // CMD制限sprayintLightCMD =0; // CMD制限brightnessintlightLevelPlus =0; //光の明るさを制御する変数floattemperature =0; //温度値を格納する変数floathimude =0; //湿度値を格納する変数uint16_tlux =0; //光センサーから光の明るさを読み取る変数// ----------------------------------------------------- -----------ピン構成を開始します----------------------------------- --------------------- void setup(){Wire.begin(); // I2Cバスを初期化します(BH1750ライブラリはこれを自動的に行いません)dht.begin(); //温度および湿度センサーの読み取りを開始しますlightMeter.begin(); //光センサーの読み取りを開始しますSerial.begin(9600); //ボーレートを最大9600BPSに設定して、Bluetooth Serial.setTimeout(100);を介してAndroidアプリと通信します。 //シリアルポートを閉じる前にデータを待機する時間を設定します(100ミリ秒後)pinMode(Pump、OUTPUT); pinMode(Fan、OUTPUT); pinMode(Light、OUTPUT); pinMode(Moisture、INPUT); pinMode(TestLED、INPUT); delay(1000); digitalWrite(Pump、LOW); digitalWrite(Fan、LOW); digitalWrite(Light、LOW);} // ---------------------------------------- --------プロセスコードを開始します-------------------------------------- ------------------ void loop(){while(Serial.available())//使用可能になったらシリアルデータを読み取ります{delay(10); Data =Serial.read(); cmd + =データ; } if(cmd =="dt")//湿度値をAndroidアプリに送信します{Serial.print(humidity); } if(cmd =="dh")//明るさの値をAndroidアプリに送信します{Serial.print(lux); } if(cmd =="db")//温度値をAndroidアプリに送信します{Serial.print(temperature); } if(cmd =="o")//自動モードをアクティブにします{flagModeAuto =1; } if(cmd =="m")//自動モードを無効にします{flagModeAuto =0; } if(flagModeAuto ==1){autoPump(); lightBrightness(); autoFan(); } if(flagModeAuto ==0){if(cmd =="f")//ファンをオンにする{analogWrite(Fan、255); } if(cmd =="x")//ファンをオフにする{analogWrite(Fan、0); } if(cmd =="l")//ライトをオンにする{analogWrite(Light、255); } if(cmd =="k")//ライトをオフにする{analogWrite(Light、0); } if(cmd =="w")//ポンプをオンにする{analogWrite(Pump、255); } if(cmd =="y")//ポンプをオフにします{analogWrite(Pump、0); }} cmd =""; // cmd変数をクリアして、次の命令で使用できるようにしますlux =lightMeter.readLightLevel(); //光センサーから輝度レベルを取得しますtemperature =dht.readTemperature(); // DHTセンサーから温度値を取得します(C)湿度=dht.readHumidity(); // DHTセンサーから湿度値を取得します(%)} // ---------------------------------- --------------ポンプスプレーの自動制御機能------------------------------ -------------------------- void autoPump(){if(analogRead(analogMoistue) 30){analogWrite(Fan、255); //温度が30°Cを超える場合はファンをオンにします} else {analogWrite(Fan、0); //温度が30°Cを超える場合はファンをオフにします}} 

カスタムパーツとエンクロージャー

dxf_mdf_5mm_s0PEHuez4w.rar

回路図


製造プロセス

  1. Arduinoを使用してモニターをAmbilightにする
  2. ArduinoPongゲーム-OLEDディスプレイ
  3. 可聴周波数検出器
  4. Arduinoたまごっちクローン-デジタルペット
  5. ワイヤレスライトスイッチマニピュレーター
  6. Tech-TicTacToe
  7. モーションセンサー水鉄砲
  8. Arduinoカウントダウンタイマー
  9. Arduinoひまわり:電子サンダンサー
  10. RCポルシェカー(Arduinoプロジェクト)
  11. 超クールな屋内ナビゲーション用ロボット