תוכן עניינים:

ESP8266 שימוש בסיכות GPIO0/GPIO2/GPIO15: 4 שלבים
ESP8266 שימוש בסיכות GPIO0/GPIO2/GPIO15: 4 שלבים

וִידֵאוֹ: ESP8266 שימוש בסיכות GPIO0/GPIO2/GPIO15: 4 שלבים

וִידֵאוֹ: ESP8266 שימוש בסיכות GPIO0/GPIO2/GPIO15: 4 שלבים
וִידֵאוֹ: מבוא ללוח פיתוח של NodeMCU ESP8266 WiFi עם דוגמא לקוח HTTP 2024, נוֹבֶמבֶּר
Anonim
ESP8266 שימוש בסיכות GPIO0/GPIO2/GPIO15
ESP8266 שימוש בסיכות GPIO0/GPIO2/GPIO15

עדכון 1 ביולי 2018-נוספה הערה על תכנות מחדש כאשר GPIO0 הוא פלט

זו הערה קצרה מאוד על אופן השימוש בסיכות GPIO0 / GPIO2 ו- GPIO15 במודול ESP8266.

עדכון: בדוק גם כיצד להשתמש בסיכות ESP8266-01

מבוא

ESP8266 הוא שבב מופעל Wi -Fi בעלות נמוכה. הוא מגיע במגוון סוגי מודולים וניתן לתכנת אותו במגוון דרכים. כל המודולים הופכים את GPIO0 ו- GPIO2 לנגישים. רוב המודולים, פרט ל- ESP8266-01, גם הופכים את GPIO15 לנגיש. אלה של GPIO קובעים את אופן ההפעלה של המודול וככאלה דורשים טיפול מיוחד אם יש להשתמש בהם בכלל. GPIO6-GPIO11 דורשים גם טיפול מיוחד כמתואר להלן.

שלב 1: פיני GPIO Flash - GPIO6 עד GPIO11

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

המספר המדויק של סיכות המשמשות בטווח GPIO6 עד GPIO11 תלוי בסוג חומרת הפלאש המשמשת במודול שלך. Quad IO משתמש ב -4 שורות לנתונים (6 פינים בסך הכל) עד פי 4 ממהירות התקן. IO כפול משתמש בשתי שורות לנתונים (בסך הכל 4 סיכות) הסטנדרט משתמש בשורה אחת לנתונים (בסך הכל 3 סיכות).

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

שלב 2: סיכות GPIO0, GPIO2 ו- GPIO15

סיכות GPIO0, GPIO2 ו- GPIO15
סיכות GPIO0, GPIO2 ו- GPIO15

סיכות אלה קובעות באיזה מצב השבב מתחיל.

לצורך ביצוע תוכניות רגיל יש למשוך GPIO0 ו- GPIO2 ל- Vcc (3.3V) ולמשוך GPIO15 ל- GND, כל אחד עם נגד בטווח ה 2K עד 10K. נגד 2K נותן חסינות רעש טובה יותר. OLIMEX משתמש בנגדים של 2K SparkFun משתמש בנגדים של 10K. אני משתמש בנגדים 3K3.

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

שלב 3: שימוש ב- GPIO0, GPIO2 ו- GPIO15 כפלט

שימוש בתפוקות GPIO0, GPIO2 ו- GPIO15
שימוש בתפוקות GPIO0, GPIO2 ו- GPIO15

כפי שצוין לעיל, לסיכות אלה כבר יהיה נגד המחובר ל- VCC (GPIO0 ו- GPIO2) או ל- GND עבור GPIO15. זה קובע כיצד יש לחבר כל התקן חיצוני, כמו ממסר או נגד+LED. עבור GPIO0 ו- GPIO2, יש לחבר ממסר חיצוני בין VCC לבין הסיכה כדי שלא יפריע לפעולה של הנגד למעלה. מנגד, יש לחבר ממסר חיצוני המחובר ל- GPIO15 בין GND לבין הסיכה כדי שזה לא יפריע לפעולה של הנגד למטה.

כדי להפעיל את ההתקן החיצוני, GPIO0 או GPIO2 חייבים להיות מונעים LOW (Active LOW) ואילו GPIO15 חייב להיות מונע HIGH (Active HIGH).

התרשים לעיל מראה כיצד להשתמש ב- GPIO0 ו- GPIO2 ו- GPIO15 כתפוקות. מעגל זה כולל גם את נגדי הדחיפה/הנשימה הדרושים. שים לב שמודול ממסר 5V המונע על ידי GPIO0 מבודד אוטו ויש לו חיבור משותף נפרד לקלט. חשוב שהמתח VCCA 5V לא יופעל על הפין ESP8266.

כיצד לתכנת מחדש בעת שימוש ב- GPIO0 כפלט

הערה: יש לאדיר GPIO0 כדי להיכנס למצב תכנות. אם אתה משרטט מניע אותו גבוה, הארקה שלו עלולה לגרום נזק לשבב ESP8266 שלך. הדרך הבטוחה לתכנת מחדש את ESP8266 כאשר הקוד שלך מניע את יציאת GPIO0 היא:- א) כיבוי הלוח ב) קצר GPIO0 עד gnd ג) הפעלה של הלוח שנכנס למצב תכנית עקב קצר ב- GPIO0 ד) הסר הקצר מ- GPIO0 כך שלא תקצר את הפלט כשהתוכנית פועלת. e) תכנות מחדש את הלוח.

שלב 4: שימוש ב- GPIO0, GPIO2 ו- GPIO15 כתשומות

שימוש ב- GPIO0, GPIO2 ו- GPIO15 כתשומות
שימוש ב- GPIO0, GPIO2 ו- GPIO15 כתשומות

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

הטריק הוא לא לחבר את המתג החיצוני ישירות מה- GPIO0 או GPIO2 ל- GND אלא לחבר אותו במקום זאת לפין GPIO אחר שמונע לקרקע (כפלט) רק לאחר הפעלת ה- ESP8266. זכור, כאשר הם משמשים כפלט, סיכות GPIO מספקות חיבור התנגדות נמוך מאוד ל- VCC או ל- GND, תלוי אם הן מונעות HIGH או LOW.

כאן ייחשבו רק GPIO0 ו- GPIO2. באמצעות שיטה זו תוכלו לקבל קלט תוספת אחד (1) באמצעות שני (2) GPIO אלה.

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

המעגל למעלה משתמש במודול ESP8266-01 כדוגמה. ללא שימוש בטריק זה, ל- ESP8266-01 אין סיכות פנויות לשימוש כקלט אם אתה כבר משתמש בסיכות RX/TX לחיבור UART.

מכיוון ששיטת ההתקנה () של הסקיצה מופעלת רק לאחר הפעלת מודול ESP8266, בטוח להפוך את פלט GPIO0 לנמוך אז וכך לספק קרקע ל- S1 המחובר ל- GPIO2. לאחר מכן תוכל להשתמש ב- DigitalRead (2) במקומות אחרים בסקיצה שלך כדי לקרוא את הגדרת המתג.

סיכום

הערה קצרה זו מראה כיצד להשתמש ב- GPIO0, GPIO2 ו- GPIO15 כתפוקות וכיצד להשתמש לקבל קלט נוסף באמצעות GPIO0 ו- GPIO2 יחד.

מוּמלָץ: