תוכן עניינים:
וִידֵאוֹ: מחולל מוזיקה מבוסס מזג אוויר (מחולל מידי מבוסס ESP8266): 4 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
היי, היום אסביר כיצד להכין מחולל מוזיקה קטן מבוסס מזג אוויר.
הוא מבוסס על ESP8266, שהוא בערך כמו ארדואינו, והוא מגיב לטמפרטורה, גשם ועוצמת אור.
אל תצפה שיעשה שירים שלמים או התקדמות אקורדים. זה יותר כמו שאנשים של מוזיקה גנרטיבית עושים לפעמים עם סינתיסייזרים מודולריים. אבל זה קצת פחות אקראי אז, זה כן נדבק לסולמות מסוימים למשל.
אספקה
ESP8266 (אני משתמש ב- Huzzah Feather ESP8266 מבית Adafruit)
חיישן טמפרטורה, לחות ולחץ ברומטרי BME280 (גרסת I2C)
חיישן גשם של Arduino
25K LDR (התנגדות תלויה באור)
כמה נגדים (שניים 47, אחד 100, אחד 220 ואחד 1k אוהם)
מחבר מידי נשי (דין 5 פינים) מתאים להתקנת PCB
חוטי מגשר
לוח לחם או סוג של לוח אב טיפוס
מחשב, אני אשתמש במערכת הפעלה Windows 8.1, אך היא אמורה לפעול על כל מערכת הפעלה למיטב ידיעתי.
אופציונלי: סוללת LiPo 1250 מיליאמפר / שעה עם מחבר JST מבית Adafruit (תואם רק לכמה ESP)
שלב 1: שלב 1: תוכנה
קודם כל אתה צריך את Arduino IDE.
אז אתה צריך את מנהל ההתקן SiLabs CP2104 ואת חבילת הלוח ESP8266.
זה מאפשר למחשב שלך לתכנת את ה- ESP באמצעות ה- UART המובנה ומאפשר ל- Arduino IDE לתכנת את ה- ESP.
תוכל למצוא את כל המידע אודות חבילת ה- IDE, הנהג והלוח בדף זה באתר Adafruit.
תצטרך גם את ספריית Midi Arduino כדי לשלוח נתוני Midi. אפשר להסתדר בלי, אבל זה פשוט הופך את הכל להרבה יותר קל.
כדי לתקשר עם BME280 השתמשתי בספריית BME280-I2C-ESP32 זו. (זה לגרסת I2C של BME280)
וספרייה זו בתורה מצריכה את מנהל ההתקן של חיישני Unified Adafruit. זו לא הפעם הראשונה שאני צריך את הספרייה הזו כדי להשתמש בספרייה אחרת ללא בעיות, כך שתמיד יש לי את הספרייה הזו בסימנייה במקום כלשהו.
שלב 2: שלב 2: חומרה
בסדר אז סוף סוף נגיע לדברים הטובים, לחומרה.
כאמור, השתמשתי ב- ESP Adafruit זה, אך הוא אמור לעבוד מצוין עם NodeMCU. אני ממליץ על גרסת V2 מכיוון שאני מאמין שהיא מתאימה הרבה יותר ללוח לחם ותוכלו להשיג אותם בזול מאוד מאיביי או מ- AliExpress. אני אוהב את העובדה של- Adafruit ESP יש מעבד מהיר יותר, מגיע עם מחבר JST נקבה ל- LiPo ומעגל טעינה. זה גם קצת יותר קל להבין באיזה סיכה אתה משתמש. אני מאמין שב- NodeMCU הסיכה שכותרתה D1 היא למעשה GPIO5 למשל, כך שתמיד צריך תרשים Pinout שימושי. לא בעיה גדולה בכלל, אבל רק נוחה למתחילים הם סימנו את Adafruit בצורה כה ברורה.
ראשית בואו נחבר את BME280, כי יש כמה וריאציות לדגם הזה. כפי שאתה יכול לראות מהתמונות שלי יש חור אחד גדול, אבל יש גם כמה עם 2 חורים. אתה יכול לראות שיש לו 4 כניסות ויציאות, אחת עבור הספק, אחת עבור קרקע ו- SCL ו- SDA. המשמעות היא שהיא מתקשרת באמצעות I2C. אני מאמין שדגמים אחרים מתקשרים באמצעות SPI. ובחלקם אתה יכול לבחור SPI או I2C. SPI עשוי לדרוש ספרייה אחרת או לפחות קוד שונה וחיווט שונה. אני גם מאמין שה- S ב- SPI מייצג סידורי ואני לא יכול לומר אם זה יפריע לחלק המידי של הפרויקט הזה מכיוון שהוא פועל גם באמצעות חיבור סידורי.
חיבור ה- BME הזה די פשוט קדימה. ב- ESP8266 אתה יכול לראות את סיכה 4 ו -5 מתויגות SDA ו- SCL בהתאמה. פשוט חבר את הסיכות האלה ישירות לסיכה SDA ו- SCL ב- BME. כמובן גם לחבר את VIN למעקה החיובי של לוח הלחם ו- GND למעקה השלילי. אלה בתורם מחוברים לסיכה 3V3 ו- GND של ה- ESP.
בשלב הבא נחבר את ה- LDR. בדוגמה Fritzing אתה יכול לראות את 3.3 וולט עובר נגד, ואז הוא מפוצל ל- LDR ונגד אחר. לאחר מכן לאחר LDR הוא מתחלק שוב לנגד ול- ADC.
זה כדי להגן על ה- ESP מפני מתח גבוה מדי וכדי לוודא שהוא מקבל ערכים קריאים. ה- ADC יכול להתמודד עם 0-1 וולט אך ה- 3V3 מספק 3.3 וולט. סביר להניח שזה לא יפוצץ דבר אם תעלה על 1 וולט, אבל זה לא יעבוד טוב.
אז ראשית אנו משתמשים במפריד מתח באמצעות נגדים של 220 ו -100 אוהם כדי להוריד את המתח מ -3.3 ל -1.031 וולט. ואז LDR 25k ohm ונגד 1k ohm יוצרים עוד מתח מתח שמוריד את המתח מכל מקום בין 1.031 ל 0 וולט תלוי בכמות האור שה- LDR מקבל.
אז יש לנו את חיישן הגשם. בחלק אחד כתוב FC-37, בחלק השני כתוב HW-103. בדיוק קניתי את הראשון שמצאתי ב- Ebay שאמר שהוא יכול להתמודד עם 3.3 ו -5 וולט. (אני חושב שכולם יכולים).
זה די פשוט קדימה, נוכל להשתמש ביציאה אנלוגית, אבל אנחנו יכולים פשוט לסובב את הטרימפוט הזעיר כדי שהחיישן יהיה רגיש ככל שתרצה (וכבר השתמשנו בסיכה האנלוגית היחידה שלנו ב- ESP). כמו שאר החיישנים, עלינו לספק כוח מהמעקה החיובי ולחבר אותו למעקה הקרקע. לפעמים סדר הפינים משתנה. בשלי זה VCC, Ground, Digital, Analog, אבל בתמונת Fritzing זה שונה. אבל אם רק שימו לב זה אמור להיות קל לתקן.
ולבסוף, המידי ג'ק. על הלוח שלי זה לא יכול לשבת על קצה לוח הלחם, מכיוון שהסיכות לא כולן מתיישרות. אם זה מפריע לך הייתי מנסה להשיג קרש לחנות בחנות פיזית. או לבדוק את התמונות היטב.
כפי שניתן לראות מהסכימה, המתח החיובי והאות הסידורי עוברים שניהם נגד 47 אוהם.
אם אתה עושה את הפרויקט הזה עם Arduino Uno למשל הקפד להשתמש בנגדים של 220 אוהם! אלה ESP עובד על היגיון 3.3 V, אבל רוב Arduino להשתמש 5.0 V כך שאתה צריך להגביל את הזרם שעובר דרך כבל Midi יותר.
ולבסוף חבר את הסיכה האמצעית למעקה הקרקע. 2 הסיכות האחרות מ- 5 Pin Din אינן בשימוש.
שלב 3: שלב 3: קוד
ולבסוף יש לנו את הקוד!
בקובץ ה- Zip הזה שמתי 2 סקיצות. 'LightRainTemp' פשוט בודק את כל החיישנים ושולח בחזרה את ערכיהם. (הקפד לפתוח את חלון הטרמינל!)
וכמובן יש לנו את המערכון LRTGenerativeMidi (LRT מייצג אור, גשם, טמפרטורה).
בפנים תוכל למצוא חבורה של הסברים בהערות על המתרחש. אני לא הולך להיכנס לאופן שבו כתבתי את כל העניין, זה ייקח שעות. אם אתה רוצה לדעת מאיפה להתחיל עם דבר כזה יש לי עוד כמה פרויקטים בראש. גנרטור קטן של Random Riff עם כמה כפתורים וסקוונסר עם שלל תכונות שאני לא יכול למצוא בדגמים אחרים.
אבל את אלה אצטרך לסיים קודם כל בעיצוב וקידוד. הודע לי אם אתה רוצה להישאר מעודכן לגבי פרויקטים אחרים. לא החלטתי אם אכין עוד מדריכים או אעשה סדרת וידיאו.
שלב 4: שלב 4: חבר אותו ובדוק אותו
ועכשיו הגיע הזמן לבדוק את זה!
כל שעליך לעשות הוא לחבר כבל Midi, הקפד להגדיר את ה- Synth/Keyboard שלך שיגיב לערוץ 1 או שנה את הערוץ בקוד Arduino ובדוק אם הוא עובד!
אני ממש סקרן לראות ולשמוע מה אתה עושה עם זה. אם אתה מבצע שינויים, שדרוגים, שינויים (כמו בחיישן האור וערכי הטמפרטורה. בחוץ זה עשוי לעבוד טוב יותר או גרוע יותר מבפנים) כל דבר.
אני גם סקרן לראות אם זה עובד היטב עם כל הסינתיסייזרים. ב- Volca Bass שלי זה עובד בצורה מושלמת, אבל בנויטרון שלי ה- LFO נתקע ברגע שאני שולחת Midi Note. זה בסדר כשאני מפעיל אותו מחדש, אבל זה מוזר. אני לא בטוח אם יש משהו בספריית המידי או בקוד שלי, אולי אנסה לעשות זאת ללא ספרייה בקרוב ולראות אם זה משתפר.
תודה שקראתם וצפיתם ובהצלחה !!
מוּמלָץ:
תחנת מזג האוויר של NaTaLia: תחנת מזג אוויר מונעת על ידי סולארית Arduino בוצעה בדרך הנכונה: 8 שלבים (עם תמונות)
תחנת מזג האוויר של NaTaLia: תחנת מזג אוויר המופעלת באמצעות Arduino סולארית בוצעה בדרך הנכונה: לאחר שנה של הפעלה מוצלחת בשני מיקומים שונים אני משתף את תוכניות הפרויקט של תחנת מזג האוויר המונעות על ידי סולארי ומסביר כיצד היא התפתחה למערכת שיכולה לשרוד לאורך זמן. תקופות מכוח השמש. אם אתה עוקב
נר מזג אוויר - מזג אוויר וטמפרטורה במבט חטוף: 8 שלבים
נר מזג אוויר - מזג אוויר וטמפרטורה במבט חטוף: בעזרת נר קסם זה תוכל לספר את הטמפרטורה והתנאים הנוכחיים בחוץ באופן מיידי
IoT קל: לכידת נתוני מזג אוויר מרוחקים: טמפרטורת UV וטמפרטורת אוויר ולחות: 7 שלבים
IoT קל: לכידת נתוני מזג אוויר מרוחקים: UV וטמפרטורת אוויר ולחות: במדריך זה נלכוד נתונים מרוחקים כ- UV (קרינה אולטרה סגולה), טמפרטורת אוויר ולחות. נתונים אלה יהיו חשובים מאוד וישמשו אותם בתחנת מזג אוויר מלאה בעתיד. תרשים החסימה מראה מה נקבל בסוף
תחנת מזג אוויר Acurite 5 in 1 באמצעות פיי פטל ו- Weewx (תחנות מזג אוויר אחרות תואמות): 5 שלבים (עם תמונות)
תחנת מזג אוויר Acurite 5 in 1 באמצעות פי פטל ו- Weewx (תחנות מזג אוויר אחרות תואמות): כשקניתי את תחנת מזג האוויר Acurite 5 in 1 רציתי להיות מסוגל לבדוק את מזג האוויר בבית שלי בזמן שהייתי בחוץ. כשהגעתי הביתה והגדרתי אותו הבנתי שאני חייב לחבר את המסך למחשב או לקנות את הרכזת החכמה שלהם
שעון רשת מבוסס ESP8266 וצג מזג אוויר: 3 שלבים (עם תמונות)
שעון רשת ומעקב אחר מזג אוויר מבוסס ESP8266: פרויקט סוף שבוע קצר ופשוט עם תצוגת OLED מסוג ESP8266 ו- 0.96 אינץ '. המכשיר הוא שעון רשת כלומר מביא זמן משרתי ntp. הוא גם מציג מידע על מזג האוויר עם סמלים מ- openweathermap.org חלקים דרושים: 1. מודול ESP8266 (A