בעשורים הראשונים של עולם המחשבים, כשהכל היה עוד חדש ולא-מוכר, נוצר מטבע הדברים פולקלור עשיר של סיפורים, סמלים, ביטויים, דמויות אגדיות ועוד. עם הזמן, כשהמחשב האישי הפך לנפוץ ולא נדרשו עוד ידע ומומחיות כדי להפעילו, הפולקלור הזה הלך ונשכח – אם כי מי שמתעמק בתחום יכול לשוב ולגלות חלקים ממנו בכל מיני פינות לא צפויות.
טיימרים בארדואינו: מבוא
בואו נשים את הדברים על השולחן: הטיימרים של הארדואינו, שמטרתם לאפשר תזמון מדויק של פעולות, הם עסק מכוער, ולא פלא שהרבה מתחילים שמנסים לעבוד איתם (מעבר, כמובן, להעתקת קוד מהרשת ותפילה שהוא יעבוד) מתייאשים מהר מאד. הטיימרים לא בנויים בצורה אינטואיטיבית, וההסברים שמוצאים בדרך כלל ברשת – שלא לדבר על המפרטים הטכניים הרשמיים – הם מזעזעים ממש. כמות עצומה של שמות רגיסטרים מוזרים, פעולות על ביטים, נוסחאות… מה לכל הרוחות קורה שם?
בסדרת פוסטים קצרה זו אנסה להסביר בצורה מובנת – קל זה לא יהיה, תאמינו לי – את נושא הטיימרים בארדואינו (ליתר דיוק, במיקרו-בקרים מסוג ATmega328) וכיצד להתחיל להשתמש בהם. לכן, השאלה הראשונה אליה אתייחס, ואולי החשובה מכולן, היא: מי צריך את זה?
מדור פרסומי: הפוטנציומטרים של Tmart
לפני זמן-מה הגיע אליי מייל מנציג של tmart.com, אתר גאדג'טים ומוצרים אחרים מהמזרח הרחוק, עם הצעה: לשלוח לי מוצרי אלקטרוניקה לסקירה בבלוג. את השם tmart הכרתי מקניות קטנות שערכתי בעבר באיביי, ולאחר שווידאתי שהפונה אינו בוט אלא אדם אמתי, שמבין שזהו בלוג פרטי בעברית וכו', החלטתי לתת לזה צ'אנס.
כמה פעמים ספרת עד עשר (עם ג'וק)
המעגל המשולב CD4017BE הוא ג'וק מוזר. בזמן שחבריו מריצים קוד, מפעילים פרוטוקולים מתוחכמים, מנהלים מתחים וזרמים או לפחות מבצעים פעולות לוגיות פונדמנטליות, הג'וק הזה – שמכונה Decade Counter ("מונה עשרות") – פשוט סופר עד עשר. ליתר דיוק, יש לו כניסת שעון אחת ועשר יציאות, שממוספרות 0 עד 9, ובכל פעם שהמתח בכניסת השעון עולה, הג'וק מוציא מתח ביציאה הבאה בתור, ורק בה. קצת כמו להסתכל רק על ספרת האחדות של מספר שעולה ועולה בלי סוף. למה זה טוב?
איזה לוח ארדואינו מתאים לי?
פוסט זה משלים את הסרטון השני בסדרת "ארדואינו למתחילים בעברית". בסרטון, שמופיע כאן למטה, המלצתי למתחילים להשיג לוח ארדואינו Uno, מכיוון שמכל הבחינות כמעט הוא הכי נוח וידידותי. אבל לפעמים הצרכים מכתיבים בחירות אחרות. אז אילו לוחות ארדואינו נוספים קיימים, ומתי – אם בכלל – כדאי להשתמש בהם?
שימו לב: כל מה שנאמר כאן נכון לאמצע שנת 2013.
היום שבו האדמה התחילה לנוע
בשנת 1984 הוצגה בתערוכת CES הדגמת יכולת בשם Boing, שהביאה לעולם את מחשבי האמיגה והפכה לאחד ה"דמואים" הקלאסיים, המוכרים והחשובים בעולם המחשבים. התעלמו מכל מה שקשור למערכת ההפעלה הגרפית שמוצגת בסרטון – היא לא היתה חלק מההדגמה המקורית – והתרכזו בכדור הקופץ:
בשנת 1984, הכדור הזה היה פלא שפוצץ לאנשים את השכל. למען האמת, גם כיום – כשהמעבדים מהירים והזכרונות גדולים בשלושה סדרי גודל לערך מאלה של האמיגה – מי שינסה לתכנת הדגמה כזו בגישה נאיבית (וללא כלי עזר מתקדמים כמו OpenGL) יגלה שזו משימה קשה להפתיע. אז איך הצליחו לעשות זאת לפני כמעט שלושים שנה, ומה הרלוונטיות של הסיפור העתיק הזה לימינו?
על מכוניות, רעש ושמיט טריגר
אני מניח שכבר ראיתם את שלט הכפפה שהכנתי למכונית-על-שלט (אם לא, הסרטון נמצא כאן). בפוסט זה אדבר על פתרון קטן וחכם, שאמנם לא אני המצאתי אבל השתמשתי בו כדי לשפר את השליטה במכונית, ואציג את ההקשר הרחב והחשוב הרבה יותר של הפתרון הזה – בעולם האלקטרוניקה בכלל וביישומים "בעולם האמתי" בפרט.
איך לא להרוג את ה-EEPROM
מספרים על אחד המדענים הגדולים, שהעביר הרצאה לקהל הרחב וציין, בין השאר, שבעוד חמישה מיליארדי שנים השמש שלנו תהפוך לענק אדום ותשמיד את כל החיים על פני כדור הארץ.
"בעוד כמה זמן?!" זעקה פתאום בבהלה קשישה אחת מהקהל.
"חמישה מיליארדי שנים, גברתי,"
"איזה מזל," נרגעה הקשישה, "חשבתי שאמרת חמישה מיליונים."
אני נזכר בבדיחה הזאת בכל פעם שחובב מודאג שואל לגבי מגבלת 100,000 הכתיבות לזיכרון ה-EEPROM של הארדואינו. הרי מאה אלף זה הגבול התחתון, ובשימוש סביר (לא אופטימלי – סתם סביר), אפילו אם מגיעים למאה כתיבות ביום, שזה המון, עדיין מקבלים יותר משנתיים וחצי רצופות של פעילות מובטחת ללא תקלות. מישהו באמת חושב להריץ יישום אחד על ארדואינו אחד במשך שנתיים וחצי? מישהו באמת חושב שכל השאר יעבוד פיקס במשך כל הזמן הזה, ורק ה-EEPROM המידרדר לאיטו יגרום לקטסטרופה?
ובכל זאת, שימוש סביר ב-EEPROM לא דומה למה שאנחנו עושים עם זיכרון ה-SRAM הרגיל, וכדאי להקדיש לו קצת מחשבה. בפוסט זה אסקור מספר טכניקות ואמצעי זהירות, שיעזרו לכם להפיק את המקסימום מהתכונה המיוחדת הזו של המיקרו-בקר.
avrdude: stk500_getsync(): not in sync: resp=0x00
לא, הכותרת היא לא באג במערכת הניהול של הבלוג, אלא אחת מהודעות השגיאה הנפוצות ביותר שמתחילים נתקלים בהן בעבודה עם ארדואינו. בפוסט זה אסביר את מהות הבעיה, מהם הגורמים הנפוצים לה – ומכאן, כמובן, גם איך לפתור אותה.

להמשיך לקרוא avrdude: stk500_getsync(): not in sync: resp=0x00
על השחיטה
במהלך השנה האחרונה יצא לי לפרק המון מכשירים חשמליים פירוק טוטאלי ובלתי הפיך (מה שנהוג לכנות בשם "שחיטה"), ומכיוון שלא פעם חובבי אלקטרוניקה מתחילים שואלים אילו רכיבים אפשר להוציא ממחשב ישן, או מכשיר מקולקל אחר, החלטתי לכתוב על תהליך השחיטה – מתי כדאי לשחוט, איך עושים זאת נכון ולמה אפשר לצפות בסיום.
הקורבן: מקצף ידני (מלוכלך אבל מהמטבח שלי, אז זה בסדר) להמשיך לקרוא על השחיטה