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

Neopixel Led Strip מגיב לחיישן השרירים של Myoware: 6 שלבים
Neopixel Led Strip מגיב לחיישן השרירים של Myoware: 6 שלבים

וִידֵאוֹ: Neopixel Led Strip מגיב לחיישן השרירים של Myoware: 6 שלבים

וִידֵאוֹ: Neopixel Led Strip מגיב לחיישן השרירים של Myoware: 6 שלבים
וִידֵאוֹ: Ultra-high-density NeoPixel COB Strip 2024, נוֹבֶמבֶּר
Anonim
Neopixel Led Strip מגיב לחיישן השרירים של Myoware
Neopixel Led Strip מגיב לחיישן השרירים של Myoware

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

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

לפרויקט זה אתה צריך: -חיישן שרירים של MyWare -אלקטרודות EMG -NodeMCU (esp8266) -חוט כיסוי סיליקון -כבל מיקרו USB -רצועת LED של Neopixel

ספריות שתזדקק להן: -Adafruit io Arduino (לפחות גירסה 2.3.0) -Adafruit Neopixel (גירסה 1.2.5) -Adafruit MQTT ספרייה (1.0.3) -Arduino HttpClients (0.4.0) אם אין לך ספריות מותקנות עדיין. לאחר מכן עבור אל סקיצה> כלול ספרייה> נהל ספריות … הקלד: [שם הספרייה שברצונך להתקין] בשדה החיפוש.

שלב 1: חיבור חיישן שרירים של Myoware (במיוחד למי שמעולם לא עבד איתו בעבר)

אם מעולם לא עבדת עם חיישן שרירים של Myoware, טוב קודם כל להבין כיצד חיישן זה מחובר וניתן לקריאה במסך הסידורי בארדואינו. פעולה זו היא הליך סטנדרטי המצוי במדריכים רבים שכבר תוארו. לפלטפורמת Adafruit יש תיאור ברור של אופן הפעולה בכמה צעדים:

learn.adafruit.com/getting-started-with-my…

בדוק אם כל השלבים האלה מבוצעים, תראה במסך הסדרתי שהערכים משתנים כאשר אתה מהדק את השרירים. כאשר אתה עושה אגרוף ומהדק את השריר הערכים צריכים לעלות וכאשר אתה מרפה את השריר הערכים האלה אמורים לרדת שוב.

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

שלב 2: התקנת IO של Adafruit

התקנת IO של Adafruit
התקנת IO של Adafruit
התקנת IO של Adafruit
התקנת IO של Adafruit
התקנת IO של Adafruit
התקנת IO של Adafruit

השלב הראשון הוא התחברות או יצירת חשבון ב- Adafruit IO, עיין ב- Adafruit IO. Adafruit IO היא פלטפורמת ענן שאפשר להתחבר אליה דרך האינטרנט. Adafruit IO הופך את הנתונים לשימושיים בחיבורי נתונים.

כשאתה בחשבון שלך:

צור את ההזנה האנלוגית הבא, יהיה עליך ליצור הזנה בשם אנלוגי. אם אתה זקוק לעזרה בהתחלת יצירת הזנות ב- Adafruit IO, עיין במדריך יסודות ההזנה של Adafruit IO (כמו בתמונה 1 ו -2).

הוספת בלוק מד ובלוק תרשים הקווים הבא, צור לוח מחוונים חדש ושם אותו כפי שאתה רוצה שהוא יקבל את שמו (מוצג בתמונות 3, 4 ו -5 כדי ליצור לוח מחוונים חדש). ודא שבחרת בפיד האנלוגי כמקור הנתונים.

כאשר אתה נמצא בלוח המחוונים הוסף בלוק חדש של מד מד לחץ על הפלוס הכחול בפינה השמאלית העליונה. תן שם לבלוק מה שאתה רוצה (מוצג בתמונות 6 ו -7), ותן לו ערך מקסימלי של 1024 וערך מינימלי של 0 (ערכים של חיישן השריר).

חזור על אותו הדבר עם בלוק תרשים קו (תמונה 8) כפי שמופיע לעיל עם בלוק מד.

בדוק אם עשית את כל האמור לעיל, עליך להיות בעל מסך דומה לתמונה האחרונה.

שלב 3: קלט ארדואינו

קלט ארדואינו
קלט ארדואינו
קלט ארדואינו
קלט ארדואינו
קלט ארדואינו
קלט ארדואינו
קלט ארדואינו
קלט ארדואינו

בשלב 1 ביצעת את התקנת החיווט של חיישן שרירי MyoWare בצורה נכונה. בשלב זה נצלול לתוך קוד ה- Arduino שמגיע עם חיבור לשלב 2 של לוח המחוונים של Adafruit IO. בסוף שלב זה, תוכלו לראות את ערכי הקלט של חיישן שרירי Myoware בשני הבלוקים שהגדרתם.

הגדרת ארדואינו

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

אנחנו הולכים לעבוד עם סקיצה לדוגמא. אז פתח קובץ> דוגמה> Adafruit IO Arduino> adafruitio_08_analog_in (תמונה 1). למה המערכון הזה? מכיוון שאנו מגדירים תחילה את חלק הקלט של מדריך זה. חיישן MyoWare Muscle משתמש בפלט אנלוגי. אם אתה רוצה לצלול יותר בנושא בנושא אנלוגי.

הגדרת רשת Arduino כדי להגדיר את הגדרות הרשת, לחץ על הכרטיסייה config.h בסקיצה. יהיה עליך להגדיר את שם המשתמש שלך ב- Adafruit IO בהגדרת IO_USERNAME ואת מפתח ה- IO של Adafruit בהגדרת IO_KEY. אתה יכול למצוא את שם המשתמש והמפתח שלך בפינה השמאלית העליונה של המסך ב- Arduino IO שלך (דוגמה בתמונה 2)

#הגדר IO_USERNAME "שם המשתמש שלך"

#הגדר IO_KEY "מפתח שלך"

WiFi Config WiFi מופעל כברירת מחדל ב- config.h כך שאם אתה משתמש באחד מלוחות ה- WiFi הנתמכים, יהיה עליך לשנות רק את האפשרויות WIFI_SSID ו- WIFI_PASS בכרטיסייה config.h.

#הגדר WIFI_SSID "your_ssid"#הגדר WIFI_PASS "your_pass"

קוד Arduino אם יש לך שינויים בהגדרות למעלה, נוכל להמשיך לקוד האמיתי, adafruit_08_analog_in. הסיכה החסרה בדוגמה זו היא סטטט ב- AO. זהו הסיכה הנכונה כפי שהנחת את חיישן השרירים שלך על הלוח בשלב 2.

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

/*********************** דוגמא מתחילה כאן ********************** *********/

// סיכה אנלוגית 0 #הגדר PHOTOCELL_PIN A0

בקו הקוד האחרון יש עיכוב. העיכוב הזה הוא שנייה אחת, אנחנו הולכים להגדיר הוא 2 שניות אז 2000. אנחנו עושים זאת כי יש רישיון ב- Adafruit IO עם מגבלת נתונים, מתחת לשתי שניות הסקיצה הזו חורגת ממגבלת הנתונים והיא תיתן אזהרת THROTTLE.. מה זה אומר שלא נכנסים לערכים. הגדרה זו לשתי שניות מונעת זאת.

// המתן שנייה אחת (1000 אלפיות השנייה == שנייה) עיכוב (2000);

זה היה מה שהיית צריך לשנות במערכון כדי לגרום לזה לעבוד. אם אתה רוצה לדעת איך בדיוק כל הקוד עובד. אתה יכול למצוא אותו ב- Learn Adafruit, עם הסבר על כל חסימות קוד.

בדוק העלה את הסקיצה ללוח שלך ופתח את הצג הסידורי של Arduino. הלוח שלך אמור כעת להתחבר ל- Adafruit IO.

עכשיו אתה יכול להדק את היד, ואתה צריך לראות את הערכים המשתנים נשלחים ל- Adafruit IO (כמו בתמונה 3). אם אינך רואה ערכים במסך הטורי, בדוק אם הגדרת את קצב הבוד במסך הטורי ל- 115200.

לוח מחוונים של Adafruit IO בדוק את לוח המחוונים שלך ב- Adafruit IO, וכדאי שתראה את המד ואת תרשים הקווים מגיבים לשינויים שערכי חיישן שרירי MyoWare.

שלב 4: הגדרת טריגר IO של Adafruit

הגדרת טריגר IO של Adafruit
הגדרת טריגר IO של Adafruit
הגדרת טריגר IO של Adafruit
הגדרת טריגר IO של Adafruit

עד עכשיו הצלחנו לבצע קלט מחיישן שרירי MyoWare לעבודה של Adafruit IO. כעת נתחיל לקרוא מידע זה. כך שאחרי פי 5 מזהה ערך מעל X של חיישן השריר, פעולה מבוצעת על ידי רצועת ה- Neopixel.

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

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

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

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

-אם אתה בוחר יותר מזה, מכיוון שאתה רוצה להפעיל משהו כשהערך חורג ממספר כזה.

-ערך השוואה אתה יכול להזין את המספר הרצוי כדי להפעיל את ההדק. עשיתי 600 במקרה הזה.

-עם arduino תצטרך לקבל משוב כשהוא יעלה על 600: אז ב ואז בחר פרסם הודעה ל:.

-לאחר מכן תוכל לבחור את הפיד השני שלך שנוצר AlertTriggered.

לבסוף לחץ על צור.

שלב 5: פלט Neopixel

פלט Neopixel
פלט Neopixel

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

כדי להיות מסוגל לייצר פלט, עליך לחבר תחילה את רצועת ה- LED של Neopixel לחוט NodeMCU.)- DIN חוט מרכזי של ה- LED ב- D5 (או כל יציאת D אחרת)

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

אילו נתוני פלט קודדו בקוד זה יצרתי טריגר, כאשר AlertTriggered (מה שהכרזנו בשלב הקודם על ערך גדול מ- 600) מופעל יותר מ -5 פעמים. המשמעות היא שכאשר היא מופעלת, רצועת ה- LED של Neopixel מוגדרת מלבן לאדום. זה יקרה למשך דקה ומהמצב האדום הולך להיעלם ומועבר שוב למצב הלבן.

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

// כדי להציג את השניות החולפות במוניטור הסידורי כאשר alartstate נמצא ב- Serial.println ("שניות חלפו:"); Serial.println (secondsPassed); } אחר {secondsPassed = 0; }

בדוק אם ביצעת את השלבים או שקיבלת את קובץ הסקיצה adafruitio_musclesensor_neopixel עם config.h משלך תוכל להעלות אותו ל- NodeMCU שלך. אם זה נעשה עליך לראות משהו דומה למטה במסך הסידורי שלך:

מתחבר ל- Adafruit IO…

Adafruit IO מחובר. שולח -> 23 שולח -> 78

תמונה 1 היא הצג הסידורי כשהיא במצב Alertmode.

זה לא עובד? בדוק את הדברים הבאים- בדוק אם config.h כלול בצורה הנכונה- האם הכנסת את שם המשתמש והמפתח הנכון של Adafruit IO האם הכנסת את SSID הנכון וסיסמת Wifi- האם הצבת את החיווט של MyoWare חיישן שרירים מימין ומרצועת לד Neopixel

או בדוק את השלבים הקודמים.

שלב 6: תוצאות

היי, סיימת! כדי להדגים ולראות את המוצר הסופי בפעולה צירפתי סרטון.

מוּמלָץ: