جدول المحتويات:

نظام تحذير السلامة من الحرائق بشاشة LCD من Arduino: 9 خطوات
نظام تحذير السلامة من الحرائق بشاشة LCD من Arduino: 9 خطوات

فيديو: نظام تحذير السلامة من الحرائق بشاشة LCD من Arduino: 9 خطوات

فيديو: نظام تحذير السلامة من الحرائق بشاشة LCD من Arduino: 9 خطوات
فيديو: لينك أند كو 09 الفاخرة - التجربة التفصيلية - شبكة السيارات الصينية 2024, يوليو
Anonim
نظام تحذير السلامة من الحرائق LCD من Arduino
نظام تحذير السلامة من الحرائق LCD من Arduino
نظام تحذير السلامة من الحرائق LCD من Arduino
نظام تحذير السلامة من الحرائق LCD من Arduino
نظام تحذير السلامة من الحرائق LCD من Arduino
نظام تحذير السلامة من الحرائق LCD من Arduino

هذا مشروع من تصميم الطلاب ويجمع بين وظائف شاشة LCD وجرس و RGB ومستشعر درجة حرارة DHT.

يتم عرض درجة الحرارة المحيطة الحالية وتحديثها على شاشة LCD.

تُعلم الرسالة المطبوعة على شاشة LCD المستخدم بمستوى "خطر الحريق".

تخفت الشاشة وتومض لتنبيه المستخدم بالخطر.

يصبح الجرس أعلى وأسرع لتنبيه المستخدم بالخطر حسب مستوى الخطر الحالي.

يتغير RGB والأخضر والأصفر والبرتقالي والأحمر حسب مستوى المخاطرة الحالية.

يمكن وضعها في حاوية مطبوعة ثلاثية الأبعاد للحصول على مظهر أكثر احترافًا.

هذا يحل مشكلة العالم الحقيقي المتمثلة في عدم معرفة الأشخاص بوجود خطر نشوب حريق حتى فوات الأوان

الخطوة 1: اجمع المواد

اجمع المواد
اجمع المواد
اجمع المواد
اجمع المواد
اجمع المواد
اجمع المواد

المواد المستخدمة في هذا المشروع:

1x شاشة LCD

1x DHT_11 مستشعر درجة الحرارة

1x RGB

1x بيزو سلبي الجرس 1.0 فولت

2x ألواح توصيل صغيرة

3x مقاومات قياسية

1x لوح توصيل عادي الحجم

1x Arduino UNO

بلوتاك لقفل الأسلاك في مكانها.

مجموعة متنوعة من الأسلاك ذات النهايات المختلفة ، سواء ذات النهايات المفتوحة أو ذات النهايات المفردة.

جهاز لتشغيل الكود

قم بالوصول إلى طابعة ثلاثية الأبعاد إذا كنت ترغب في الحصول على الغلاف الخارجي ومظهر أكثر مصقولًا

الخطوة 2: إعداد ألواح التوصيل

إعداد ألواح التوصيل
إعداد ألواح التوصيل
إعداد ألواح التوصيل
إعداد ألواح التوصيل

1. قم بتوصيل السلك البرتقالي من الدبوس المسمى "GND" على لوحة Arduino وقم بتوصيله بالجانب السلبي (الأزرق) من اللوح. من هذه النقطة فصاعدًا ، إذا احتجنا إلى استخدام GND لأي أجهزة خارجية ، فسنضعها ببساطة في نفس العمود مثل هذا على اللوح.

2. قم بتوصيل السلك الأحمر من الدبوس المسمى "5V" على لوحة Arduino وقم بتوصيله بالجانب الموجب (الأحمر) من اللوح. من هذه النقطة فصاعدًا ، إذا احتجنا إلى استخدام 5 فولت لأي أجهزة خارجية ، فسنضعها ببساطة في نفس العمود مثل هذا على اللوح.

الخطوة 3: إعداد شاشة LCD

إعداد شاشة LCD
إعداد شاشة LCD
إعداد شاشة LCD
إعداد شاشة LCD
إعداد شاشة LCD
إعداد شاشة LCD

1. اقلب اللوحة بحيث تكون مقلوبة بحيث تكون جميع المسامير على الجانب الأيسر.

2. قم بتوصيل السلك 5 من أعلى اليسار في الصف العلوي من المسامير وتوصيله بالرقم 4 في Arduino UNO.

3. قم بتوصيل السلك 6 من أعلى اليسار في الصف العلوي من المسامير وتوصيله برقم التعريف 5 في Arduino UNO.

