עבודה עם Arduino יכולה להיות חוויה מרגשת. היכולת להפוך את הרעיונות היצירתיים שלך לאב טיפוס עובד היא הרגשה מספקת באמת.
עם זאת, בעוד שה-Arduino IDE הוא חבילת תוכנה ידידותית להפליא לקידוד, נפוץ להיתקל בשגיאות ובאגים שעלולים להיות מתסכלים. אולי הקוד שלך לא יקמפל, הסקיצה שלך לא תעלה, או שהצג הסדרתי שלך יורק ג'יבריש. לא משנה מה הבעיה, זה יכול להיות מתסכל ומוריד מוטיבציה, במיוחד אם אתה חדש בפלטפורמת Arduino.
סיכמנו רשימה של רעיונות לפתרון בעיות שיכולים לעזור לך להפעיל את הפרויקט שלך במהירות.
מהן השגיאות הנפוצות ביותר בעת השימוש ב- Arduino?
שגיאות יכולות לנוע בין שגיאות תחביר פשוטות לבעיות חומרה מורכבות יותר. שגיאות חומרה אינן נפוצות במיוחד בעת שימוש ב- Arduino. שגיאות אלו יכולות להיות מתסכלות במיוחד, מכיוון שלעתים קרובות הן דורשות בדיקה פיזית של רכיבי החומרה כדי לאבחן ולתקן. מצד שני, בעיות תוכנה נפוצות למדי.
להלן כמה שגיאות נפוצות שאתה עלול להיתקל בהן בעת השימוש ב- Arduino IDE.
1. יציאה טורית לא נמצאה
הודעת שגיאה זו מציינת שהמחשב אינו מסוגל לזהות את לוח Arduino. זה יכול להיגרם ממגוון של בעיות, כגון כבל USB פגום, הגדרת יציאת COM שגויה או לוח פגום. כדי לפתור בעיה זו, נסה לחבר מחדש את הלוח או לשנות את הגדרת יציאת ה-COM ב-IDE.
כמה שיבוטים זולים יותר של Arduino משתמשים בשבב CH340 USB to Serial ממיר במקום בשבב FTDI (FT232RL) הסטנדרטי המשמש את לוחות Arduino הרשמיים. שימו לב שיש יתרונות וחסרונות של שימוש בשיבוטי Arduino בפרויקטים שלך. בניגוד ללוחות Arduino הסטנדרטיים, הדרייברים לשבב CH340 אינם כלולים בקובץ ההתקנה של IDE.
כדי להשתמש בלוח Arduino מבוסס CH340, עליך להוריד ולהתקין את הדרייבר של השבב בנפרד. למידע נוסף, עיין במדריך להתקנת מנהלי התקנים של CH340 ב- SparkFun אתר אינטרנט.
2. מתכנת לא מגיב
תראה הודעת שגיאה זו בצג הטורי בעת ניסיון להעלות את הסקיצה שלך:
avrdude: stk500_recv(): מתכנת הואלֹא מגיב
כדי לתקן שגיאה זו, ישנם מספר שלבי פתרון בעיות שתוכל לבצע:
- ודא כי נבחרו הגדרות הלוח והיציאה הנכונות.
- ודא שכבל ה-USB מוכנס כהלכה הן ללוח Arduino והן למחשב.
- בדוק אם הקושחה של הלוח מעודכנת. לפעמים קושחה מיושנת עלולה לגרום לבעיות תקשורת עם המחשב.
- נסה לאפס את לוח Arduino או להפעיל אותו על ידי ניתוק וחיבור מחדש של כבל ה-USB.
אם אלה לא עובדים, נסה להעלות את הסקיצה ממחשב אחר או באמצעות כבל USB אחר.
3. ההרשאה נדחתה
אם אתה נתקל בשגיאה זו בעת ניסיון להעלות סקיצה ל-Arduino שלך, זה מציין של-IDE אין הרשאת קריאה/כתיבה ליציאה הטורית. זה קורה בעיקר עבור משתמשי אובונטו.
אתה תראה את הודעת השגיאה הזו בצג הטורי:
avrdude: ser_open(): לא יכול לפתוח את המכשיר "/dev/ttyACM0": אין קובץ או ספרייה כאלה
כדי לתקן זאת, הקלד את הפקודה הבאה בטרמינל:
sudo chmod a+rw /dev/ttyACM0
זה יאפשר לכל המשתמשים לקרוא ולכתוב אליו /dev/ttyACM0 התקן יציאה טורית. זכור כי שם המכשיר הספציפי עשוי להשתנות בהתאם לתצורת המערכת שלך. אם אתה משתמש ב-Windows, נסה להפעיל את Arduino IDE במצב מנהל מערכת.
4. פסק זמן לתקשורת עם המתכנת
שגיאת פסק זמן ב-Arduino IDE יכולה להתרחש כאשר ה-IDE אינו מסוגל לתקשר עם לוח Arduino בתוך מגבלת זמן מוגדרת.
avrdude: stk500v2_ReceiveMessage(): timeoutavrdude: stk500v2_getsync(): זמן קצוב לתקשורת עם programmeravrdude: stk500v2_command(): נִכשָׁל אומללות ללבצע פקודה 0x11avrdude: stk500v2_disable(): נִכשָׁלל לעזוב את התכנות מצב
הודעת שגיאה זו מתרחשת כאשר לוח Arduino אינו מקבל נתונים מהמחשב בתוך מסגרת זמן מוגדרת. זה די נפוץ עם שיבוטים סיניים. זה יכול להיגרם על ידי חיבור איטי או לא אמין, כבל USB פגום או הגדרות שגויות של קצב העברת החיבורים.
ישנם שני פתרונות אפשריים:
- התקן את טוען האתחול Arduino שוב לפני העלאת הסקיצה שלך.
- החזק את לחצן האיפוס לחוץ בזמן הקומפילציה ושחרר אותו שבריר שנייה לפני שהקוד מתחיל להעלות.
אף על פי שאף אחד מאלה אינו אידיאלי, אתה יכול לנסות תיקון מבוסס חומרה ממדריך הווידאו שלמעלה. אם זה לא עובד, הגיע הזמן שתקנה לוח חדש.
5. חתימת מכשיר לא חוקית
אתה תראה את הודעת השגיאה הזו בצג הטורי:
אברדוד: איכס! חתימת מכשיר לא חוקית כפולה-חשבון קשרים ו נסה שוב, אוֹלהשתמש -פ ל לעקוף את הסימון הזה.
שגיאה זו מתרחשת בעת העלאת קוד ללוח שונה מזה שנבחר ב- Arduino IDE. זה נגרם בדרך כלל מאי התאמה של חתימת המכשיר. כדי לפתור את זה, בחר את הלוח הנכון ב-IDE או הבזק את טוען האתחול העדכני של Arduino ללוח.
6. לוח לא מסונכרן
בדרך כלל, כאשר שגיאה זו מתרחשת, לוח Arduino לא יוכל לקבל קוד שהועלה (גם אם ה-IDE מציין "העלאה בוצעה"), וה-IDE יציג את הודעת השגיאה הזו:
avrdude: stk500_getsync(): לא מסונכרן: resp=0x00
להלן כמה שלבי פתרון בעיות שיכולים לעזור לנקות את השגיאה:
- ודא שאין מכשירים, כולל מגנים, המחוברים לפינים דיגיטליים 0 ו-1 ב- Arduino.
- בדוק שיציאת ה-COM והלוח הנכונים נבחרו ב- כלים התפריט של ה-IDE.
- לחץ על כפתור האיפוס בלוח Arduino מספר פעמים, ולאחר מכן נסה להעלות את הקוד שוב.
- נתק את הארדואינו מהמחשב וחבר אותו מחדש.
הודעת השגיאה סנכרון: resp = 0x00 היא תגובה כללית המעידה בדרך כלל על בעיה בשבב ATmega בלוח Arduino.
7. סקיצה גדולה מדי
הודעת שגיאה זו מופיעה כאשר גודל הקוד עולה על כמות הזיכרון הפנוי בלוח. זה יכול להיגרם על ידי שימוש ביותר מדי ספריות או על ידי הכללת קוד מיותר. נסה לבצע אופטימיזציה של הקוד על ידי הסרת פונקציות או ספריות מיותרות.
8. הספרייה לא נמצאה
הודעת שגיאה זו מתרחשת כאשר ה-IDE אינו יכול לאתר ספריה ספציפית הנדרשת עבור הפרויקט. זה יכול להיגרם מאי התקנת הספרייה כהלכה או שימוש בגרסה מיושנת. כדי לפתור בעיה זו, נסה להתקין מחדש את הספרייה או לעדכן אותה לגרסה העדכנית ביותר.
9. שגיאת קומפילציה
הודעת שגיאה זו מופיעה כאשר יש שגיאות תחביר בקוד. זה יכול להיגרם כתוצאה מסוגריים חסרים, נקודות פסיק או שמות פונקציות שגויים. בדוק היטב את הקוד לאיתור שגיאות תחביר ותקן אותן.
10. שגיאה בעת העלאת הסקיצה
הודעת שגיאה זו מתרחשת כאשר ה-IDE אינו מסוגל להעלות את הקוד ללוח. זה יכול להיגרם על ידי סוג לוח שגוי שנבחר ב-IDE, טוען אתחול שבור או כבל USB פגום. כדי לפתור בעיה זו, ודא שסוג הלוח הנכון נבחר ושכבל ה-USB במצב תקין. אם שגיאה זו נמשכת, אתה יכול לנסות להבהב טוען אתחול חדש ללוח שלך.
יותר קידוד, פחות איתור באגים
Arduino היא פלטפורמה רבת עוצמה לבניית פרויקטי אלקטרוניקה חדשניים. למרות שזהו כלי קל יחסית לשימוש, אתה עדיין עלול להיתקל בשגיאות ובבעיות לאורך הדרך. על ידי הבנת השגיאות הנפוצות והגורמים להן, תוכל לנקוט בצעדים לפתרון בעיות ולהתגבר עליהן.