水質モニタリングシステム
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
|
アプリとオンラインサービス
> |
| |||
|
このプロジェクトについて
はじめに
2016年9月には、汚染された水がプラントに流入したため、水処理プラントをシャットダウンする必要があります。水道会社は汚染源を特定することができず、これが深刻な水道サービスの中断を引き起こしました。
私の大学のコースでは、学生がコミュニティの問題を解決するためのシステムを構築する必要があります。自動化された水質監視システムは、汚染源を見つける作業を容易にします!
システムの概要
<図>
4つのセンサーがArduinoGenuino 101に接続されています。これらはすべて電流出力センサーであるため、いくつかの接続回路が必要です。 Arduino Genuino 101は、測定データを定期的に収集し、GPS座標を取得し、GPRSデータリンクを使用してデータバンドルをデータベースにアップロードします。ユーザーは、以下に示すようにWebサイトにアクセスして結果を表示できます。
<図>
センサープローブ <図>
<図>
3つの電流出力センサーは、主任講師から提供されたGlobalWaterからのものです。このプロジェクトでは、温度、pH、溶存酸素レベルセンサーを使用しています。残念ながら、溶存酸素レベルセンサーが故障しています。
もう1つのセンサーは濁度センサーで、水中に浮遊している固体粒子の量に比例した電圧レベルを出力します。
<図>
センサーとArduinoのインターフェース <図>
抵抗は、電流出力を測定可能な電圧レベルに変換します。
A7GPRSおよびGPSモジュール <図>
このA7モジュールを選択したのは、SIM900バリアントよりも比較的安価であり、GPRSとGPSの両方を1つのパッケージにまとめているためです。
ただし、より安い価格には価格が伴います。まず、モジュールに付属しているGPSアンテナは実際にはGPSアンテナではないため、自分で購入する必要があります。次に、デフォルトでは115200 bps UART通信のみをサポートし、ソフトウェアを使用して変更した場合でも、電源を入れ直すとデフォルトのボーレートに戻り、115200bpsのソフトウェアシリアルは非常に信頼性が低くなります。私はこの問題のために2日間髪を引っ張った。その後、Arduinoコードにボーレート変更機能を実装しました。
また、これは新しいモジュールなので、このモジュール用に独自のライブラリを作成する必要があります。ソースコードは、SIM900やAdafruitGPSモジュールなどのさまざまな場所から収集されます。散らかっていますが、うまくいきます。私を非難しないでください。
<図>モジュールのスイッチをオンにするように回路を設計する必要があります。制御対象のRESETピンとPWR_KEYピンの2つのピンがあります。モジュールを起動するために、PWR_KEYに少なくとも2秒間電圧が印加されます。リセットするには、RESETピンをGNDに引きます。それ以外の場合は、RESETピンを5Vまでプルアップする必要があります。最初にモジュールをリセットしてから、モジュールの電源を入れて、正常に起動することを確認します。
電源
現在の出力センサーのため、電源はここで特筆に値します(私は思いますか?)。動作には最低10Vが必要であり、これは私たちの最愛の5Vよりも高くなっています。このシステムがリモートで動作する能力を実証したかったので、リチウムイオン電池を選びました。
<図>直列の2つのリチウムイオン電池は7.4-8.4Vを提供し、1つのバックコンバーターはArduinoおよびA7モジュール用に5Vに下げ、もう1つのブーストコンバーターはこれらの水センサーに11Vの電源レールを提供します。このセットアップでは、システムは長時間実行されませんが、それはこのプロトタイプの主な関心事ではありません。
ボード
システムはプロトタイプボード上に構築されています。ボードとArduinoGenuino101はエンクロージャーにうまく収まります。
<図>
エンクロージャー
講師はまた、水センサーに関連するプロジェクトのために前の学生によって開けられた穴のある古い囲いを与えました。素晴らしい!
<図>
センサーへのコネクタに注意してください。それらがセンサーに取り付けられているのを見つけたので、それらと結合するコネクタを探しました。私はそれらをコードGX16で見つけました。それらは非常に用途が広く、将来のプロジェクトできっと役立つでしょう!
ウェブページ
最後に、ゼロから構築するのに数週間かかった部分。私はサーバー、Webサイトについての知識がまったくなく、このプロジェクト全体を通して、PHP、SQLクエリ、JavaScript、CSS、およびHTMLを学びました。
学生に無料のサービスを提供しているため、MicrosoftAzureでWebサイトをホストしました。制限がありますが、このアプリケーションには十分です。
データベースは、Azureと連携してClearDBによって提供されます。繰り返しになりますが、メモリの制限がありますが、このプロジェクトには十分です。
コードはリポジトリで提供されますが、username_password.phpファイルにクレデンシャルを追加することを忘れないでください。
log.phpは、Arduinoから受信したすべてのデータをデータベースにダンプします。
次に、ウェブページは、測定データがある場所にマーカーが表示されたGoogleマップを表示します。他のphpファイルはすべて、データベースにアクセスしてデータベース内のデータを取得するための「ツール」です。
ウェブサイトの反応はかなり遅く、これらすべてを一緒にハッキングしたばかりなので、改善したいと思います。提案は大歓迎です。 :)
コード
水質モニタリングシステム
/ WebsiteのWebサイトコード、Arduinoスケッチおよび/ ArduinoのA7モジュールライブラリhttps://github.com/JohnHJ01/Water-Quality-Monitoring-System 回路図
システム全体の回路図製造プロセス