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

תעיר אותי - שעון מעורר חכם: 6 שלבים
תעיר אותי - שעון מעורר חכם: 6 שלבים

וִידֵאוֹ: תעיר אותי - שעון מעורר חכם: 6 שלבים

וִידֵאוֹ: תעיר אותי - שעון מעורר חכם: 6 שלבים
וִידֵאוֹ: תפסתי אותה על חםםםם!!!!!! 2024, נוֹבֶמבֶּר
Anonim
תעיר אותי - שעון מעורר חכם
תעיר אותי - שעון מעורר חכם

תעיר אותי הוא שעון מעורר חכם שיכול לשמש גם כמנורה חכמה.

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

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

אספקה

רשימת המחירים המדויקים ששילמתי ניתן למצוא כאן:

בקרי מיקרו ומחשבים:

Raspberry Pi 4I השתמש בפטל pi 4 4GB עם זאת, כל פטל פאי דגם 3+ אמור להיות בסדר

ארדואינו אונו

הארדואינו משמש לשליטה בתצוגת השעון בגודל 4*7.

חיישנים:

  • TMP36: חיישן טמפרטורה
  • LDR: נגד תלוי אור

מפעילים:

  • WS2801: רצועת לד ניתנת להתאמה אישית
  • צג LCD: צג LCD בגודל 16*2.
  • תצוגת שעון 4*7 פלחים

ICs:

  • 74HC595: Shiftregister לתצוגת lcd
  • MCP3008: ממיר אנלוגי לדיגיטלי בעל 8 סיביות
  • ממיר רמה לוגית: משמש לתקשורת בין raspi ל- arduino

