שגיאות ארדואינו ופטל PI נפוצות וכיצד לתקן אותן

שְׁנֵיהֶם ארדואינו וכן Raspberry Pi נמצאים בשימוש נרחב ל פרויקטים של אלקטרוניקה, רובוטיקה ופרויקטים של IoTו עם זאת, מתחילים ואפילו משתמשים מנוסים לעתים קרובות נתקלים בשגיאות נפוצות. מדריך זה מכסה בעיות תכופות והן שלהם פתרונות לשתי הפלטפורמות.


1. שגיאות ותיקונים של ארדואינו נפוצים

1.1. ארדואינו לא מתחבר למחשב

שְׁגִיאָה: "הלוח לא זוהה" או "נמל com לא נמצא."
🔹 סיבות אפשריות:

  • פָּגוּם כבל USB (במיוחד כבלי כוח בלבד).
  • לוח שגוי שנבחר ב- Arduino IDE.
  • חסר או נהגים מושחתים (Windows).

🔧 לִקְבּוֹעַ:

  1. השתמש א כבל USB שונה (וודא שזה א כבל נתונים).
  2. לִפְתוֹחַ Arduino IDE → כלים → לוח ובחר את הלוח הנכון.
  3. בדוק את נמל com תַחַת כלים → יציאה.
  4. התקן/עדכן את נהג USB עבור הלוח שלך:
    • עבור Arduino Uno/Nano (Ch340 Chipset): התקן את נהג CH340.
    • עבור Arduino Mega/Uno הרשמי: התקן את נהג USB של ארדואינו מִן arduino.cc.

1.2. סקיצת ארדואינו לא מעלה

שְׁגִיאָה: "Avrdude: STK500_RECV (): המתכנת לא מגיב"
🔹 סיבות אפשריות:

  • טָעוּת יציאת com או לוח שנבחרו.
  • קוד באמצעות צג סידורי בצורה לא נכונה.
  • א מכשיר סותר מחובר ל סיכות RX/TX.

🔧 לִקְבּוֹעַ:

  1. נתק את כל המכשירים מִן סיכות 0 ו -1 (Rx/TX).
  2. להבטיח את הנכון לוח ונמל com נבחרים ב- Arduino IDE.
  3. לחץ והחזק את לחצן האיפוס תוך כדי לחיצה על "העלאה" ב- IDE.
  4. נסה להעלות א סקיצת מצמוץ פשוטה כדי לוודא אם הלוח עובד.

1.3. שגיאת "זיכרון נמוך" או "סקיצה גדולה מדי"

שְׁגִיאָה: "סקיצה משתמשת ב 99% משטח אחסון התוכנית. זיכרון נמוך זמין."
🔹 סיבות אפשריות:

  • יותר מדי ספריות כּוֹלֵל.
  • מערכים משתנים גדולים תופס איל.
  • באמצעות פעולות נקודה צפות יתר על המידה.

🔧 לִקְבּוֹעַ:

  1. לְהַסִיר ספריות לא מנוצלות ובעל אופטימיזציה של הקוד שלך.
  2. לְהִשְׁתַמֵשׁ סוגי נתונים קטנים יותר (byte בִּמקוֹם int במידת האפשר).
  3. לאחסן טקסט גדול/מערכים ב Progmem (זיכרון פלאש) במקום איל.

1.4. חיישנים שאינם עובדים עם ארדואינו

שְׁגִיאָה: חיישן אינו מחזיר נתונים או מחזיר ערכים שגויים.
🔹 סיבות אפשריות:

  • חיווט שגוי או שגוי חיבורי I2C/SPI.
  • ספרייה שגויה או לא בסדר כְּתוֹבֶת בקוד.

🔧 לִקְבּוֹעַ:

  1. לִבדוֹק חיווט חיישנים עם גיליון נתונים.
  2. לְהִשְׁתַמֵשׁ Wire.h ולהריץ את זה סורק i2c לאיתור מכשירים:
    #include <Wire.h>
    void setup() {
        Serial.begin(115200);
        Wire.begin();
        Serial.println("Scanning...");
        for (byte address = 8; address < 120; address++) {
            Wire.beginTransmission(address);
            if (Wire.endTransmission() == 0) {
                Serial.print("Found I2C device at 0x");
                Serial.println(address, HEX);
            }
        }
    }
    void loop() {}
    
  3. וודא כי ספריית חיישנים תואם את המודל שלך.

1.5. PWM לא עובד על סיכות מסוימות

