51マイクロコントローラは家族インテリジェント火災抑制システム(GSM通信)共有に皆のための回路図、テストパターンを実行し、各モジュールのソースコードの完全な技術情報

読者は、インテリジェント防火システムのファミリを設計することで基本的な機能を完了する必要があり、火災ポンプなどに、検出、GSM携帯電話の通信SMS警報、音声放送を分割。今、私は皆にこのプログラムを共有して全体的なアイデアは、我々は手助けをしたいです。また、神が私のミスを犯し歓迎、私は感謝して新たな指針を与えます。PS:STC89C52チップ
インテリジェントアラーム抑制システムは、火災検知、火災警報器、火災避難音声ガイダンス、自動消防火災市ゆう、これら四つの基本的な機能に分けることができます。火災の最初の検出が異常発熱家を感知するための3つのセンサ、温度センサを使用して前記ガス濃度センサは、家に到達警告、煙LPG、天然ガス及び他の可燃性ガスを検知するガスセンサとして機能とき、設定されたしきい値、ブザーで警告として機能します。火が最初に発生していることを炎センサー検知A炎頃に登場し、システムはすぐに良い人を設定して、電話をかけるために、送信テキストメッセージをアラーム機能を起動し、アラーム音、音声放送開始の案内人は、システム、同時に、脱出し始めましたポンプ制御雨が火を出し始めました。火災に、一般的な家庭用電源が自動的にオフに、本システムは、作業回路への損傷の発生による火災の発生を避けるために、自己完結型電源のセットを使用しません。

物理的地図

ここに画像を挿入説明
次に、各モジュール、前記の簡単なケース
(1)温度センサIは、GND、VCC、DQ、DQのみ接続する必要があり、データ転送インタフェースにのみ3つのインターフェースに人気DS18B20チップモジュールを使用して、マイクロコントローラ缶上の共通のピンに。試験温度の前にモジュールが実際の温度が表示されていないされていない場合にのみ、ので、私は4つのデジタルディスプレイの温度を取ったので、私は、実際には、2桁まで不正確、2桁のみを表示するためのプログラムを提供します私は正確な温度を必要としない、そしてこのモジュールは、それは安くはないので、使用するのが最適です、あなたは非常に正確にしたい、真実を伝えることです。このモジュールは、あまり言うこと、難しいことではありません。
(2)ガスセンサー、煙、私は長い間、淘宝網の上に煙の検索を検出することができ、センサを探していた、検索は常にポップがたくさんあり、MQ-2、MQ-5は、センサーのような、私はこれを見つけた後型センサは、煙を検出するが、可燃性ガスの検出、後煙感知要素を発見したイオンが、残念ながら私は回路溶接気要素のみを有し、今MQ-5、MQ-5に存在これは使用されず、できませんセンサー4つのポート、GND、VCC、DO、AOを持っています 。DOは、不利な点は、十分に正確な制御は、あなたがその単純な判定精度を調整することができないが、デジタル出力を容易にハイとローであると判断することができるマイクロコントローラに接続され、それは出力のみ0と1であるものであり、デジタル出力でありますたとえば、中央に調整し、次いで、ガス濃度が閾値、1アラームまたは何か(後に応答プラス独自の)DO缶出力に到達検出のみ、AOは、アナログ出力、その出力アナログ値であり、この値とすることができますPCF8591チップDAの特定の値にアナログ・デジタル変換し、この値は正確にプログラムで制御する場合は、間隔の精度は100に分割されている場合には、手動調整精度ノブのみ粗い決意である、ということができ、あなたは、アナログ、デジタルを使用変換は、それが正確であるかどうかを判断する値、および、そのような87?だから、必要に応じて上。
(3)火炎センサとして一般的に熱源のロボットの目の決意を探して、火炎を検出できるセンサであり、その使用は、我々は他の記述できる極めてMQ-5は非常に似て、私は詳細に行くことはありませんです百科事典Baiduの。
(4)音声放送モジュール、単純な素人の用語は、そう、10S手動で操作することができます記録することができ、いくつかのドルを買う、という理由だけのプロジェクトのため、再生モジュールの記録である、上記の選択肢のボタンがあります、録画ボタン、再生ボタンが、そこに2列のピンがあり、2つのジャンパが異なるプレイモード、ループ再生や方法が、パススルーモードを制御することができ、あなたは正直ちょっと楽しみであるためには、宣伝をすることができ、プログラミング制御端子は、制御マイクロコントローラによって受信されます。
(5)ポンプモジュールは、この小さなポンプが唯一見つけるために、電源12Vは、電気が遮断されている火を考える長い時間のための淘宝網のショッピングで、彼に力を与える方法、私はAながら、12V充電式電池を買ったので、ステップダウンモジュールには、電源の問題を解決した、MCUのために5Vに12Vのダウンを置くことができます。第二に、ポンプモジュールのマイクロコントローラので、直接ので、私は高校を学んできたことを信じて、モジュール原則をリレー、リレーモジュールを使用し、コントロールすることはできませんが、また大きなプッシュオンライン回路図、接続されたマイクロコントローラのVCC、GND、IOポート、もう一方の端その後、12Vバッテリー正と負のポンプ。
(6)GSMの通信モジュールは困難であり、以前の情報だけを開始淘宝網の店はまた、命令の束とソフトウェアだけでなくかすかを見るために使用することができ、結果として発行され、以降同じ、と接触していませんでしたフォーラムでは、私が使用できるプログラムを発見した、または検査の後、彼らのために適していない見つけ、我々は唯一の彼らのハード探索することができ、私はGSM通信モジュールのA6信頼性の高いセキュリティを使用し、生徒たちは、あなたが持っている必要がありまず参照してくださいしたいと思いますこのボードは、ないですまず、あなたが本当に命令の束を知っておく必要があり、私はこのプロジェクトを使用呼び出すと送信テキストメッセージすることで、送信テキストメッセージに関する命令はAT、AT + CMGF = 1、ある AT + CSCS、AT + CMGS 電話関連の命令は、AT + SNFS = 0、ATD +持って 、86132222222222を、このコマンドを送信する必要がマイクロコントローラのシリアルポートであるため、GSMモジュールは非常に面倒確かに,,、簡単なので、各修正プログラム、ダウンロードのテストを応答します、それはシリアルアシスタントソフトウェアを使用する必要があり、コンピュータが直接支援情報、テスト機能をコマンドを送信するために、シリアルポート経由でモジュールに接続され、Nは、何度も失敗した後、最終的に正しいを試します 注文し、正しい命令シーケンスを送信

