יום שישי, 27 בדצמבר 2013

פרויקט ניקסי - חלק א'


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

״אתה עולה ל-R392, לוקח ימינה ב-Q92, וזה מולך״

בולטים בלוח שלושה מעגלים משולבים. הימני המאונך, מר sn7114an. מדובר במקודד מבינארי לדצימלי. כלומר הוא מקבל ארבעה ביטים בארבע רגליים, ומדליק אחת מ-10 רגליים. נשמע מאוד הגיוני שהוא מקבל ספרה בבינארי ומדליק את הספרה המתאימה בניקסי.
משמאלו נמצא ה- 839. זהו מונה 16 בינארי, כלומר יש לו רגל אחת ככניסה, ו- 4 ביציאה. כל פולס שנכנס מוסף אחד למונה הפנימי, ומשנה את היציאות בהתאם (ייצוג בינארי של המונה).

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

המעגל השלישי הוא 862. הוא מכיל שלושה שערי NAND משולשים. על התפקיד שלו אני אשב בהמשך.

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

לא השתמשתי ב- eagle


אז החלטתי שפה אני נכנס. לפחות בשלב ראשון.

שני החוטים המאולתרים הם Vcc ו- Gnd

נגד מושך את הרגל ל- Gnd, הלחצן מחבר אותה ל- Vcc
למזלי המעגלים לא מולחמים אלא יושבים על תושבות. הוצאתי את ה- 839, וחיברתי את הרגליים המתאימות למטריצה שלי. הוספתי 4 כפתורי לחיצה (ממוחזרים ממכשיר כלשהו כמובן) - והפעלתי (בזהירות - המכשיר פתוח ומחובר לחשמל).


אכן הצלחתי לספור - אבל רק עד 7. הרגל הרביעית של ה- 839 לא הדליקה את הספרה 8 אלא את 4. אני מניח שכיוון שה- 839 מונה עד 15 אבל הספרות הן רק עד 9, יש כאן עניין יותר מסובך עם הביט העליון (הרביעי). מן הסתם זה קשור לעובדה שה- 862 מחובר לביט הנ״ל ולביט התחתון. בכל פעם שהם שניהם 1, ובהנחה שגם הכניסה השלישית ל-NAND הזה היא 1 כל הזמן, הוא מאפס את ה- 839 (1 בביט התחתון ובביט העליון נותנים 1001 שזה 9).

בפעם הבאה ננסה להבין איך לשלוט על כל ספרה בנפרד.

יום שלישי, 10 בדצמבר 2013

Nixie Tube - תאורת רטרו מדהימה

התגלגל לידיי לאחרונה מכשיר רב-מודד ישן, שמשתמש בתאורת Nixie Tube כדי להציג את ערכי המדידה:



זה נראה מדליק בטירוף.

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

מתוך http://ifitshipitshere.blogspot.co.il/2008/07/modern-take-on-nixie-tube-clocks-from.html


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

יום ראשון, 17 בנובמבר 2013

אני רוצה כוח, עוד כוח!

בכל פעם שאני מתיישב מול ה- breadboard שלי, אני צריך לחבר לו מקור מתח כדי להתחיל לעבוד. פתרון ראשון שהשתמשתי בו הוא לחבר את הרספברי פיי ללוח (עם "קובלר" - מאוד שימושי למשחק אמיתי עם ה-GPIO של הרספברי פיי), למרות שתכל'ס אני לא מתחבר בכלל ל- GPIO.

ניסיתי לשחק עם ספק כוח של מחשב שפירקתי. מקצרים שני פינים, ומקבלים מתחים שונים (3.3V, 5V, 12V וכו'). אבל זה פתרון מסורבל מדי.

לאחרונה קניתי שני פתרונות קטנים ונחמדים:


היעיל והפשוט

מ- dx.com

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



המפוצץ והמגניב


מ- ebay.com

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

יום ראשון, 10 בנובמבר 2013

הכל מתעכב... בגלל ebay...

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

יום שבת, 2 בנובמבר 2013

יום שני, 21 באוקטובר 2013

פרויקט ביג בן - חלק א2




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



השלבים הבאים:
  • אני מחכה ללדים RGB שצריכים להגיע, אשים אותם בתור נקודותיים.
  • צריך למצוא מקום ל- max7219. אחד יהיה בין 2 הספרות של השעות ואחד בין 2 הספרות של הדקות. ולחווט אותם.
  • להתחיל לכתוב קוד - שישלוט ב- max7219. לפני כמה שבועות כתבתי קוד Java שישלוט ב- 595 shift register, ומשום מה זה לא עבד טוב. השתמשתי בחבילת pi4j, ואולי היא עדיין בתולית מדי. אני אנסה שוב עם ה- max7219 ונראה איך יילך.
  • אני שוקל להוסיף יכולת השמעת רדיו אינטרנט בעזרת השעון. הוא יישב בפינת האוכל, ושם יש ביקוש לרדיו (בזמן שעובדים במטבח) ואין קליטה טובה של FM עם רדיו רגיל.
  • סיומים - צריך לארוז יפה את השעון. אין לי שום רעיון בכיוון הזה.

יום חמישי, 17 באוקטובר 2013

עוד מעט נהפוך לשעון מגניב - פרויקט Big Ben חלק א'


כבר היתה לי חבילה של לדים מ- dealextreme, וצריך להגיע max7219, לא נעשה איתם משהו יפה?

כן.



אז התחלתי להלחים את הלדים ללוח. תוך כדי תנועה החלטתי פשוט לעשות שעון, אבל עם טוויסטים:

  • שימוש באפקטים שונים, כגון fade-out ו- fade-in, ריצה של לדים סביב הספרות, וכו', כך שצפייה בשעון תהיה קצת יותר מעניינת.
  • נוסיף כפתורים, למשל לחיצה על כפתור תראה את הטמפרטורה כרגע בחוץ או משהו כזה.
  • טיימר אולי? שעון מעורר? אפשר לחבר לוח ספרות שפירקתי מטלפון - רק נשאר לי לפענח איך משתמשים בו.
  • יש לי גם 10 לדים RGB שצריכים להגיע, אולי נשתמש בהם בנקודתיים בין הספרות?
  • אני אשמח לשמוע בתגובות עוד רעיונות.
את הלדים סידרתי כתצוגת 7 מקטעים, כשכל מקטע עשוי מ- 4 לדים בשורה.
את האפקטים אפשר לממש בעזרת ה- max7219 (קניתי 5 כאלה ב- 10 ש"ח באיביי). השבב יודע לתפעל מטריצה של עד 8 על 8 לדים, וכולל גם מפענח לתצוגת 7 מקטעים, כלומר אפשר לחבר אותו ישירות לתצוגה שכזו (קתודה משותפת) ופשוט לומר לו איזה מספר להציג, בין 1 ל-8 ספרות. יש לו גם אופציה לשלוט על העוצמה של התאורה (סוג של נגד דיגיטלי פנימי). בקיצור - אפשר ליצור הרבה התנהגויות שונות ומשונות לתצוגה איתו.

כמובן שמאחורי השעון יהיה רספברי פיי שייתפעל אותו. אני אצטרך לכתוב קוד שיידבר עם ה- max7219. יש קודים כאלו ברשת אבל כתובים בפייתון. אני אישית מעדיף לעבוד ב- Java, אז אולי ייצא מזה קוד פתוח לטובת הקהילה.
נ.ב.
היו אמורים להיות 100 לדים בחבילה, אבל היו בה רק 80. בכל מקרה, אני אצטרך 4לדים*7מקטעים*4ספרות = 112 לדים, אז אני צריך למצוא עוד כ-40. הבעיה היא למצוא לדים זהים. יש למישהו חבילה זהה שהוא הזמין מ dealextreme?...

נ.ב.נ.
נכוויתי. כבר שנים שלא נכוויתי מהמלחם. אם הייתי מנתח היו אומרים לי לצאת לפנסיה או ללמד.

יום שבת, 12 באוקטובר 2013

מד לאסלה, או "איך הבן שלך יישמח ללכת לעשות פיפי בשירותים"

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

חשבתי מה אפשר לעשות עם כל אלה - ומצאתי פתרון שמשלב משחק לבן שלי כשהוא עושה פיפי באסלה.

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

העדפתי ליצור את המשחק מחלקים שיש לי כבר, ולא עם בקר כלשהו.  החלטתי להשתמש ב- 555, ו- 595 shift register. להסבר מעולה (באנגלית) על ה- 595, הציצו כאן.
המשחק עובד כך:
באסלה יהיו שני חיבורים חשופים קרובים מאוד. כשפוגע בהם פיפי, או שהם יגעו אחד בשני ישירות, או שהפיפי עצמו יסגור ביניהם מעגל (בזכות המוליכות של הפיפי - אני עוד צריך לבדוק את הנושא). זה המתג הראשי של המעגל.
המתג הזה מחבר את הסוללות (4 של AA) למעגל. במעגל יש זמנן (555) שמתפעל אוגר (595). בכל שניה, הזמנן דוחף לאוגר עוד ביט גבוה. לכן הפלט של האוגר יהיה 00000000 בהתחלה, 00000001 אחרי שניה, 00000011 אחרי עוד שניה, וכך עד 11111111.
היציאות של האוגר יהיו מחוברות ללדים, אז אני אקבל את האפקט של המודד. בחלק מהיציאות אני אחבר לדים רגילים, ובחלק את הצעצועים הזולים. בצורה זו זה לא סתם שורת לדים שנדלקת, אלא יש גם "נק' ציון" בדרך, שהן קצת יותר מעניינות.
בניתי את המעגל הבסיסי, ובדקתי אותו:

החיבור לRPI הוא רק לקבל 5V. בנוסף השתמשי ב- 556 במקום 555
(556 הוא שני 555 בצ'יפ אחד, אבל השתמשתי רק באחד מהם).

כיוון שהייתי השבוע בהרצאה על Eagle ב- XLN, של אלון רייזמן, החלטתי לשלוח להדפסה סנונית ראשונה. בניתי את המעגל בתוכנה ושלחתי להדפסה ב- OSH Park. באתר אפשר להזמין הדפסה של מעגל אבל לפחות 3 העתקים, במחיר של 5$ לכל אינץ' רבוע, המשלוח חינם. עלה לי 70 ש"ח - אני מקווה שעוד שבועיים שלושה אעלה פוסט עם המשחק עובד.

הסבר על המעגל

במעגל יש 555 astable שמוציא גל ריבועי כל שניה, ובו המצב הגבוה נמשך כמעט שניה (רק כמה מילישניות של נמוך).
באוגר, רגל ה- serial data מחוברת ל- Vcc, כלומר תמיד נדחף ביט גבוה. ה- clock מחובר למעגל גזירה פשוט של קבל ונגד. הוא גוזר את הפלט של הזמנן, כלומר בכל פעם שהפלט עולה לגבוה (פעם בשניה) מקבלים pulse רגעי. ה- RCK מחובר לנגד pull-up ולטרנזיסטור, כך שהוא מקבל בדיוק את ההופכי של הפלט (כשהפלט גבוה, הוא נמוך, וההיפך).

כשמתחיל מחזור של הזמנן, אני מקבל עליה רגעית בשעון של האוגר, ואז נדחף ביט גבוה. אחרי כמעט שניה, ה- RCK עולה ומוציא את מצב האוגר החוצה לרגלי ה- output. וחוזר חלילה.

רגלי ה- output יהיו מחוברות ללדים, ושלושה מהם (מס' 5, 10 ו- 16) יהיו מחוברים למעגלים של הצעצועים. כיוון שרציתי להפריד בין המעגלים, יציאות 5, 10 ו- 16 הן דרך טרנזיסטור, כך שהמעגלים מהצעצועים יוכלו להיות מחוברים לסוללות משלהם.

שרטוט המעגל:


להורדה של ספריית ה- Eagle של הפרויקט

יום רביעי, 9 באוקטובר 2013

תצוגת LCD בתקן HD44780 ע"י Raspberry Pi

כבר כמה זמן שאני "חם" על תצוגת LCD קטנה כדי שאוכל לחבר אותה ל- Raspberry Pi ולהציג מידע פשוט ממנו. כל מכשיר שאני רואה עם תצוגה כזו צריך לחשוש ממני...
אחרי שתצוגה אחת שכזו אכזבה אותי ופשוט לא עבדה, בסופו של דבר נפל לידי מכשיר פקס ישן (שזוגתי מצאה לי בשוק "קח-תן") עם תצוגת LCD בעלת שורה אחת של 16 ספרות. מצאתי הסבר פשוט ומעולה באתר rpiblog.com, שהסביר איך לחבר, ובאופן מפתיע זה עבד די בנסיון הראשון!



שנצלול לפרטים?

מסתבר שרוב התצוגות הללו משתמשות בתקן אחיד שנקרא HD44780. כיוון שכך, אותו קוד שפרסם Rahul Kar בבלוג המוזכר לעיל, עובד עם תצוגת אחרות. היו שני הבדלים שנדרשתי לתת עליהם את הדעת:
  1. פין 3, שאחראי על ה- contrast של התצוגה - ראול חיבר אותה ישר ל-GND. אצלי זה יצא חזק מדי והיה קשה לראות מה כתוב. אני השתמשתי בנגד של (10kΩ) אוהם.
  2. התצוגה שלי היתה בעלת שורה אחת של 16 תווים, אבל התנהגה כתצוגה של 2 שורות של 8 תווים כ"א. כלומר, הדפסה של
1234567890123456
היתה מציגה "12345678" על המסך. אבל הדפסה של
12345678\n90123456
היתה נותנת את התוצאה המתבקשת, "1234567890123456" על המסך.

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

#!/usr/bin/python

import RPi.GPIO as GPIO
import sys
from time import sleep
class HD44780:

    def __init__(self, pin_rs=7, pin_e=8, pins_db=[25, 24, 23, 18]):

        self.pin_rs=pin_rs
        self.pin_e=pin_e
        self.pins_db=pins_db

        GPIO.setmode(GPIO.BCM)
        GPIO.setup(self.pin_e, GPIO.OUT)
        GPIO.setup(self.pin_rs, GPIO.OUT)
        for pin in self.pins_db:
            GPIO.setup(pin, GPIO.OUT)

        self.clear()

    def clear(self):
        """ Blank / Reset LCD """

        self.cmd(0x33) # $33 8-bit mode
        self.cmd(0x32) # $32 8-bit mode
        self.cmd(0x28) # $28 8-bit mode
        self.cmd(0x0C) # $0C 8-bit mode
        self.cmd(0x06) # $06 8-bit mode
        self.cmd(0x01) # $01 8-bit mode

    def cmd(self, bits, char_mode=False):
        """ Send command to LCD """

        sleep(0.001)
        bits=bin(bits)[2:].zfill(8)

        GPIO.output(self.pin_rs, char_mode)

        for pin in self.pins_db:
            GPIO.output(pin, False)

        for i in range(4):
            if bits[i] == "1":
                GPIO.output(self.pins_db[::-1][i], True)

        GPIO.output(self.pin_e, True)
        GPIO.output(self.pin_e, False)

        for pin in self.pins_db:
            GPIO.output(pin, False)

        for i in range(4,8):
            if bits[i] == "1":
                GPIO.output(self.pins_db[::-1][i-4], True)


        GPIO.output(self.pin_e, True)
        GPIO.output(self.pin_e, False)

    def message(self, text):
        """ Send string to LCD. Newline wraps to second line"""

        for char in text:
            if char == '\n':
                self.cmd(0xC0) # next line
            else:
                self.cmd(ord(char),True)

if __name__ == '__main__':

    lcd = HD44780()
    lcd.message(sys.argv[1] +"\n"+sys.argv[2])

הרצה:
sudo python lcd.py first second

על המסך אמורות הופיע שתי המילים first ו- second, אחת בכל שורה (או במקרה שלי, באותה שורה).

יום ראשון, 6 באוקטובר 2013

שימוש ב- SIS-2 כדי לשלוט על מעגל מכמעט כל שלט IR



נתקלתי ב- IC בשם SIS-2 שנמכר במקור ע"י sparkfun (אפשר לקנות אותו גם בארץ, יחסית זה לא שבב זול - 50 ש"ח). זהו שבב שמקבל מידע מחיישן IR (כזה לדוג'), ויודע לנתח את אותו ע"י פרוטוקול נפוץ של שלטים (לדברי החברה, 99% מהשלטים יעבדו איתו). בנוסף, הוא זוכר שני קודים ספציפיים (שניתנים לתכנות) וכך אפשר להוסיף לכל מעגל שליטה מ-2 כפתורי שלט.

לשבב כמה מצבי עבודה:
  • לימוד - במצב זה מלמדים את השבב שני כפתורים כלשהם משלט כלשהו.
  • רגיל - ברגע שמגיע אות שמתאים לאחד מהקודים שנלמדו, השבב מרים את אחת הרגליים שלו למצב "גבוה" (יש שתי רגלי output, אחת לכל קוד).
  • Discrete Button - דומה לרגיל, אבל בסוג של "on/off". לחיצה בשלט גורמת לרגל ה-output לעלות ולהשאר שם. לחיצה נוספת מורידה אותה חזרה ל- "נמוך".
בעמוד באתר של sparkfun יש קישור ל- datasheet שמסביר בדיוק הכל - וזה די פשוט.

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

הנה הדגמה חיה:


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

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

שרטוט:
שרטוט ב- fritzing אפשר להוריד מפה.

יום חמישי, 3 באוקטובר 2013

מונה 0-99 בעזרת ic 4026

כהכנה לפרויקט הגדול שלי, מסילה עם כדורים מסביב לכל חדר המשחקים של הילדים, חשבתי על משהו פשוט שייערב תצוגת 7-מקטעים (7 segment display).
החלטתי להשתמש במעגל משולב 4026. מעגל זה יודע לספור מאפס עד 9, בכל פעם שהמתח ברגל ה-CLOCK שלו עוברת מ-"נמוך" ל-"גבוה". בנוסף, הוא גם ממפה את המספר לתצוגת 7 מקטעים - כך שאפשר לחברו ישירות לתצוגה שכזו. בעזרתו בניתי מונה מ-0 עד 99, שמופעל ע"י לחצן:



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

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

יום רביעי, 25 בספטמבר 2013

אפקט fade out של לד

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


מקור המתח הוא פין 3V3 של ה- Raspberry Pi. ניסיתי קבלים הולכים וגדלים, ועם 220μF קיבלתי תוצאה נחמדה (שלושה לדים ביחד):


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