תפריט English Ukrainian רוסי עמוד הבית

ספרייה טכנית בחינם לחובבים ואנשי מקצוע ספריה טכנית בחינם


אינציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל
ספרייה חינם / ערכות של מכשירים רדיו-אלקטרוניים וחשמליים

USB-מבשר זמן נטילת תרופות. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל

ספריה טכנית בחינם

אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל / רפואה

הערות למאמר הערות למאמר

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

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

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

טיימר תרופות USB
אורז. 1. מבט כללי של האזעקה

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

האזעקה מופעלת מרשת ~230 וולט, ובמקרה של הפסקת חשמל, היא עוברת אוטומטית לחשמל מהסוללה הנטענת המובנית. ההספק הנצרך מהרשת אינו עולה על 5 וואט, זמן הפעולה מסוללה בקיבולת 800 מיליאמפר/שעה מגיע לשלושה ימים. זה מבטיח את בטיחות לוח הזמנים גם במהלך הפסקת חשמל ארוכת טווח.

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

טיימר תרופות USB
אורז. 2. מעגל אזעקה (לחץ להגדלה)

המיקרו-בקר ATmega8A-PU (DD1) המשמש בהתקן האזעקה מסוגל לפעול במתח אספקה ​​מופחת ל-2,7 וולט. תדר השעון של המיקרו-בקר של 12 מגה-הרץ נקבע על-ידי מהוד הקוורץ ZQ1. יחידת אזעקת הקול מורכבת על מעגל מיקרו של סינתיסייזר המוזיקה UMS8-08 (DD2). המיקרו-בקר מדליק את אות השמע על ידי שליחת רמה גבוהה לכניסת S של שבב הסינתיסייזר. האות נשמע ברציפות עד ללחיצה על לחצן SB1. מקור הקול הוא פולט ה-piezo HA1. עוצמת הקול נשלטת על ידי הנגד המשתנה R16. המנגינות ממוינות על ידי לחיצה על לחצן SB2 במהלך השמעה. מידע מפורט יותר על המיקרו-מעגלים מסדרת UMS ניתן ב-[1].

למכשיר האזעקה מקור שנאי של מתח מיוצב של 5 V, לא מופיע בתרשים, מורכב לפי מעגל מסורתי על מייצב משולב 7805. במקרה של אובדן מתח ברשת האספקה, המכשיר עובר לחשמל. מהסוללה GB1. הזרם הממוצע הנצרך ממנו אינו עולה על 5 mA. אם יש מתח ברשת, הסוללה נטענת ברציפות הודות למעגל VD5, VD6, R18. עם זאת, מומלץ לכבות אותו אחת לחודש ולבצע מחזור שלם של פריקה למתח של 3V וטעינה באמצעות מטען חיצוני.

ניתן להחליף את המיקרו-מעגל של סינתיסייזר המוזיקה UMS8-08 באחר מסדרות UMS7 ו-UMS8. הם נבדלים רק במערך המנגינות. מותר להחליף את הטרנזיסטור KT3102B ב-KT3102G, KT3102E או BC547 מיובא, וכן ב-KT315B או KT315G, אם ההתנגדות של הנגד R17 מופחתת ל-51 kOhm. במקום דיודות KD522B מתאימות KD521A, KD521B, KD522A, 1N4148 וכדומה. כל הנגדים הקבועים הם C2-33N או MLT. קבלי תחמוצת C3 ו-C6 - K50-83, K50-16 או מיובאים. הקבלים הנותרים הם קרמי K10-73-1b, K10-17v. כל נוריות מתאימים בבתים בקוטר של 5 מ"מ בצבע הזוהר הרצוי. בגרסת המחבר מותקן LED ירוק כ-HL1, כדי לא להפריע למטופל לשווא, השאר אדומים. מחבר XS1 - שקע USB-BF.

סוללת GB1 מורכבת משלוש סוללות Ni-Mh בגודל AA בקיבולת של 80 מיליאמפר/שעה. ניתן להשתמש בסוללות בעלות קיבולות אחרות, אך רצוי לבחור נגד R18 בעל התנגדות כזו שזרם הטעינה הראשוני של סוללה שנפרקה למתח של 3V שווה מספרית ל-0,1 מהקיבולת הנומינלית שלה.

האזעקה מורכבת על פלטת התקנה מחוררת סטנדרטית בגודל 70X50 מ"מ עם גובה ניקוב של 2,54 מ"מ. שיטת התקנה: צירים עם דבק חם נמס. בשל פשטות המעגל, לא נעשה שימוש בחיווט מודפס. כל האלמנטים של המכשיר, מלבד נוריות ה-HL2-HL9, ממוקמים בקופסת חלוקה חשמלית מפלסטיק בעיצוב IP67 במידות של 80x80x40 מ"מ.

מחבר XS1 ממוקם על לוח מעגלים מודפס קטן; מולו נחתך חור בגודל המתאים בדופן הקופסה. אלמנטים HA1, HL1, GB1, R16, SB1 קבועים על מכסה הקופסה עם דבק חם. לחצן SB2, שאינו קשור לבקרות תפעוליות, ממוקם על המעגל. באיור. איור 3 מציג את המיקום היחסי של לוח המעגלים והאלמנטים המרוחקים בתוך תיבת החלוקה.

טיימר תרופות USB
אורז. 3. המיקום היחסי של המעגל והאלמנטים המרוחקים בתוך תיבת החיבורים

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

תיבת החלוקה מאובטחת לדופן הצד השמאלי של קופסת הקסטות באמצעות ברגים ואומים M3. נוריות LED HL2-HL9 ממוקמות אחת אחת על הפאנל הקדמי של כל תא ומחוברות למכשיר באמצעות חוטים גמישים המונחים בצינורות PVC בתוך התאים ומקובצים בצד האחורי של קופסת הקסטות. עתודת האורך של כל זוג חוטים העוברים לנוריות אמורה להבטיח הארכה חופשית של התא ל-75...80% מהמצב הפתוח לחלוטין.

יש לטעון את הקובץ USB_HID_Note.hex המצורף למאמר בזיכרון התוכנית של המיקרו-בקר. תצורת המיקרו-בקר חייבת להתאים לזו המוצגת בטבלה. 1. מכשיר שהורכב כהלכה אינו דורש התקנה. ניתן להגדיר את הבהירות הרצויה של הנוריות על ידי שינוי הזרם שלהם בתוך 5...10 mA באמצעות מבחר נגדים R7-R15.

לוח 1

פריקות מצב
CKOPT 0
CKSEL [3: 0] 1111
SUT [1: 0] 10
בודן 1
W.D.E. 1
RSTDISBL 1

מבחינת מפרט ה-USB, המכשיר שייך למחלקת HID [2] עם יישום תוכנה של ממשק ה-USB המבוסס על מנהל ההתקן הידוע AVR V-USB [3]. הרשו לי להזכיר לכם שבמקרה זה יש צורך להעביר את הממשק למצב USB 1.1 במהירות נמוכה, אשר על פי המפרט נעשה באמצעות נגד המחובר בין קווי ממשק D- ו-Vאוטובוס (במקרה זה מדובר בנגד R4).

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

המיקרו-בקר פועל בתדר שעון של 12 מגה-הרץ, אחד מהטווחים המותרים ל-V-USB. התוכנית שלו כתובה ב-C בסביבת הפיתוח של AVR Studio 4. טקסט התוכנית (קובץ main.c) מכיל פרשנות מפורטת. נעשה שימוש במהדורת מנהל ההתקן vusb-20100715 [4] ובמהדר WinAVR-20100110 [5].

ספריית V-USB מתועדת היטב, כך שרק נקודות הקשורות ישירות ליישום הפרויקט או הקשורות לתכונות שלו ייחשבו כאן. התהליך שלב אחר שלב של יצירת תוכנית המבוססת על ספריית V-USB מתואר בפירוט ב- [6].