パートC言語コード

一方、(I-)
{
IF(sendCommand(「AT \ R \ n」、「」、500、2)==成功)。
delay_ms(500)。
(sendCommand(「AT + CMGF = 1つの\ R \ n」、「」、500、1)==成功)であれば、
delay_ms(500)。
(sendCommand(「AT + CSCS = 『GSM』 \ R \ n」、「」、500、1)==成功)であれば、
delay_ms(500)。
(sendCommand(「AT + CMGS = 『13592606142』 \ R \ n」、「」、500、1)==成功)であれば、
delay_ms(500)。
もし(sendCommand(「火が来ている!!!」、「」、500、1)==成功)。
delay_ms(500)。
IF(sendCommand(send_buf、「」、500、1)==成功)。
delay_ms(5000);
}
/ 打电话 ********** /
ながら(J-)
{
IF(sendCommand(「AT \ R \ n」、「」、500、1)==成功)。
delay_ms(500)。
IF(sendCommand(「AT + SNFS = 0 \ R \ n」、「」、500、1)==成功)。
delay_ms(500)。
IF(sendCommand(「ATD + 8613592606142 \ R \ n」、「」、500、1)==成功)。
delay_ms(20000)。

(1)一方、
}

私は他の誰かのコード・プログラムを見つけなければならなかったので何かが、注意が必要ですが、私は多くのコードを変更してボードは、私には適用されませんが、ほとんどオリジナルの作者のスタイルを保存し、どのたとえば(sendCommand(「ATの場合\ rを\ n「は、」 " 、500、1)==成功); 私は一度か二度、当初10回の時間数を送信するコマンドの遅延または除去を変更、遅延が今増加し、戻り値をキャンセル(実際には、この方法は良くありませんが、すべての時間の私のテストでは、100%の成功ですが、成功した戻り値と結合されたが、いつも失敗し、そう簡単に引用符がOKだっただろうことを、アップ追加しませんが、今で追加することは何もありません)そこに私は、テキストメッセージを送信することができた時間でしたが、私は3を送信するように求められますが、常に1つのみオフ時間がかかり、慎重な研究プログラムは、削減を養う、と迷惑な目に見える何も間違っては、一日はありません、そしてGETシリアルポートのテストでは、同じ遅延で、結果が見られることができ、成功数はあまりないですが、あなたは最終的に、時には、時にはないと、時々 、なぜを送信することができ、そう思い、送ることができますか?突然、私は継続的にそれが失敗した送信まだ、すぐに10倍までの遅延時間を増加させ、結果は完璧で、非常に成功した送信、見て意味するであろうという事実に反応場合は、データモジュールを送信、単語の応答速度を考えます連続テキストメッセージは、家庭の火傷遅いので、電話はハハ完成うち破るだけでなく、試運転の遅れがエラーなしでちょうど2.5倍を発見した後にする前に(遭難呼出しの波)、幸せ送られ、または他の命令。このモジュールは、もちろん、非常に強力ですが、今私はちょうどそのまだ笑、一見、すべての後に、40以上もの海、ではないが購入する自分のお金を取らなければならない、無地の層を使用する方法を学びました。
私は、プログラムやデータは、我々はすべて私が少しルーキーをしようとしていた後、相互に通信することができ、私を送っ分離します。偉大な神は、より多くのアドバイスをしたいです。

スペースの制約、コードファイルの書き込みのみの部分を考えると
ここに画像を挿入説明
何かコメントや提案があれば私にメッセージを歓迎最後に、ご一緒に学びましょうと一緒に進行、
あなたは完全なコードや設計のドキュメントが必要な場合は、見た後、以下のメッセージまたはプライベート手紙Iを残してくださいこれは、最初の時間応答となります。

ありがとうございます!

公開された74元の記事 ウォンの賞賛159 ・は 70000 +を見て

おすすめ

転載: blog.csdn.net/weixin_44212493/article/details/104334466