בס'ד - האתר של פורת chapter3.doc · web viewפרק 3 – הפעלת תצוגת 7...

14
www.arikporat.com קקק3 – קקקקק קקקקק7 קקקקקק ק. קקקק תתתתת7 תתתתתת תתת תתתת תתתתת תתתתת7 תתתתתתת תתתת תתתת תת תתתתת8 . תתתתתת תתתת1 תתתתתת תתתתת7 תתתתתת. תת תת תתתת תתתתתת תת תתתת. תתתתת תתתתתתת תתתתתת תa תתתg . תתתתת תתתת1 – תתתתת7 תתתתתת. תתתתתת תתתתתת תתתתתתת תתתתת ת7 תתתתתתתa תתg תת תתתתת תתתתתתת. תתתתתתת תת תתתתתת תתתתתתתת תתת תתתתתh תתDP תתתת תתתתת תתDecimal Point – תתתתת תתתתתתת. תתת תתתתתת תת תתתתת0 תת תתתתתת תת תתתתת תa תתתf תת( תתg . תתתתתת תתתתת) 1 תת תתתתתת תת תתתתתתתb תc תתתת. תתתת2 תתתת תתתתת : ת.CA – Common Anode ) תתתתת תתתתתת( ת.CC – Common Cathode .) תתתתת תתתתתת( תתתתתת2 תתתתתת תתתתת7 )תתתתתת תת תתתתת תתתתתתת( תתתתתת תת2 תתתת תתתתתתתת תתתתתת:

Upload: vannhu

Post on 19-May-2018

245 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

מקטעים 7 – הפעלת תצוגת 3 פרק

מבואא.

. בשרטוט8 לדים שיוצרים ביחד את הספרה 7 מקטעים היא רכיב המכיל בתוכו 7תצוגת מקטעים. כל לד נקרא סיגמנט או מקטע. הלדים מסומנים בתווים מ7 מתוארת תצוגת 1מספר

a ועד g .

מקטעים.7 – תצוגת 1שרטוט מספר

גם נקודה עשרונית. בתצוגות עםg עד a המקטעים 7קיימות תצוגות הכוללות בנוסף ל – נקודהDecimal Point שהוא קיצור של DP או hהנקודה העשרונית היא נקראת

עשרונית.

1 (. להדלקת הספרה g ) לא את f ועד a יש להפעיל את הלדים מ 0כדי להדליק את הספרה בלבד.c ו bיש להדליק את המקטעים

סוגי תצוגה : 2 ישנם

)אנודה משותפת ( CA – Common Anodeא.

)קטודה משותפת (.CC – Common Cathode ב.

סוגי אפשרויות2 מקטעים )המכילה גם נקודה עשרונית( עם 7 מתוארת תצוגת 2בשרטוט החיבור:

Page 2: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

- שני סוגי חיבור – אנודה משותפת וקתודה משותפת.2שרטוט מספר

וולט. לסיגמנט שאותו5מחוברות כל האנודות של הלדים ל CAבחיבור אנודה משותפת - - ' שהוא המינוס )דרך נגד עבודה שיקבע את הזרם דרכו ויגביל0נרצה להדליק יש לספק את ה '

' בהדק מכבה את הסיגמנט.1אותו לערך רצוי(. '

וולט ) אדמה( . לסיגמנט0בחיבור קתודה משותפת מחוברות כל הקתודות של הלדים ל וולט )דרך נגד עבודה שיקבע את הזרם דרכו5' שהוא 1שאותו נרצה להדליק יש לספק את ה '

' - נכבה את הסיגמנט.0ויגביל אותו לערך רצוי(. אם ניתן '

SAxxxx המקטעים אז אם רשום לדוגמה 7 : בדרך כלל כאשר מופיע כיתוב על תצוגת הערה מדובר בחיבור קתודהSCxxxxאז מדובר בחיבור בחיבור אנודה משותפת ואם רשום

משותפת .

מקטעים עם הדקי החיבור שלה. ישנן תצוגות שמבנה ההדקים7 נראה תצוגת 3בשרטוט שלהן שונה!

מקטעים.7 : הדקי תצוגת 3שרטוט

segments display 7 מקטעים – 7 הפעלת תצוגת ב.

בפרק הקודם שעסק בנושא הקלט/פלט בארדואינו , הפעלנו לדים ועבדנו עם סיביות בודדות..1

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

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

Page 3: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

לעבוד עם פורט ונשלח אליו ביית שלם ) ביט אחד יהיה מיותר או ישמש להדלקה/כיבוי של

. כמוראה בשרטוטB, C , D פורטים )מפתחים( הנקראים 3הנקודה העשרונית(. למעבד

. 4מספר

D עד B פורטים מ 3 הכוללים AT328 : הדקי רכיב 4שרטוט

עד8 הדקים דיגיטאליים מ B( 6 ( ו 7 עד 0 הדקים דיגיטאליים מ 8 ) Dהדקי הפורט הםC ( הם הדקים דיגיטאליים שיכולים להיות קלט או פלט. ההדקים של פורט 13

(. 5 עד 0 כניסות אנאלוגיות מ 6הכניסות האנאלוגיות )

6 בהתאמה . סה"כ PB5 ועד PB0 מ B הדקי פורט 6 הם 19 עד 14ההדקים הפיזיים מ - הדק דיגיטאלי וממוספריםDIGITAL PIN . הדקים אלו נקראים גם Bהדקים לפורט

מחברים גביש לקביעת מהירותPB7 ו PB6 . בין הדקי 13 עד 8בצבע אדום ממספר העבודה והם לא בשימוש.

. הדקים אלו נקראיםPC5 עד PC0 מ C הדקי פורט 6 הם 28 עד 23ההדקים הפיזיים ANALOG INPUT 0 - כניסה אנאלוגית - וממוספרים בצבע אדום ממספרANALOG

INPUT 5 עד.

בהתאמה ועוד ההדקיםPD4 עד PD0 מ D הדקי פורט 5 הם 6 עד 2ההדקים הפיזיים מ בהתאמה. כל הדק נקרא גםPD7 עד PD5 המשמשים כהדקים 13 ועד 11הפיזיים מ

DIGITAL PIN 7 עד 0 - הדק דיגיטאלי . הדקים אלו ממוספרים בצבע אדום ממספר.

חומרהג.

- קתודה משותפתCC המקטעים ) מסוג 7 את תצוגת 7 עד 0חבר ליציאות הדיגיטאליות מ D ההדקים הדיגיטאליים של פורט 8 עד הנקודה העשרונית בהתאמה. כאשר a(. ממקטע

והדקg למקטע D6 וכך הלאה ... הדק a מתחבר למקטע D0הם המתחברים לתצוגה. D7 5 של הנקודה העשרונית כמשורטט בשרטוט מספר .

אום330 נגדים 8.

PORT D

PORT C

PORT B

Page 4: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

מקטעים לארדואינו7 : חיבור תצוגת 5שרטוט מספר

0 המקטעים מתחברת לאדמה. כדי להדליק את הספרה 7היציאה המשותפת של תצוגת 1 . כדי להדליק את הספרה 00111111בתצוגה יש להוציא לפורט את הערך הבינארי :

hgfedcba . לפי המקטעים המתאימים : 00000110נוציא : hgfedcba

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

מקטעים7 נתונים חשמליים בתצוגת ד.

:20mAעבור זרם של

עצמת הארה

במילי קנדל)אור נר( מתח קדימה אורך גל החומר ממנו עשויה הלדהצבע

חישוב הנגד בטור ללד :

5 = Vled + VR = Vled + I*R R = )5 – Vled ( / I = )5-1.85( / 10mA=315Ω

Page 5: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

תוכנהה.

דרכים עיקריות :2 המקטעים ב 7ניתן להפעיל את תצוגת

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

3 . הדקי המיקרו מחולקים בין PORTהפעלה עם פקודה הפועלת על פורט – ב. רגיסטרים ואז נחבר את הדקי התצוגה לאחד מהרגיסטרים האלו ונוכל להציג

ספרה מסוימת על ידי פקודה אחת.

הפעלה התצוגה עם פקודות בהדק בודד ..1

המקטעים . התכנית סופרת בלולאה אין סופית מ7נרשום תכנית להפעלת תצוגת שנייה בין ספרה לספרה. אח" היא מחשיכה את0.7 עם השהייה של 9 עד 0

שנייה0.7 גם כן עם השהייה של 0 ועד 9התצוגה ומתחילה לספור כלפי מטה מ בין ספרה לספרה.

/*

7-segment-display - שדה הערה: תפקיד מקטעים7הפעלת תצוגתהתכנית

*/

ועוד שורה של חושך9 עד 0 עמודות. כל שורה עבור ספרה מ 7 שורות ו 11נגדיר מערך שבו //

byte digitArray[11][7] = 1,1,1,1,1,1,0 , הספרה 0 = //

הספרה 1 = // , 0,1,1,0,0,0,0

1,1,0,1,1,0,1 , // = 2

1,1,1,1,0,0,1 , // = 3

0,1,1,0,0,1,1 , // = 4

1,0,1,1,0,1,1 , // = 5

1,0,1,1,1,1,1 , // = 6

1,1,1,0,0,0,0 , // = 7

1,1,1,1,1,1,1 , // = 8

1,1,1,0,0,1,1 , // = 9

0,0,0,0,0,0,0 // = off

;

הגדרה של מספר ההדק הדיגיטאלי ותפקידו . כאן כל ההדקים הם יציאה //

Page 6: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

void setup)(

pinMode)0, OUTPUT(; // a מתחבר למקטע

pinMode)1, OUTPUT(; // b מתחבר למקטע

pinMode)2, OUTPUT(; // c מתחבר למקטע

pinMode)3, OUTPUT(; // d מתחבר למקטע

pinMode)4, OUTPUT(; // e מתחבר למקטע

pinMode)5, OUTPUT(; // f מתחבר למקטע

pinMode)6, OUTPUT(; // g מתחבר למקטע

pinMode)7, OUTPUT(; // נקודה עשרונית מתחבר למקטע

// setDigit הגדרה של פונקציה בשם ביית // הפונקציה מדליקה ספרה בתצוגה. הפונקציה מקבלת ערך הנכנס למשתנה מטיפוס

הספרה שיש להדליק . הפונקציה לא מחזירה ערך. // שהוא

void setDigit)byte digit(

byte pin=0; 0והשמה של הערך // pin ושמו byte הגדרה של משתנה מטיפוס

for )byte i = 0; i < 7; i++, pin++( פעמים7לולאה המתבצעת //

digitalWrite)pin, digitArray[digit][i](;

// i בעמודה digit בשורה שבמשתנה את הערך שבמערך pin הוצאה להדק שמספרו במשתנה

הפונקציה שעושה לולאה אין סופית //

void loop)(

setDigit)10(; // לפונקציה. דבר שיגרום לכיבוי 10קריאה לפונקציה ושליחה של הערך התצוגה

delay)500(; קריאה לפונקציה שתבצע השהייה של חצי שנייה //

שניות 0.7 עם השהייה של 9 עד 0 פעמים המדליקה את הספרות מ 10לולאה המתבצעת // בין כל ספרה

for )byte count = 0; count < 10; ++count(

setDigit)count(;

Page 7: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

delay)700(;

setDigit)10(; // כיבוי התצוגה

delay)500(; // השהייה של חצי שנייה

שניות 0.7 עם השהייה של 0 עד 9 פעמים המדליקה את הספרות מ 10לולאה המתבצעת // בין כל ספרה

for )int count = 9; count >= 0; --count(

setDigit)count(;

delay)700(;

delay)1000(;

הפעלה עם פקודה הפועלת על פורט.2

רגיסטרים )אוגרים(, שמוגדרים3 נשלט על ידי D עד Bכל אחד מהפורטים כמשתנים בשפת הארדואינו.

Data Direction הוא DDR קובע האם ההדק כניסה או יציאה. DDRאוגר .1Register .) או אוגר כיוון הנתון ) האם כניסה –קלט או יציאה – פלט –

' (.0' או נמוך '1 )גבוה – 'LOW או HIGH יקבע האם בהדק יהיה PORTאוגר ה .2

) ( . pinMode הקורא את מצב הדקי הכניסה בעזרת הפונקציה PINאוגר ה .3

ניתן רק לקרא. PIN ניתן לכתוב או לקרא. מהאוגר PORT ו DDRלאוגרים

שקובעים מה יהיה מצב כל אחד מההדקיםDDRD ו DDRB DDRCמכאן שיש לנו קובעת אתDDRD = B11111100 ( ( . לדוגמה: הפקודה 1( או יציאה )0שלהם )כניסה )

כפלט.D7 ועד D2 כקלט וההדקים הגבוהים מ 1D ו D0 כאשר את Dההדקים של פורט

לקביעת מצב היציאות של הפורט. לדוגמא :PORTD ו PORTB , PORTCכמו כן יש לנו את PORTD=B11110000 4 גורם ל ( ההדקים הדיגיטאליים הגבוהים D4 עד D7 להיות ב ) ול1

וD0 ההדקים הנמוכים ) 2 . היות ו 0 (להיות ב D3 עד D0 ההדקים הדיגיטאליים הנמוכים ) 4D1 מוגדרים על ידי פקודת ה )DDRD 2 ב 0 שבסעיף הקודם כקלט נוצרה כאן בעיה כי קבענו

