בניית מדחום ארדואינו עשה זאת בעצמך היא דרך מהנה ופרקטית להרחיב את כישורי ההתעסקות שלך, אבל מאיפה כדאי להתחיל? הצטרפו אלינו כשאנחנו מתעמקים בחיווט ובקידוד שמשמשים להפיכת Arduino, בדיקת טמפרטורה DS18B20, ותצוגת OLED לתוך מדחום דיגיטלי מדויק שיכול לעבוד היטב בחדרים, מיכלי דגים ואפילו מחוץ לבית.
מה אתה צריך כדי לעשות מדחום ארדואינו דיגיטלי עשה זאת בעצמך?
את כל הרכיבים הללו ניתן למצוא באתרים כמו eBay ואמזון.
לוח ארדואינו
אתה יכול להשתמש כמעט בכל Arduino עם פלט 5V עבור הפרויקט הזה. אנו משתמשים ב- Arduino Pro Micro כך שהמדחום המוגמר שלנו יהיה קומפקטי, אבל אתה יכול להשתמש בלוח גדול יותר כמו Arduino Uno אם תרצה להימנע מהלחמה עבור פרויקט זה.
בדיקת טמפרטורה DS18B20
חיישני טמפרטורה DS18B20 יכולים להימצא כחיישנים קטנים עצמאיים, PCBs עם חיישנים מחוברים, או כבדיקות אטומות למים על חוטים ארוכים. בחרנו באחרון, מכיוון שזה מאפשר לנו להשתמש במדחום שלנו בתוך מיכל דגים, אבל אתה יכול לבחור כל גרסה של חיישן הטמפרטורה DS18B20. בניגוד לסוגים אחרים של חיישני טמפרטורה, DS18B20s מספקים אות ישיר לדיגיטלי לארדואינו שלך, במקום האותות האנלוגיים שמגיעים מאפשרויות כמו חיישני טמפרטורה LM35.
מסך OLED/LCD
לתצוגה שתבחר למדחום שלך תהיה השפעה גדולה על המוצר המוגמר. בחרנו צג OLED לבן מונוכרום תואם I2C בגודל 1.3 אינץ' למדחום שלנו, אבל אתה יכול לבחור מה שאתה אוהב כל עוד הוא תומך ב-I2C.
חלקים קטנים נוספים
- נגד 4.7K (קילוהם).
- חוט מבודד 28 עד 22 AWG סיליקון/PVC
- קרש לחם (אופציונלי למי שלא מעוניין להלחים)
חיווט מדחום עשה זאת בעצמך
החיווט עבור הפרויקט הזה הוא הרבה יותר פשוט ממה שאתה יכול לדמיין. באמצעות דיאגרמת המעגלים שלמעלה, אתה יכול ליצור מדחום דיגיטלי בעצמך בעצמך עם מעט מאמץ, אבל פירקנו גם את הדיאגרמה למטה כדי להקל על המעקב.
חיווט את בדיקת הטמפרטורה DS18B20
חיווט נכון של בדיקה טמפרטורה DS18B20 שלך הוא חיוני לפרויקט זה, ואתה צריך לוודא שאתה משתמש בנגד 4.7K שהזכרנו קודם לכן, אחרת הגשש שלך לא הולך לעבוד כמו שצריך. הגשש מגיע עם שלושה חוטים: הארקה (בדרך כלל שחור), VCC (בדרך כלל אדום) ונתונים.
- VCC מתחבר לפין 5V ב-Arduino שלך
- הארקה מתחברת לפין GND ב-Arduino שלך
- נתונים יכולים להתחבר לכל פין דיגיטלי ב-Arduino שלך (בחרנו פין דיגיטלי 15)
- גם חוטי הנתונים וה-VCC צריכים להיות מחוברים זה לזה עם נגד 4.7K
חיווט של תצוגת I2C OLED
מכיוון שאנו משתמשים בחיבור I2C בין צג ה-OLED שלנו לארדואינו, עלינו לחבר רק ארבעה חוטים לפני שנוכל להתחיל להשתמש בתצוגה שלנו: VCC, Ground, SDA ו-SCL. כמעט לכל ארדואינו מודרני יש פיני SDA ו-SCL מובנים, המספקים את היכולת לחבר עד 128 רכיבי I2C ייחודיים ללוח בודד.
ל-Arduino Pro Micro שלנו יש SDA על פין דיגיטלי 2 ו-SCL על פין דיגיטלי 3, אבל ייתכן שתצטרך לחפש דיאגרמת פינ-אאוט של הלוח הספציפי שבחרת לפני שתתחיל.
- VCC מתחבר לפין 5V ב-Arduino שלך
- הארקה מתחברת לפין GND ב-Arduino שלך
- SDA מתחבר לפין SDA ב-Arduino שלך
- SCL מתחבר לפין SCL ב-Arduino שלך
בדיקת המעגל שלך
זה חיוני שתבדוק את המעגל שיצרת לפני שתתחיל לכתוב את הקוד הסופי עבורו, אבל אתה יכול להשתמש בפרויקטים לדוגמה שמגיעים עם הספריות הנדונות להלן כדי לבדוק את המעגל שיש לך עָשׂוּי.
קידוד חיישן הטמפרטורה שלך ותצוגת OLED
קידוד מדחום הדיגיטלי שלך עשה זאת בעצמך מסובך יותר מאשר לחבר אותו, אבל ניתן להשתמש ב- Arduino IDE בשביל זה כדי להקל על זה.
בחירת הספריות הנכונות
- ספריית תצוגה OLED: אנו משתמשים בספריית Adafruit_SH1106.h לתצוגה שלנו, מכיוון שזו הספרייה שהיא תוכננה לעבוד איתה. צגי OLED אחרים עשויים להשתמש בספריות משלהם, כמו ספריית Adafruit_SSD1306.h, ובדרך כלל תוכל לגלות איזו מהן אתה צריך מדף המוצר שממנו קיבלת את התצוגה שלך.
- בדיקת טמפרטורה DS18B20: אנחנו צריכים שתי ספריות עבור בדיקת הטמפרטורה שלנו. DallasTemperature.h משמש לאיסוף נתוני טמפרטורה, ו-OneWire.h כדי לאפשר את החיבור החוט היחיד שלנו.
לאחר שספריות אלו הותקנו ונכללו בפרויקט שלך, הקוד שלך אמור להיראות בערך כמו הקטע למטה. שימו לב שכללנו גם קוד להגדרת הפינים עבור הרכיבים שלנו.
#לִכלוֹל //ספריית תצוגה
#לִכלוֹל
#לִכלוֹל //ספריית בדיקה זמנית
#define OLED_RESET -1
Adafruit_SH1106 תצוגה (OLED_RESET);
#define ONE_WIRE_BUS 15 // סיכת חוט נתונים של בדיקה זמנית
OneWire oneWire (ONE_WIRE_BUS); //תגיד ל-OneWire באיזה פין אנחנו משתמשים
חיישני טמפרטורה של Dallas(&oneWire); //הפניה של OneWire לטמפרטורת דאלאס
בניית הפונקציות
- הגדרה בטלה: אנו משתמשים בתקן להכין פונקציה לאתחל גם את התצוגה שלנו וגם את בדיקת הטמפרטורה שלנו.
- לולאה ריקה: הסטנדרט שלנו לוּלָאָה הפונקציה תשמש רק כדי לקרוא את שלנו לְהַצִיג פוּנקצִיָה.
- תצוגה בטל: הוספנו א לְהַצִיג פונקציה הקוראת שלנו טמפ' מתפקד ומספק מידע לתצוגה שלנו.
- int Temp: שלנו טמפ' הפונקציה משמשת כדי לקבל קריאת טמפרטורה עבור שלנו לְהַצִיג פוּנקצִיָה.
לאחר השלמתו, זה אמור להיראות כמו הקטע למטה.
void setup() {
}
void loop() {
}
void Display() {
}
int Temp() {
}
קידוד תצוגת OLED
לפני שנוכל להוסיף קוד לנו לְהַצִיג פונקציה, עלינו לוודא שפאנל ה-OLED מאותחל ב- שלנו הגדרה בטלה פוּנקצִיָה. ראשית, אנו משתמשים ב-a display.begin פקודה כדי להתחיל את התצוגה, ואחריה א display.clearDisplay הפקודה כדי לוודא שהתצוגה ברורה.
void setup() {
display.begin (SH1106_SWITCHCAPVCC, 0x3C); //שנה בהתבסס על ספריית התצוגה שלך
display.clearDisplay();
}
מכאן, נוכל להוסיף קוד לשלנו לְהַצִיג פוּנקצִיָה. זה מתחיל באחר display.clearDisplay הפקודה, לפני הכרזה על משתנה מספר שלם חדש עם ערך שקורא ל- טמפ' פונקציה (נסקור זאת בהמשך). לאחר מכן נוכל להשתמש במשתנה זה כדי להציג את הטמפרטורה בתצוגה באמצעות הקוד הבא.
void Display() {
display.clearDisplay();
int intTemp = Temp(); //קורא לפונקציית Temp שלנו
display.setTextSize (3); //מגדיר את גודל הטקסט שלנו
display.setTextColor (לבן); //מגדיר את צבע הטקסט שלנו
display.setCursor (5, 5); //מגדיר את מיקום הטקסט שלנו בתצוגה
display.print (intTemp); //מדפיס את הערך המסופק על ידי הפונקציה Temp
display.drawCircle (44, 7, 3, WHITE); //מצייר סמל תואר
display.setCursor (50, 5);
display.print("C"); //מוסיף C כדי לציין שהטמפרטורה שלנו היא בצלזיוס
}
קידוד בדיקת הטמפרטורה DS18B20
כמו התצוגה שלנו, גם בדיקת הטמפרטורה שלנו זקוקה לקוד הגדרה כדי לאתחל את הרכיב.
void setup() {
display.begin (SH1106_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
sensors.begin();
}
לאחר מכן, הגיע הזמן לתכנת את הגשושית עצמה, ואנחנו צריכים להוסיף קוד לנו טמפ' פוּנקצִיָה. ראשית, נבקש את הטמפרטורה מהבדיקה שלנו, ולאחר מכן נרשום את התוצאה כמשתנה צף והמרתה למספר שלם. אם תהליך זה מצליח, הטמפרטורה מוחזרת ל- לְהַצִיג פוּנקצִיָה.
int Temp() {
sensors.requestTemperatures(); // שלח את הפקודה כדי לקבל טמפרטורות
float tempC = sensors.getTempCbyIndex (0); //זה מבקש את הטמפ' בצלזיוס ומקצה אותו לצוף
int intTemp = (int) tempC; //זה ממיר את הצף למספר שלם
if (tempC != DEVICE_DISCONNECTED_C) //בדוק אם הקריאה שלנו עבדה
{
החזר intTemp; //החזר את ערך הטמפרטורה שלנו לפונקציית התצוגה
}
}
מסיים
לבסוף, אנחנו רק צריכים לספר את העיקר שלנו לוּלָאָה פונקציה לקרוא שלנו לְהַצִיג פונקציה עם כל מחזור של הקוד, ומשאירה אותנו עם פרויקט שנראה כך.
#לִכלוֹל //ספריית תצוגה
#לִכלוֹל
#לִכלוֹל //ספריית בדיקה זמנית
#define OLED_RESET -1
Adafruit_SH1106 תצוגה (OLED_RESET);
#define ONE_WIRE_BUS 15 // סיכת חוט נתונים של בדיקה זמנית
OneWire oneWire (ONE_WIRE_BUS); //תגיד ל-OneWire באיזה פין אנחנו משתמשים
חיישני טמפרטורה של Dallas(&oneWire); //הפניה של OneWire לטמפרטורת דאלאס
void setup() {
display.begin (SH1106_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
sensors.begin();
}
void loop() {
לְהַצִיג(); //קורא לפונקציית התצוגה שלנו
}
void Display() {
display.clearDisplay();
int intTemp = Temp(); //קורא לפונקציית Temp שלנו
display.setTextSize (3); //מגדיר את גודל הטקסט שלנו
display.setTextColor (לבן); //מגדיר את צבע הטקסט שלנו
display.setCursor (5, 5); //מגדיר את מיקום הטקסט שלנו בתצוגה
display.print (intTemp); //מדפיס את הערך המסופק על ידי הפונקציה Temp
display.drawCircle (44, 7, 3, WHITE); //מצייר סמל תואר
display.setCursor (50, 5);
display.print("C"); //מוסיף C כדי לציין שהטמפרטורה שלנו היא בצלזיוס
}
int Temp() {
sensors.requestTemperatures(); // שלח את הפקודה כדי לקבל טמפרטורות
float tempC = sensors.getTempCbyIndex (0); //זה מבקש את הטמפ' בצלזיוס ומקצה אותו לצוף
int intTemp = (int) tempC; //זה ממיר את הצף למספר שלם
if (tempC != DEVICE_DISCONNECTED_C) //בדוק אם הקריאה שלנו עבדה
{
החזר intTemp; //החזר את ערך הטמפרטורה שלנו לפונקציית התצוגה
}
}
בניית מדחום דיגיטלי עשה זאת בעצמך
פרויקט זה צריך להיות מהנה ואינפורמטיבי, ובמקביל לתת לך את ההזדמנות ליצור פריט מעשי. תכננו את הקוד הזה כך שיהיה פשוט ככל האפשר, אבל אתה יכול להשתמש בו כבסיס לפרויקט מסובך יותר תוך כדי למידה.
מתעניין בפרויקטים של Arduino אבל לא בטוח מאיפה להתחיל? פרויקטים אלה למתחילים ילמדו אותך איך להתחיל.
קרא הבא
- עשה זאת בעצמך
- ארדואינו
- מכשירי חשמל

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