4. قم بتوصيل السلك 7 من أعلى اليسار في الصف العلوي من المسامير وتوصيله برقم التعريف 6 على Arduino UNO.

5. قم بتوصيل السلك 8 من أعلى اليسار في الصف العلوي من المسامير وتوصيله برقم التعريف 7 على Arduino UNO.

6. قم بتوصيل السلك 9 من أعلى اليسار في الصف العلوي من المسامير وتوصيله برقم التعريف 8 على Arduino UNO.

7. قم بتوصيل السلك 10 من أعلى اليسار في الصف العلوي من المسامير وتوصيله برقم 9 على Arduino UNO.

8. قم بتوصيل سلك 3 من أسفل اليمين وقم بتوصيله بصف 5V على لوح التجارب

9. قم بتوصيل سلك 4 من أسفل اليمين وقم بتوصيله بصف GND على لوح التجارب

شاهد الصور حيث أن الرسم البياني للدائرة يعرض شاشة LCD مختلفة

الخطوة 4: إعداد Piezo Buzzer

إعداد بيزو الجرس
إعداد بيزو الجرس
إعداد بيزو الجرس
إعداد بيزو الجرس
إعداد بيزو الجرس
إعداد بيزو الجرس
إعداد بيزو الجرس
إعداد بيزو الجرس

1. قم بتوصيل سلك من دبوس GND على الجرس بعمود GND (أزرق) على لوح التجارب

2. قم بتوصيل سلك من دبوس VCC على الجرس بعمود 5V (أحمر) على لوح التجارب

3. قم بتوصيل سلك من دبوس SIG على الجرس إلى الدبوس المرقّم "10" على لوحة arduino UNO

انظر إلى الصور أعلاه حيث أن مخطط الدائرة يعرض طارة مختلفة

الخطوة 5: إعداد مستشعر درجة حرارة DHT

إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT
إعداد مستشعر درجة حرارة DHT

1. قم بإعداد مستشعر DHT في اللوح كما هو موضح أعلاه

2. قم بتوصيل الدبوس الأول الموجود على يسار مستشعر DHT (المسمى VCC في الرسم التخطيطي للجزء) بالعمود 5 فولت (أحمر) على لوحة التجارب

3. قم بتوصيل الدبوس الثاني على يسار مستشعر DHT (البيانات المسمى في الرسم التخطيطي للجزء) بمنفذ A0 على Arduino UNO

4. قم بتوصيل الدبوس الأول على يمين مستشعر DHT (المسمى GND في الرسم التخطيطي للجزء) بعمود GND (أزرق) على لوح التجارب

5. شاهد البرنامج التعليمي وأضف مكتبة dht.h الموجودة في نهاية التعليمات إلى Arduino. (وهذا إلزامي)

الخطوة السادسة: إعداد RGB

إعداد RGB
إعداد RGB
إعداد RGB
إعداد RGB
إعداد RGB
إعداد RGB
إعداد RGB
إعداد RGB

1. ضع RGB في لوحة توصيل صغيرة كما هو موضح أعلاه ، مع التركيز على الضلع الثاني من يسار RGB كونها فتحة واحدة أقرب من الثلاثة الأخرى

2. ضع المقاومات القياسية على السنون الأول والثالث والرابع. ترك مساحة لسلك آخر على الأقل (كما هو موضح أعلاه).

3. قم بتوصيل سلك من خلف المقاوم الموجود على الطرف الأيسر من RGB بالدبوس المسمى 2 في Arduino UNO

4. قم بتوصيل سلك من خلف الثانية البعيدة من الدبوس الأيسر لـ RGB إلى عمود GND (الأزرق) للوح.

5. قم بتوصيل سلك من خلف المقاوم في الثانية من الدبوس الأيمن من RGB إلى الدبوس المسمى 1 على Arduino UNO

6. قم بتوصيل سلك من خلف المقاوم على الدبوس الأيمن من RGB بالدبوس المسمى 3 على Arduino UNO

الخطوة 7: علبة طباعة ثلاثية الأبعاد اختيارية

غلاف اختياري للطباعة ثلاثية الأبعاد
غلاف اختياري للطباعة ثلاثية الأبعاد
غلاف اختياري للطباعة ثلاثية الأبعاد
غلاف اختياري للطباعة ثلاثية الأبعاد
غلاف اختياري للطباعة ثلاثية الأبعاد
غلاف اختياري للطباعة ثلاثية الأبعاد

1. ابحث عن برنامج تعليمي حول كيفية الطباعة ثلاثية الأبعاد.

2. اطبع التصميم المرفق أدناه الذي تم إنشاؤه على Autodesk Fusion 360 (ملف.stl)

3. كشط المواد الزائدة ثلاثية الأبعاد وسلسها على السطح

4. انظر الصورة أعلاه للحصول على إرشادات حول مكان وضع أجزاء Arduino.

الخطوة 8: الكود والملفات

الكود والملفات
الكود والملفات

- مكتبة DHT.h مرفقة. (فك الضغط)

- تم إرفاق الكود مع التعليقات التفصيلية الكاملة ولكنه أيضًا في الخطوة التالية.

- تم إرفاق ملف.stl الخاص بالإسكان ثلاثي الأبعاد

- تم إرفاق مخطط الدائرة مرة أخرى. تأكد من الرجوع إلى الخطوات الفعلية لشاشة LCD وجرس بيزو حيث تم استخدام مكونات مختلفة.

الخطوة 9: كود اردوينو

كود اردوينو
كود اردوينو
كود اردوينو
كود اردوينو

// LCD FIRE WARNING SYSTEM // يقرأ الإدخال من DHT Temperature Pin واعتمادًا على ما إذا كان الجو حارًا أم لا ، يغير RGB ومكبر الصوت للإشارة إلى المستخدم إذا كان هناك خطر نشوب حريق. // يعرض أيضًا درجة الحرارة على شاشة LCD.

// إعداد DHT

# تضمين // تضمين مكتبة DHT

#define dht_dpin A0 // يخبر اللوحة أن دبوس DHT في إدخال تناظري 0

dht DHT ؛ // dht = DHT

// LIQUID CRYSTAL SETUP

# تضمين // تضمين مكتبة الكريستال السائل

LiquidCrystal LCD (8 ، 9 ، 4 ، 5 ، 6 ، 7) ؛ // تقصير إلى LCD / يخبر اردوينو عن المنافذ التي تشغلها شاشة LCD

// تعريف RGB + الطنان

#define redpin 1 // يحدد redpin لـ RGB في المنفذ 1

#define greenpin 2 // يحدد greenpin لـ RGB في المنفذ 2

#define bluepin 3 // يعرف مخطط RGB في المنفذ 3

#define buzzerpin 10 // يحدد buzzerpin في المنفذ 10

// المتغيرات

int temp = analogRead (DHT.temperature) ؛ // ينشئ عددًا صحيحًا "temp" وهي القيمة من الأمر DHT.temperature

الإعداد باطل() {

// الإخراج / الإدخال

analogWrite (redpin ، الإخراج) ؛ // أعلن / حدد redpin كإخراج

analogWrite (greenpin ، الإخراج) ؛ // أعلن / حدد greenpin كإخراج

analogWrite (bluepin ، الإخراج) ؛ // أعلن / عرّف bluepin كإخراج

pinMode (الطنانة ، الإخراج) ؛ // أعلن / حدد buzzerpin كإخراج

// شاشة عرض من الكريستال السائل

lcd.begin (16 ، 2) ؛ // تعريف شاشة LCD على أنها 16 عمودًا وصفين}

حلقة فارغة() {

// كود LCD دون تباين

DHT.read11 (dht_dpin) ؛ // قراءة المدخلات من dht_dpin أيضًا (A0)

lcd.setCursor (0 ، 0) ؛ // يعين المؤشر على العمود 0 ، الصف 0

lcd.print ("إنه") ؛ // يكتب "إنه" على شاشة LCD

lcd.print (DHT. درجة الحرارة) ؛ // يطبع قيمة DHT.temperature من دبوس DHT في العمود 0 ، الصف 0

lcd.print ("") ؛ // يطبع مسافة بعد درجة الحرارة

lcd.print ((شار) 223) ؛ // يطبع علامة الدرجة بعد درجة الحرارة

lcd.print ("C") ؛ // يطبع "c" بعد علامة الدرجات لترمز إلى الدرجة المئوية

// LCD وميض

lcd.setCursor (0 ، 1) ؛ // يعين المؤشر على العمود 0 ، الصف 1

lcd.noDisplay () ،

lcd.print ("لا يوجد خطر حريق") ؛ // يطبع "لا توجد فرصة لإطلاق النار"

lcd.noDisplay () ، // إيقاف تشغيل شاشة LCD (جزء من الفلاش)

تأخير (1000) ؛ // يبقى متوقفًا لمدة ثانية واحدة

عرض شاشات الكريستال السائل()؛ // يعيد تشغيل شاشة LCD

تأخير (1000) ؛ // يبقى لمدة ثانية واحدة

// RGB + رمز الطنان

analogWrite (ريدبين ، 0) ؛ // لا يوجد خرج من الدبوس الأحمر

analogWrite (جرينبين ، 255) ؛ // 255 الإخراج من greenpin (يجعل RGB أخضر)

analogWrite (bluepin ، 0) ؛ // لا يوجد خرج من الدبوس الأزرق

نغمة (buzzerpin ، 20 ، 20) ؛ // // يصدر تردد 20 هرتز لمدة 0.02 ثانية من الجرس

// إذا كانت درجة الحرارة 25-30

إذا ((int (DHT.temperature)> = 25.00) && (int (DHT.temperature) <= 30.00)) {

lcd.clear () ؛ // يمسح شاشة LCD

lcd.setCursor (0 ، 1) ؛ // يعين المؤشر على العمود 0 ، الصف 1

lcd.print ("تنبيه صغير") ؛ // يطبع "تنبيه صغير" على العمود 0 ، الصف 1

lcd.noDisplay () ، // إيقاف تشغيل شاشة LCD (جزء من الفلاش)

تأخير (1000) ؛ // يبقى متوقفًا لمدة ثانية واحدة

عرض شاشات الكريستال السائل()؛ // يعيد تشغيل شاشة LCD

تأخير (1000) ؛ // يبقى لمدة ثانية واحدة

analogWrite (redpin ، 255) ؛ // 255 الإخراج من redpin (يجعل RGB أصفر)

analogWrite (جرينبين ، 255) ؛ // 255 الإخراج من greenpin (يجعل RGB أصفر)

analogWrite (bluepin ، 0) ؛ // لا يوجد خرج من الدبوس الأزرق

نغمة (buzzerpin ، 200 ، 100) ؛ // يصدر تردد 200 هرتز لمدة 0.1 ثانية من الجرس

تأخير (300) ؛ //.3 التأخير الثاني

} // IF TEMP IS 31-37 else if ((int (DHT.temperature) = 37.00)) {

lcd.clear () ؛ // يمسح شاشة LCD

lcd.setCursor (0 ، 1) ؛ // يعين المؤشر على العمود 0 ، الصف 1

lcd.print ("تنبيه متوسط") ؛ // يطبع "تنبيه متوسط" على العمود 0 ، الصف 1

lcd.noDisplay () ، // إيقاف تشغيل شاشة LCD (جزء من الفلاش)

تأخير (500) ؛ // يبقى متوقفًا لمدة 0.5 ثانية

عرض شاشات الكريستال السائل()؛ // يعيد تشغيل شاشة LCD

تأخير (500) ؛ // يبقى لمدة 0.5 ثانية

analogWrite (redpin ، 255) ؛ // 255 الإخراج من redpin (يجعل RGB برتقاليًا)

analogWrite (جرينبين ، 165) ؛ // 165 إخراج من greenpin (يجعل RGB برتقالي)

analogWrite (bluepin ، 0) ؛ // لا يوجد إخراج من bluepin

نغمة (buzzerpin ، 500 ، 900) ؛ // يصدر تردد 500 هرتز لمدة 0.9 ثانية من الجرس

تأخير (300) ؛ //.3 التأخير الثاني

} // IF TEMP IS 38-100

وإلا إذا ((int (DHT.temperature) = 100.00)) {

lcd.clear () ؛ // يمسح شاشة LCD

lcd.setCursor (0 ، 1) ؛ // يعين المؤشر على العمود 0 ، الصف 1

lcd.print ("Call 000") ؛ // يطبع "Call 000" في العمود 0 ، الصف 1

lcd.noDisplay () ، // إيقاف تشغيل شاشة LCD (جزء من الفلاش)

تأخير (250) ؛ // يبقى متوقفًا لمدة 0.25 ثانية

عرض شاشات الكريستال السائل()؛ // يعيد تشغيل شاشة LCD

تأخير (250) ؛ // يبقى لمدة 0.25 ثانية

analogWrite (redpin ، 255) ؛ // 255 الإخراج من redpin (يجعل RGB أحمر)

analogWrite (greenpin ، 0) ؛ // لا يوجد خرج من greenpin

analogWrite (bluepin ، 0) ؛ // لا يوجد إخراج من bluepin

نغمة (buzzerpin ، 1000 ، 900) ؛ // يصدر تردد 1000 هرتز لمدة 0.9 ثانية من الجرس

تأخير (300) ؛ //.3 التأخير الثاني

}}

موصى به: