תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
בסמסטר זה במכללה למדתי שיעור בשם מכשור בביו -רפואה, בו למדתי את היסודות של עיבוד אותות ליישומים רפואיים. עבור פרויקט הגמר של הכיתה, הצוות שלי עבד על טכנולוגיית EOG (electrooculography). בעיקרו של דבר, אלקטרודות המחוברות לרקות של מישהו שולחות הפרש מתח (מבוסס על דיפול הקורנו-רשתית) למעגל שנועד לסנן ולהגביר את האות. האות מוזן ל- ADC (ממיר אנלוגי לדיגיטלי-במקרה שלי, ה- ADC של Arduino Uno) ומשמש את הצבעים של תכשיט ניאופיקסל.
הדרכה זו היא דרך להקליט את מה שלמדתי, ולשתף את הקורא הקבוע כיצד מבודדים אותות מגוף האדם (אז הזהירו: הוא מלא בפירוט נוסף!). למעשה ניתן להשתמש במעגל זה, עם כמה שינויים קלים, לדחפים החשמליים של לבבות המנוע כצורת גל EKG, והרבה יותר! למרות שהיא בהחלט לא מתקדמת ומושלמת כמו מכונות שהייתם מוצאים בבית חולים, מנורה זו נשלטת על מיקום העיניים נהדרת להבנה והצצה ראשונית.
הערה: אני לא מומחה בעיבוד אותות, אז אם יש שגיאות או אם יש לך הצעות לשיפור, אנא יידע אותי! יש לי עוד הרבה מה ללמוד אז פרשנות תתקבל בברכה. כמו כן, רבים מהמאמרים שאליהם אני מתייחס בקישורים במהלך הדרכה זו דורשים גישה אקדמית שיש לי באדיבות האוניברסיטה שלי; מתנצלת מראש למי שלא תהיה גישה.
שלב 1: חומרים
- פרוטובארד
- נגדים (100, 1k, 10k, 33k, 1M + 0.5M)
- קבלים (0.1uF)
- מגבר מכשור (INA111 במקרה שלי, אבל יש זוג שאמור לעבוד בסדר יחסית)
- מגבר אופ (כל - במקרה היה לי LM324N)
- neopixel (כל יצירה, אבל השתמשתי בתכשיט)
- סוללות 9V x2
- כותרות סוללה 9V x2
- אלקטרודות ג'ל מוצקות (בחירת האלקטרודה נדונה בשלב 5)
- פוטנציומטר
- חוט מבודד
- חשפניות תיל
- מלחם + הלחמה
- קליפים תנין (עם חוטים מחוברים - הלחמה מעט במידת הצורך)
- דבק חם (לייצוב חוטים שיכופפו קדימה ואחורה)
- Arduino (פחות או יותר לוחות כל יצירות, אבל השתמשתי ב- Arduino Uno)
המלצה בחום: אוסצילוסקופ, מולטימטר ומחולל פונקציות. בדוק את התפוקות שלך במקום להסתמך רק על ערכי הנגד שלי!
שלב 2: רקע פיזיולוגי והצורך במעגל
כתב ויתור מהיר: אני בשום אופן לא מומחה רפואי בתחום זה, אבל ריכזתי ופשטתי את מה שלמדתי בשיעור/מאת גוגללינג למטה, עם קישורים להמשך קריאה אם תרצה. כמו כן, הקישור הזה הוא ללא ספק הסקירה הטובה ביותר של הנושא שמצאתי - כולל טכניקות חלופיות.
EOG (אלקטרו-אוקולוגרפיה) פועל על הדיפול הקורנו-רשתי. הקרנית (קדמת העין) טעונה מעט בחיוב והרשתית (עורף) טעונה מעט שלילית. כאשר אתה מחיל אלקטרודות על הרקות וקרקע את המעגל שלך על המצח (מסייע לייצב את הקריאות ולהיפטר מהפרעות של 60 הרץ), אתה יכול למדוד סביב ~ 1-10mV מתח עבור תנועות עיניים אופקיות (ראה התמונה למעלה). לתנועות עיניים אנכיות, הניחו במקום זאת אלקטרודות מעל ומתחת לעין. עיין במאמר זה לקריאה טובה על האופן שבו הגוף מתקיים עם חשמל - מידע רב על עכבת עור וכו 'EOG משמשים בדרך כלל לאבחון מחלות עיניים כגון קטרקט, טעויות שבירה או ניוון מקולרי. יש גם יישומים ברובוטיקה נשלטת עיניים שבהם ניתן לבצע משימות פשוטות בהינף עיניים.
כדי לקרוא אותות אלה, כלומר לחשב את הפרש המתח בין האלקטרודות, אנו משלבים שבב חשוב הנקרא מגבר מכשור במעגל שלנו. מגבר מכשור זה כולל עוקבי מתח, מגבר שאינו הפוך ומגבר דיפרנציאלי. אם אינך יודע הרבה על מגברי אופ, אנא קרא את זה לקורס התרסקות - בעצם, הם לוקחים מתח כניסה, מגדילים אותו ומפיקים את המתח שנוצר באמצעות מסילות החשמל שלו. שילוב כל הנגדים בין כל שלבים מסייע לשגיאות סובלנות: בדרך כלל לנגדים יש 5-10% סובלנות בערכים, והמעגל הרגיל (שאינו משולב במלואו במגבר מכשור) היה מסתמך במידה רבה על דיוק עבור CMMR טוב (ראה שלב הבא). עוקבי המתח נועדו לעכמת כניסה גבוהה (שנדון בפסקה למעלה - עיקר למניעת פגיעה בחולה), המגבר שאינו הפוך הוא להבטיח רווח גבוה של האות (עוד על הגברה בשלב הבא) והמגבר הדיפרנציאלי לוקח את ההבדל בין הכניסות (מפחית את הערכים מהאלקטרודות). אלה נועדו למחוץ כמה שיותר רעש/הפרעות במצב נפוץ (למידע נוסף על עיבוד אותות, ראה שלב הבא) לאותות ביו -רפואיים, השופעים חפצים זרים.
האלקטרודות מתמודדות עם עכבה כלשהי מכיוון שרקמות העור והשומן שלך חוסמות את המדידה הישירה של המתחים, מה שמוביל לצורך בהגברת אותות וסינון. הנה, כאן, והנה כמה מאמרים בהם ניסו חוקרים לכמת עכבה זו. כמות פיזיולוגית זו מעוצבת בדרך כלל כנגד 51kOhm במקביל לקבל 47nF, אם כי ישנן וריאציות ושילובים רבים. לעור במיקומים שונים יכולות להיות עכבות שונות, במיוחד כאשר מתחשבים בעוביים ובכמויות השרירים הסמוכים. העכבה משתנה גם עם מידת עור העור שלך לאלקטרודות: בדרך כלל מוצע ניקוי יסודי במים וסבון על מנת להבטיח הידבקות ועקביות מצוינות, ויש אפילו ג'לים מיוחדים לאלקטרודות אם אתה באמת רוצה שלמות. הערה מרכזית אחת היא שהעכבה משתנה עם התדר (המאפיין קבלים) ולכן עליך לדעת את רוחב פס האות שלך על מנת לחזות עכבה. וכן, הערכת עכבה היא חשובה להתאמת רעש - ראה שלב מאוחר יותר למידע נוסף בנושא.
שלב 3: עיבוד אותות: מדוע וכיצד?
עכשיו, למה אתה לא יכול פשוט להשתמש בהפרש המתח של 1-10mV כתפוקה מיידית לשליטה בלדים? ובכן, יש הרבה סיבות לסינון והגברת האותות:
-
הרבה ADCs (ממירים אנלוגיים לדיגיטליים-קח את הקלט האנלוגי שלך ודיגיטז אותם לקריאה ושמירה של נתונים במחשב) פשוט אינם יכולים לזהות שינויים קטנים כל כך. לדוגמה, ה- ADC של Arduino Uno הוא ספציפית ADC של 10 סיביות עם פלט של 5V, כלומר הוא ממפה מתחי כניסה של 0-5V (ערכי מחוץ לטווח "יעקבו", כלומר ערכים נמוכים יותר יקראו כ- 0V וערכים גבוהים יותר ייקראו כ- 5V) לערכים שלמים בין 0 ל- 1023. 10mV הוא כל כך קטן בטווח ה -5V הזה, כך שאם תוכל להגביר את האות שלך לטווח ה -5V המלא, שינויים קטנים יהיו ניתנים לזיהוי בקלות יותר מכיוון שהם יבואו לידי ביטוי על ידי שינויים כמותיים גדולים יותר (שינוי 5mV ל- 10mV לעומת שינוי 2V ל- 4V). תחשוב על זה כמו תמונה זעירה במחשב שלך: הפרטים עשויים להיות מוגדרים בצורה מושלמת על ידי הפיקסלים שלך, אך לא תוכל להבדיל צורות אלא אם תרחיב את התמונה.
שים לב שיש יותר סיביות ל- ADC שלך מכיוון שאתה יכול למזער את רעשי הכמות מהפיכת האות הרציף שלך לערכים בדיגיטליים ומובנים. כדי לחשב כמה סיביות אתה צריך לשמירה על ~ 96% של קלט SNR, השתמש ב- N = SNR (ב- dB)/6 ככלל אצבע. אתה גם רוצה לזכור את הארנק שלך: אם אתה רוצה עוד חלקים, אתה צריך להיות מוכן להוציא יותר כסף
-
רעש והפרעות (רעש = חפצים אקראיים שגורמים לאותות שלך לחוד במקום הפרעה חלקה = פריטים לא אקראיים, סינוסים מאותות סמוכים מגלי רדיו וכו ') מטרידים את כל האותות הנמדדים מחיי היומיום.
- המפורסם ביותר הוא הפרעה של 60 הרץ (50 הרץ אם אתה באירופה ואף אחד לא ברוסיה מכיוון שהם משתמשים ב- DC בניגוד ל- AC עבור מתח יציאה …), שנקרא תדר שירות מהשדות האלקטרומגנטיים של שקע החשמל. קווי חשמל נושאים מתח גבוה AC מגנרטורים חשמליים לאזורי מגורים, שם שנאים מורידים את המתח לרמה ~ 120V סטנדרטית בשקעי חשמל אמריקאים. המתח לסירוגין מוביל לאמבט קבוע זה של הפרעות של 60 הרץ בסביבתנו, המפריע לכל סוגי האותות וצריך לסנן אותו החוצה.
-
הפרעה של 60 הרץ נקראת בדרך כלל הפרעה במצב נפוץ מכיוון שהיא מופיעה בשני הכניסות שלך (+ ו -) לעוצמות אופ. כעת, למגברי אופ יש משהו שנקרא יחס דחיית המצב הנפוץ (CMRR) כדי להפחית חפצים במצב נפוץ, אבל (תקן אותי אם אני טועה!) זה טוב בעיקר לרעשי מצב נפוץ (אקראי: רעש במקום לא אקראי: הפרעה). כדי להיפטר מ -60 הרץ, ניתן להשתמש במסנני פס -פס כדי להסיר אותם באופן סלקטיבי מספקטרום התדרים, אך אז אתה מסתכן גם בהסרת נתונים בפועל. במקרה הטוב, אתה יכול להשתמש במסנן מעבר נמוך כדי לשמור רק על טווח תדרים נמוך מ -60 הרץ, כך שכל דבר עם תדרים גבוהים יותר מסונן. זה מה שעשיתי עבור EOG: רוחב הפס הצפוי של האות שלי היה 0-10Hz (הזנחת תנועות עיניים מהירות-לא רציתי להתמודד עם זה בגרסה הפשוטה שלנו) אז הסרתי תדרים גדולים מ -10Hz עם מסנן מעבר נמוך..
- 60 הרץ יכול להשחית את האותות שלנו באמצעות צימוד קיבולי וצימוד אינדוקטיבי. צימוד קיבולי (קראו על קבלים כאן) מתרחש כאשר האוויר פועל כדיאלקטרי לאותות AC המתנהלים בין מעגלים סמוכים. צימוד אינדוקטיבי מגיע מחוק פאראדיי כאשר אתה מפעיל זרם בשדה מגנטי. יש הרבה טריקים להתגבר על צימוד: אתה יכול להשתמש במגן מקורקע כמעין כלוב של פאראדיי, למשל. פיתול/צמת חוטים במידת האפשר מקטין את השטח הזמין לצימוד אינדוקטיבי להפריע. קיצור חוטים והקטנת הגודל הכולל של המעגל שלך יש גם את אותה השפעה מאותה סיבה. הסתמכות על הסוללה עבור מסילות מגבר אופטי לעומת חיבור לשקע חשמל עוזרת גם מכיוון שהסוללות מספקות מקור DC ללא תנודה סינוסואידית. קרא עוד כאן!
-
מסנני מעבר נמוך גם נפטרים מרעש רב, שכן רעש אקראי מיוצג על ידי תדרים גבוהים. הרבה רעשים הם רעש לבן, כלומר רעש קיים בכל התדרים, ולכן הגבלת רוחב הפס האותי שלך ככל האפשר מסייעת בהגבלת כמה מהרעש הזה קיים באות שלך.
חלק ממסנני ה- low-pass נקראים מסנני anti-aliasing מכיוון שהם מונעים כינוי כינוי: כאשר הסינוסידים נמצאים תחת דגימה, הם עשויים להיות מזוהים כתדירות שונה אז הם באמת. עליך תמיד לזכור לעקוב אחר משפט הדגימה של Nyquist (אותות מדגם בתדירות גבוהה פי 2: צריך תדר דגימה של> 2Hz עבור גל סינוס צפוי 1Hz וכו '). במקרה זה של EOG, לא הייתי צריך לדאוג לניקוויסט כי האות שלי היה צפוי להיות בעיקר בטווח 10 הרץ, ודגימות ה- ADC של Arduino ב- 10 קילוהרץ - יותר מהר מספיק כדי לתפוס הכל
- יש גם טריקים קטנים להיפטר מרעש. האחד הוא להשתמש בכוכב קרקע כך שלכל חלקי המעגלים שלך תהיה אותה התייחסות בדיוק. אחרת, מה שחלק אחד מכנה "קרקע" עשוי להיות שונה מחלק אחר בשל התנגדות קלה בחוטים, מה שמצטבר בחוסר עקביות. הלחמה לפרוטובארד במקום להידבק עם לוחות לחם גם מפחיתה קצת רעש ויוצרת חיבורים מאובטחים שאפשר לסמוך עליהם בניגוד להכנסה בהתאמה ללחיצה.
יש הרבה דרכים אחרות לדכא רעש והפרעות (ראו כאן וכאן), אך תוכלו ללמוד שיעור בנושא זה או בגוגל למידע נוסף: בואו נעבור למעגל בפועל!
שלב 4: אופן הפעולה של המעגל
אל תיבהל מתרשים המעגלים: להלן פירוט גס של איך הכל עובד: (עיין לשלב הקודם גם להסברים מסוימים)
- בקצה השמאלי ביותר יש לנו את האלקטרודות. אחד מחובר למקדש השמאלי, אחר למקדש הימני, והאלקטרודה השלישית מקורקעת על המצח. הארקה זו מייצבת את האות כך שיש פחות סחף, והיא גם נפטרת מחלק מההפרעות של 60 הרץ.
- הבא הוא מגבר האבזור. חזור שני שלבים אחורה כדי להסביר מה הוא עושה כדי ליצור את הפרש המתח. המשוואה לשינוי הרווח של המגבר נמצאת בעמוד 7 בגיליון הנתונים [G = 1+ (50kOhm/Rg) שבו Rg מחובר על סיכות המגבר 1 ו -8]. במעגל שלי, התאמתי לרווח של 500 באמצעות Rg = 100Ohm.
- לאחר שמגבר המכשור מוציא את הפרש המתח המוגבר 500x, יש מסנן RC נמוך ממדרגה ראשונה, המורכב ממסנן R_filter וקבל C_filter. מסנן ה- low pass מונע אנטי כינוי (אין לי דאגה כי מכיוון שעל ידי Nyquist, אני צריך לדגום לפחות 20Hz לרוחב פס צפוי של 10Hz ואת דגימות ה- ADC של Arduino ב- 10kHz-יותר ממספיק) וגם מנתק רעש בכל התדרים שאני לא צריך. מערכת ה- RC פועלת מכיוון שקבלים מאפשרים תדרים גבוהים באמצעות תדרים נמוכים יותר אך חוסמים (עכבה Z = 1/(2*pi*f)), ויצירת מחלק מתח עם המתח על פני הקבל גורם למסנן המאפשר רק תדרים נמוכים יותר דרך [חתך לעוצמת 3dB נשלט על ידי הנוסחה f_c = 1/(2*pi*RC)]. התאמתי את ערכי ה- R וה- C של המסנן שלי כדי לנתק אותות גבוהים מ ~ 10 הרץ כיוון שהאות הביולוגי עבור EOGs צפוי בטווח זה. במקור ניתקתי אחרי 20 הרץ, אבל לאחר ניסוי 10 הרץ עבד לא פחות טוב, אז הלכתי עם רוחב הפס הקטן יותר (עדיף שרוחב פס קטן יותר יחתוך כל דבר מיותר, למקרה הצורך).
- בעזרת האות המסונן הזה, מדדתי את התפוקה בעזרת אוסצילוסקופ כדי לראות את טווח הערכים שלי מהסתכלות שמאלה וימינה (שני הקצוות של הטווח שלי). זה הביא אותי בערך ל 2-4V (כי רווח מגבר המכשור היה 500x לטווח של ~ 4-8mV), כאשר היעד שלי הוא 5V (טווח מלא של ה- Arduino ADC). טווח זה השתנה מאוד (בהתבסס על כמה טוב האדם שטף את העור לפני כן וכו ') כך שלא רציתי להרוויח כל כך הרבה עם המגבר השני שאינו הופך. בסופו של דבר התאמתי אותו לרווח של כ -1.3 בלבד (התאם R1 ו- R2 במעגל כי הרווח של המגבר = 1+R2/R1). יהיה עליך להגדיל את התפוקה שלך ולהתאים משם כך שלא תעבור את 5V! אל תשתמש רק בערכי הנגד שלי.
- כעת ניתן להזין אות זה לתוך הסיכה האנלוגית של Arduino לקריאה אך ה- ADC של Arduino אינו מקבל תשומות שליליות! יהיה עליך להעלות את האות שלך כך שהטווח יהיה 0-5V לעומת -2.5V עד 2.5V. אחת הדרכים לתקן זאת היא לחבר את הקרקע של הלוח למעגל 3.3V של הארדואינו: זה מעביר את האות שלך ב -3.3V (יותר מ -2.5V אופטימלי אבל זה עובד). הטווח שלי היה ממש מגניב ולכן תכננתי מתח קיזוז משתנה: כך אוכל לסובב את הפוטנציומטר כדי למרכז את הטווח ל 0-5V. זה בעצם מחלק מתח משתנה באמצעות מסילות החשמל +/- 9V, כך שאוכל לצרף את קרקע המעגל לכל ערך מ -9 ל 9V ובכך להעביר את האות שלי למעלה או למטה 9V.
שלב 5: בחירת רכיבים וערכים
כאשר המעגל מוסבר, כיצד נבחר באיזו (אלקטרודה, מגבר אופ) להשתמש?
-
כחיישן, לאלקטרודות הג'ל המוצק יש עכבת כניסה גבוהה ועכבת פלט נמוכה: מה שזה בעצם אומר שהזרם יכול לעבור בקלות במורד הזרם לשאר המעגל (עכבת פלט נמוכה) אך יטריד את המעבר במעלה הזרם חזרה לרקות שלך. (עכבת כניסה גבוהה). זה מונע מהמשתמש להיפגע מזרמים או מתח גבוה בשאר המעגלים שלך; למעשה, במערכות רבות יש משהו שנקרא נגד הגנת מטופל להגנה נוספת, ליתר ביטחון.
-
קיימים סוגים רבים של אלקטרודות. רוב האנשים מציעים אלקטרודות ג'ל מוצק Ag/AgCl לשימוש ביישומי EKG/EOG/etc. עם זאת, עליך לחפש את התנגדות המקור של האלקטרודות הללו (צעד שני אחורה להערות שלי על עכבת העור) ולהתאים אותו לעמידות הרעש (מתח רעש ב- V/sqrt (Hz) מחולק בזרם הרעש ב- A/sqrt (Hz) - ראה גליונות נתונים של אמפר אופ) של מגברי ההפעלה שלך - כך אתה בוחר את מגבר האבזור המתאים למכשיר שלך. זה נקרא התאמת רעש, והסברים מדוע ניתן למצוא התאמה של התנגדות מקור Rs לעמידות בפני רעש Rn באינטרנט כמו כאן. עבור INA111 שלי שבחרתי, ניתן לחשב את ה- Rn באמצעות מתח הרעש וזרם הרעש של גליון הנתונים (צילום מסך למעלה).
-
יש הרבה מאמרים שמעריכים את ביצועי האלקטרודה, ואף אלקטרודה אחת אינה הטובה ביותר לכל המטרות: נסה כאן, למשל. העכבה משתנה גם לרוחבי פס שונים כפי שהם משתקפים בגיליונות הנתונים של מגבר op amp (בחלק מדפי הנתונים יהיו עקומות או טבלאות בתדרים שונים). בצע את המחקר שלך אך זכור לזכור את הארנק שלך. נחמד לדעת אילו אלקטרודות/מגברי אופ הם הטובים ביותר, אך אין בכך תועלת אם אינך יכול להרשות זאת לעצמך. אתה צריך ~ 50 אלקטרודות לפחות לבדיקה, לא רק 3 לשימוש חד פעמי.
-
להתאמת רעש אופטימלית, לא רק Rn ~ = Rs: אתה גם רוצה שמתח רעש * זרם רעש (Pn) יהיה נמוך ככל האפשר. זה נחשב חשוב יותר מאשר ביצוע Rn ~ = Rs מכיוון שאתה יכול להתאים Rs ו- Rn באמצעות שנאים במידת הצורך.
אזהרות עם שנאים (תקן אותי אם אני טועה): הם יכולים להיות מעט מגושמים ולכן אינם אופטימליים עבור מכשירים שצריכים להיות קטנים. הם גם בונים חום ולכן יש צורך בכיורי חום או אוורור מעולה
- התאמת רעש רק למגבר הראשוני הראשון שלך; המגבר השני לא משפיע כל כך הרבה, כך שכל מגבר אופטי יעשה.
-
-
-
שלב 6: בניית המעגל
השתמש בתרשים הטיגון לעיל כדי לבנות את המעגל (העותק השני מתאר למה מתייחס כל חלק בתרשים המעגלים מהשלב הקודם). אם אתה זקוק לעזרה בזיהוי הנורות בתרשים, השתמש במחשבון קוד הצבע של הנגד, אך ה- Rg של מגבר המכשור הוא 100Ohm, ה- R_filter הוא 1.5MOhm, ה- C_filter הוא 0.1uF, R1 של המגבר הלא הפוך הוא 10kOhm, R2 הוא 33 kOhm, והנגד של הפוטנטיומטר הוא 1 kOhm (פוטנציומטר משתנה בין 0 ל- 20 kOhm). זכור לשנות את ערכי הנגד שלך בהתאם לצורך כדי להתאים את הרווחים!
עריכה: יש שגיאה בחלק הקרקע המקוזז. מחק את החוט השחור השמאלי. יש לחבר את הנגד עם החוט האדום למסילת הכוח כפי שמוצג אך גם לפין השני, לא הראשון, של הפוטנציומטר. יש לחבר את הסיכה הראשונה של הפוטנציומטר לסיכה 5V של הארדואינו. חוט כתום המהווה את הקרקע המקוזרת צריך להיות מחובר לסיכה השנייה, לא הראשונה.
דיברתי הרבה על הקיזוז. בתרשים ניתן לראות כי הקרקע הארדואינו מוצגת כמחוברת לקרקע לוח הלחם. זה בתרחיש שאתה לא צריך לשנות את השטח שלך. אם האות שלך נמצא מחוץ לטווח ואתה אכן צריך לשנות את הקרקע, נסה תחילה לחבר את הקרקע של Arduino לסיכה 3.3V של הארדואינו ולצפות באות שלך. אחרת נסה לחבר את החוט הכתום בפוטנטיומטר המוגדר (מקוזז את הקרקע) לפין ה- GND של הארדואינו.
הערת בטיחות: אין להשאיר את הסוללות בפנים בעת הלחמה, ואל להניח או להלחם את הסוללות לאחור. המעגל שלך יתחיל לעשן, קבלים יתפוצצו וגם לוח הלחם עלול להיפגע. ככלל אצבע, השתמש בסוללות רק כאשר אתה רוצה להשתמש במעגל; אחרת, הסר אותם (הוספת מתג הפעלה לניתוק הסוללות בקלות יהיה רעיון טוב גם כן).
שים לב שעליך לבנות את המעגל חתיכה אחר חלק (בדוק כל שלב!) ועל קרש לחם לפני הלחמה ללוח פרוטובורד. השלב הראשון לבדוק הוא מגבר האבזור: צרף את כל המסילות (הלחמה במחזיקי סוללות), Rg וכו 'והשתמש באוסילוסקופ על סיכת הפלט. בתור התחלה, השתמש בגנרטור פונקציות עם גל סינוס של 1 הרץ עם משרעת של 5mV (או הכי נמוך שהגנרטור שלך יגיע). זה רק כדי לבדוק כי מגבר האבזור פועל כראוי, וה- Rg שלך מספק את רווח המטרה שלך.
לאחר מכן, בדוק את מסנן ה- low pass שלך. הוסף את החלק הזה של המעגל ובדוק את צורת הגל שלך: הוא אמור להיראות בדיוק אותו דבר אך פחות רעש (משונן - ראה שתי התמונות האחרונות למעלה). בואו לחקור את הפלט הסופי שלך עם אוסצילוסקופ עם האלקטרודות שלך במקום מחולל פונקציות עכשיו …
שלב 7: בדיקת מעגל עם אדם
שוב, הניחו אלקטרודות ברקות השמאלית והימנית שלכם, וחברו חוט קרקע לאלקטרודה על המצח. רק לאחר מכן יש להוסיף סוללות - במידה ומתרחש עקצוץ יש להסיר מיד ולבדוק שוב את החיבורים !!! עכשיו בדוק את טווח הערכים שלך כשאתה מסתכל שמאלה מול ימין והתאם R1/R2 של המגבר הבלתי הפוך, כפי שהוסבר לפני שני שלבים-זכור שהמטרה היא טווח של 5V! עיין בתמונות למעלה להערות על מה יש לשים לב.
כאשר אתה מרוצה מכל ערכי הנגד, הלחם הכל ללוח פרוטובורד. הלחמה אינה הכרחית בהחלט, אך היא מספקת יציבות רבה יותר במפרקים פשוטים להתאמת עיתונות ומסירה את אי הוודאות של המעגל שאינו פועל פשוט כי לא לחצת אותם לתוך לוח לחם מספיק חזק.
שלב 8: קוד ארדואינו
כל הקוד מצורף בתחתית שלב זה!
עכשיו שיש לך טווח 5V, עליך לוודא שהוא נופל בתוך 0-5V במקום -1V עד 4V וכו 'או חבר את הקרקע לסיכה 3.3V של הארדואינו או צרף את מתח הקרקע הקיזוז (חוט כתום למעלה) למעקה הקרקע ולאחר מכן חבר חוט ממעקה הקרקע לסיכת ה- GND של הארדואינו (זה כדי להזיז את האות למעלה או למטה כדי שתיכנס לטווח 0-5V). תצטרך לשחק: אל תשכח להרחיק את הפלט שלך בכל אי ודאות!
עכשיו לכיול: אתה רוצה שהאור ישנה צבעים לעמדות עיניים שונות (מבט שמאלה עד לא שמאלה..). בשביל זה אתה צריך ערכים וטווחים: הפעל EOG-calibration-numbers.ino ל- Arduino כשהכל מחובר כמו שצריך (סיים את החיבורים ל- Arduino ו- neopixel לפי התרשים המפריץ שלי). לא הכרחי במיוחד, אבל הפעל את קוד bioe.py שיש לי - זה יפיק קובץ טקסט לשולחן העבודה שלך, כך שתוכל להקליט את כל הערכים כפי שאתה מסתכל שמאלה או ימינה (קוד פיתון הותאם מהדוגמה הזו). איך עשיתי את זה היה להסתכל שמאלה ל -8 פעימות, ואז ימינה, ואז למעלה, ואז למטה וחזור על ממוצע מאוחר יותר (ראה output_2.pdf עבור יומן אחד ששמרתי). הקש על ctrl+C כדי לסיים את הפריט כאשר אתה מרוצה. באמצעות ערכים אלה, תוכל לשנות את טווחי האנימציות בקוד BioE101_EOG-neopixel.ino שלי. בשבילי, הייתה לי הנפשת קשת כשהבטתי ישר קדימה, כחול לשמאל הקיצוני, ירוק לשמאל קל, סגול לימין קל ואדום לימין קיצוני.
שלב 9: צעדים עתידיים
ווילה; משהו שאתה יכול לשלוט בו רק בעיניים שלך. יש הרבה מה לייעל לפני שהוא יכול לעשות את דרכו לבית חולים, אבל זה ליום אחר: מושגי היסוד לפחות קלים יותר להבנה עכשיו. דבר אחד שהייתי רוצה לחזור ולשנות הוא להתאים את הרווח שלי ל -500 למגבר המכשור: להסתכל לאחור, זה כנראה היה הרבה בגלל האות שלי לאחר מכן כבר היה 2-4V והתקשיתי להשתמש במגבר שאינו הפוך. מגבר כדי להתאים את הטווח שלי בצורה מושלמת …
קשה להשיג עקביות מכיוון שהאות משתנה כל כך לתנאים שונים:
- אדם שונה
- תנאי תאורה
- הכנת עור (ג'לים, כביסה וכו ')
אבל למרות זאת, אני די מרוצה מההוכחה האחרונה לביצועי הווידאו שלי (צולם בשעה 3:00 כי אז הכל מתחיל לפעול באורח פלא).
אני יודע שהרבה מהדרכה הזו יכולה להיראות מבלבלת (כן, עקומת הלמידה הייתה קשה גם לי) אז אל תהסס לשאול שאלות למטה ואעשה כמיטב יכולתי לענות. תהנה!
סגנית אלתגר באתגר הנגיעה
מוּמלָץ:
דלעת ליל כל הקדושים של IoT - נוריות שליטה עם Arduino MKR1000 ו- Blynk App ???: 4 שלבים (עם תמונות)
דלעת ליל כל הקדושים IoT | נוריות שליטה עם Arduino MKR1000 ו- Blynk App ???: שלום לכולם, לפני כמה שבועות היה ליל כל הקדושים ובעקבות המסורת גילפתי דלעת נחמדה למרפסת שלי. אבל כשהדלעת שלי בחוץ, הבנתי שזה די מעצבן שצריך לצאת כל ערב כדי להדליק את הנר. ואני
כיבוי האורות: 6 שלבים
כיבוי האורות: האם יש לך בעיה שבה אתה תמיד שוכח לכבות את האור כאשר אתה עוזב את החדר? המעשה הרשלני הזה מבזבז הרבה אנרגיה, אז בפרויקט הזה תלמדו לייצר מכונה שתוכל לכבות לכם את האור כאשר אינכם משתמשים
זנב סרסור בעיניים זוהרות: 5 שלבים (עם תמונות)
סרסור סרסור בעיניים זוהרות: למד כיצד להוסיף נוריות עם אפקט עיניים זוהר לדמות קיימת. במקרה שלי השתמשתי בדמות זומבים לקראת ליל כל הקדושים. זה די קל לביצוע ואינו דורש שום כישורים מתקדמים
טיימר Arduino/Android (עם אפליקציה!). שלוט על האורות שלך ודברים אחרים: 6 שלבים
טיימר Arduino/Android (עם אפליקציה!). שלוט על האורות שלך ודברים אחרים: היי! הנה אני עם טיימר אחר. עם פרויקט זה אתה יכול להגדיר אם הטיימר יהיה " ON " או " כבוי " לכל שעה ביום. אתה יכול להגדיר יותר מאירוע אחד ביום באמצעות אפליקציית אנדרואיד. על ידי שילוב Arduino ו- Android אנו
צלם את האורות באמצעות NES Zapper (RF 433MHz): 6 שלבים (עם תמונות)
צלמו את האורות באמצעות NES Zapper (RF 433MHz): למה לכבות את האורות באמצעות מתג אם אתה יכול לצלם אותם עם ה- NES Zapper שלך! בניתי כבר אור לייזר ב- NES זאפר שבור כאשר הרעיון הזה עלה לי לראש. זה אהב את זה טוב יותר אז החלפתי את אור הלייזר בזה. מקצוען אידיאלי