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

מדחום דיגיטלי עם Arduino ו- DS18B20: 7 שלבים
מדחום דיגיטלי עם Arduino ו- DS18B20: 7 שלבים

וִידֵאוֹ: מדחום דיגיטלי עם Arduino ו- DS18B20: 7 שלבים

וִידֵאוֹ: מדחום דיגיטלי עם Arduino ו- DS18B20: 7 שלבים
וִידֵאוֹ: Zigbee монитор мощности постоянного тока на 15 - 200А. Тест, подключение внешних устройств 2024, נוֹבֶמבֶּר
Anonim
מדחום דיגיטלי עם Arduino ו- DS18B20
מדחום דיגיטלי עם Arduino ו- DS18B20
מדחום דיגיטלי עם Arduino ו- DS18B20
מדחום דיגיטלי עם Arduino ו- DS18B20

כל שעליך לעשות הוא ליצור מדחום דיגיטלי שיכול לספר לך את טמפרטורת החדר הנוכחית על מסך LCD. זהו פרויקט למתחילים. מכשיר שאתה צריך: 1. Arduino UNO R3 2. חיישן טמפרטורה DS18B20. 3. תצוגת LCD 16X2. 4. חיבור חוטים. 5. לוח פרויקטים. עכשיו בואו נכין מדחום דיגיטלי….. זהו Atmega168 pinouts עבור arduino. פשוט דלג על זה אם אתה רוצה להכין מדחום זה עם הארדואינו שלך.

שלב 1: הפוך את Arduino על הלוח

הפוך את Arduino על לוח הלחם
הפוך את Arduino על לוח הלחם

יצירת ארדואינו על לוח לוח היא קלה מאוד. כעת ניתן להלן צעד אחר צעד הליך חיווט: 1. פין 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> קריסטל -> קבל 22pF -> GND 4. Pin10-> קריסטל -> 22pF קבל -> GND 5. סיכה 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> 10K רגיסטור ל- GND +כפתור לחיצה ל- +5V עכשיו אתה מוכן ……………..

שלב 2: חיבור LCD

חיבור LCD
חיבור LCD

שלב 3: חיבור חיישן טמפרטורה DS18B20

חיבור חיישן טמפרטורה DS18B20
חיבור חיישן טמפרטורה DS18B20

שלב 4: הכנת המעגל

הכנת המעגל
הכנת המעגל

חבר את ה- LCD עם ה- atmega או הארדואינו לפי דוגמת LCD המוגדרת כברירת מחדל ב- arduino IDE. כעת חבר את אוטובוס ה- DATA DS1307 ל- PIN 7 DIGITAL (סיכת אטמגה 13)

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

#include #include #include int DS18S20_Pin = 7; // DS18S20 סיכת אות דיגיטלית 7 מאת rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // שבב טמפרטורות i/o OneWire ds (DS18S20_Pin); // על סיכה דיגיטלית 7 על ידי הגדרת חלל של rahulmitra (void) {Serial.begin (9600); lcd.begin (16, 2); // הדפס הודעה ל- LCD. lcd.print ("רחול מיטרה"); } לולאת void (void) {float temperature = getTemp (); Serial.println (טמפרטורה); lcd.setCursor (0, 1); lcd.print ("טמפ ':"); lcd.print (טמפרטורה); lcd.print (" *C"); עיכוב (100); // רק כאן כדי להאט את הפלט כך שקל יותר לקרוא} float getTemp () {// מחזיר את הטמפרטורה מ- DS18S20 בנתוני בתים של DEG Celsius [12]; בייט אדר [8]; אם (! ds.search (addr)) {// אין עוד חיישנים בשרשרת, אפס את החיפוש ds.reset_search (); החזר -1000; } if (OneWire:: crc8 (addr, 7)! = addr [7]) {Serial.println ("CRC אינו תקף!"); החזר -1000; } if (addr [0]! = 0x10 && addr [0]! = 0x28) {Serial.print ("המכשיר אינו מזוהה"); החזר -1000; } ds.reset (); ds.select (addr); ds.write (0x44, 1); // התחל את ההמרה, כאשר כוח הטפיל מופעל בתא הסוף הנוכחי = ds.reset (); ds.select (addr); ds.write (0xBE); // קרא את Scratchpad עבור (int i = 0; i <9; i ++) {// אנחנו צריכים 9 בתים נתונים = ds.read (); } ds.reset_search (); בייט MSB = נתונים [1]; בתים LSB = data [0]; float tempRead = ((MSB << 8) | LSB); // שימוש בשני מחמאות של Float TemperatureSum = tempRead /16; Return TemperatureSum; }

שלב 6: סוף סוף סיימת

סוף סוף סיימת
סוף סוף סיימת
סוף סוף סיימת
סוף סוף סיימת

שלב 7: ראה LIVE

www.youtube.com/watch?v=7718FODdtio&list=UUY916I6z4Y3QQhzjHsIhR8w

מוּמלָץ: