- 1. לוח ארדואינו לא מוכר
- 2. לוח לא מסונכרן
- 3. הקוד לא מתחיל באיפוס כוח
- 4. שגיאת חתימת מכשיר לא חוקית
- 5. שגיאת Launch4j
- 6. יציאה טורית כבר בשימוש
- 7: העלאות סקיצה בהצלחה אבל שום דבר לא קורה
- 8. שגיאת קישור לא מרוצה
- 9. סקיצה גדולה מדי
- 10. java.lang.StackOverflowError
התחלה כמתחילה עם Arduino, יכולה להיות מאתגרת למדי עבור אנשים ללא רקע אלקטרוניקה, הייתם נתקלים בשגיאות, שלחלקן יש פתרונות פשוטים, אך ייתכן שייקח לכם ימים לפתור. אז כדי להקל על העניינים, יצרתי רשימה של 10 שגיאות Arduino הפופולריות ביותר יחד עם פתרונות אפשריים להן.
1. לוח ארדואינו לא מוכר
הכוונה היא למצב בו לוח ארדואינו המחובר למחשב אינו מזוהה על ידי המחשב. כשזה קורה, הלוח בדרך כלל לא מופיע ברשימות היציאות של ה- Arduino IDE ולעתים הוא מתויג כ- USB2.0 תחת מנהל ההתקנים.
פִּתָרוֹן
זה קורה כשמשתמשים בשיבוטים ארדואינו זולים מסוימים המשתמשים בשבב ממיר USB USB לסידורי CH340g במקום FTDI (FT232RL) ואחרים המשמשים את לוחות ה- Arduino הסטנדרטיים. מנהלי ההתקן עבור שבבי USB לסידורי המשמשים את לוחות ה- Arduino הסטנדרטיים תמיד ארוזים יחד עם קובץ ההתקנה של Arduino IDE, כך שכאשר אתה מתקין את IDE, מנהלי ההתקנים מותקנים אוטומטית במחשב האישי שלך. כדי שתוכל להשתמש בלוחות ארדואינו מבוססי ממיר סידורי מסוג USB CH340g זה יהיה עליך להוריד ולהתקין את מנהל ההתקן עבור השבב. ניתן להוריד את מנהל ההתקן מקישור זה. ההתקנה היא פשוטה כמו לחיצה על כפתור ההתקנה בממשק ההתקנה שמוצג להלן.
לאחר שתסיים זאת, כעת תוכל לאתר את הנמל שאליו מחובר הלוח ב- Arduino IDE.
2. לוח לא מסונכרן
בדרך כלל, כאשר זה קורה, לא תוכל להעלות קוד (למרות ש- IDE לפעמים יציג " הועלה ") ללוח Arduino ו- IDE יציג את קוד השגיאה; " Avrdude: stk500_getsync (): לא מסונכרן: resp = 0x00 ".
פִּתָרוֹן
סנכרון: שו"ת = 0x00 היא תגובה גנרית כי מתרגמת את " שבב ATmega לא עובד " על Arduino. כשזה קורה, יש חבורה שלמה של דברים שיכולים להיות שגויים. להלן מספר צעדים שניתן לנקוט כדי לנקות שגיאה זו.
1. ודא שאין שום דבר המחובר לסיכות דיגיטליות 0 ו- 1 בארדואינו (כולל מגנים).
2. וודאו שנבחרו יציאת ולוח נכונים תחת תפריט הכלים.
3. לחץ על כפתור האיפוס בארדואינו מספר פעמים והעלה את הקוד מחדש.
4. נתק את הארדואינו ומחבר אותו מחדש למחשב האישי.
5. הפעל מחדש את ה- IDE של ארדואינו.
אם כל זה לא עובד, ייתכן שהגיע הזמן לנסות להשתמש בלוח Arduino אחר עם המחשב האישי או להשתמש בלוח ה- Arduino "הפגום" עם מחשב אחר. זה אמור לעזור לך לזהות איזה מהם הוא מקור הבעיה. אם אתה מגלה שהבעיה במחשב, התקן מחדש את ה- IDE של Arduino. עם זאת, אם לוח הארדואינו "הפגום" הוא מקור הבעיה, פתרון אולטימטיבי יהיה להבהב את הלוח באמצעות הקושחה של ארדואינו. אם אף אחד מהאמור לעיל לא עובד, יתכן שהגיע הזמן לשנות את לוח Arduino.
3. הקוד לא מתחיל באיפוס כוח
הכוונה היא למקרים בהם הארדואינו אינו מריץ את הסקיצה שהועלה אליו כשהוא מופעל וברוב המקרים, הוא פשוט חוזר לשרטוט המצמוץ המשויך למאתחל.
פִּתָרוֹן
בדיוק כמו שאר הבעיות שטופלו יש מספר דברים שעלולים לגרום לכך.
אם הלוח נתקע ולא עושה כלום, עליך לבדוק את הקוד שלך כדי לוודא שאתה לא שולח נתונים סידוריים ללוח בזמן שהוא נדלק. כאשר הארדואינו מופעל, מטען האתחול, בשניות הראשונות, מקשיב למחשב לשלוח לו סקיצה חדשה להעלאה ללוח. אם לא יתקבל שום סקיצה חדשה, לאחר זמן קצר, ה- Bootloader יפסיק זמן ויפעיל את המערכון האחרון שהועלה ללוח. אם הקוד שלך שולח נתונים סדרתיים במהלך הדקות הראשונות, מאתחל האתחול לא יפסק הזמן והסקיצה האחרונה שהועלתה ללוח לא תתחיל.
אם שליחת נתונים סדרתיים ברגע שהלוח נדלק הוא חלק חשוב בפרויקט שלך, ייתכן שיהיה עליך למצוא דרך לתת לו עיכוב כדי למנוע מההגעה לנתונים סדרתיים מייד כאשר הארדואינו יופעל. אם ביצוע התאמות ישפיע על המשימה שהפרויקט יבצע, יתכן שתצטרך להעלות את הסקיצה שלך ללוח באמצעות מתכנת חיצוני, מכיוון שניתן לעקוף אותם באמצעות מנהל האתחול.
אם הלוח לא נתלה אלא חוזר לשרטוט המצמוץ של ארדואינו (מוביל על סיכה 13 מהבהב מדי פעם), תיקון פשוט יהיה להבהב את הלוח עם מטען האתחול של ארדואינו, מכיוון שייתכן שהקלקל בלוח היה פגום..
4. שגיאת חתימת מכשיר לא חוקית
שגיאה זו מוצגת כאשר נעשה ניסיון להעלות קוד, ללוח, שונה מזה שנבחר תחת רשימת הכלים> לוח ב- Arduino IDE. שגיאה זו מתרחשת בדרך כלל כתוצאה מחתימת המכשיר בלוח היעד שונה מזו של הלוח שנבחר ב- IDE.
פִּתָרוֹן
הפיתרון לשגיאה זו פשוט כמו להבטיח שנבחר הלוח הנכון ב- Arduino IDE. אם זה לא עובד, יתכן שיהיה צורך להבהב את המיקרו-בקר עם הגרסה האחרונה של מטען האתחול של Arduino.
5. שגיאת Launch4j
ה- IDE של Arduino לוקח לפעמים זמן מה לפני הטעינה וכשהוא נטען, אם תלחץ על משהו, הוא יציג את השגיאה Launch4J כפי שמוצג לעיל. Launch4j הוא כלי המשמש לעטיפת יישומי Java (צנצנות) בהפעלה מקומית של Windows, ומאפשר להשתמש בהם כתוכנית Windows רגילה.
ה- Arduino IDE עצמו כתוב ב- JAVA ושגיאה זו מתרחשת עקב חוסר תאימות של ספריית Java Run Time Environment (JRE) המסופקת עם ה- Arduino IDE.
פִּתָרוֹן
מניסיון, ניתן לנקות שגיאה זו על ידי משהו פשוט כמו לכבות את קישוריות ה- Bluetooth או ה- WiFi של המחשב. עם זאת, פיתרון שלם וקבוע יותר הוא להחליף את ה- JRE בחבילת Arduino בגרסה עדכנית.
6. יציאה טורית כבר בשימוש
זו כנראה אחת השגיאות הקלות ביותר לפתרון. זה קורה בדרך כלל כשאתה מנסה להעלות קוד לארדואינו בזמן שהצג הטורי נפתח (זו כבר לא בעיה אם משתמשים בגרסאות IDE עדכניות) או כשאתה מנסה להפעיל את הצג הסדרתי כשהארדואינו מדבר עם תוכנה או מכשיר אחר. דרך היציאה הטורית. בעיקרו של דבר, זה קורה כשאתה מנסה להשתמש ביציאה הטורית של Arduino לשני דברים שונים בו זמנית.
פִּתָרוֹן
בדיוק כמו שהציע IDE, סגור כל תוכנה / כלי אחר (כולל המסך / הקושר הטורי) שעשוי להשתמש ביציאת ה- com. אם אינך בטוח בתוכנה המסוימת, נתק את הארדואינו. זה אמור להיות מוכן ללכת עד שתחבר אותו בחזרה.
7: העלאות סקיצה בהצלחה אבל שום דבר לא קורה
שגיאה זו דומה לחלק מהשגיאות האחרות שכבר טופלו לעיל. בגין שגיאה זו, ה- IDE של Arduino יציע שהקוד הועלה בהצלחה, אך הלוח לא עושה דבר.
פִּתָרוֹן
- ודא שהלוח שנבחר ב- IDE זהה ללוח היעד.
- זה יכול להיות כתוצאה מכך שגודל הסקיצה גדול יותר מקיבולת הלוח. בדוק את גודל השרטוט והשתמש בכמה מהשיטות שהוזכרו לעיל כדי להקטין את הגודל.
- לבסוף, שגיאה זו עלולה להתרחש כאשר נעשה שימוש באספקת חשמל רועשת. ודא כי אספקת החשמל יציבה מספיק.
8. שגיאת קישור לא מרוצה
זו כנראה השגיאה הנדירה היחידה שהגיעה לרשימה זו. זה קורה כאשר יש לך גרסה ישנה של ספריית התקשורת המונחת במחשב שלך, ככל הנראה מהתקנה קודמת.
פִּתָרוֹן
כדי לפתור שגיאה זו, חפש את comm.jar או jcl.jar ב /System/Library/Frameworks/JavaVM.framework/ או בספריות במשתני הסביבה CLASSPATH או PATH של המחשב.
9. סקיצה גדולה מדי
שגיאה זו מתרחשת כאשר הקוד שלך גדול מזיכרון ההבזק של לוח Arduino מסוים זה. גודל זיכרון ההבזק של ה- Arduino Uno, למשל, הוא 32Kb עם 2KB שכבר נמצא בשימוש על ידי Bootloader Arduino. אם עליכם להעלות קוד בגודל הגבוה מ- 32Kb, ה- Arduino יציג אזהרה זו.
פִּתָרוֹן
כאמור לעיל, זה קורה כאשר השרטוט שלך גדול מזיכרון הפלאש של הלוח המסוים שבו אתה משתמש, ולכן, כדי לפתור את זה, אתה צריך למצוא דרכים לצמצם את כמות השטח שתופס הקוד שלך. חלק מהטיפים להשגת זה כוללים:
- במידת האפשר, השתמש בסוגי נתונים שלמים במקום לצוף.
- במידת האפשר השתמש במוקדמות "const" בעת הכרזת משתנים.
- כלול ספריות נחוצות בלבד. במידת האפשר, השתמש בגרסאות הקלות של הספריות החשובות ביותר.
- שפר את הקוד באופן כללי. פיתחו אלגוריתמים שיעזרו לכם להפוך את הקוד שלכם לקצר יותר ובדרך כלל קל משקל.
פיתרון קיצוני יותר יהיה להעביר את הפרויקט ללוח אחר, כמו Arduino Mega, שיש לו זיכרון פלאש גדול יותר בהשוואה ל- Uno.
10. java.lang.StackOverflowError
בעת עיבוד השרטוט, הארדואינו משתמש בביטויים קבועים לעיבוד ולעיתים מתבלבל כאשר הוא נתקל בשגיאות מסוימות הקשורות למיתרים כמו חסר ציטוטים.
פִּתָרוֹן
שגיאה זו נפתרת על ידי התבוננות נוספת בקוד, במיוחד בחלקים בהם משתמשים ברצפי מחרוזות. וודא שהצעות המחיר מלאות, נעשה שימוש נכון בסטים אחוריים וכו '.
יש גבול למספר השגיאות שאפשר להכניס להדרכה אחת ומסיבה זו, נעצור כאן. עם זאת, רשימה זו מכילה כמה מהשגיאות הנפוצות ביותר בהן מתמודדים מתחילים בעת השימוש ב- Arduin o. האם אתה נאבק בשגיאה מסוימת, אל תהסס להפיל תגובה, אני מקווה שנוכל לעבוד עליה ביחד.
בפעם הבאה.