Abuarba: לקראת פרוטוקול תקשורת חדש

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

השיטה הזו הופעלה בהצלחה לא פעם, אך יש לה כמה מגבלות בולטות. קודם כל, היא איטית להחריד: קצב הרענון של מסך טיפוסי כיום הוא 60Hz, מה שמגביל אותנו – במקרה הכי אופטימי! – ל-7.5 בייטים בשניה, וזה לפני שדיברנו על מחשבים שמחליטים פתאום לבצע איזו משימה "כבדה" אחרת ולחרב את התזמון. כמו כן, בגלל שוני בבהירות בין מסכים שונים ובסביבות עבודה שונות, האמינות של זיהוי הביטים עלולה להיפגע וזה מחייב התייחסות.

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

להמשיך לקרוא Abuarba: לקראת פרוטוקול תקשורת חדש

הלו פיק #1.1: בלינק (חלק ראשון)

כפי שציינתי בפוסט הקודם בסדרה, פרויקט ה-Blink הראשון ל-PIC12F675 מפוצל לשני פוסטים מכיוון שמעורבים בעניין הרבה תמונות והסברים, ואני לא רוצה לדלג על שום שלב. בפוסט ראשון זה אציג את צד הקוד – כל מה שקורה בסביבת הפיתוח MPLAB X עד לרגע שבו נהיה מוכנים להעלות את הקוד המקומפל למיקרו-בקר. בפוסט הבא נדבר על צד החומרה ונראה כיצד הפרויקט עובד בפועל.

אייקון MPLAB X
אייקון MPLAB X

להמשיך לקרוא הלו פיק #1.1: בלינק (חלק ראשון)

הלו פיק #0: מבוא

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

מיקרו-בקרים מדגם PIC12F675
מיקרו-בקרים מדגם PIC12F675

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

להמשיך לקרוא הלו פיק #0: מבוא

מדור פרסומי: 4Probot – פרק שלישי

זוכרים את 4Probot, רובוט ההדגמה והניסוי שנבנה בשיתוף עם אתר 4project.co.il? העבודה עליו הוקפאה לזמן ממושך בגלל עניינים אחרים, אך הפרויקט לא בוטל. כעת, אחרי ניעור של שכבות האבק שהצטברו, הרובוט חוזר ובגדול – עם ג'ויסטיק אלחוטי לשליטה מרחוק!

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

להמשיך לקרוא מדור פרסומי: 4Probot – פרק שלישי

פרויקט צ'קלקה

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

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

להמשיך לקרוא פרויקט צ'קלקה

תעלומת ה-Pro Mini הדפוק

בעבר אמרתי שלוחות תואמי ארדואינו הם טובים פחות או יותר כמו המקוריים. לאחרונה, ההמלצה הזו מתבררת כיותר ויותר בעייתית. זה התחיל עם חיקויי הנאנו מ-buyincoins.com שמייצב המתח שלהם נשרף לכמה חבר'ה, המשיך עם הארדואינו Uno הזול-עד-כדי-חשד שכלל, כך הסתבר, מיקרו-בקר מדגם ATmega8 במקום ATmega328, ועכשיו יש לנו "תכשיט" חדש – לוח Pro Mini זול מאד שאצל חלק מהאנשים פשוט לא עובד. את הדגם הזה קל לזהות (ראו בתמונה), וכשראיתי לוח חשוד באיביי ב-2.5 דולר בלבד החלטתי להסתכן ולקנות אותו. אם הוא יעבוד, הרווחתי; אם לא, יהיה לי אתגר לנסות להבין מה לא בסדר – וגם סביר להניח שאקבל החזר. הוא לא עבד… אז הנה לכם פתרון התעלומה.

הלוח הבעייתי. קל לזהות לפי שתי שורות החורים משמאל.
הלוח הבעייתי. קל לזהות לפי שתי שורות החורים משמאל.

להמשיך לקרוא תעלומת ה-Pro Mini הדפוק

הרע, הרע והמכוער: הקצאה דינמית במיקרו-בקרים

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

להמשיך לקרוא הרע, הרע והמכוער: הקצאה דינמית במיקרו-בקרים

סיפורי אופטימיזציה: תמונות ממוזערות

פרויקט ארדואינו שעבדתי עליו לאחרונה כלל מסך מגע קטן, וכדי שהממשק יהיה אטרקטיבי החלטתי לשלב בו לחצנים עם עיצוב גרפי. גודל של לחצן נוח לתפעול, עבור המקרה הספציפי הזה, הוא בסביבות 36×36 פיקסלים; המסך עובד בסכמת צביעה שמצריכה 2 בייטים לפיקסל, ובסך הכל צריך כעשרה לחצנים, כלומר כ-26KB. איפה ואיך מאחסנים את המידע הזה באופן שיהיה גם נוח, גם מהיר לגישה וגם חסכוני ככל האפשר?

קוד עם המון נתונים ב-Arduino IDE
קוד עם המון נתונים ב-Arduino IDE

להמשיך לקרוא סיפורי אופטימיזציה: תמונות ממוזערות

איך לשאול שאלות

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

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