שְׁגִיאָה: AnalogWrite () לא עובד על כמה סיכות.
🔹 סיבות אפשריות:

  • לא כל הסיכות תומכות פלט PWM.
  • טיימר מתנגש בעת שימוש במכשירי PWM מרובים.

🔧 לִקְבּוֹעַ:

  1. בדוק את סיכות ה- PWM של ארדואינו עבור הלוח שלך.
  2. השתמש באלטרנטיבה סיכות PWM אם מישהו לא עובד.
  3. אם משתמשים א סרוו או מכשיר PWM אחר, נסה א ספריית סרוו בִּמקוֹם analogWrite().

2. שגיאות ותיקונים נפוצים של Raspberry Pi

2.1. Raspberry Pi לא מתארג

שְׁגִיאָה: מסך שחור או LED אדום דבק.
🔹 סיבות אפשריות:

  • מוּשׁחָת כרטיס MicroSD.
  • לֹא מַסְפִּיק ספק כוח.

🔧 לִקְבּוֹעַ:

  1. השתמש א כרטיס SD באיכות גבוהה (16 ג'יגה-בייט ומעלה, מחלקה 10).
  2. מחדש את הכרטיס באמצעות Pasperber Pi Imager עם מערכת ההפעלה האחרונה.
  3. השתמש א מתאם כוח 5V/3A (מתאמי עוצמה נמוכה גורמים לכישלונות מגפיים).

2.2. אין פלט תצוגה HDMI

שְׁגִיאָה: "אין אות" או מסך שחור על צג.
🔹 סיבות אפשריות:

  • לֹא נָכוֹן כבל HDMI או יציאה.
  • טָעוּת הגדרות רזולוציה.

🔧 לִקְבּוֹעַ:

  1. נסה להשתמש HDMI-0 (ב- Raspberry Pi 4) במקום HDMI-1.
  2. הוסף את הדברים הבאים ל /boot/config.txt:
    hdmi_force_hotplug=1
    hdmi_drive=2
    hdmi_group=1
    hdmi_mode=16
    
  3. השתמש א כבל HDMI או צג שונים.

2.3. Wi-Fi לא עובד על Raspberry Pi

שְׁגִיאָה: לא ניתן להתחבר לטיפות Wi-Fi או Wi-Fi לעיתים קרובות.
🔹 סיבות אפשריות:

  • אות חלש או הגדרות מדינה שגויות.
  • מצב חיסכון בחשמל השבתת Wi-Fi.

🔧 לִקְבּוֹעַ:

  1. הגדר את הנכון מדינת Wi-Fi ב raspi-config.
  2. השבת חיסכון בכוח Wi-Fi:
    sudo nano /etc/rc.local
    
    הוסף את זה לפני exit 0:
    iw dev wlan0 set power_save off
    

2.4. "לא יכול היה לפתוח יציאה /dev /ttys0" (שגיאת UART)

שְׁגִיאָה: לא ניתן לתקשר עם מכשיר סדרתי (למשל, GPS, Arduino).
🔹 סיבות אפשריות:

  • קונסולת סידורית המפריעה ל- UART.

🔧 לִקְבּוֹעַ:

  1. השבת קונסולה סדרתית:

    sudo raspi-config
    
    • לך אל אפשרויות ממשק → יציאה סדרתית
    • השבת מעטפת כניסה אך אפשר יציאה סדרתית.
  2. אתחל מחדש ובדוק את היציאה עם:

    ls /dev/serial*
    

2.5. סיכות GPIO לא מגיבות

שְׁגִיאָה: סיכות GPIO אינן עוברות גבוה/נמוך.
🔹 סיבות אפשריות:

  • מספור GPIO שגוי בתסריט.
  • שירותים מנוגדים (למשל, באמצעות I2c או spi באותם סיכות).

🔧 לִקְבּוֹעַ:

  1. השתמש בנכון מספור סיכות BCM:
    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BCM)  # NOT GPIO.BOARD
    
  2. בדוק אם I2c או spi מופעל ומשתמש באותם סיכות.
  3. הפעל את הדברים הבאים כדי לאפס את מדינת ה- GPIO:
    sudo gpio reset
    

מחשבות סופיות

שְׁנֵיהֶם ארדואינו וכן Raspberry Pi הם כלים חזקים, אך שגיאות יכולות להיות מתסכלות. על ידי ביצוע שלבי פתרון בעיות אלה, אתה יכול זהה במהירות ולתקן בעיות נפוצות בפרויקטים שלך.

אם אתה עומד בפני מישהו סוגיות ספציפיותאל תהסס לשאול בתגובות! 🚀

השאירו תגובה

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.