שאלה לגבי usb

gili15000

New member
שאלה לגבי usb

שלום רב.
לא יודע אם זה המקום הנכון אשמח לעזרה.

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

תודה
 
"לד שמחובר שמחובר ליציאת usb"

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

gili15000

New member
את המעגל של הלד אני בניתי

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

תודה רבה לעוזרים ותאמרו לי אם צריך עוד פרטים.
 
אין לי נסיון עם FTDI. גש לאתר שלהם תוריד קוד דוגמה ב-#C

עובד? סבבה.
לא עובד? גגל pyusb כי אם אין לך נסיון בתכנות מוטב לך לעבוד עם פייתון.
 

gili15000

New member
קודם כל תודה רבה

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

yoave23

New member
FTDI

יצא לי לתקשר לא מעט עם הרכיב הזה גם מ WIN 7 וגם מ WIN 8. מה שאני עושה בד"כ זה "לדבר" אתו בתקשורת סיריאלית פשוטה ע"י אובייקט SerialPort (שליחה של byte[] למספר היציאה). העניין פה הוא שהרכיב שמקבל את התשדורות צריך לדעת מה לעשות איתן וזה בד"כ מתבצע ע"י תוכנית C או C++ שמותקנת על הלוח ומאזינה לתקשורת. מה שאתה צריך לזכור זה שהמוצרים של FTDI בסה"כ עוזרים למתכנן הרכיב להשתמש בתקשורת מבוססת USB, מה שקורה עם המידע שעובר לרכיב זה סיפור אחר לגמרי...
 

gili15000

New member
הבנתי אבל...

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

gili15000

New member
יכול להיות שחסר לי יותר מדי ידע עבור הפרוייקט הזה...

 

yoave23

New member
Firmware

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

gili15000

New member
מצאתי המון דוגמאות גם באתר וגם מחוץ לו

אבל משום מה אני לא מצליח להפעיל אותן על הציפ
 

yoave23

New member
אם באמת חשוב לך

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

gili15000

New member
מכיר את הרכיב - אני שוקל לרכוש ולהתשמש בתוכנה שלו

מערכת מאד יעילה.
 

gili15000

New member
מה אני אגיד לכם הכרתי עולם נפלא של לינוקס

נקווה שזה יענה על הדרישות שלי
 
תכנות עם FTDI

הי,
מהשרשור שפורסם כאן לא ברור מה כן הצלחת ומה לא, אז אתן סקירה מהירה:
ניתן להוריד מהאתר של חברת FTDI דרייברים לשימוש עם הרכיבים שלהם.
עקררונית הם מציעים שתי אלטרנטיבות:
האחת להתקין דרייבר USB שמאפשר לכתוב תוכנה ישירות לערוץ הUSB (קצת מסובך למי שלא בעניינים)
השנייה להתקין Virtual Com Port או בקיצור VCP (יותר פשוט, כי אז אפשר להתייחס לרכיב כאילו היה ערוץ תקשורת טורית)
הערה: יש לשים לב שבהתקנת הדרייבר, תוכנת ההתקנה שואלת באיזה אופן אתה מעוניין להשתמש בדרייבר, כVCP או ישירות עם הUSB.
אם כן, המלצתי היא להשתמש בVCP וללמוד כיצד עובדים בשפת התכנות עם com port.

לאחר ההתקנה ועם חיבור הרכיב למחשב, אתה אמור לראות בdevice manager את הרכיב ושים לב לאיזה com port הוא הוקצה.
(לדוגמא: com3, com10 וכו')

כעת יש לבדוק איזה נתוני תקשורת דרושים לתקשורת עם הרכיב (לבדוק בדפי הנתונים של הרכיב). למשל קצב השידור: 9600, 19200 וכו'.
כעת לתכנות #C:
הכי פשוט זה לפתוח פרוייקט WinForm ולגרור פקד שנקרא SerialPort.
יש לשנות רק שני פרמטרים:
הbaud rate שזה קצב השידור.
שם הערוץ: (כפי שמוצג בdevice manager) למשל COM3

בטעינת הטופס למשל, יש לרשום למשל
serialPort1.Open();
ולעשות כפתור למשל שבתוכו לרשום למשל
SerialPort1.write("text");
או מערך של bytes.

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

זהו, מיציתי.
שאלות, הערות? בכיף
אבי
 
למעלה