דברים אחרים:

  • מגבר MAF9744 של adafruit להפעלת הרמקולים
  • בכל רמקול, השתמשתי ברמקול טווח מלא של Visaton 4Ohm 8Watt (אמנות מס '2240)
  • ספק כוח של 9 וולט להפעלת המגבר
  • ספק כוח של 5 וולט לאספקת רצועת הלד ורכיבים אחרים. קח בחשבון שכל מנורה בפס הלד יכולה להטביע 60mA אז וודא שספק הכוח שלך מספיק.
  • כמה נגדים של 220 אוהם
  • קרש לחם קטן להכניס למארז שלך.

כלים:

  • מגהץ.
  • משהו לייצר את המארז (השתמשתי במדפסת תלת מימד עם PLA ו- PETG וכמה מדבקות ויניל כדי לקבל את אפקט העץ).

שלב 1: הגדרת ה- Raspberry Pi

פטל הפטל הוא בקר המיקרו העיקרי שלנו.

פטל הפאי מפעיל את שרת הרשת המקומי, מסד הנתונים, שולט ברצועה, הרמקולים, …

חלק 1: התקנת Raspbian

השתמש במדריך זה להתקנת raspbian:

ודא ש- SSH מופעל

חלק 2: התחברות

על מנת להתחבר לאינטרנט, עליך לקבל גישה למסוף של פטל הפטל שלך. אני ממליץ להשתמש במרק. בסוג הטרמינל:

wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf

"YourNetwork" הוא שם רשת ה- wifi שלך ו- "YourSSID" הוא הסיסמה של הרשת.

לאחר שהוספת את הרשת נסה לאתחל את ה- Raspberry Pi.

הקלד את הפקודה 'ping 8.8.8.8' זה ישלח חבילה לשרתי Google אם תקבל תגובה הרשת שלך מוגדרת ועובדת!

חלק 3: התקן את התוכניות הדרושות

נצטרך להתקין כמה תוכניות נוספות כדי להפעיל את הפרויקט הזה.

לפני שנתחיל להריץ את 2 הפקודות האלה כדי לוודא שהכל משודרג.

עדכון sudo apt

sudo apt upgrade

זה עלול לקחת זמן.

אפאצ'י

sudo apt להתקין apache2 -y

sudo apt להתקין php libapache2-mod-php -y

MariaDB

sudo apt להתקין mariadb-server mariadb-client -y

sudo apt להתקין php -mysql -y

PHPMyAdmin

sudo apt להתקין phpmyadmin -y

פיפט פייתון

עלינו להתקין pip כדי לאפשר כמה ספריות פייתון

pip3 התקן את mysql-connector-python

pip3 התקן flask-socketio

pip3 התקן בקבוקונים

pip3 התקן gevent

pip3 התקן gevent-websocket

שלב 2: חיבור האלקטרוניקה

חיבור האלקטרוניקה
חיבור האלקטרוניקה
חיבור האלקטרוניקה
חיבור האלקטרוניקה

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

הוספתי למטה את קבצי הטריחה.

שלב 3: עיצוב מסד נתונים

עיצוב מסדי נתונים
עיצוב מסדי נתונים

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

טבלה 1: tblMuziek

זהו שולחן די בסיסי. הוא שומר את שם האמן, שם השיר ושם הקובץ של שיר.

טבלה 2: tblLedstrip

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

טבלה 3: tblSensoren

טבלה זו עוקבת אחר החיישנים באזעקה שלנו. אנו שומרים את שם החיישן והערוץ של MCP3008

טבלה 4: tblMeting

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

טבלה 5: tblWekker

טבלה זו מאחסנת את הסיסמה ואת השם של השעון המעורר שלך (למשל חדר שינה) שולחן זה אינו חובה אך הוספתי אותו כי אני מניח שיהיה לך יותר משעון מעורר אחד בביתך.

טבלה 6: tblAlarm

זהו כנראה הטבלה החשובה ביותר. הוא עוקב אחר השעון המעורר שהגדרת ומה השעון צריך לעשות (איזה שיר יש לנגן, איזה סדר רצף מוביל, באילו ימים הוא אמור להינעל …). חשוב מאוד לעקוב אחר 2 תאריכים. תאריך אחד משמש לאחסון באיזו שעה האזעקה אמורה לפעול. השני עוקב אחר הפעם האחרונה שבה התעוררה האזעקה. כדי לדעת באיזה יום חול הוא אמור לצאת השתמשתי ב- varchar המכיל מספר 7 ספרות. הספרה הראשונה היא יום שני, יום שלישי השני, … אם זה 1 אז הוא אמור להיכבות, אם הוא 0 הוא לא צריך. דוגמה: 1111100 פירוש הדבר כי אזעקה זו צריכה לפעול בימים שני, שלישי, רביעי, חמישי ושישי.

שלב 4: התקנת Arduino

שלב זה קל מאוד. יהיה קישור ל github שלי בשלב הבא שבו תוכל להוריד את קובץ הארדואינו.

מה עושה התוכנית?

התוכנית מחכה לנתונים סדרתיים שיגיעו מה- pi.

ברגע שהנתונים מתקבלים הם מנתחים דרך המחרוזת ושולחים בחזרה אישור ל- pi.

המחרוזת תהיה בערך כך: '1201' זה אומר שהיא 12:01. השתמשתי בתצוגת אנודה 7 מגזרת משותפת המשמעות היא שהספרות צריכות להיות גבוהות ו- A, B, C, D, E, F, G ו- DP צריכות להיות נמוכות כדי להפעיל אותן. אם אתה משתמש בקתודה נפוצה, עליך פשוט לשנות HIGH ל- LOW & LOW ל- HIGH.

להלן קישור עם מידע נוסף על אופן עבודת 7 תצוגות קטע. (עם שימוש בספרייה):

www.instructables.com/id/Using-a-4-digit-7…

להלן קישור על 7 תצוגות קטע ללא שימוש בספרייה:

create.arduino.cc/projecthub/SAnwandter1/p…

שלב 5: פקק פטל פטל

פטל אחורי של פטל
פטל אחורי של פטל

אתה יכול להוריד את הקוד שלי באמצעות Github. (https://github.com/VanHevelNico/WakeMeUp)

כיצד להתקין את התוכנית:

הקצה האחורי כתוב בפייתון באמצעות בקבוק. אתה יכול ליצור שירות שמפעיל תוכנית זו (app.py) באופן אוטומטי.

עליך להכניס את קוד החזית לקובץ ה- HTML של שרת האפצ'י שהורדנו קודם לכן. (/var/html)

כיצד פועלת התוכנית?

כאשר השעון המעורר מופעל עבור לכתובת ה- ip של השעון שלך (הוא יוצג על ה- LCD)

ברגע שאתה נכנס לכתובת ה- IP בדפדפן שלך המחשב שלך ישלח בקשת socket.io לקצה האחורי ואומר שלקוח התחבר. כאשר ה- backend יקבל זאת יתחילו כמה שרשורים אשר אסביר בהמשך.

להכין

זה מבטא את כל האובייקטים הדרושים.

GetTemp

זה קורא את ערוץ mcp3008 וממיר את הנתונים הבינאריים לטמפרטורה בפועל ומכניס אותם למסד הנתונים עם התאריך והשעה הנוכחיים.

GetTempGrafiek

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

tijd_sturen

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

checkAlarmen

זוהי השיטה החשובה ביותר. הוא מקבל את כל האזעקות שמופעלות ובודק אם כל אחת מהאזעקות הללו צריכה להיעשות בין עכשיו לבין לפני 5 דקות (זהו חיץ כדי לוודא שכל אזעקה מופעלת כשצריך). אם האזעקה חייבת להידלק נתחיל את המוזיקה, רצועת הלדים, … אנו קוראים את הנגד הרגיש לכוח באופן רציף וכאשר הערך יורד מתחת ל -1000 (קרא את ה- fsr נלחץ) אנו מפעילים את האזעקה ומעדכנים את האזעקה ב- מאגר מידע. קבענו את התאריך שבו האזעקה פעלה בפעם האחרונה לתאריך הנוכחי.

statusLight

שיטה זו פולטת את הערך של רצועת הלד ומפעילה את רצועת הלד במידת הצורך.

lichtAanpassen

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

שלב 6: מארז

מקרה
מקרה
מקרה
מקרה
מקרה
מקרה

הקישור לקבצים שלי ניתן למצוא כאן:

השתמשתי במדפסת תלת מימד להדפסת מעטפת. הוא מודפס בארבעה חלקים שונים:

  1. הלוח הקדמי עם חורים לרמקול וכמה קירות לתצוגת 7 הקטע
  2. הטבעת החיצונית לרצועת הלד ב PETG שקוף.
  3. החלק האמצעי
  4. לוח האחורי עם חור עבור ה- LCD וחור לכבלים.

בדגם המקורי לא היה חור לתצוגת 7 הקטעים אולם זה נחוץ כי אחרת האור של תצוגת 7 הקטעים לא יאיר דרך.

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

מוּמלָץ: