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

מנורת ירח IoT: 5 שלבים
מנורת ירח IoT: 5 שלבים

וִידֵאוֹ: מנורת ירח IoT: 5 שלבים

וִידֵאוֹ: מנורת ירח IoT: 5 שלבים
וִידֵאוֹ: Camera-LAMP עם מעקב וזיהוי של אדם. 2024, נוֹבֶמבֶּר
Anonim
מנורת ירח IoT
מנורת ירח IoT

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

פרויקט זה כולל:

  • הַלחָמָה;
  • תכנות ESP8266 עם Arduino IDE;
  • יישום אנדרואיד עם MIT App Inventor.

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

אספקה

  1. סמארטפון אנדרואיד (נבדקו גרסאות אנדרואיד 7-9).
  2. כלי הלחמה.
  3. אב טיפוס PCB (protoboard).
  4. לוח ESP-12E (או לוח dev dev אחר עם מיקרו-בקר ESP8266).
  5. ממיר USB-סדרתי לתכנות.
  6. מספר ערכים שונים של רכיבים פסיביים (נגדים וקבלים).

(אופציונלי. עיין בסעיף "תרשים בלוקים")

  1. 3.3V@500mA LDO IC.
  2. לוח ממיר ברמה לוגית 3.3V-5V.
  3. ספק כוח 5V DC.

שלב 1: רעיון

רַעְיוֹן
רַעְיוֹן

מנורת הירח מופעלת על ידי תא Li-ION 18650 אחד ויש לה 3 מצבי פעולה:

  • כבוי;
  • מדריך ל;
  • אוטומטי.

במצב ידני המנורה נשלטת באמצעות כפתור לחיצה, כל לחיצה משנה את מצב נורת הלד (כחול דולק, כתום דולק, הן דולקת, כבויה), עוצמת האור משתנה תוך לחיצה על לחצן הלחיצה. במצב אוטומטי מצבי אור LED משתנים על ידי הקשה או ניעור מנורה עצמה.

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

כאשר נעשה אב טיפוס הוא נהג ~ 80mA כל הזמן מהסוללה במצב כבוי (~ 400mA בהירות מלאה). זרם המתנה גבוה מכיוון ש- ESP8266 פועל כשרת ותמיד מחובר ל- WiFi ומאזין לבקשות. הסוללה התרוקנה לאחר יום וחצי רק כשהיא במצב כבוי, אז מאוחר יותר החלטתי להשתמש ביציאת טעינת USB למנורות להפעלת כל האלקטרוניקה מאספקת חשמל חיצונית של 5V והסוללה ביחד (אבל זה אופציונלי).

שלב 2: חסום תרשים

תרשים בלוקים
תרשים בלוקים

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

על פי התיעוד ESP8266 סובל רק 3.3V, אולם ישנן דוגמאות רבות כאשר ESP8266 עובד מצוין לחלוטין עם 5V, כך שניתן להשאיר את ממיר הרמה הלוגית ו- 3.3V LDO, אולם נשארתי עם שיטות עבודה מומלצות והוספתי את הרכיבים האלה.

השתמשתי ב -3 סיכות קלט/פלט ESP8266 וסיכת ADC. סיכת יציאה דיגיטלית אחת מיועדת לסימול לחיצות כפתורים, שתי כניסות דיגיטליות מיועדות לאיתור צבעי נוריות LED (מכאן נוכל להבין באיזה מצב MCU ואיזה מצב הבא לאחר לחיצה על כפתור). סיכת ADC מודדת מתח כניסה (באמצעות מחלק מתח), כך נוכל לעקוב אחר רמת הטעינה של הסוללה.

כספק כוח חיצוני אני משתמש במטען טלפון ישן 5V@1A (אל תשתמש במטענים מהירים).

שלב 3: תכנות

תִכנוּת
תִכנוּת
תִכנוּת
תִכנוּת

בקצרה תוכנית עובדת כך (למידע נוסף ראו את הקוד עצמו):

ESP8266 מתחבר לנקודת הגישה WiFi שלך אילו אישורים עליך להזין בתחילת התכנות הקודמות, הוא מקבל כתובת IP משרת DHCP הנתבים שלך, כדי לברר את IP שתזדקק לו מאוחר יותר, תוכל לבדוק נתבים ממשקי אינטרנט הגדרות DHCP או להגדיר דבק באגים בקוד ל- 1 ותראה מה ה- IP ESP קיבל במסך הטורי (עליך לשריין את ה- IP בהגדרות הנתבים שלך על מנת ש- ESP תמיד יקבל את אותה IP בעת האתחול).

כאשר MCU מאתחל תמיד מבצע את אותה שגרה לנצח:

  1. בדוק אם עדיין מחובר ל- AP, אם לא נסה להתחבר מחדש עד שתצליח.
  2. המתן עד שהלקוח יגיש בקשת HTTP. כאשר הבקשה מתרחשת:

    1. בדוק את מתח הכניסה.
    2. בדוק באיזה מצב נוריות.
    3. התאם בקשת HTTP עם מצבי LED ידועים (כחול דולק, כתום דולק, שניהם מופעלים, כבויים).
    4. לדמות כל כך הרבה לחיצות על כפתורי לחיצה לפי הצורך כדי להשיג את המצב המבוקש.

אני אתאר בקצרה הוראות תכנות, אם זו הפעם הראשונה שאתה מתכנת ESP8266 MCU תחפש הוראות מעמיקות יותר.

תזדקק ל- Arduino IDE ולממיר ממשק סידורי USB (למשל FT232RL). כדי להכין IDE בצע את ההוראות הבאות.

עקוב אחר תרשים המעגלים לחיבור מודול ESP-12E לתכנות. כמה טיפים:

  • השתמש באספקת חשמל חיצונית של 3.3V@500mA (ברוב המקרים אספקת חשמל טורית USB אינה מספיקה);
  • בדוק אם ממיר ה- USB הטורי שלך תואם ברמה לוגית של 3.3V;
  • בדוק אם מנהלי התקן USB ממיר סדרתי מותקנים בהצלחה (ממנהל ההתקנים של Windows) גם אתה יכול לבדוק אם הוא פועל כראוי מ- IDE, רק סיכות RX ו- TX קצרות, מאשר מיציאת COM בחר IDE, פתח צג סדרתי וכתוב משהו, אם הכל עובד אתה אמור לראות טקסט שאתה שולח המופיע בקונסולה;
  • משום מה הצלחתי לתכנת ESP רק כאשר חיברתי לראשונה ממיר USB-סדרתי למחשב ולאחר מכן הפעלתי ESP ממקור 3.3V חיצוני;
  • לאחר תכנות מוצלח אל תשכח למשוך את GPIO0 גבוה באתחול הבא.

שלב 4: סכמטי והלחמה

סכמטי והלחמה
סכמטי והלחמה
סכמטי והלחמה
סכמטי והלחמה
סכמטי והלחמה
סכמטי והלחמה

עקוב אחר סכמטי להלחמת כל הרכיבים לפרוטובארד. כפי שצוין קודם לכן חלק מהרכיבים הינם אופציונאליים. השתמשתי ב- KA78M33 3.3V LDO IC ולוח הממירים ברמת ההיגיון הזה מ- sparkfun, לחילופין, אתה יכול להכין ממיר בעצמך כפי שמוצג בסכימה (אתה יכול להשתמש בכל מוספת ערוץ N במקום BSS138). במקרה שתמשיך להשתמש בסוללת Li-ION, רשת חשמל +5V תהיה מסוף חיובי לסוללה. מתח התייחסות ESP8266 ADC הוא 1V, ערכי מחלק הנגד שבחרתי מאפשרים למדוד מתח כניסה גבוה עד 5.7V.

צריכים להיות 5 חיבורים ללוח PCB של המנורה המקורית: +5V (או +סוללה), GND, כפתור לחיצה, אותות PWM ממנורות MCU לשליטה בנורות LED כחולות וכתומות. אם אתה מפעיל מנורה ממקור 5V, כמוני, תרצה לקצר את מטען הסוללות של IC VCC עם סיכת OUTPUT, כך שכל האלקטרוניקה תונעל ישירות מ- +5V ולא ממטען הסוללה OUTPUT.

עקוב אחר התמונה השנייה עבור כל נקודות ההלחמה שתצטרך לבצע במנורות PCB.

הערות:

  1. אם החלטת לקצר +5V עם פלט IC של מטען סוללות, הסר את הסוללה לגמרי לפני שתעשה זאת, אינך רוצה להתחבר +5V ישירות לסוללה.
  2. שימו לב לאיזה סיכה של לחצן הלחמה אתם פלט ESP, כי 2 סיכות של כפתור לחיצה מחוברות לאדמה ואתם לא רוצים לקצר כאשר יציאת ESP עולה גבוה, עדיף לבדוק שוב עם מולטימטר.

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

אפליקציית אנדרואיד
אפליקציית אנדרואיד
אפליקציית אנדרואיד
אפליקציית אנדרואיד
אפליקציית אנדרואיד
אפליקציית אנדרואיד

אפליקציית אנדרואיד נעשתה עם ממציא אפליקציות MIT, כדי להוריד לעצמך יישום ו/או שיבוט פרויקט, עבור לקישור הזה (תצטרך חשבון Google כדי לגשת אליו).

בהפעלה הראשונה יהיה עליך לפתוח הגדרות ולהזין את כתובת ה- IP שלך ESP8266. כתובת IP זו תישמר כך שאין צורך להזין אותה שוב לאחר הפעלה מחדש של התוכנית.

האפליקציה נבדקה עם מספר מכשירי אנדרואיד 9 ואנדרואיד 7.

מוּמלָץ: