תוכן עניינים:

מערכת אזהרת בטיחות אש Arduino LCD: 9 שלבים
מערכת אזהרת בטיחות אש Arduino LCD: 9 שלבים

וִידֵאוֹ: מערכת אזהרת בטיחות אש Arduino LCD: 9 שלבים

וִידֵאוֹ: מערכת אזהרת בטיחות אש Arduino LCD: 9 שלבים
וִידֵאוֹ: קבוצת א.ינוס תעשיות בטיחות אש 2024, נוֹבֶמבֶּר
Anonim
מערכת אזהרת בטיחות אש Arduino LCD
מערכת אזהרת בטיחות אש Arduino LCD
מערכת אזהרת בטיחות אש Arduino LCD
מערכת אזהרת בטיחות אש Arduino LCD
מערכת אזהרת בטיחות אש Arduino LCD
מערכת אזהרת בטיחות אש Arduino LCD

זהו פרויקט מתלמיד המשלב את הפונקציות של מסך LCD, זמזם, RGB וחיישן טמפרטורה DHT.

הטמפרטורה הסובבת הנוכחית מוצגת ומתעדכנת על מסך ה- LCD.

ההודעה המודפסת על מסך LCD מודיעה למשתמש על רמת "סכנת האש".

המסך מעומעם ומהבהב כדי להתריע בפני המשתמש על סכנה.

הזמזם הופך חזק יותר ומהיר יותר כדי להתריע בפני המשתמש על סכנה בהתאם לרמת הסיכון הנוכחי.

RGB משתנה ירוק, צהוב, כתום ואדום בהתאם לרמת הסיכון הנוכחי.

ניתן להכניס למארז מודפס בתלת מימד למראה מקצועי יותר.

זה פותר בעיה בעולם האמיתי של אנשים שלא יודעים מתי יש סכנת שריפה עד שיהיה מאוחר מדי

שלב 1: אסוף חומרים

אסוף חומרים
אסוף חומרים
אסוף חומרים
אסוף חומרים
אסוף חומרים
אסוף חומרים

חומרים המשמשים בפרויקט זה:

1x תצוגת LCD

1x חיישן טמפרטורה DHT_11

1x RGB

1x זמזם פסיבי פסיבי 1.0v

2x לוחות לחם קטנים

3x נגדים סטנדרטיים

1x לוח לחם בגודל רגיל

1x ארדואינו UNO

Bluetack לנעילת חוטים במקום.

מבחר חוטי קצוות שונים, קצוות פתוחים וקצוות בודדים.

מכשיר להפעלת הקוד

גישה למדפסת תלת מימד אם אתה מעוניין במעטפת החיצונית ובמראה מלוטש יותר

שלב 2: הגדרת לוחות הלחם

הגדרת לוחות הלחם
הגדרת לוחות הלחם
הגדרת לוחות הלחם
הגדרת לוחות הלחם

1. חבר את החוט הכתום מהסיכה שכותרתה "GND" בלוח הארדואינו וחבר אותו לצד השלילי (הכחול) של לוח הלחם. מנקודה זו ואילך, אם נצטרך להשתמש ב- GND עבור מכשירים חיצוניים כלשהם, פשוט נכניס אותם לאותה עמודה כמו זו על לוח הלחם.

2. חבר את החוט האדום מהסיכה שכותרתה "5V" בלוח ה- Arduino וחבר אותו לצד החיובי (האדום) של לוח הלחם. מנקודה זו ואילך, אם נצטרך להשתמש ב- 5V עבור מכשירים חיצוניים כלשהם, פשוט נכניס אותם לאותה העמודה כמו זו על לוח הלחם.

שלב 3: הגדרת תצוגת LCD

הגדרת תצוגת LCD
הגדרת תצוגת LCD
הגדרת תצוגת LCD
הגדרת תצוגת LCD
הגדרת תצוגת LCD
הגדרת תצוגת LCD

1. הפוך את הלוח כך שהוא יהיה הפוך עם כל הסיכות בצד שמאל.

2. חבר חוט 5 מצד שמאל למעלה בשורת הסיכות העליונה וחבר אותו לפין מספר 4 ב- UNO של Arduino.

3. חבר חוט 6 מצד שמאל למעלה בשורת הסיכות העליונה וחבר אותו לסיכה מספר 5 ב- UNO של Arduino.

4. חבר חוט 7 מצד שמאל למעלה בשורת הסיכות העליונה וחבר אותו לסיכה מספר 6 ב- UNO של Arduino.

5. חבר חוט 8 מצד שמאל למעלה בשורת הסיכות העליונה וחבר אותו לסיכה מספר 7 ב- UNO של Arduino.

6. חבר חוט 9 מצד שמאל למעלה בשורת הסיכות העליונה וחבר אותו לסיכה מספר 8 ב- UNO של Arduino.

7. חבר חוט 10 מהצד השמאלי העליון בשורת הסיכות העליונה וחבר אותו לסיכה מספר 9 ב- UNO של Arduino.

8. חבר חוט 3 מימין למטה וחבר אותו לשורת 5V בלוח הלחם

9. חבר חוט 4 מימין למטה וחבר אותו לשורת ה- GND בלוח הלחם

ראו תמונות כפי שתרשים מעגל מציג LCD שונה

שלב 4: הגדרת זמזם פיצו

הגדרת זמזם פיצו
הגדרת זמזם פיצו
הגדרת זמזם פיצו
הגדרת זמזם פיצו
הגדרת זמזם פיצו
הגדרת זמזם פיצו
הגדרת זמזם פיצו
הגדרת זמזם פיצו

1. חבר חוט מסיכת ה- GND שבזמזם לעמוד העמודה GND (כחול) בלוח הלחם

2. חבר חוט מסיכת ה- VCC שבזמזם לעמוד 5V (אדום) בלוח הלחם

3. חבר חוט מסיכת ה- SIG שבזמזם לסיכה המסומנת "10" בלוח ה- UNO של הארדואינו.

ראה את התמונות למעלה כמו דיאגרמה של מעגל מראה באזר שונה

שלב 5: הגדרת חיישן הטמפרטורה DHT

הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT
הגדרת חיישן הטמפרטורה DHT

1. הגדר חיישן DHT בלוח הלוח כפי שמוצג למעלה

2. חבר את הסיכה הראשונה משמאל לחיישן DHT (שכותרתו VCC בתרשים החלקים) לעמודה 5V (אדומה) בלוח הלחם.

3. חבר את הפין השני משמאל לחיישן DHT (מסומן DATA בתרשים החלקים) ליציאת A0 ביחידת ה- Arduino UNO

4. חבר את הסיכה הראשונה מימין לחיישן DHT (מסומן GND בתרשים החלקים) לעמודה GND (כחול) בלוח הלחם.

5. צפה במדריך והוסף את ספריית dht.h שנמצאה בסוף המדריך ל- Arduino. (זה חובה)

שלב 6: הגדרת ה- RGB

הגדרת ה- RGB
הגדרת ה- RGB
הגדרת ה- RGB
הגדרת ה- RGB
הגדרת ה- RGB
הגדרת ה- RGB
הגדרת ה- RGB
הגדרת ה- RGB

1. הנח את ה- RGB בלוח לחם קטן כפי שמוצג למעלה, הדגש הוא שהרגל השנייה משמאל ה- RGB תהיה חריץ אחד קרוב משלושת האחרים

2. הניחו נגדים סטנדרטיים על הסיכה הראשונה, השלישית והרביעית. השארת מקום לעוד חוט אחד אחד (כפי שמוצג למעלה).

3. חבר חוט שמאחורי הנגד שבסיכה השמאלית של ה- RGB לסיכה המסומנת 2 על ה- Arduino UNO

4. חבר חוט מאחורי השנייה החיצונית מהסיכה השמאלית של ה- RGB לעמודה GND (הכחולה) של לוח הלחם.

5. חבר חוט מאחורי הנגד בשני מהסיכה הימנית של ה- RGB לסיכה המסומנת 1 על ה- UNO Arduino

6. חבר חוט מאחורי הנגד בסיכה הימנית של ה- RGB לסיכה המסומנת 3 על ה- UNO Arduino

שלב 7: אופציונלי דיור 3D

אופציונלי דיור 3D הדפסה
אופציונלי דיור 3D הדפסה
אופציונלי דיור 3D הדפסה
אופציונלי דיור 3D הדפסה
אופציונלי דיור 3D הדפסה
אופציונלי דיור 3D הדפסה

1. מצא הדרכה כיצד להדפיס תלת מימד.

2. הדפס את העיצוב המצורף להלן שנעשה ב- Autodesk Fusion 360 (קובץ.stl)

3. לגרד חומר עודף תלת מימדי ולהחליק על פני השטח

4. עיין בתמונה למעלה להנחיות היכן למקם חלקי ארדואינו.

שלב 8: הקוד והקבצים

הקוד והקבצים
הקוד והקבצים

-ספריית DHT.h מצורפת. (לִפְתוֹחַ)

הקוד עם הערות מפורטות מצורף אך הוא גם נמצא בשלב הבא.

מצורף קובץ ה-.stl לדיור התלת -ממדי

-תרשים המעגל מצורף שוב. הקפד להתייחס לשלבים בפועל של מסך ה- LCD וזמזם הפיצו כאשר נעשה שימוש ברכיבים שונים.

שלב 9: קוד ארדואינו

קוד ארדואינו
קוד ארדואינו
קוד ארדואינו
קוד ארדואינו

// מערכת אזהרת LCD לאש // קוראת קלט מתוך סיכת טמפרטורה של DHT ובהתאם אם הוא חם או לא, משנה rgb ורמקול כדי לציין את המשתמש אם הם בסכנת שריפה. // מציג גם טמפרטורה על מסך LCD.

// הגדרת DHT

#include // כלול את ספריית DHT

#define dht_dpin A0 // אומר ללוח שסיכת DHT נמצאת בקלט אנלוגי 0

dht DHT; // dht = DHT

// הגדרת קריסטל נוזלית

#include // כלול את ספריית הנוזל קריסטל

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // קיצר ל- LCD /מספר ל- arduino אילו יציאות ה- LCD תופס

// הגדרת RGB + זמזם

#define redpin 1 // מגדיר סיכה אדומה של 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, OUTPUT); // הכריז/הגדר סיכה אדומה כפלט

analogWrite (greenpin, OUTPUT); // הכריז/הגדר את greenpin כפלט

analogWrite (bluepin, OUTPUT); // הכריז/הגדר את התוכנית כפלט

pinMode (buzzerpin, OUTPUT); // הכריז/הגדר buzzerpin כפלט

// מסך LCD

lcd.begin (16, 2); // הגדר מסך LCD כ- 16 עמודות ו -2 שורות}

לולאת חלל () {

// קוד LCD ללא שונות

DHT.read11 (dht_dpin); // קרא גם קלט מ- dht_dpin (A0)

lcd.setCursor (0, 0); // מגדיר את המקלל לעמודה 0, שורה 0

lcd.print ("זה"); // כותב "זה" על מסך ה- LCD

lcd.print (טמפרטורה DHT); // מדפיסה את ערך הטמפרטורה DHT.סיכת DHT בעמודה 0, שורה 0

lcd.print (""); // מדפיסה רווח לאחר הטמפרטורה

lcd.print ((char) 223); // מדפיס סימן תואר לאחר הטמפרטורה

lcd.print ("C"); // מדפיס "c" אחרי סימן התארים לסמל צלזיוס

// הבזק LCD

lcd.setCursor (0, 1); // מגדיר את המקלל לעמודה 0, שורה 1

lcd.noDisplay ();

lcd.print ("אין סכנת אש"); // מדפיסה "אין סיכוי לאש"

lcd.noDisplay (); // מכבה את תצוגת ה- LCD (חלק מהבזק)

עיכוב (1000); // מתעכב למשך שנייה אחת

תצוגת אל סי די(); // מפעיל שוב את תצוגת LCD

עיכוב (1000); // נשאר למשך שנייה אחת

// קוד RGB + BUZZER

analogWrite (סיכה אדומה, 0); // אין פלט מהסיכה האדומה

analogWrite (greenpin, 255); // 255 פלט מ- greenpin (הופך את RGB לירוק)

analogWrite (bluepin, 0); // אין פלט מהסיכה הכחולה

טון (buzzerpin, 20, 20); // // פולט תדר של 20 הרץ למשך 0.02 שניות מזמזם

// אם הטמפ 'הוא 25-30

if ((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 (סיכה אדומה, 255); // 255 פלט מ- Redpin (הופך RGB לצהוב)

analogWrite (greenpin, 255); // 255 פלט מ- greenpin (הופך RGB לצהוב)

analogWrite (bluepin, 0); // אין פלט מהסיכה הכחולה

טון (buzzerpin, 200, 100); // פולט תדר של 200 הרץ למשך 0.1 שניות מזמזם

עיכוב (300); //.3 עיכוב שני

} // אם הטמפ 'הוא 31-37 אחרת אם ((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 (סיכה אדומה, 255); // 255 פלט מ- Redpin (הופך כתום RGB)

analogWrite (greenpin, 165); // 165 פלט מ- greenpin (הופך כתום RGB)

analogWrite (bluepin, 0); // אין פלט מ- bluepin

טון (buzzerpin, 500, 900); // פולט תדר של 500 הרץ למשך 0.9 שניות מהזמזם

עיכוב (300); //.3 עיכוב שני

} // אם הטמפ 'הוא 38-100

אחרת אם ((int (DHT.temperature) = 100.00)) {

lcd.clear (); // מנקה מסך LCD

lcd.setCursor (0, 1); // מגדיר את המקלל לעמודה 0, שורה 1

lcd.print ("התקשר 000"); // מדפיס "התקשר 000" בעמודה 0, שורה 1

lcd.noDisplay (); // מכבה את תצוגת ה- LCD (חלק מהבזק)

השהיה (250); // נשארת למשך 0.25 שניות

תצוגת אל סי די(); // מפעיל שוב את תצוגת LCD

עיכוב (250); // נשאר למשך 0.25 שניות

analogWrite (סיכה אדומה, 255); // 255 פלט מ- Redpin (הופך RGB לאדום)

analogWrite (greenpin, 0); // אין פלט מ- greenpin

analogWrite (bluepin, 0); // אין פלט מ- bluepin

טון (buzzerpin, 1000, 900); // פולט תדר של 1000 הרץ למשך 0.9 שניות מהזמזם

עיכוב (300); //.3 עיכוב שני

}}

מוּמלָץ: