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

חיישן טמפרטורה ולחות Arduino: 7 שלבים
חיישן טמפרטורה ולחות Arduino: 7 שלבים

וִידֵאוֹ: חיישן טמפרטורה ולחות Arduino: 7 שלבים

וִידֵאוֹ: חיישן טמפרטורה ולחות Arduino: 7 שלבים
וִידֵאוֹ: הדפסות למסך המחשב בסביבת ארדואינו 2024, יולי
Anonim

מאת Thundertronics עקוב אחר המחבר:

ממיר אנלוגי לדיגיטלי (ADC) PIC16F877A
ממיר אנלוגי לדיגיטלי (ADC) PIC16F877A
ממיר אנלוגי לדיגיטלי (ADC) PIC16F877A
ממיר אנלוגי לדיגיטלי (ADC) PIC16F877A
ממשק LCD עם מיקרו -בקר PIC16F877A
ממשק LCD עם מיקרו -בקר PIC16F877A
ממשק LCD עם מיקרו -בקר PIC16F877A
ממשק LCD עם מיקרו -בקר PIC16F877A
ספק כוח מודולרי של ספסל DIY
ספק כוח מודולרי של ספסל DIY
ספק כוח מודולרי של ספסל DIY
ספק כוח מודולרי של ספסל DIY

במדריך זה, אני הולך להסביר על יצירת חיישן טמפרטורה ולחות באמצעות לוח Arduino pro mini עם חיישן DHT11 (או DHT22).

שלב 1: צפה בסרטון

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

www.youtube.com/watch?v=56LKl7Xd770

שלב 2: חלקים נחוצים

החלקים הדרושים לפרויקט זה הם:

1- לוח מיני Arduino pro (או כל Arduino).

2- חיישן טמפרטורה ולחות DHT11 (או DHT22).

תצוגת LCD בגודל 3-6x2.

4- מארז לבחירתך, רצוי זהה לזה המשמש בסרטון.

5- 10K פוטנציומטר.

6- מסופי ברגים.

7- נגדים לערכים שונים.

סוללה 8-9v.

בעוד שהכלים הדרושים הם:

מקדחה ידנית אחת כמו Dremil.

2- סיביות שונות למקדח, מכיוון שנשתמש בביסי החלקה ובפיסות חיתוך.

3- ידיים עוזרות.

בנוסף, כלי האלקטרוניקה הרגילים כגון מולטימטר וכן הלאה.

שלב 3: עיצוב סכמטי

עיצוב סכמטי
עיצוב סכמטי

בפרויקט זה בחרתי לייצר עבורו PCB במקום לחבר אותו בעצמי. אז השתמשתי בכלי מקוון של EasyEDA לתפקיד שהייתה חוויה נחמדה.

זהו דף הפרויקט באתר easyEDA:

ההסבר הסכמטי הוא כדלקמן:

1- השתמשתי במתאם ICSP בן 6 פינים כדי לתכנת את Arduino pro mini מכיוון שהוא אינו מגיע עם אחד על הלוח. זה J2 בסכימה.

2- R2 הוא 100 אוהם והוא קובע את בהירות ה- LCD. ביסודו של דבר, אתה יכול לשים יותר התנגדות מ- 100R אם אתה רוצה שהתאורה האחורית של LCD תהיה עמומה יותר. או יותר טוב, קבל פוטנציומטר לפעול כהתנגדות סדרה משתנה.

3- JP1 הוא רק מחבר בעל טביעת רגל PCB נחמדה. מעולם לא הצבתי מסוף ממשי אלא הלחמתי את החוטים. עשה כרצונך.

4- U2 הוא מסופי חיבור הסוללה. כאן, אני מעדיף מסופי בורג נחמדים כדי לקבל חיבור יציב. אתה יכול להלחם את החוטים, אך הקפד לשים מספיק הלחמה כדי שהחיבור יהיה מוצק מספיק כדי לעמוד בפני רעידות.

5- LCD1 הוא רכיב ה- LCD ב- easyEDA. יש לו את החיבור הבסיסי ל- Arduino pro mini. ודא שהסיכות כאן זהות לאלה שבתוכנה.

6- RV1 הוא פוטנציומטר 10K להגדרת ניגודיות LCD. יש להשתמש בו פעם אחת בלבד וכאשר אתה מפעיל את ה- LCD לראשונה.

שלב 4: עיצוב PCB

עיצוב PCB
עיצוב PCB
עיצוב PCB
עיצוב PCB

לאחר שסיימתם את העיצוב הסכימטי והבינו מה כל המשמעות, הגיע הזמן להכין עבורו PCB.

עליך ללחוץ על "המר ל- PCB" ב- EasyEDA כדי ליצור את ה- PCB בעורך PCB. לאחר מכן, התחל להציב חלקים ולבצע ניתוב כרגיל. אני מציע לעולם לא להשתמש בנתב האוטומטי.

השתמשתי בהרבה ויאסות כדי לעבור מהשכבה העליונה לתחתונה מכיוון שהמרווח כה קטן.

שלב 5: בנה את ה- PCB

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

החברה המועדפת עלי היא JLCPCB. הם הטובים ביותר לפרויקטים כאלה ואב טיפוס והם מציעים מחיר של 2 $ בלבד עבור 10 חלקים שלמים מהעיצוב שלך!

אז, כעת אנו לוחצים על (….) ובוחרים JLCPCB. אנו מופנים לאתר JLCPCB מכיוון שהם שותפים עם EasyEDA. עכשיו מלאו הכל ובצעו את ההזמנה. עכשיו רק תחכה עד שיגיעו מחשבי PCB.

ראוי להזכיר כי ל- JLCPCB לא רק EasyEDA קשורה אליהם, אלא שיש להם גם חנות רכיבים גדולה! היתרון כאן הוא שליחת הזמנת ה- PCB והזמנת הרכיבים יחד! כן, אין צורך לחכות ש -2 חבילות יגיעו בנפרד, אך במקום זאת הן מגיעות יחד בחבילה אחת. אני ממליץ בחום להשתמש בזה.

שלב 6: הרכבה

יש לנו את ה- PCB לבד עם הכל עכשיו. הגיע הזמן להרכיב הכל ביחד.

ראשית, עלינו להלחם את האלקטרוניקה על פי סכמטי. זוהי משימה קלה לפרויקט זה.

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

כעת עליך להשתמש בפוטנציומטר כדי להתאים את הניגודיות של ה- LCD, תוך בחירת שסתום הנגד הנדרש עבור הבהירות, בחרתי 100R.

שלב 7: קוד

קוד לפרויקט זה מצורף עם שלב זה, וההסבר הוא כדלקמן:

// כלול את קוד הספרייה: #include #include "DHT.h" // הגדר את סיכת DHT #הגדר DHTPIN 2

כלול ספריות נחוצות והגדר את סיכה 2 של Arduino pro mini כסיכת הנתונים של החיישן. הקפד להתקין ספריות אלה אם אין לך אותן.

// לאתחל את הספרייה עם המספרים של סיכות הממשק LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

כעת אתחל את ספריית ה- LCD בעזרת סיכות אלה בהתאם לסכימה עצמה. השתמש גם בספריית DHT ובחר DHT11 כחיישן לשימוש, כך שאם יש לך DHT22 אז עליך לשנות אותו.

בשורה האחרונה כתוב שיש לנו חיישן DHT11 וסיכת הנתונים שלו נמצאת בסיכה "DHTPIN" שהיא סיכה 2 כפי שהגדרנו אותה בעבר.

הגדרת void () {// הגדר את מספר העמודות והשורות של ה- LCD: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("טמפרטורה ו-"); lcd.setCursor (0, 1); lcd.print ("חיישן לחות"); עיכוב (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("חוסם מוגרבי"); עיכוב (3000); }

עכשיו הגיע זמן ההתקנה! והנה מה קורה:

LCD הוא 16 על 2 סוגים.

הפעל את הפקודה DHT כדי לקבל ערכים.

הדפס "חיישן טמפרטורה ולחות" בשתי השורות.

עיכוב של 3 שניות.

תצוגה ברורה

הדפס את "THUNDERTRONICS" בשורה הראשונה ולאחר מכן הדפס את "חוסם מוגרבי" בשורה השנייה.

עיכוב של 3 שניות.

^עשיתי זאת כמסך קבלת פנים שנמשך כ -6 שניות בערך לפני הצגת ערכים.

לולאת void () {// קריאת לחות int h = dht.readHumidity (); // קרא טמפרטורה ב- c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("ERROR"); לַחֲזוֹר; }

עכשיו אנחנו בתוך הלולאה הנצחית שלנו שתמשיך לחזור על עצמה.

אחסן קריאות לחות בתוך משתנה "h" וקריאות טמפרטורה בתוך משתנה "t".

לאחר מכן, יש לנו הצהרת if. זה בעצם מחזיר הודעת שגיאה כשיש שגיאה. עזבו אותו מבלי לשנות אותו.

עכשיו יש לנו את כל הערכים הדרושים לנו.

lcd.setCursor (0, 0); lcd.print ("טמפ '="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("לחות ="); lcd.print (h); lcd.print (" %"); // lcd.print ("חוסם מוגרבי"); עיכוב (2000);

לבסוף, אנו מציגים ערכים אלה בתצוגת LCD. אתה יכול לשנות את זה כמו שאתה רוצה כי זה פשוט הדפסת ערכים בתוך משתני "h" ו- "t". הצבת עיכוב של 2 שניות היא די אופציונלית, אך לא תרוויח הרבה מלעשות את זה מהר יותר מכיוון שהחיישן עצמו לא כל כך מהיר וגם אם כן, עדיין הערכים הפיזיים לעולם לא משתנים כל כך מהר. אז 2 שניות מאוד מאוד מהירות לתפקיד!

זהו זה!

מוּמלָץ: