מציג תוצאות 1 עד 22 מתוך 22

נושא: עבודה עם בקרים וLCD

  1. #1
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts

    עבודה עם בקרים וLCD

    שלום.

    אני מתכנן מערכת שמכילה 12 בקרים מסוג arduino leonardo ותצוגת LCD
    אני צריך בעצם להציג את המידע על גבי תצוגת ה lcd בכל רגע נתון.
    בעצם כל בקר שולח את המידע בזמן שלו ואני רוצה להציג את כל המידע מהבקרים על גבי תצוגת ה lcd
    המידע שמתקבל מכיל 4 תווים מכל בקר.
    עם איזה תצוגת lcd כדאי לעבוד?
    בנוסף איך אני בדיוק מחבר את כל הבקרים לתצוגת ה lcd בכדי שאוכל לראות את המידע שנשלח מהבקרים ?

    תודה

  2. פרסומת
  3. #2
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    ראשית, לא נראה שתוכל לחבר 12 בקרים שונים לתצוגה אחת בלי "מתווך" - כלומר עוד ארדואינו, שיכול להיות הכי פשוט שיש, שאליו מחוברת התצוגה (או שאחד הבקרים יהיה זה שגם נותן שירותי תצוגה לאחרים - נראה לי פחות טוב אם אתה מעוניין לשמור על הבקרים זהים בתצורה ובתוכנה).
    תבחר איזו תצוגה שבא לך (למשל בתצוגה של 4X20 לא תהיה לך בעיה לרכז את כל ה 12X4 תוים של ההודעות על מסך אחד).
    מה שנשאר זה נושא הפרוטוקול שאיתו תעביר את התקשורת - פרוטוקול פשוט יותר יהיה כזה שבו הארדואנו של התצוגה יעשה POLLING לבקרים ויציג. המקרה היותר מורכב הוא פרוטוקול שמאפשר תקשורת אקראית מכל בקר לכוון הארדואינו של התצוגה על כל הכרוך בה.

  4. #3
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    היי.

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

    תודה

  5. #4
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    בצד של התצוגה תסתכל ברשת - לא חסרות דוגמאות של חיבור ארדואינו לתצוגת תוים (רוב הדוגמאות מראות חיבור של תצוגה מקבילית של 4 ביטים של מידע + 2-3 קויי בקרה, אבל יש כאלו שמראות גם חיבור I2C אלא שבמקרה שלך זה לא נחוץ כי אם מקדישים ארדואינו רק לתצוגה אין לך בעיה של יציאות דיגיטליות - אתה אפילו יכול לנסות להמיר את הקוד לעבודה ב 8 ביטים).
    לגבי הפרוטוקול, במקרה שלך זה נראה די פשוט כי אתה מעביר רק סוג אחד של מידע:
    - לכל בקר אתה נותן "כתובת" שהיא בסה"כ מספר בין 0-11 - זה יכול להיות ישירות בקוד, או שתיצור בקוד אפשרות לקלוט את הכתובת ולשמור ב EEPROM.
    - כל הבקרים מחוברים ביחד על אותו הפורט הטורי שכמובן צריך לשמש רק לזה ולא לעבודה רגילה אחרת (אם אין פורט חומרה פנוי מממשים פורט תקשורת עם שני פינים דיגיטלים וספרית SOFTSERIAL)
    - כל הבקרים נמצאים בהאזנה כל הזמן לפורט הטורי
    - בקר התצוגה שולח תו אחד - מספר בין 0-11
    - הבקר שזו הכתובת שלו עונה עם ארבעת התוים של המידע לתצוגה

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

  6. #5
    תאריך הצטרפות
    Mar 2014
    הודעות
    736
    תודה
    5
    קיבל/ה 70 תודות ב-69 הודעות
    פוסטים בבלוג
    13
    תודה
    0
    Thanked 0 Times in 0 Posts
    אני מציע משהו כזה:
    ראשית תסתכל על פרוייקט שעשיתי לפני כמה שנים

    https://www.youtube.com/results?sear...ing+tubes+test

    אתה רואה 15 עמודים של 5 מטר רוקדים
    בכל עמוד 4 מנועים+ תאורה
    זה פרוייקט מאוד דומה לפרוייקט שלך (למרות שהוא פרוייקט RT )
    כל עמוד מנוהל ע"י ארדואינו מגה
    כל העמודים מחוברים ברשת I2C לארדואינו אונו מרכזי שמקבל הוראות תיזמון כלליות ממחשב KRESTON ב RS232 ומנהל את את הבקרים

    התצוגה היא אחרונת הבעיות שלך ...
    יוני פפיני
    0585050330
    pro-hobby.com

  7. #6
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    היי.
    אני מקווה שיש לך סבלנות כי אין לי ניסיון עם זה בכלל ואני לומד את זה מאפס..
    מה כוונתך כשאמרת ״לכל בקר אתה נותן כתובת״ ?
    האם המידע לבקר התצוגה עובר דרך פינים 0 ו 1 שהם בעצם שידור קליטה? אם כן אתה בעצם מתכוון לחבר ביחד את כל ה12 על קו השידור?
    ועוד משהו.. איך מחברים את קווי ה data ? ( לפי מה שהבנתי 4 קווים )
    כלומר, אם יש 4 קווים שצריכים לצאת מכל בקר אל בקר התצוגה זה יוצר 48 קווים אז איך בדיוק נדרש לחבר?

    תודה

  8. #7
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    לכל בקר כתובת - הכוונה שבתוכנה של כל בקר יש משתנה, נניח MY_ADRESS שמקבל ערך בין 0-11 (מספר אחר בכל בקר). הדרך לכך יכולה להיות באתחול המשתנה בקוד ואז לכל בקר יש תוכנה "ייחודית" משלו או על ידי יצירת תהליך שבו לפני חיבו כלל המערכת ניתן לחבר כל בקר בנפרד מול מחשב, להזין לו כתובת ואז שהכתובת תישמר ב EEPROM ותוכנס למשתנה בעליית הבקר.

    כן, הכוונה היא שכל הבקרים יושבים על אותו קו קליטה ועל אותו קו שידור (ורק בבקר התצוגה הפינים מוצלבים). ההחלטה האם להשתמש בפינים 0, 1 שמיועדים לתקשורת הרגילה או בכל שני פינים אחרים בעזרת SOFTSEIAL תלויה האם יש לך צורך בפינים האלו לתפקיד אחר או שהם יכולים לשמש רק לצורך התקשורת עם בקר התצוגה. אתה צריך שהקוים האלו ישמשו רק לתקשורת עם בקר התצוגה כי הפרוטוקול שתיארתי הוא זה שמבטיח שבכל זמן נתון רק מישהו אחד "מדבר" על הקו.
    אפשרות נוספת, כפי שכתב יוני, זה שימוש בקוי ה SDA ו SCL בתקשורת I2C (ושימוש בספריית WIRE הסטנדרטית של ארדואינו) - עדיין יש צורך בפרוטוקול כפי שציינתי שמבטיח שרק בקר אחד עונה לפנייה של בקר התצוגה

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

  9. #8
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    היי.

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

  10. #9
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    לא כל כך הבנתי למה אני צריך את המשתנה הזה בכל בקר ומה הסיבה שהוא יקבל את הערך בין 0 ל 11..?
    יש לך 12 בקרים - איך את רוצה שהבקר של התצוגה יפנה לבקרים על אותו קו תקשורת ורק הבקר המתאים יענה? 0-11 זו רק דוגמה נוחה, כל 12 מספרים שונים יעשו את העבודה

  11. #10
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    אוקי, נראה לי שהבנתי.
    אם ככה מה שאתה אומר בעצם זה לקבוע 12 משתנים ( בכל בקר אחד ) ולהגדיר אותם כפי שציינת.
    בקר התצוגה שולח דרך הפורט הטורי ״בקשה לשידור״ על ידי מספר הבקר.
    בינתיים כל הבקרים מקבלים את האות שמגיע מבקר התצוגה ואז מתבצעת השוואה בין הקלט שהגיע מהבקר תצוגה לבין המשתנה שהוגדר מראש בבקר, הבקר שבעצם בו מתבצעת ההשוואה ויש התאמה ישלח את המידע חזרה לבקר התצוגה
    נכון?

  12. #11
    תאריך הצטרפות
    Mar 2014
    הודעות
    736
    תודה
    5
    קיבל/ה 70 תודות ב-69 הודעות
    פוסטים בבלוג
    13
    תודה
    0
    Thanked 0 Times in 0 Posts
    לכל בקר צרוב כתובת בEEPROM
    שלב א כל הבקרים עולים וממתינים לקריאה
    הבקר שמנהל עושה TEST ורואה מי זמין.
    לכל בקר יש את אותה תוכנת תקשורת שבעזרתה הוא מקבל ומפענח את הפקודות.
    יוני פפיני
    0585050330
    pro-hobby.com

  13. #12
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    אוקי, נראה לי שהבנתי.
    הבנת נכון (פרט לכך שזה לא 12 משתנים אלא משתנה אחד שבכל בקר מקבל ערך שונה)

  14. #13
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    היי.

    כן, לזה התכוונתי תודה רבה לך !

    התחלתי קצת לנסות "לשחק" ולבדוק את נושא התקשורת בין הבקרים.
    לקחתי 2 בקרים, באחד מהם כתבתי קוד קצר שאומר לשלוח כל שנייה תו בודד ובבקר השני הגדרתי לקלוט את המידע
    חיברתי על הבקר ששולח מקו TX אל הבקר שמקבל בקו ה RX + חיברתי גם אדמות משותפות.
    בבקר ששולח אני רואה באמת את הלד TX מהבהב כל שנייה אך בבקר שמקבל אני לא רואה שהלד RX מהבהב.
    קטע הקוד בבקר RX הוא :

    int rounde;
    void setup() {
    Serial.begin(9600);


    }


    void loop() {
    rounde=Serial.read();
    }

    מה יכולה להיות הבעיה ?

    בנוסף, האם יש איזה שהוא אתר או משהו בסגנון שמסביר על SOFTSERIAL ?

    מודה לך מאוד.

  15. #14
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    אם לד ה RX לא מהבהב סימן שלא מגיע שום דבר מהבקר המשדר (שבודאות משדר כי אתה רואה את הלד שלו מהבהב) - אתה אומר שהצלבת חוטים אבל ייתכן ולא, תבדוק שוב.

    SOFSERIAL היא ספריה די סטנדרטית שמופיעה כאן - https://www.arduino.cc/en/Reference/SoftwareSerial

  16. #15
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    היי.
    בדקתי את הנושא ואין לי מושג מאיפה התקלה..
    עשיתי ניסיון אחר, לקחתי בקר אחד ( את אותו הבקר ששולח מידע כל שנייה )
    בצעתי קצר בין רגליים 0 ו 1 אך עדיין אני לא רואה שלד rx מהבהב.
    איך ניתן לגשת לתקלה כזו?

    לגבי serialsoft, הייתי באתר שם אבל אין שם קוד לדוגמא, יש אולי משהו אחר?

    תודה

  17. #16
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    אין לי רעיון איך לעזור לך ב REMOTE - עם סקופ אני בטוח שזה יהיה פשוט לגלות היכן האות "הולך לאיבוד"

    לגבי הקוד - נראה שיש להם תקלה באתר (אמור להיות קוד), אבל הקוד מופיע גם ב GITHUB
    https://github.com/PaulStoffregen/SoftwareSerial

  18. #17
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    מה שמוזר זה שגם שאני מחבר את אותו בקר בלבד ומקצר בין 0 ו 1 זה עדיין לא עובד
    אני באמת לא יודע מה לעשות עם זה..

    לגבי התצוגה, האם התצוגה הזו טובה לעבודה עם ארדואינו?
    https://www.zipy.co.il/p/ebay/5v-40x...97989/#wrapper

    ברוב התצוגות שראיתי עד כה היה כיתוב של כל קווי הבקרה והמידע אבל בזו לא רשום כלום.
    האם העבודה איתה זהה לעבודה כמו כל התצוגות?

    מודה לך מאוד על עזרתך

  19. #18
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    יש המון תצוגות כך שלא מכיר את התצוגה הספציפית הזו.
    לתצוגות יש בקר, שבד"כ מצוין בתיאור המוצר, במקרה שלך זה כנראה HD44780
    תחפש בכל מיני מדריכים שך ארדואינו אם זה בקר שמישהו עבד איתו ואם יש לו דוגמאות קוד.
    לגבי ה PINOUT, אמנם הרבה פעמים היצרנים דואגים לעבוד אותו הדבר, אבל תמיד יש יוצאים מהכלל ולכן לא הייתי נוגע בתצוגה שלא ניתן להשיג את דף הנתונים שלה ועדיף שיכלול גם את כל סט הפקודות, תהליכי האתחול ומיפוי הזכרון כך שגםא ם מוצאים קוד שלא מתאים בדיוק ניתן להסב אותו לתצוגה הספציפית.

  20. #19
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    היי שוב.

    ברשותך אני חוזר שוב לנושא התקשורת.
    לקחתי את הארדואינו ששולח כל שנייה מידע ( וגם אני רואה שהלד TX שלו מהבהב. ).
    בדקתי עם פרוב על רגל מספר 1 שלו ( רגל TX ) ואני לא רואה שם סיגנל.
    כשפתחתי את חלון SERIAL MONITOR אני כן רואה את המידע שם כלומר המידע עובר מהארדואינו למחשב
    האם אותו המידע הזה אמור להיות על פין מספר 1 ? ( פין ה TX )

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

    תודה רבה

  21. #20
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,139
    תודה
    15
    קיבל/ה 330 תודות ב-294 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    בדקתי עם פרוב על רגל מספר 1 שלו ( רגל TX ) ואני לא רואה שם סיגנל.
    לא ברור לי למה הכוונה ב"פרוב" - אם אתה משתמש בסקופ ויודע איך לעבוד איתו לא ייתכן שאתה מקבל מידע במסך ולא רואה סיגנל על הקו

  22. #21
    תאריך הצטרפות
    Mar 2015
    מיקום
    פתח תקווה
    הודעות
    262
    תודה
    1
    קיבל/ה 42 תודות ב-41 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    אולי תנסה בסקופ לשים טריגר על ירידה ולהיות במצב NORMAL או SINGLE SHOT.
    אם משדרים תווים בודדים בהפרשי זמן גדולים יחסית, יתכן שבמצב AUTO הסיגנל יעלם ולא תוכל לראות את השידור בסקופ.
    ש.ר. תכנון ופיתוח כרטיסים אלקטרוניים, ארדואינו, FPGA, Verilog, תוכנה וחומרה. sreches@gmail.com
    http://www.arduino-freelance.com

  23. #22
    תאריך הצטרפות
    Jul 2017
    הודעות
    110
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    תודה רבה לכולם על העזרה.

    אני אנסה לראות מה אפשר עוד לעשות.

הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך
  •  
הרשמה