595 – מדריך להיכרות ועבודה עם Shift Register

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

מעגלים משולבים מסוג "595"
מעגלים משולבים מסוג "595"

להמשיך לקרוא 595 – מדריך להיכרות ועבודה עם Shift Register

לשלוט במנועי לגו עם ארדואינו

מכירים את ה-Intelligent Bricks של לגו? מדובר ביחידות עיבוד חזקות, משוכללות ומרשימות להפעלה של רובוטים עם רכיבי סדרת Mindstorms – והן גם יקרות מאד. מאד. נכון שהיה נחמד אם היתה דרך לשלוט ברובוטי לגו בעזרת ארדואינו ורכיבים אלקטרוניים מוכרים וזולים יותר?

להמשיך לקרוא לשלוט במנועי לגו עם ארדואינו

דברים חדשים: VM800P35A והבאג הבלתי-נסלח

המוצר המיוחד שהגיע אליי הפעם הוא VM800P35A, לוח הדגמה שמשלב מסך LCD קטן, מעין-ארדואינו מובנה, מעבד אודיו, שעון זמן-אמת, חריץ ל-Micro SD ובעיקר שבב EVE (מנוע וידאו מוטמע – Embedded Video Engine) מדגם FT800 של חברת FTDI. השילוב של שלושת אלה מבטיח תוצאה מעניינת מאד: ארדואינו עם תצוגת מולטימדיה זריזה להפליא, ברמה של משחקי פלאש מודרניים (אם לא יותר מזה).

הצד האחורי (והמעניין יותר) של ה-VM800P35A
הצד האחורי (והמעניין יותר) של ה-VM800P35A

להמשיך לקרוא דברים חדשים: VM800P35A והבאג הבלתי-נסלח

סיפורי אופטימיזציה: shiftOut לממהרים

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

להמשיך לקרוא סיפורי אופטימיזציה: shiftOut לממהרים

העז המנופחת של Microchip

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

אבל איזה מעשה מפוקפק עושה Microchip כאשר ההבדל בביצועים בין הגרסה הרגילה למשופרת לא נראה גדול מספיק כדי להצדיק את ההוצאה הכספית?

להמשיך לקרוא העז המנופחת של Microchip

סקירה וביקורת ספר: Programming in C

פוסט זה הוא סקירה וביקורת על הספר Programming in C, 4th Edition מאת Stephen G. Kochan, שנשלח אליי על ידי ההוצאה לאור תמורת ביקורת כנה בדף המוצר ב-Amazon. מכיוון שיש לא מעט חבר'ה שרוצים ללמוד C גם בארץ ומחפשים מקורות, החלטתי להוסיף מיוזמתי סקירה של הספר גם כאן בבלוג.

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

להמשיך לקרוא סקירה וביקורת ספר: Programming in C

ה-SMD הראשון שלי

יום ההולדת השלישי להתעסקות שלי עם ארדואינו ואלקטרוניקה קרב ובא, ובפעם הראשונה – תאמינו או לא – יצא לי להלחים ג'וק מקטגוריית ה-SMD (ראשי תיבות של Surface Mounted Device), כלומר כזה שמולחם ישירות לפני השטח של ה-PCB, בלי רגלי מתכת ארוכות שנכנסות לחורים שנקדחו מראש. זהו אינו מדריך רשמי להלחמה, אלא פשוט תיעוד של התהליך – ואולי הוא יעזור קצת לקורא או קוראת כלשהם שטרם עשו את הצעד הזה.

ג'וק במארז SOIC ומתאם מ-SOIC ל-DIP
ג'וק במארז SOIC ומתאם מ-SOIC ל-DIP

להמשיך לקרוא ה-SMD הראשון שלי

הלו טייני #6.5: שלושים ושמונה קילוהרץ

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

חיישן IR לתדר 38KHz (באמצע, במעטפת המתכת) ו-IR LED (משמאלו)
חיישן IR לתדר 38KHz (באמצע, במעטפת המתכת) ו-IR LED (משמאלו)

להמשיך לקרוא הלו טייני #6.5: שלושים ושמונה קילוהרץ

מהי שפת התכנות של ארדואינו?

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

להמשיך לקרוא מהי שפת התכנות של ארדואינו?

בלוג אישי בנושאי מייקינג, תכנות, מיקרו-בקרים ואלקטרוניקה