תוכן עניינים:
וִידֵאוֹ: לקוח/מכשיר עבדים (חיישן) ארדואינו חד-חוטי: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
אנא קרא את ההקדמה ואת שלב 2 בהוראותי כיצד לבנות תצוגה בעלת חוט חד-חוטי Arduino (144 תווים) על מנת לקבל מידע נוסף על המצב והספריות הזמינות. כפי שהוסבר שם נשתמש בספריית OneWire-Hub (אמולטור מכשירי עבד OneWire) על ידי אורגואה (שימו לב שישנן מזלגות אחרות בסביבה) על מנת לבנות התקנים כלליים של חוט אחד (למשל חיישנים) באמצעות Arduino.
שלב 1: תוכנה
הדבר החשוב ביותר הוא לייצר מכשיר שיכול להחזיר בעצם כל סוג של ערך בצורה פשוטה. המשמעות היא שניתן להשתמש בתוכנה סטנדרטית לקריאת כל הערכים ישירות (אין צורך בשיחה או מניפולציה בינארית). לשם כך אנו זקוקים למכשיר ברירת מחדל חד-חוטי פשוט מאוד שיכול להחזיר מצופים ונתמך באופן נרחב. הבחירה היחידה שאני יודע עליה היא מדחום DS18B20 (צג הסוללות DS2438 מעניין וגם שימושי אך מורכב למדי ולכן איטי בין חסרונות אחרים). ספריית OneWire-Hub מכילה דוגמה בשם DS18B20_asInterface שעושה בדיוק את מה שאנחנו צריכים. הוא יוצר חבורה של DS18B20 שמתוכם כל אחד מייצג ערך צף אחד אותו אנו רוצים להחזיר מהחיישן (ים) שלנו. המגבלות כאן הן הרזולוציה והערכים חייבים להיות בטווח -55, 0… 125, 0. ניתן להשיג זאת בקלות - במקרה הגרוע ביותר - שינוי גודל - ולמעשה טוב יותר מהערכים שניתן לייצג על ידי למשל ערכי DS2438 (1.5 עד 10V). לחלופין ניתן להגדיר טווח ערכים גדול יותר באמצעות:
setTemperatureRaw (static_cast (ערך * 16.0f));
אך ייתכן שקריאה ועיבוד ערכים אלה אינם נתמכים על ידי כל התוכנות מכיוון שמדובר במפרט.
מה שאתה צריך להיות מודע אליו הוא שבתחילה המספר המרבי של עבדים מוגבל ל -8 אך ניתן לשנות אותו ב- "OneWireHub_config.h" על ידי הגדלת HUB_SLAVE_LIMIT עד 32. כמו כן עליך להקפיד לאמץ ONEWIRE_TIME_MSG_HIGH_TIMEOUT במידת הצורך על ידי רשת חד-חוטית (למשל x10), כפי שהוסבר בשלב 2 של תצוגת 1-חוט Arduino (144 תווים). וכדי להשתמש בגרסת IDE> = 1.8.3 כדי לאסוף ולהעלות את הקוד לארדואינו שלך.
הנה כדוגמה את הקוד של המכשיר שאני בונה ממש לאחרונה. כיוון שאני מניח שלא תשתמש באותו שילוב של חיישנים שאני עושה אני לא אפרט כאן יותר פרטים, בדוק את הקוד ושאל שאלות אם אתה זקוק לעזרה.
שלב 2: חומרה
בעצם כל מה שאתה יכול לחבר ל- Arduino יכול לשמש כחיישן המועדף עליך. ההגבלה היחידה היא שקריאת החיישן צריכה להיות מהירה ככל האפשר על מנת שיהיה מספיק זמן עד שתתקיים תקשורת חד-חוטית (העניקו שלב 2 של ההנחיה שלי לגבי תצוגת 1-חוט Arduino (144 תווים) על מנת כדי לקבל דוגמא).
דוגמה לחומרה אפשרית יכולה להיות תחנת מזג אוויר כמו למשל:
https://shop.boxtec.ch/wetter-messer-p-41289.html
בנוסף או שבמקום פשוט תרצה להשתמש ב- Arduino עצמו כחיישן שלך. אתה יכול לקרוא עוד על כך במדריך שלי אודות התכונות הידועות של Arduino פחות - ערכים אפשריים הם מתח המקור והטמפרטורה הפנימית.
הנה כדוגמה תמונה של המכשיר שאני בונה ממש לאחרונה. כיוון שאני מניח שלא תשתמש באותו שילוב של חיישנים שאני עושה אני לא אפרט כאן יותר פרטים, בדוק את הקוד ושאל שאלות אם אתה זקוק לעזרה.
שלב 3: בדוק את המכשיר
חבר אותו לרשת שלך ובדוק בתוכנתך אם כל מזהי ה- ROM קיימים והערכים שהם מחזירים כטמפרטורה.
שלב 4: נספח: ATtiny85
ניתן לבצע התקנים בודדים (הגבלת זיכרון) גם ב- ATtiny85. זה דורש כמה שלבים כאשר אנו מתכנתים את ה- ATtiny85 באמצעות Arduino Uno כספק ספק בעזרת ה- Arduino IDE:
-
קישורים
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- השתמש ב- Arduino IDE> = 1.8.3
-
התקן את האפשרות ATtiny ל- IDE
- קובץ> העדפות> כתובות אתרים נוספות של מנהל לוחות:
- כלים> לוח: ??? > מנהל לוחות…
- חפש: "זעיר" והתקן
-
העלה סקיצה של ספק האינטרנט ל- Uno
קובץ> דוגמאות> ArduinoISP> ArduinoISP
-
הכנס את ATtiny85 לשקע התכנות (אפס כוח) וחבר אותו:
- פין Arduino MOSI D11 עד פין ATtiny 5
- פין Arduino MISO D12 ל- ATtiny Pin 6
- פין Arduino SCK D13 עד פין ATtiny 7
- איפוס פין Arduino ל- D10 ל- PIN זעיר 1
- פין Arduino GND ל- ATtiny Pin 4
- פין Arduino VCC ל- ATtiny Pin 8
- (> = כובע 10uF על סיכת Unet RESET של Arduino Uno עשוי להיות נחוץ)
-
בחר ATtiny85 (ראה תמונה):
- לוח: "ATtiny25/45/85"
- שעון טיימר 1: "מעבד"
- B. O. D: "B. O. D. נכה"
- LTO (1.6.11 + בלבד): "מושבת"
- שבב: "ATtiny85"
- שעון: "8 מגה -הרץ (פנימי)" (תואם ATtiny85 ו- ATtiny84)
- שעון: "16 מגהרץ (PLL)" (הגדרה חלופית ל- ATtiny85 בלבד)
- נמל: ???
-
בחר מתכנת:
כלים> מתכנת: "Arduino as ISP" (לא "ArduinoISP"!)
-
הגדר הגדרות נתיכים (שעון וכו '):
כלים> צריבת מטען אתחול
- העלה קוד זה (נורית שגיאת מתכנת צריכה להיות כבויה, אחרת אפס אותו)
-
פריסת פינים של ATtinyX5 (ATtiny85):
- פין 1: PB5 (RST)
- פין 2: PB3 (A3) - מחובר אופציונאלי באמצעות 220ohm ל- 1 <-TX
- פין 3: PB4 (A2) - מחובר ל- DATA של חוט אחד
- פין 4: GND - מחובר ל- GND
- פין 5: PB0 (PWM) - מחובר לחיישן I2C SDA
- פין 6: PB1 (PWM) - מחובר ל- LED עם 4.7k ל- GND
- פין 7: PB2 (A1) - מחובר לחיישן I2C SCL
- פין 8: VCC - מחובר ל- 5V
העבודה עם ATTiny85 דורשת קצת יותר עבודה מכיוון שאתה צריך להשיג ספריות נוספות עבור I2C comm (adafruit/TinyWireM) ופלט סדרתי (TinyDebugSerial). בנוסף מכיוון שהזיכרון די מוגבל אולי תרצה לעבוד הרבה עם #define למשל להסרת איתור באגים סדרתי. בדוגמה אתה יכול לראות את כל זה נזרק יחד.
לבדיקה השלב הראשון הוא לבדוק אם הנורית מהבהבת בתדר הנכון, 0.5Hz. לאחר מכן חבר אותו לאוטובוס 1wire ובדוק אם יש את המכשיר החדש.
מוּמלָץ:
מכשיר ASS (מכשיר חברתי אנטי חברתי): 7 שלבים
מכשיר ASS (מכשיר חברתי אנטי-חברתי): אמור שאתה הבן אדם שאוהב להיות בסביבה של אנשים אבל לא אוהב שהם מתקרבים מדי. אתה גם מענג אנשים ומתקשה להגיד לא לאנשים. אז אתה לא יודע איך להגיד להם לסגת. ובכן, הכנס - מכשיר ASS! Y
שניהם מצב ESP8266 (AP ומצב לקוח): 3 שלבים
שניהם מצב ESP8266 (AP ומצב לקוח): במאמר הקודם הכנתי הדרכה כיצד להגדיר את המצב ב- ESP8266, שהוא כנקודת גישה או תחנת wifi וכלקוח wifi. במאמר זה אראה לך כיצד כדי להגדיר את מצב ESP8266 להיות שני המצבים. כלומר, במצב ESP8266 זה יכול
[Home IoT] מכשיר לקוח ESP8266 MQTT: 7 שלבים
[Home IoT] ESP8266 מכשיר לקוח MQTT: מעניין להשתמש ב- MCU זול המאפשר WiFi עם פרוטוקול MQTT לשליטה במכשירים כגון מזין המים האוטומטי לחתול שלי. יש את הבלוג שלי למידע מפורט יותר (https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
מכשיר קרינת השמש (SID): חיישן סולארי מבוסס ארדואינו: 9 שלבים
מכשיר קרינת השמש (SID): חיישן סולארי מבוסס ארדואינו: מכשיר קרינת השמש (SID) מודד את בהירות השמש, ומיועד במיוחד לשימוש בכיתה. הם בנויים באמצעות Arduinos, מה שמאפשר ליצור אותם על ידי כולם, החל מתלמידי חטיבת הביניים ועד מבוגרים. אינסט זה
HC - 06 (מודול עבדים) שינוי "NAME" ללא שימוש "צג ארדואינו סדרתי" ש"עובד בקלות ": דרך ללא תקלות!: 3 שלבים
HC - 06 (מודול עבדים) שינוי "NAME" ללא שימוש "צג ארדואינו סדרתי" … ש"עובד בקלות ": דרך ללא תקלות!: אחרי " זמן רב " מנסה לשנות שם על HC - 06 (מודול עבדים), באמצעות " צג סדרתי של הארדואינו, ללא " הצלחה ", מצאתי דרך קלה נוספת ואני משתפת עכשיו! שיהיה כיף חברים