בפגישה זו אנו מתכננים תצוגת LED 8x8 עם מטריצת LED 8x8 ומיקרו-בקר ATmega8, שיכולה להציג אלפביתים או שמות. מטריצת led 8x8 טיפוסית מוצגת להלן:
מטריצת LED 8x8 מכילה 64 דיודות (פולטות אור) המסודרות בצורת מטריצה, ומכאן השם מטריצת LED. ניתן ליצור מטריצות על ידי מעגל של 64 נוריות LED; אולם תהליך זה גוזל זמן. כיום הם זמינים בצורות קומפקטיות כפי שמוצג באיור. מודולים קומפקטיים אלה זמינים בגדלים שונים ובצבעים רבים. אפשר לבחור בהם לפי הנוחות.
עלות המודול זהה לעלות של 64 נוריות LED, ולכן עבור תחביב זה הכי קל לעבוד עליו. תצורת ה- PIN של המודול היא כפי שמוצג באיור. קוד ה- PIN צריך להיות מספר בדיוק כפי שמוצג בתמונה כדי למנוע שגיאות. נדון בפירוט בתצורת המעגל הפנימי של המודול בתיאור.
רכיבים
חומרה: ATMEGA8, ספק כוח (5 וולט), מתכנת AVR-ISP, קבל 100 uF (מחובר באמצעות ספק כוח), נגד 1KΩ (8 יח ').
תוכנה: Atmel studio 6.1, פרוגיספ או קסם פלאש.
תרשים מעגלים ועבודה
החיבורים שנעשים בין ATMEGA8 למודול מטריצת LED מוצגים באיור להלן.
PORTD, PIN0 ------------------ PIN13 של מודול LED
PORTD, PIN1 ------------------ PIN03 של מודול LED
PORTD, PIN2 ------------------ PIN04 של מודול LED
PORTD, PIN3 ------------------ PIN10 של מודול LED
PORTD, PIN4 ------------------ PIN06 של מודול LED
PORTD, PIN5 ------------------ PIN11 של מודול LED
PORTD, PIN6 ------------------ PIN15 של מודול LED
PORTD, PIN7 ------------------ PIN16 של מודול LED
PORTB, PIN0 ------------------ PIN09 של מודול LED
PORTB, PIN1 ------------------ PIN14 של מודול LED
PORTB, PIN2 ------------------ PIN08 של מודול LED
PORTB, PIN3 ------------------ PIN12 של מודול LED
PORTC, PIN0 ------------------ PIN01 של מודול LED
PORTC, PIN1 ------------------ PIN07 של מודול LED
PORTC, PIN2 ------------------ PIN02 של מודול LED
PORTC, PIN3 ------------------ PIN05 של מודול LED
דיאגרמת המעגל של תצוגת מטריצת 8x8 LED מוצג מתחת לדמות.
ישנן 64 נוריות מסודרות בצורה מטריצית. אז יש לנו 8 עמודות ו- 8 שורות כפי שמוצג באיור. מעל השורות והעמודות האלה, כל המסופים החיוביים בשורה מאוגדים. עבור כל שורה, יש מסוף חיובי משותף אחד לכל 8 נוריות בשורה זו. זה מוצג באיור למטה,
אז עבור 8 שורות יש לנו 8 מסופים חיוביים משותפים, קחו את השורה הראשונה. כפי שנראה בתמונה, לנוריות ה- D1 ל- D8 יש מסוף חיובי משותף ומובא ממודול ה- LED כ- PIN9.
יש לראות כי כל החיובי הנפוצים של שורות אינם מובאים מ- LED MODULE בצורה מסודרת. בכל מקרה קיימת אי סדירות במסופים נפוצים. צריך לזכור זאת בעת חיבור הטרמינל.
אמור שאם אנו רוצים שאחת או כל נוריות LED בשורה הראשונה של המטריצה יהיו דולקות, עלינו להפעיל את PIN9 של מודול LED MATRIX ולא PIN0.
אמור שאם אנו רוצים שאחת או כל נוריות הנמצאות בשורה השלישית של המטריצה תהיה דולקת, עלינו להפעיל את ה- PIN8 של מודול ה- LED MATRIX ולא את ה- PIN2.
כך שבכל פעם שאנחנו רוצים שאחת או כל נוריות LED בשורה יהיו דולקות, הסיכה המתאימה של מודול LED תהיה מופעלת.
זה עדיין לא הסתיים רק על ידי השארת הכוח ROWS לא מניב דבר. אנחנו צריכים לקרקע את הקצה השני. נדון בהמשך.
עכשיו במקרה זה אנו מתעלמים מהשורות החיוביות הנפוצות ומתמקדים בעמודות שליליות נפוצות.
אז במודול הזה כל המסופים השליליים של העמודה הראשונה מובאים ל- PIN13. זה מוצג באיור להלן.
גם כאן קיימת חריגות ב- PIN OUTAGE של המודול. נוריות ה- LED של העמודה הראשונה שליליות מוצגות ב- PIN13. נוריות LED בעמודה השנייה נפוצות שליליות מוצגות ב- PIN3.
צריך לשים לב לסיכות בזמן החיבור. כעת, אם אחד או כל נוריות הנורה בעמודה הראשונה אמורים להיות מקורקעים, PIN13 של MATRIX MODULE יהיה מקורקע. דרך זו עוברת לשבע העמודות השליליות הנפוצות האחרות. כאשר שני המקרים מורכבים אנו נתקלים במעגל כמוצג להלן,
המעגל שלעיל הוא התרשים הפנימי המלא של LED MODULE. נניח שאם אנו רוצים להדליק את נורית ה- D10 במטריצה, עלינו להפעיל את ה- PIN14 של המודול ולהאריק את ה- PIN3 על המודול. עם זאת ה- D10 יופעל. זה מוצג באיור להלן. זה צריך להיות בדיקה ראשונה של MATRIX לדעת הכל לפי הסדר.
נניח שאם אנו רוצים להפעיל את D1, עלינו להפעיל את PIN9 של המטריצה ולהאריק את ה- PIN13. עם זה LED D1 יהיה זוהר. הכיוון הנוכחי למקרה זה מוצג באיור להלן.
עכשיו עבור החלק המסובך, שקול שאנחנו רוצים להפעיל את D1 ו- D10 בכל פעם. אז אנו מפעילים את שניהם את ה- PIN9, את ה- PIN14 ואת הקרקע של שניהם את PIN13, PIN3. עם זאת יהיה לנו D2 ו- D9 ON יחד עם D1 ו- D10. זה בגלל שהם חולקים מסופים משותפים. אז אם אנחנו רוצים להדליק נוריות לאורך האלכסון, ניאלץ להדליק את כל הלדים בדרך. זה מוצג באיור להלן.
אז כדי לסלק את הבעיה נדליק רק אחד מוביל בכל פעם. אמור ב- t = 0m SEC, LED D1 מכוון. ב- t = 1m SEC, נורית ה- D1 מכוונת ו- LED D2 מופעלת. שוב ב- t = 2 מ 'שניה, נורית D2 כבויה ונורית D1 מופעלת. זה נמשך.
כעת הטריק הוא, שהעין האנושית אינה יכולה לתפוס תדר העולה על 30 הרץ. כלומר אם נורית LED דולקת ונכבה ברציפות בקצב של 30Hz או יותר. העין רואה את ה- LED כמופעל באופן רציף. עם זאת זה לא המקרה. הנורית תידלק ונכבה כל הזמן. טכניקה זו נקראת ריבוב.
על ידי שימוש בריבוב, נפנה רק שורה אחת בכל פעם, ויהיה אופניים סביב 8 השורות ברציפות. זה דמיין כמטריצה מופעלת לחלוטין בעין בלתי מזוינת.
עכשיו נגיד שאנחנו רוצים להציג "A" על המטריצה.
כאמור נפעיל שורה אחת ברגע, בשעה t = 0m SEC, PIN09 מוגדר HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
בשעה t = 1m SEC, PIN14 מוגדר כ HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
ב- t = 2m SEC, PIN08 מוגדר כ HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
בשעה t = 3m SEC, PIN12 מוגדר כ HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
בשעה t = 4m SEC, PIN01 מוגדר HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
בשעה t = 5m SEC, PIN07 מוגדר HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
בשעה t = 6m SEC, PIN02 מוגדר HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
בשעה t = 7m SEC, PIN05 מוגדר HIGH (סיכות ROW אחרות נמוכות בשלב זה) בשלב זה, PIN13, PIN3, PIN15, PIN16 מקורקעים (סיכות COLUMN אחרות גבוהות בשלב זה)
במהירות זו, התצוגה תראה כמציגה באופן רציף תו "A". זה מוצג באיור.
כך מוצגות כל הדמויות בתצוגה. לאחר חיבור המעגל בצורה נכונה, כפי שמוצג בתרשים המעגל. אנו יכולים לתת ישירות לבקר הוראות לבצע את הריבוב בצורה מסודרת להצגת השם.