נקודות מפתח שיש לשים לב אליהן בעת ​​יצירת תוכנית ב-AVR Studio:

- יש להעתיק את כל הקבצים מתיקיית ה-usbdrv של ארכיון V-USB לתיקיית הפרויקט;

- יש להוסיף את הקבצים usbdrv.c, usbdrvasm.S, oddebug.c לפרויקט AVR Studio (דרך פריט תפריט ההקשר "הוסף קבצי מקור קיימים..." בעץ הפרויקט);

- בהגדרות הפרויקט (פרויקטים → אפשרויות תצורה → כללי → תדר, הרץ), יש להגדיר את תדר השעון של המיקרו-בקר ל-12000000 הרץ. בהתבסס על ערך זה, AVR Studio יקבע לקומפיילר את קבוע F_CPU בו משתמש V-USB.

תצורת ה-V-USB הנחוצה כלולה בקובץ usbconfig.h, שאמור להיות ממוקם גם בתיקיית הפרויקט. יש להחליף את קובץ התצורה הסטנדרטי בקובץ המצורף למאמר. בשולחן 2 מפרט את הקבועים החשובים ביותר המוגדרים בקובץ זה. האפשרות לפיתוח חופשי של התקני USB HID קשורה לנקודה חשובה - עליה להשתמש בזוגות של מזהי VID/PID לפי המסמך USB-IDs-for-free.txt מספריית V-USB [3].

לוח 2

קָבוּעַ ערך תוכן
USB CFG IOPORTNAME D יציאת חיבור לאוטובוס
USB CFG DMINUS BIT 4 חלק מהיציאה אליה מחובר קו ה-D
USBCFGDPLUSBIT 2 סיביות של היציאה אליה מחובר קו D+ (חייב להיות מחובר לכניסת הפסיקה INTO)
מחלקת ממשק USB CFG 3 (HID) כיתת מכשיר
USB CFG MAX POWER BUS 100 צריכת זרם מרבית מאפיק ה-USB. אִמָא
USB CFG HID אורך מתאר דוח 22 * אורך מתאר דוח HID
מזהה ספק USB CFG OxCO, 0x16 מזהה יצרן המכשיר
מזהה מכשיר USB CFG OxDF, 0x05 מזהה מוצר

*) ערך זה חייב להיות שווה לגודל של מערך התווים PROGMEM usbHidReportDescriptor בתוכנית.

התוכנית משתמשת בפורמט זמן UNIX, כאשר ערך הזמן הוא מספר השניות שחלפו מאז 00:00:00 UTC 01.01.1970/XNUMX/XNUMX.האזעקה אינה מציגה זמן חזותית, מה שמונע סיבוך מיותר של המעגל והאלגוריתם של פעולתו. משתנה pdata משמש להעברת חותמות זמן - ערכי זמן UNIX של ארבעה בתים.

המספר המרבי של אותות שנשלח ביום מצוין בתוכנית על ידי הקבוע NUM_ CALLS. כדי לאחסן ערכי זמן, נעשה שימוש במערך u_time בגודל NUM_CALLS+1. במקרה זה, רכיב המערך u_time[NUM_CALLS] מכיל את השעה הנוכחית, והשאר - הזמן שבו האותות נשלחו. לכל ערוץ (תא של קלטת התרופות) מוקצים ארבעה אלמנטים של מערך. לדוגמה, התא הראשון מכיל אלמנטים מ-u_time[0] עד u_time[3], השני - מ-u_time[4] עד u_time[7] וכו'. אם הערך של אלמנט מערך הוא אפס, האות המתאים נחשב לֹא פָּעִיל. גישה זו מאפשרת לנו לפשט את האלגוריתם לשידור ועיבוד מידע.

המתאר המתאר את מבנה החבילה ואת הליכי העברת המידע usbFunctionWrite ו-usbFunctionRead נוצרים על בסיס פתרונות סטנדרטיים. הפונקציות הבסיסיות מתוארות בפירוט בקובץ הכותרת usbdrv.h מ-[3]. הנהלים מתווספים בתנאים לבדיקת מספר הערוצים המעובדים. מספר הרכיבים של המערך שמקבל המכשיר מהמחשב הוא אחד יותר מזה שנשלח, שכן המחשב תמיד משדר את הזמן הנוכחי לסנכרון.

בתחילת ההליך הראשי main(), אוגרי ה-I/O מוגדרים, מקדם חלוקת תדר השעון מוגדר ל-256, ואוגר הטיימר TCNT1 נטען בתחילה במספר הדרוש ליצירת מרווח זמן של שנייה אחת. הפסקות גלישת טיימר מושבתות כברירת מחדל.

לאחר מכן, התוכנית נכנסת ללולאה הראשית. אם אין חיבור USB, הפסקות יתאפשרו באופן גלובלי ובגלישה בטיימר 1. בלולאת for, כל רכיב של מערך u_time[i] עם ערך שאינו אפס ייבדק כדי לראות אם הוא שווה לזרם הנוכחי. זְמַן. אם מזוהה תיקו, הזמזם וה-LED של התא המתאים יופעלו, וזמן התגובה של ערוץ זה גדל ב-86400 שניות (ליום).

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

במקביל לכך, בכל שנייה כאשר טיימר 1 עולה על גדותיו, מופעל הליך טיפול בפסיקות TIMER1_OVF_vect. הוא משחזר את הקביעה המוגדרת מראש של מונה TCNT1, מגדיל את ערך הזמן הנוכחי ברכיב המערך u_time[NUM_ CALLS] ומשנה את מצב פלט PB1 (נורית HL1 המחוברת אליו מהבהבת בפרק זמן של 2 שניות).

כאשר התקן מחובר ל-USB, כניסת PC5 מקבלת רמה גבוהה מקו ה-Vbus של אפיק ה-USB. במקרה זה, מצב ה-if (PINC & (1<<5)) משבית את הגלישה של טיימר 1, מפריע ומפעיל את מנהל ההתקן V-USB. נורית HL1 נדלקת ונדלקת ברציפות.

לאחר הפעלת מנהל ההתקן V-USB, ניתן יהיה להחליף מידע באמצעות USB. הלולאה קוראת לפונקציה usbPoll(), אשר שומרת על הממשק פעיל בהיעדר חילופי מידע. תהליך העברת המידע מתואר בפירוט רב יותר בחלק של המאמר לגבי תוכנת המחשב.

נעבור לשקול את תוכנית המחשב להזנת לוח זמנים להתקן האיתות USB_HID_Note. כפי שניתן לראות מהחלון הראשי שלו (איור 4), תשומת לב מיוחדת במהלך תהליך הפיתוח הוקדשה לאופטימיזציה של הממשק כדי להבטיח קלות שימוש עבור משתמשים מבוגרים. התוכנית פועלת תחת Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2003, Windows Server 2008. הביצועים שלה תחת Windows 10 ו-Windows Server 2012 לא נבדקו, אך יש סיבה להניח שהיא תעבוד כרגיל.

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

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

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

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

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

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

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

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

התוכנית USB_HID_Note כתובה ב-C++ בסביבת התכנות Qt 5.3.2. הבחירה בסביבה זו נובעת מאופייה החופשי, חוצה פלטפורמות, יכולות נרחבות וכלים מובנים ייחודיים ליצירה ואיתור באגים של יישומים מכל רמה, בשילוב עם הגמישות של פתרונות ממשק. סוג היישום של היישום הוא Qt Widget. טקסט המקור של הווידג'ט הוא הקובץ widget.cpp. הפרוייקט כולו מאוגד בארכיון USB_HID_Note_ pro.zip, המצורף למאמר.

תכונה מיוחדת של התוכנית היא גישה ישירה לפונקציות של ספריות SetupAPI ו-HID. לכן, המחשב שבו מתבצע ההידור חייב להיות בעל הקבצים setupapi.lib ו-hid.lib התואמים את גרסת מערכת ההפעלה שלו. קבצים אלה כלולים בדרך כלל בחבילת WinDDK. כדי למנוע את הצורך להתקין לחלוטין את כל חבילת WinDDK, הקבצים של גרסאות שונות מ-WinDDK 7600. 16385.1 נאספו על ידי המחבר לתיקיה אחת winddk_libs, הזמינה בשרת ה-FTP של מערכת העריכה. ניתן לבצע קומפילציה וניפוי באגים תחת Windows 7, Windows Server 2008 R2, Windows Vista SP1, Windows Server 2003 SP1, Windows XP SP3 ואילך. קובץ ה-pro חייב לציין במפורש את הנתיבים המלאים לספריות, למשל, כמו בטבלה. 3.

לוח 3

טיימר תרופות USB

קובץ ההפעלה שהורכב של התוכנית יחד עם קבצי התצורה (.cfg) והסגנון (.qss) נמצאים בתיקיית USB_HID_Note המצורפת למאמר. גם הספריות הדינמיות הדרושות של Qt (קבצי .dll) ממוקמות שם. כידוע, דרישה זו היא חובה עבור כל אפליקציה שפותחה ב-Qt. הרשימה של ספריות אלה למקרה הנדון מובאת בטבלה. 4.

לוח 4

טיימר תרופות USB

כל הספריות מועתקות מהתיקייה ..ToolsQtCreator, למעט שתי האחרונות, המועתקות מ-..5.3mingw482_32pluginsplatforms וממוקמות בתיקיית המשנה המתאימה של תיקיית העבודה של התוכנית. אתה יכול גם להעתיק אותם בעצמך מהמחשב שבו הידור התוכנה לתיקיית העבודה או המערכת של התוכנית (גודל ארכיון - 126 מגה-בייט, לא ארוז - 400 מגה-בייט).

אלגוריתם התוכנית מבוסס על פתרונות סטנדרטיים המופיעים ב-[7]. תכונות היישום קשורות, קודם כל, לשימוש בשפות תכנות שונות (בניגוד לאלו המתוארות במקור Delphi ו-C#). כדי להשתמש בפונקציות HID API ו- SetupAPI, עליך לכלול את קובצי הכותרת hidsdi.h ו-setupapi.h, בהתאמה.

המטפל בלחיצת כפתור על המסך הוא הליך on_Connect Button_clicked() . ראשית, פונקציית מנהל ההתקן HidD_GetHidGuid קובעת את ה-GUID המשויך ל-HID. לאחר מכן נקראות הפונקציות של SetupAPI כדי ליצור את מונה הממשק ולקבל את שם ה-HID של המכשיר. זה מתואר בפירוט ב-[7] בעמ'. 333. במקרה זה לא נעשה שימוש מכוון בפונקציות של קביעת שם המוצר או המספר הסידורי שלו. רק צמד ה-VID/PID מסומן. זה נעשה כדי למנוע את האפשרות של שימוש מסחרי במכשיר. ערכי VID/PID מצוינים על ידי קבוע Dev_VID_PID בקובץ global_vars.h.

לאחר זיהוי המכשיר, השליטה מועברת בחזרה למנהל ההתקן HID. הפונקציה CreateFile מבקשת את הידית שלה, HidD_GetPreparsedData מחזירה מצביע למאגר המכיל מידע על פרמטרי המכשיר, ו-HidP_GetCaps מחזירה מבנה עם הערכים של הפרמטרים הללו.

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

חילופי המידע בפועל מתרחשים באמצעות הפונקציות HidD_Get Feature (read) ו-HidD_SetFeature (כתיבה), הנקראות בפרוצדורות התואמות data_read() ו-data_transfer() במחזוריות בהתאם למספר התאים. כפי שכבר צוין, מספר רכיבי המערך המתקבלים על ידי התקן האיתות הוא אחד יותר מאלה שנשלחו, שכן עבור סנכרון המחשב תמיד משדר את השעה הנוכחית.

פרשנות מפורטת המתארת ​​את מטרת ההליכים החשובים ביותר זמינה בטקסט של התוכנית. מטרת ההליכים הנותרים היא סטנדרטית או אינטואיטיבית, לדוגמה, on_comboBox_ currentIndexChanged() - מטפל עבור אירוע השינוי באינדקס comboBox. שורות ההערות של qDebug והשורות הנלוות נועדו רק לניפוי באגים בתוכנית. אם עליך לבצע ניפוי באגים ולראות את התקדמות חילופי המידע בחלון ניפוי הבאגים המובנה של Qt, יש לבטל את כל ההוראות הללו.

התוכנית מאחסנת את התצורה הכללית בקובץ settings.cfg. זה בפורמט טקסט רגיל וניתן לערוך אותו באופן ידני במידת הצורך. הקטע [כללי] שלו מכיל את מספר התאים NUM_BOX=8 ואת מספר האותות לתא NUM_BOX_CALL=4, בקטע [תצוגה] המיקום של חלון התוכנית על המסך מצוין במספרים שלמים. הקטע [שמות] מכיל את שמות התרופות לפי תא, הקטע [משומש] - דגלי פעילות תאים, הקטע [פעמים] - ערכי זמן תגובה בפורמט חותמת זמן של UNIX. האחרונים הם בעיקרם אינפורמטיביים בטבעם, שכן ערכי ההפעלה ממוקמים בזיכרון של מיקרו-בקר הגלאי. בעת עריכה ידנית של הקובץ, שימו לב שפרמטרי השם הם בפורמט קוד המקור C/C++/Java (לדוגמה, u3256).

ולסיכום, כמה המלצות למי שרוצה לשנות באופן עצמאי את מספר האותות שנשלח מהמכשיר. אם מספר התאים קבוע, קל יחסית לשנות את מספר האותות לתא. בתוכנית המיקרו-בקר, לשם כך יש צורך, ראשית, לשנות את הקבוע NUM_CALLS. ערכו צריך להיות שווה למכפלת מספר התאים ולמספר האותות המרבי לתא. במקרה הנחשב במאמר, זה שווה ל-8x4=32. שנית, בהליך המתג... מקרה..., מספר הצהרות המקרה בכל שורה חייב להיות שווה למספר האותות לתא. במקרה זה, הארגומנטים של הצהרות מקרה חייבים ליצור רצף רציף מ-0 עד NUM_CALLS-1. גוף הפונקציה והצהרת הפסקה נשארים ללא שינוי. לאחר מכן יש לשמור את התוכנית ולהרכיב מחדש.

אין צורך בהתאמות בתוכנת המחשב. מספיק לשנות את הערך של הקבוע NUM_BOX_CALL (מספר האותות לתא) בקובץ settings.cfg. זה חייב להתאים בהחלט למה שנכלל בתוכנית המיקרו-בקר.

ניתן להוריד תוכניות עבור המיקרו-בקר והמחשב מ-ftp://ftp.radio.ru/pub/2017/01/signal.zip.

ספרות

  1. Drinevsky V., Sirotkina G. סינתיסייזרים מוזיקליים מסדרת UMS. - רדיו, 1998, מס' 10, עמ'. 85.
  2. אוטובוס טורי אוניברסלי. מידע HID. - כתובת אתר: usb.org/developers/hidpage/.
  3. V-USB. - כתובת אתר: obdev.at/products/vusb/index.html.
  4. מנהל ההתקן archivevusb-20100715. - כתובת אתר: obdev.at/downloads/vusb/vusb-20100715.tar.gz.
  5. מהדר WinAVR-20100110. - כתובת URL: sourceforge.net/projects/winavr/files/WinAVR/20100110/WinAVR-201 0 0110-install.exe/download.
  6. USB עבור AVR. חלק 2. HID Class על V-USB. - כתובת אתר: we.easyelectronics.ru/electro-and-pc/usb-dlyaavr-chast-2-hid-class-na-v-usb.html.
  7. Agurov P. תרגול תכנות USB. - סנט פטרסבורג: "BHV-Petersburg", 2006.

מחבר: D. Pankratiev

ראה מאמרים אחרים סעיף רפואה.

תקרא ותכתוב שימושי הערות על מאמר זה.

<< חזרה

חדשות אחרונות של מדע וטכנולוגיה, אלקטרוניקה חדשה:

רעשי תנועה מעכבים את גדילת האפרוחים 06.05.2024

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

רמקול אלחוטי Samsung Music Frame HW-LS60D 06.05.2024

בעולם של טכנולוגיית אודיו מודרנית, היצרנים שואפים לא רק לאיכות צליל ללא דופי, אלא גם לשילוב פונקציונליות עם אסתטיקה. אחד הצעדים החדשניים האחרונים בכיוון זה הוא מערכת הרמקולים האלחוטיים החדשים Samsung Music Frame HW-LS60D, שהוצגה באירוע 2024 World of Samsung. ה-Samsung HW-LS60D הוא יותר מסתם מערכת רמקולים, זו אומנות הסאונד בסגנון המסגרת. השילוב של מערכת 6 רמקולים עם תמיכה ב-Dolby Atmos ועיצוב מסגרת תמונה מסוגנן הופכים את המוצר הזה לתוספת המושלמת לכל פנים. ה-Samsung Music Frame החדש כולל טכנולוגיות מתקדמות לרבות Adaptive Audio המספק דיאלוג ברור בכל רמת עוצמת הקול, ואופטימיזציה אוטומטית של החדר לשחזור אודיו עשיר. עם תמיכה בחיבורי Spotify, Tidal Hi-Fi ו-Bluetooth 5.2, כמו גם אינטגרציה של עוזר חכם, הרמקול הזה מוכן לספק לך ... >>

דרך חדשה לשלוט ולתפעל אותות אופטיים 05.05.2024

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

חדשות אקראיות מהארכיון

מערכת הפעלה Google Chrome OS 24.08.2009

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

לפי ארכיטקטורה, מערכת ההפעלה Google Chrome היא מערכת חלונות חדשה על גבי ליבת לינוקס, המתמקדת בשימוש ביישומי אינטרנט. יתר על כן, זה יעבוד גם על פלטפורמת x86 וגם על מעבדי ARM. בעוד מערכת ההפעלה אנדרואיד מיועדת לסמארטפונים, מערכת ההפעלה של Google Chrome מתאימה גם למחשבים שולחניים.

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

עוד חדשות מעניינות:

▪ גדלו תפוחי אדמה זוהרים

▪ Qnap TS-251A ו-TS-451A NAS

▪ נשק מיקרוגל נגד מל"טים

▪ ליאם F1 טורבינת רוח שקטה

▪ רמקול אלחוטי Drifter

עדכון חדשות של מדע וטכנולוגיה, אלקטרוניקה חדשה

 

חומרים מעניינים של הספרייה הטכנית החופשית:

▪ חלק של האתר עבור הבנאי, אומן הבית. מבחר מאמרים

▪ מאמר אנה ויקטוריה הרמן. פרשיות מפורסמות

▪ מאמר מדוע הקשת מעוצבת כמו קשת? תשובה מפורטת

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

▪ כתבה מגבר על השבב TDA7230, 2x0,048 וואט. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל

▪ מאמר תה + חלב = דיו. פוקוס סוד

השאר את תגובתך למאמר זה:

שם:


אימייל (אופציונלי):


להגיב:





כל השפות של דף זה

בית | הספרייה | מאמרים | <font><font>מפת אתר</font></font> | ביקורות על האתר

www.diagram.com.ua

www.diagram.com.ua
2000-2024