;PORTD=DDRD|B11110000הדקים אלו ושינינו את מצבם. יש לרשום את הפקודה ההדקים הדיגיטאליים2 בין ביטים ( . מצב זה איננו משנה את מצב OR) התו | הוא פעולת

הם7 ועד 0 המקטעים כל ההדקים הדיגיטאליים מ 7הנמוכים . כמובן שבניסוי עם תצוגת B11111111 DDRDפלט- יציאה ולכן =

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

Page 8: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

כדיTX ו RX המשמשים כ D1 ושל D0יש לנתק את החוטים של ,Upload : לפני ה הערה שהם לא יפריעו לתקשורת הטורית בין המחשב ללוח הארדואינו. לאחר העלאת התוכנית

לבקר יש לחבר שוב את החוטים.

void setup)(

DDRD = B11111111; // '( '0' = מוצא. '1הגדר את כל הסיביות כמוצא 'מוצא)מבוא ='

void loop)(

PORTD =B00111111; // )PORTD=0x3f(; // 0הדלק את הספרה

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

את הספרה המתאימה.

הערך בהקסהדצימאלי

h g f e d c b aהספרה

3f0 0 1 1 1 1 1 10

60 0 0 0 0 1 1 01

5b0 1 0 1 1 0 1 12

4f0 1 0 0 1 1 1 13

660 1 1 0 0 1 1 04

6d0 1 1 0 1 1 0 15

6c0 1 1 0 1 1 0 06

70 0 0 0 0 1 1 17

7f0 1 1 1 1 1 1 18

670 1 1 0 0 1 1 19

מקטעים בריבוב7 תצוגות של 4הפעלת ז.

ספרות.4 מקטעים יחד כדי לקבל תצוגה בת 7 תצוגות של 4לפעמים רוצים לחבר 11 ( כדי להפעילן. ניתן לחבר 28=4*7 קווים ) 28באופן תאורטי היינו צריכים לחבר

תצוגות בחיבור אנודה4קווים בלבד ולחסוך בכמות הקווים. צורת החיבור עבור

Page 9: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

משותפת נראית בשרטוט הבא:

,11 בכל התצוגות מחוברות יחד אל הדק מספר aמהשרטוט רואים שסיגמנט וכך הלאה. האנודות של כל תצוגה מחוברות7 מחובר בכל התצוגות להדק bסיגמנט

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

במבט מלמעלה התצוגה עם סידור ההדקים נראים בשרטוט הבא :

החיבור החשמלי יתבצע לפי השרטוט הבא :

D12 D11 D10 D9

אוהם במקומם. כמו330 אוהם, ניתן לחבר נגדים של 470הערה : אם אין ברשותך נגדים של של הארדואינו. ניתן לחברם לכל הדק8 עד 2כן אנחנו חיברנו את הדקי הסיגמנטים להדקים

אחר רצוי.

שלבים4 . נפעיל את התצוגה ב 1 2 3 4צורת העבודה : נניח שרוצים להדליק את הספרות על פי הטבלה הבאה:

D8 g

D7 f

D6 e

D5 d

D4 c

D3 b

D2 a

הדק6

הדק8

הדק9

הדק12

שלבהספרה

Page 10: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

א111100100011

ב010010000102

ג011000001003

ד001100110004

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

: ותהערות חשוב

מילי אמפר בלבד וכאשר נדליק את40היות והארדואינו מסוגל לתת או לקבל זרם עד .1*7 מילי אמפר וסך הזרם הוא 10 אז בכל סיגמנט בתצוגה זורם זרם של כ 8הספרה

מילי אמפר יש סכנה שההדק המחובר לאנודה זו יישרף . )באופן מעשי הוא70=10 וולט והסיגמנטים בתצוגה5' מתח של פחות מ 1לא יישרף אלא הוא יוציא במצב של '

יידלקו חלש יותר (.

( בטבלה להדקים1התהליך יהיה: א. הוצאה מתאימה של שלב א' )הספרה .2 . ג. השהייה של אלפית9' להדק דיגיטאלי 1 . ב. הוצאת '8 עד 2דיגיטאליים

( בטבלה2 . ה. הוצאת מצב ב' )הספרה 9' להדק דיגיטאלי 0שנייה ד. העברת ' .ז. השהייה של10' להדק דיגיטאלי 1 . ו. הוצאת '8 עד 2להדקים דיגיטאליים

וכל הלאה לשלבים ג' ו ד' בטבלה.10' להדק דיגיטאלי 0אלפית שנייה. ח. העברת '

תרגולו.

בלולאה אין סופית. זמן ההשהיה בין9 ועד 0רשום תכנית שתדליק את הספרות מ .1 שנייה. 0.7ספרה לספרה יהיה

רמז :

רשום מערך שנראה : א.

char bcd2disp[]=0x3f ,0x06 ,0x5b ,0x4f, 0x66, 0x6d, 0x6c, 0x07, 0x7f, 0x67;

;DDRD = B11111111)( את כיוון הדקי הפורט כיציאות : setupהגדר ב ב.

) ( לולאה : loopרשום בפונקציית ה ג.

for )int i=0; i<10; i++(

Page 11: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com

PORTD = bcd2disp[i];

delay)700(;

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

וחוזר חלילה.9 עד 0שנייה, שוב חושך ושוב מופיעות הספרות מ

המקטעים יש נקודה עשרוני, אז רשום תכנית שתבצע את הנאמר7במידה ובתצוגת .3 כאשר הדלקת19 עד 0 התכנית סופרת מ 9 עד 0בתרגיל הקודם , רק שבמקום מ

הנקודה העשרונית בתצוגה מדמה את ספרת העשרות.

של החשבוןf עד 0רשום תכנית שתציג בלולאה אין סופית את כל הספרות מ .4ההקסה דצימאלי. ההשהיה בין ספרה לספרה היא שנייה אחת.

שורות נוספות ולבצע שינוי קל של6רמז : יש להוסיף לטבלה שבעמוד הקודם הלולאה שבסעיף ג בשאלה הקודמת. האותיות נראות :

רשום תכנית שגורמת 'ללד רץ' )עם כיוון השעון ( בהשהיה של חצי שנייה , כמוראה.5 charבאיור שלהלן. ) רמז : השתמש בפקודת ההזזה >> . לדוגמא : אם הוגדר

run7seg=1 : אז הפקודה ;run7seg = run7seg<<1תגרום להזזה שמאלית של ; יהיה run7segהערך ו

רשום תכנית שגורמת 'ללד רץ' )עם כיוון השעון ( בהשהיה של חצי שנייה .6

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

מחדש.

מקטעים7 תצוגות 4 . הצג על תצוגה המורכבת מ 13חבר מפסק אל הדק דיגיטאלי .8 99 עבור כל לחיצה במפסק . אחרי 99 עד 0 תצוגות( את המספרים 2) הפעל רק

לחיצות - אפס את התצוגה וספור מהתחלה.

Page 12: בס'ד - האתר של פורת chapter3.doc · Web viewפרק 3 – הפעלת תצוגת 7 מקטעים מבוא תצוגת 7 מקטעים היא רכיב המכיל בתוכו

www.arikporat.com