תוכן עניינים:
וִידֵאוֹ: בנה לחצן הפעלה טוב יותר של Raspberry Pi: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
קל מאוד לבצע כפתור כיבוי או כיבוי של פטל. יש הרבה פרויקטים כאלה באינטרנט וכמה כאן ב- Instructables, אבל אף אחד מהם (שאני יכול לראות) לא אומר לך מתי ה- Pi שלך למעשה סיים את כיבויו ולכן זה בטוח למשוך את הכוח. למעשה הם אפילו לא מכירים בלחיצת הכפתורים.
יש גם פרויקטים להפעלה מחדש של Pi שנסגר, אך אלה גם לא נותנים לך משוב חזותי.
אבל מי צריך כפתור כזה? אם אתה קצת חנון כמוני, או אפילו רק חנון שאפתן, אתה תמיד יכול להיכנס ל- Pi שלך באופן מקומי או דרך הרשת ולהקליד sudo shutdown -h עכשיו. אבל אם אתה בונה פרויקט למשתמשים לא טכניים, זה פשוט לא יעזור. נכון, אתה כמעט תמיד יכול לברוח רק עם משיכת כבל החשמל, אך שים לב, אמרתי כמעט תמיד! המזל של כולם אוזל במוקדם או במאוחר. היה לי כרטיס SD מת עלי רק בשבוע שעבר, אם כי לעולם לא אדע אם זה באמת בגלל אובדן חשמל פתאומי.
במקרה שלי הייתי צריך להוסיף לחצן הפעלה ל- Pi שאנו משתמשים בו כ- midi sequencer להקלטה והשמעת מזמורים ושירים בכנסייה, כאשר אין לנו פסנתרן חי זמין. אני תמיד יכול להקליד את פקודת הכיבוי, אבל אני צריך לבחון אותה כשאני לא שם.
הכוונה שלי כאן היא לא לתת לך מוצר מוגמר, כולל מארז מודפס בתלת מימד יפה, כמו כל כך הרבה הוראות אחרות. לכל אחד יהיה שימוש אחר בו או ירצו לשלב אותו בפרויקט שלו. במקום זאת, אכין לך את הטכנולוגיה שתוכל להוסיף לפרויקט שלך, בין אם זה מרכז מדיה, מכשיר IoT או כל דבר אחר.
(בסרטון אני מדגים את זה עם Pi Zero v1.2 וצג שעשיתי ממסך מחשב נייד מחדש ובקר מהמזרח הרחוק.)
שלב 1: העיצוב
זה מה שתעשה כפתור ההפעלה שלי עבורך:
- כאשר ה- Pi פועל, נורית LED נדלקת ברציפות. אם הוא נכבה באופן ידני הנורית נכבית רק כאשר בטוח לנתק את החשמל.
- בזמן הריצה, אם תלחץ על הכפתור למשך שנייה לפחות, יופעל כיבוי והנורית מהבהבת במשך רבע שנייה בכל שנייה עד שיהיה בטוח לנתק את החשמל.
- ממצב כיבוי (אם החשמל לא הוסר), לחיצה על הכפתור מתחילה אתחולו ומדליקה את הנורית במשך רבע שנייה בכל שנייה עד לאתחול. (ייתכן שייקח קצת יותר זמן עד שכל השירותים כגון ssh ו- vnc יפעלו.)
הרכיבים מאוד זולים. כל מה שאתה צריך זה:
- ATTiny85 (שבב תואם Arduino)
- 3 נגדים: 2 x 330Ω ו -1 x 10kΩ
- 1 LED - אני מציע ירוק או כחול, אבל זו בחירה שלך
- קרש לחם ומגשרים, או לוח חשמל, או איך שתרצו לבנות אותו.
שלב 2: איך זה עובד
כמו כל לחצני ההפעלה של Pi, זה מושך סיכת GPIO למצב נמוך כדי לסמן בקשת כיבוי לתוכנית עוזרים הפועלת על ה- Pi. השתמשתי ב- GPIO4 (סיכה 7) אבל אתה יכול להשתמש בכל סיכה אחרת.
הדרך היחידה לדעת ש- Pi סיימה את הכיבוי היא על ידי צפייה בסיכת TxD 8, שאחר כך יורדת. הדבר תלוי בכך שהמסוף הטורי מופעל, שהוא כברירת מחדל. למעשה TxD יעלה ויורד באופן קבוע בזמן שהוא משמש כקונסולה סדרתית, אך הוא לעולם לא יירד ליותר מ- 30mS בכל פעם, אפילו בקצב השידור הנפוץ האיטי ביותר. עדיין ניתן להשתמש בו לקונסולה סדרתית מכיוון שאנו פשוט צופים בה באופן פסיבי.
כדי לאתחל מחדש, עלינו למשוך את SCL1 (סיכה 5) לזמן קצר. סיכה זו משמשת את כל מכשירי I2C (כולל ממשק המידי שלי), אך לאחר תחילת האתחול אנו משאירים אותה לבד.
רוב המורכבות היא בסקיצה של Arduino שאנו מעמיסים לתוך ה- ATTiny85. זה מיישם "מכונת מדינה" - דרך שימושית ורבת עוצמה לקודד כל בעיה שיכולה להיות מיוצגת על ידי מספר "מצבים". מכונת כביסה עובדת בדיוק באותו אופן. המצבים מייצגים את השלבים במחזור הכביסה, וכל אחד מהם מגדיר מה המכונה צריכה לעשות בשלב זה (מנועים או משאבות שיש להפעיל, שסתומים שיש לפתוח או לסגור) ומה כניסות החיישנים (טמפרטורה, מפלס מים, טיימרים) לקבוע מתי לעבור למצב הבא ובאיזה מצב הבא לבחור.
שרטוט היד הוא הטיוטה הראשונה שלי לדיאגרמת מצב, המציגה את כל מעברי המצב. זה רק כדי להראות לך כיצד אתה יכול לתכנן בתחילה את המדינות ואת מעברי המדינה שלך - יתכן שזה לא מדויק לחלוטין כפי שהיה לפני שהתחלתי איתור באגים.
במקרה שלנו, יש לנו 6 מצבים אליהם התקשרתי, בקשת אתחול, הפעלה, הפעלה, בקשה לסגירה וכיבוי. (לאחר סגירה למטה הוא עובר בחזרה ל- OFF.) אלה מזוהים על ידי הערות במערכון, ועל כל אחת מהן, הערות נוספות אומרות מה היא צריכה לעשות ואילו אירועים יעבירו אותה למצב אחר.
תוכנית העוזרים הפועלת בפי היא רק קצת יותר מסובכת מאשר לרוב כפתורי הכיבוי. הוא מגיב לדופק נמוך ארוך על סיכת ה- GPIO על ידי הפעלת כיבוי, אך הוא מגיב גם לדופק קצר כשלעצמו מושך את סיכת ה- GPIO לרגע נמוך. כך ה- ATTiny85 יכול לדעת שהוא פועל ולכן יכול לעבור ממצב BOOTING למצב RUNNING.
שלב 3: בניית אב טיפוס הדגמה
לצורכי הדגמה אתה יכול להבליט אותו על גבי לוח לחם ללא הלחמה כפי שמוצג, אך נתתי לך גם את הסכימה כך שתוכל לפתח פריסה משלך באמצעות לוח חשמל או לוח PCB מותאם אישית, אולי חלק מפרויקט רחב יותר.
שלב 4: תכנות ה- ATTiny85
מערכון ארדואינו ותוכנית העוזרים מצורפים לשלב זה. בתיקיית סקיצות Arduino שלך, צור תיקייה בשם PiPwr והעתקי את הקובץ PiPwr.ino לתוכה. השקת ה- Arduino IDE כעת תמצא אותו בספר הסקיצות שלך.
ישנן מספר דרכים לתכנת ATTiny85. אם מותקן אצלך מטען אתחול אתה יכול להשתמש בלוח פיתוח של ATTiny85 בעלות של כמה קילוגרמים בלבד. זה מתחבר למחשב האישי שלך באמצעות יציאת USB. השתמשתי ב- Hidiot שהוא בעצם אותו דבר אבל עם אזור אב טיפוס.
ב- IDE Arduino תחת קובץ - העדפות, הוסף
digistump.com/package_digistump_index.json
לכתובות ה- URL של מנהל הלוחות הנוספים.
תחת כלים - לוח אתה אמור לראות כעת מספר אפשרויות Digispark. בחר Digispark (ברירת מחדל - 16.5MHz).
אם ל- ATTiny85 שלך אין מטעין אתחול (או שאתה לא יודע) אז אתה יכול להשיג מתכנת AVR ISP בכמה קילוגרמים. או שאתה יכול להשתמש ב- Arduino Uno או בפרו מיני זול יותר או ננו כמתכנת. גוגל עבור "arduino as isp attiny85" (ללא מרכאות) להנחיות.
אם ברצונך לשנות את המערכון, תמצא את ההערה במלואה ותקווה שיהיה קל לעקוב אחריו. לניפוי באגים הרבה יותר קל להשתמש ב- Arduino Pro Mini או Nano. בטל את התגובה של serial.begin () בהגדרות והצהרות ההדפסה בלולאה () על מנת לראות את השלבים שהוא עובר באמצעות הצג הטורי. ישנן הגדרות סיכה חלופיות במקור, בתגובה, עבור אונו, פרו מיני או ננו.
ב- Raspberry Pi שלך, העתק את הקובץ shutdown_helper.py לתיקייה/etc/local/bin והגדר אותו כמנהל באמצעות הפקודה
sudo chmod +x /usr/local/bin/shutdown_helper.py
כעת ערוך את הקובץ /etc/rc.local עם העורך המועדף עליך. (יהיה עליך לעשות זאת כשורש.) לפני השורה האחרונה (יציאה 0) הכנס את השורה
nohup /usr/local/bin/shutdown_helper.py &
אתחל מחדש ותוכנית העזר תתחיל אוטומטית.
מוּמלָץ:
כיצד ליצור ולבדוק DAC טוב יותר עם ESP32: 5 שלבים
כיצד ליצור ולבדוק DAC טוב יותר עם ESP32: ל- ESP32 יש 2 ממירים דיגיטליים לאנלוגיים (DAC) של 8 סיביות. מכשירי DAC אלה מאפשרים לנו לייצר מתח שרירותי בטווח מסוים (0-3.3V) עם 8 סיביות של רזולוציה. במדריך זה, אראה לך כיצד לבנות DAC ולאפיין את עמו
הוסף לחצן הפעלה להתקנת LibreELEC שלך ב- Raspberry Pi: 6 שלבים
הוסף לחצן הפעלה להתקנת LibreELEC שלך ב- Raspberry Pi: בהמשך נלמד כיצד להוסיף לחצן הפעלה ל- LibreELEC הפועל ב- Raspberry Pi. אנו נשתמש ב- PowerBlock לא רק להוסיף כפתור הפעלה, אלא גם נורית סטטוס המציינת את מצב ההפעלה של התקנת LibreELEC שלך. עבור אלה אני
למד טוב יותר בעזרת מנורת שולחן חכמה - IDC2018IOT: 10 שלבים (עם תמונות)
למד טוב יותר עם מנורת שולחן חכמה - IDC2018IOT: אנשים בעולם המערבי מבלים הרבה זמן בישיבה. ליד השולחן, מסתובבים, צופים בטלוויזיה ועוד. לפעמים, ישיבה רבה מדי עלולה לפגוע בגופך ולפגוע ביכולות המיקוד שלך. ההליכה והקימה לאחר זמן נתון חיונית לכל
מקודד סיבובי טוב יותר: 4 שלבים
מקודד סיבובי טוב יותר: אם אי פעם ניסית להשתמש במקודד סיבוב מהמדף לפרויקט שלך סביר שאכזבת. בין אם זה נבע מהקושי בהגדרה או מהבקרות הלא מדויקות. הייתה לי אותה בעיה אז החלטתי לתקן אותה. עיצבתי תוכנות תלת מימד
הפוך את הלם למכוניות ה- RC לקצר יותר לטיפול טוב יותר במהירויות גבוהות: 5 שלבים
הפוך את הלם למכוניות RC שלך לקצר יותר לטיפול טוב יותר במהירויות גבוהות: במדריך זה אראה לך כיצד לקצר את הזעזועים שלך כך שתוכל לקרב את המכונית שלך לקרקע, כך שתוכל לבצע סיבובים במהירות גבוהה יותר בלי לנפנף. עוד מדריך כיצד לבצע תחזוקה במכוניות שלך מזעזעים כל כך