ארכיון הקטגוריה: טכניקות

טרנזיסטור אחד למשול בם ולקשרם

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

הכי הרבה טרנזיסטורים שהלחמתי עד היום ללוח אחד!
הכי הרבה טרנזיסטורים שהלחמתי עד היום ללוח אחד!

להמשיך לקרוא טרנזיסטור אחד למשול בם ולקשרם

0.000011574Hz, חלק שני

פחות מ-150 מחזורי שעון מאז הפוסט הקודם בנושא: הנה הפרטים על השלמת פרויקט "גלאי השבת", המערכת מבוססת המיקרו-בקר האיטית ביותר בעולם שעוד יש לה איזשהו שימוש…

גלאי השבת בפעולה
גלאי השבת בפעולה

להמשיך לקרוא 0.000011574Hz, חלק שני

תקשורת UART: שלושה (ויותר) במחיר אחד

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

בדיקה בשטח: ארבעה פיני TX ממודול UART יחיד
בדיקה בשטח: ארבעה פיני TX ממודול UART יחיד

להמשיך לקרוא תקשורת UART: שלושה (ויותר) במחיר אחד

איך ליצור מזהה ייחודי ייחודי

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

להמשיך לקרוא איך ליצור מזהה ייחודי ייחודי

קריאה מושלמת של Rotary Encoder, חלק ב'

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

מקודדים אופטיים מכניים
מקודדים אופטיים מכניים

להמשיך לקרוא קריאה מושלמת של Rotary Encoder, חלק ב'

קריאה מושלמת של Rotary Encoder, חלק א'

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

מקודדים סיבוביים מכניים
מקודדים סיבוביים מכניים

להמשיך לקרוא קריאה מושלמת של Rotary Encoder, חלק א'

איך הצלתי סוללה של לפטופ ב-0%

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

סוף טוב הכול טוב - סוללת לפטופ במאה אחוזי טעינה.
סוף טוב הכול טוב – סוללת לפטופ במאה אחוזי טעינה.

להמשיך לקרוא איך הצלתי סוללה של לפטופ ב-0%

תעביר את זה הלאה: הקצאת פינים דינמית במיקרו-בקרים

אחד הדברים הראשונים שמשתמשי ארדואינו לומדים הוא לקשר מספרי פינים מסוימים עם פונקציות ספציפיות: פינים 0 ו-1 הם RX ו-TX של Serial, פין 5 הוא אחד מהשישה שמסוגלים להוציא פלט PWM, וכן הלאה. במיקרו-בקרים מודרניים יותר, מוסכמות כאלה לא תמיד תופסות – לטוב ולרע. הנה כמה הסברים ודוגמאות.

הקצאת פינים דינמית (אילוסטרציה)
הקצאת פינים דינמית (אילוסטרציה)

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