תוכן עניינים:
- שלב 1: איסוף רכיבים
- שלב 2: התקנת הספרייה שלנו
- שלב 3: התקנת ספריות נדרשות
- שלב 4: הרכבת המודול
- שלב 5: כתיבת סקיצת מודול הבהירות
- שלב 6: בדיקת מודול AtHome שלנו
- שלב 7: בניית מארז למודול
וִידֵאוֹ: בנה מודול בהירות עם AtHome: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
AtHome הוא פרויקט סטודנטים מלא לפתוח תוכנה ותוכנת תוכנה פתוחה שנעשה על ידי קבוצת AtHome מבית Epitech, שמטרתו לפתח פתרון מחובר של מספר מודולי חיישן בודדים המתקשרים עם מסד נתונים המתארח בעצמו וחושף API המשמש להזנת יישום סמארטפון ויישום אינטרנט. המודולים עוקבים אחר הסביבה הפנימית של בית ומסוגלים לתת משוב ויזואלי למשתמש, החל מירוק (טוב) לאדום (רע) והנתונים המועברים נראים על ידי המשתמש באמצעות תקשורת טורית של מודול או הלאה. היישומים שלנו אם אתה משתמש בהם.
למרות שפרויקט זה עדיין נמצא בפיתוח פעיל, הפונקציונליות הבסיסית של המודולים שלנו מוכנה כעת וכביכול קלה לשימוש לפיתוח מודולים מותאמים אישית. לכן, בגלל זה אני מציע לך לראות כיצד לבנות מודול פשוט משלך עם דוגמה זו של מודול זוהר.
מודולים אלה בנויים בעצם עם לוח תואם Arduino (ליבה חלקית של Arduino אמורה להספיק כל עוד יש לה זרם, Wire ותמיכת זרם UART), LED (אדום או RGB) הופך לאדום במקרה של בעיה, חיישן, ספק כוח (ספק כוח או סוללה) ומארז בחיתוך לייזר.
כן, זה בהחלט לא חדש, יש הרבה פרויקטים של חיישן, אבל אנו מקווים שתכונות אחרות כגון זיהוי בעיות בריאות, תקשורת ואחסון מידע בשרת המתארח בעצמו ויישום ויזואליזציה יעזרו לך. או אם אתה רק רוצה לעקוב אחר הבית שלך, פרויקטים פשוטים או לא פחות מעניינים:)
שלב 1: איסוף רכיבים
לפרויקט זה, תזדקק לכמה רכיבים לבניית מודול AtHome שלך:
- 1x לוח תואם Arduino: כאן אשתמש ב- UNO Arduino (אך הוא עובד גם עם לוחות אחרים כגון TI Launchpads ולוחות ESP8266)
- חיישן 1x: אשתמש בחיישן בהירות TSL2561 (רשימת החיישנים הנתמכים זמינה בתיעוד הספרייה שלנו)
- 1x LED: אשתמש כאן ב- LED מסוג RGB ל- Grove Chainable (אבל זה יכול להיות גם LED אדום פשוט או NeoPixel)
- חוטי דופונט
רשימת הרכיבים התואמים זמינה בתיעוד הפרויקט שלנו.
שלב 2: התקנת הספרייה שלנו
כדי להתקין את הספרייה שלנו, יהיה עליך להוריד מהמאגר שלנו (נפרסם אותה מאוחר יותר ברשימת Arduino IDE ו- PlatformIO) עם קישור זה:
gitlab.com/Woodbox/Framework/-/jobs/artifacts/master/download?job=deploy
לאחר מכן, היכנס ל- IDE של Arduino ובחר "סקיצה> כלול ספרייה> הוסף ספריית ZIP …". לאחר מכן בחר את קובץ ה- zip בשם "artifacts.zip" ולחץ על "אישור".
שלב 3: התקנת ספריות נדרשות
כדי לעבוד, הספרייה שלנו צריכה להתקין ספריות אחרות במחשב שלך:
- ספריית מתכנן המשימות של Arkhipenko
- ספריית חיישן אור דיגיטלי SEEED Studio Grove
- SEEED Studio Grove שרשרת RGB LED ספריית
- ספריית NeoPixel של Adafruit
תוכל להתקין אותן באמצעות מנהל הספרייה של Arduino IDE, על ידי מעבר ל"סקיצה ">" כלול ספרייה ">" נהל ספריות … ".
בחלון החדש שייפתח, כתוב בסרגל החיפוש הלבן את שם הספרייה שברצונך להתקין ולאחר מכן לחץ על הבלוק שלה. יופיע כפתור "התקן", אתה רק צריך ללחוץ עליו וה- IDE יוריד אותו ויתקין אותו עבורך.
שלב 4: הרכבת המודול
נתחיל בחיישן. חבר באמצעות חוט את סיכת ה- VCC של ה- TSL2561 לסיכה 5V של הארדואינו, את סיכת ה- GND של החיישן לאחד מסיכת ה- GND של הארדואינו ולסיכות ה- SDA וה- SCL של החיישן לסיכות ה- SDA וה- SCL של הארדואינו. עכשיו סיימת!
כעת, חבר את סיכת ה- VCC של נורית ה- RGB של Grove Chainable לסיכה 5V של ה- Arduino ואת סיכת ה- GND של ה- LED ל- GND השני של ה- Arduino. אם אתה Arduino כמו סיכת 5V אחת בלבד, תוכל להשתמש בלוח לחם כדי לחבר את 5V של Arduino לשורה + של לוח הלחם ולחבר את כל סיכות 5V המרכיבים עליו, או להלחם אותם יחד על פיסת לוח או השתמש במחברי wago או מה שאתה מעדיף. כעת, חבר את סיכת ה- CI של ה- LED שלך לסיכה 7 של ה- Arduino שלך ואת סיכת ה- DI של ה- LED שלך לסיכה 8 של ה- Arduino שלך. אם אין לך נורית כזאת, אל תדאג, אפשר להשתמש במנורת הלייד המובנית של לוח ה- Arduino שלך או בקלאסי עם שינוי קטן בקוד.
שלב 5: כתיבת סקיצת מודול הבהירות
בואו ניצור סקיצה חדשה ונכתוב את הקוד למודול שלנו.
אם אינך מעוניין בהסבר הסקיצה, תוכל פשוט להעתיק ולהדביק אותו ב- IDE Arduino שלך:
#לִכלוֹל
שימוש ב- LightModule = AtHomeModule; Stream *streams = {& סידורי, nullptr}; GroveChainableLED:: סיכות grovePins = {7, 8}; GroveChainableLED led (& grovePins); מודול LightModule *= LightModule:: getInstance (); התקנת void () {// שים את קוד ההתקנה שלך כאן, להפעלה פעם אחת: Serial.begin (9600); module-> setStreams (זרמים); GroveDigitalLightSensor *lightSensor = חדש GroveDigitalLightSensor (); module-> setSensor (lightSensor); module-> setDisplay (& led); module-> setup (); } לולאת void () {// שים את הקוד הראשי שלך כאן, להפעלה שוב ושוב: module-> run (); }
אם אתה רוצה להבין את כל מה שהקוד הזה עושה, אתה יכול לקרוא את הדברים הבאים או אם אתה לא מעוניין, אתה יכול לקפוץ ישירות לשלב הבא.
כדי להתחיל, עלינו לכלול את הספרייה שלנו במערכון שלנו על ידי כתיבת שורה זו בראש הסקיצה:
#לִכלוֹל
כעת עלינו ליצור כינוי לאובייקט המודול בו נשתמש. אתה יכול לראות את זה כקופסה עם מספר כפתורים המשמשים לשינוי הרכיבים שלה, להפעיל אותה, לעצור אותה, וכו '. מכיוון שהוא קופסה שנבנית על ידי תבנית (כמו תבנית רגילה בה אנו משתמשים לפרויקטים כבני אדם, יש לה בסיס התחלה והמהדר של Arduino בונה את הקוד הסופי על סמך פרמטרים שאנו נותנים לו) המגדיר את הסוג המייצג ערך חיישן ואת מספר ערכי החיישנים שברצוננו להחזיק בזיכרון, הוא מצוין בשם שלו ובדרך כלל יש לחזור עליו בכל פעם שאנו רוצים להשתמש בו. וזה קצת מעצבן, לכן נקשר שם חדש, כינוי, לשם המלא של התיבה הזו.
נניח למשל שאני רוצה שהתיבה הזו תקרא "LightModule", מכיוון שהיא תשמש ליישום מודול ניטור בהירות ואני רוצה לשמור על ערך אחד בכל פעם. הבהירות מיוצגת בלוקס כסוג אינטגרלי על ידי חיישן TSL2561 שלנו, המיוצג כ- uint16_t על ידי מחשבים. הכינוי שלנו יראה כך:
שימוש ב- LightModule = AtHomeModule;
פירוש מילת המפתח "שימוש" שאנו יוצרים כינוי והשם שאנו נותנים לו רק לאחר תואם את הרצף שאחרי התו "=".
"AtHomeModule" הוא השם האמיתי של התיבה הזו שאנו נותנים לה שם חדש, והפרמטרים המגדירים את ייצוג הערך ואת מספר הערכים הנשמרים בזיכרון מופיעים בין "".
כעת, כאשר נשתמש מאוחר יותר בשם "AtHomeModule", Arduino יידע שהוא מתייחס לשם המלא "AtHomeModule".
אם אתה רוצה שהתיבה שלך תוכל לשמור 5 ערכים בזיכרון במקום 1, אתה רק צריך להחליף את "1" ב- "5" וארדואינו ייצר עבורך סוג אחר של תיבות שיוכל לעשות מה שאתה רוצה. עם זאת, שים לב שאם המודול מתוכנת לשלוח את הערכים שלו לפני שיהיה לו זמן למדוד ביעילות 5 ערכים של החיישן, לעולם לא תראה 5 מהם נשלחים מכיוון שהוא שולח רק את הערכים החדשים מאז ההעלאה האחרונה.
לאחר מכן, עלינו ליצור מערך של מצביעים המכילים מצביעים על זרמי ארדואינו המשמשים את המודול לתקשורת, המסתיימים תמיד על ידי "nullptr" keyworkd. כאן, אני משתמש רק בזרם ה"סריאלי "של הארדואינו המתקשר עם המחשב באמצעות יציאת ה- USB, כך שהמערך נראה כך:
Stream *streams = {& סידורי, nullptr};
התו "*" פירושו שהסוג הוא מצביע (מיקום האלמנט, לא האלמנט עצמו) והסוגריים "" פירושו בארדואינו מערך, כך שנוכל לשים ערכים מרובים.
לאחר מכן, עלינו ליצור את ה- LED שלנו. לשם כך עלינו לכתוב את שתי השורות הבאות;
GroveChainableLED:: סיכות grovePins = {7, 8};
GroveChainableLED led (& grovePins);
אם אין לך נורית Grove RGB אך עדיין רוצה משוב ויזואלי, תוכל לעשות זאת באמצעות שינוי פשוט בסקיצה. החלף את שתי השורות הקודמות בשורה זו:
LED מונוכרומטי (LED_BUILTIN);
בתצורה זו נורית ה- LED המובנית הירוקה תידלק כל עוד הערך המנוטר תקין לבריאות ויכבה כשהוא מחוץ לקשר. אם אתה מעדיף להדליק אותו כשהוא מחוץ לקשר (מכיוון שאתה משתמש למשל בנורית אדומה במקום בירוק שבסיכה 13) תוכל להשתמש בשורה זו במקום זאת:
LED מונוכרומטי (LED_BUILTIN, נכון);
השלב הבא הוא ליצור את המודול שלנו בעצמו. זה נעשה בפעם הראשונה שאנו מקבלים את מיקומו בזיכרון על ידי קריאה לשיטת "getInstance", כך:
מודול LightModule *= LightModule:: getInstance ();
לאחר מכן, עלינו להגדיר את הפרמטרים בפונקציית "ההתקנה ()" של ארדואינו, החל מאתחול היציאה "הסדרתית" כרגיל בסקיצות של ארדואינו:
Serial.begin (9600);
אנו יוצרים את חיישן האור על ידי כתיבת שורה זו:
GroveDigitalLightSensor *lightSensor = חדש GroveDigitalLightSensor ();
לאחר מכן, אנו אומרים למודול שלנו להשתמש במערך המצביעים שלנו בזרם Arduino כדי לתקשר באמצעותם:
module-> setStreams (זרמים);
אנו גם אומרים למודול שלנו להשתמש בחיישן האור שלנו כדי לעקוב אחר עוצמת האור שבה המודול נמצא:
module-> setSensor (lightSensor);
אנו אומרים למודול שלנו להשתמש ב- LED שלנו כדי לתת לנו משוב ויזואלי:
module-> setDisplay (& led);
לבסוף, אנו אומרים למודול שלנו שהוא מוכן לבצע כל תצורה פנימית שהוא צריך לעשות על ידי קריאת פונקציית "התקנה" משלו:
module-> setup ();
השלב האחרון שלנו הוא כעת לקרוא לפונקציית "הפעלה ()" של המודול שלנו, אשר נועדה להיקרא בכל איטרציה של פונקציית "הלולאה" של ארדואינו על ידי כתיבת שורה זו בתוך הפונקציה "לולאה":
מודול-> הפעלה ();
כעת, הסקיצה שלנו סוף סוף מוכנה להעלות ל- Arduino ולבדוק את המודול שלנו!
שלב 6: בדיקת מודול AtHome שלנו
כדי להעלות את הסקיצה ל- Arduino, בחר את לוח ה- UNO של Arduino על ידי כניסה "כלים"> "יציאה"> "[COMx או/dev/x] (Arduino/Genuino UNO)".
דבר אחרון, פשוט לחץ על כפתור "העלה" (כפתור העיגול עם חץ המצביע ימינה, הסמל השני של סרגל הכלים) כדי להעלות את הסקיצה בלוח שלך.
זה נעשה! כעת המודול שלך אמור לעבוד ולשלוח ערכים למחשב שלך הנראים במסך הסידורי של Arduino. אתה יכול לבדוק את זה על ידי פתיחת "צג סידורי" של Arduino בתפריט "כלים", ותקבל פלט שנראה כמו תמונת הכותרת השנייה של שלב זה:)
שלב 7: בניית מארז למודול
אתה יכול לבנות מארז פשוט למודול שלך על ידי חיתוך בלייזר בלוח דיקט בגודל 3 מ מ.
כדי לייצר מארזי קופסאות שלנו, אנו משתמשים ב- makercase כדי להכין תבנית במידות הרצויות שאנו יכולים להתאים אישית מאוחר יותר. תמצא את קובץ ה- svg של מודול ההארה המצורף לשלב זה.
לאחר מכן הדבק את הפנים יחד למעט אחת כך שתוכל לפתוח אותו מאוחר יותר, הכנס את המעגל פנימה והדבק את הנורית בחור המארז (אנו משתמשים בקלטת שקופה כדי למלא את החור ולפזר את האור בנוסף להדבקת הנורית מלפנים של זה).
עכשיו רק הוסף סוללה להנעת הארדואינו שלך, סגור את המארז והמודול שלך מוכן ואמור להיראות טוב:)
מוּמלָץ:
Visuino כיצד להשתמש באפנון רוחב הדופק (PWM) לשינוי בהירות הנורית: 7 שלבים
Visuino כיצד להשתמש באפנון רוחב הדופק (PWM) כדי לשנות את בהירות הנורית: במדריך זה נשתמש בנורית המחוברת ל- Arduino UNO ו- Visuino כדי לשנות את בהירותה באמצעות אפנון רוחב הדופק (PWM). צפה בסרטון הדגמה
מודול מונו-סטריאו-מודול סטריאו- Eurorack מבוקר: 3 שלבים
פורמט מודול סטריאו מודול-סטריאו-אירווראק נשלט על ידי קורות חיים: המהפכה בסינתרים מודולריים וחצי-מודולריים הניבה מגוון יפהפה של אפשרויות מונו-סינתר חדשות לשימוש מוזיקה אלקטרונית ורעש, אך בעיה אחת עם מונו-סינתרים (ורוב המודולים של Eurorack ו /או זרימות האות) היא שלא רק שהם
לוח HiFive1 Arduino עם מודול מודול WiFi ESP-01: 5 שלבים
לוח Arduino HiFive1 עם מדריך מודול WiFi של ESP-01: HiFive1 הוא הלוח הראשון מבוסס RISC-V התואם Arduino שנבנה עם מעבד FE310 מבית SiFive. הלוח מהיר פי 20 מ- Arduino UNO אך בדומה ללוח UNO, הוא חסר כל קישוריות אלחוטית. למרבה המזל, ישנם מספר לא יקרים
מודול מודול ממסר 5V לעבודה עם פטל פטל: 4 שלבים
מודול ממסר 5V לעבודה עם פטל פטל: בימים אלה ממש קל לשים את ידכם על לוח ממסר, אך מהר תגלו שרובם מיועדים ל -5 V אשר יכולים להוות בעיה עבור פטל עניים או כל אחר מיקרו -בקר פועל על 3.3V, פשוט אין להם את הוולטה
שליטה על בהירות הנורית באמצעות מודול Arduino ו- Bluetooth (HC-05): 4 שלבים
שליטה על בהירות LED באמצעות מודול Arduino ו- Bluetooth (HC-05): מבוא במדריך זה אנו הולכים לשלוט על בהירות ה- LED באמצעות Arduino UNO, מודול Bluetooth (HC-05) ויישום אנדרואיד ל- Bluetooth (מסוף Bluetooth)