יום חמישי, 7 בינואר 2016

הצעצוע המרעיש

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

צעצועים מרעישים. כולנו מכירים אותם. המשאית שנוסעת ומנגנת חזק, המטוס שעולה ויורד ומשמיעה מוזיקה מוזרה (ולעיתים לא נאותה... שיר פופ עם השורה "I'll get lucky tonight"? באמת?).
האמצעי שלי ביקש ליום ההולדת ה-4 שלו שעון מעורר, כדי שהוא יקום בלי שנעיר אותו. עאלק. בכל מקרה, הוא קיבל את אחד השעונים הנוראים האלה שאני זוכר עוד מימי הצבא:



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


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


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

יום חמישי, 1 בינואר 2015

טיימר צחצוח שיניים - rgb לד עם attiny85



מצאתי קוד ברשת ל- attiny85 שאיתו הוא יכול לשלוט בלד RGB.


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

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

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


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

קשה להראות טוב את האור...

אגב נראה שגם עם שתי סוללות המעגל עובד, למרות שתיאורטית ה- ATTiny85 אמור לקבל 5V.
צחצוח נעים!

הקוד ב- gitthub.

יום ראשון, 20 ביולי 2014

פרויקט ביג-בן חלק ג׳: attiny85

פוסט קודם

השימוש ב- raspberry pi בפרויקט השעון הוא ללא ספק over-kill. יש יתרונות:
- הוספתי הצגה של שער הביטקוין העדכני פעם בכמה דקות - מחייב אינטרנט.
- אני שוקל להוסיף שעון מעורר. עם הפאי יש לי יציאה אודיו פשוטה.
- ואם כבר יציאת אודיו - למה לא שיהיה גם רדיו (אינטרנטי)?

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

attiny85 on spurkfun


בשעון הזה אני אשתמש ב- ATTiny85 כדי לשלוט ב- max7219. בנוסף יהיה גם רכיב RTC - רכיב שנותן קריאת זמן מדוייקת (למדי).

DeadOn RTC

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

אם שאלתם את עצמכם ״מה זה המספרים האלה של הסוללות?״, אז הנה זה: שתי הספרות הראשונות הן הקוטר במ״מ, והשתיים הבאות הן הגובה בעשיריות המ״מ. כלומר: סוללת 2032 המצוייה, היא בקוטר 20 מ״מ ובגובה 3.2 מ״מ. במקרה שלי, בית הסוללה מתאים גם לסוללה יותר נמוכה מה- 1225, ולכן 1220 נכנסת גם היא בקלות. וכמובן שכולן באותו מתח - 3V. (המקור בוויקיפדיה)

מה שנשאר הוא לחווט - ועל כך בפוסט הבא.



יום שבת, 28 ביוני 2014

פרויקט ביג-בן חלק ב' - השעון באוויר

פוסט קודם

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

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

בפעם הבאה - ישר מזמין מעגל מודפס...

קודם כל התחלתי להלחים ולחווט את הבית של ה- max7219. הרעיון הוא שכל ספרה בשעון מורכבת מ-4 ספרות נפרדות - כל מקטע מורכב מ- 4 לדים. לכן שתי הספרות הראשונות בשעון מתחברות ל- max7219 בודד, כיוון שהוא יודע לשלוט על 8 ספרות של 7 מקטעים. הנה שתי הספרות הראשונות:


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

בשלב הבא הוספתי את 2 הספרות של השעה.

כשלב חומרתי אחרון, לקחתי מטען ישן של שקר כלשהו, וחיברתי אותו למייצב מתח 7805 (שפירקתי ממכשיר כלשהו) על הלוח:

הפוטנציומטר - לקביעת הזרם ללדים, כמוסבר בדפים של ה- 7219


והוספתי גם מפזר חום, וחוט:



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

והנה, השעון החדש שלנו במטבח / סלון:



חלק ג׳: ATTiny85

יום שישי, 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 וולט). בנוסף יש לו תצוגה פשוטה שמראה את המתח שנכנס או את המתח שיוצא.