- 1. Arduino Board nicht anerkannt
- 2. Karte nicht synchron
- 3. Der Code startet beim Power Reset nicht
- 4. Ungültiger Gerätesignaturfehler
- 5. Launch4j-Fehler
- 6. Serielle Schnittstelle bereits verwendet
- 7: Skizzen-Uploads erfolgreich, aber nichts passiert
- 8. Unbefriedigter Verbindungsfehler
- 9. Skizze zu groß
- 10. java.lang.StackOverflowError
Als Anfänger mit dem Arduino zu beginnen, kann für Menschen ohne elektronischen Hintergrund eine ziemliche Herausforderung sein. Sie würden auf Fehler stoßen, von denen einige einfache Lösungen haben, deren Lösung jedoch Tage in Anspruch nehmen kann. Um die Sache ein wenig einfacher zu machen, habe ich eine Liste der 10 beliebtesten Arduino-Fehler zusammen mit möglichen Lösungen für diese erstellt.
1. Arduino Board nicht anerkannt
Dies bezieht sich auf eine Situation, in der eine an einen Computer angeschlossene Arduino-Karte vom Computer nicht erkannt wird. In diesem Fall wird die Karte normalerweise nicht in den Portlisten der Arduino IDE aufgeführt und manchmal im Geräte-Manager als USB 2.0 bezeichnet.
Lösung
Dies geschieht, wenn Sie bestimmte billige Arduino-Klone verwenden, die anstelle des FTDI (FT232RL) den CH340g USB-zu-Seriell-Konverter-Chip verwenden, und andere, die von den Standard-Arduino-Boards verwendet werden. Die von den Standard-Arduino-Karten verwendeten Treiber für USB-zu-Seriell-Chips werden immer zusammen mit der Arduino-IDE-Setup-Datei verpackt. Wenn Sie also die IDE installieren, werden die Treiber automatisch auf Ihrem PC installiert. Um diese auf Arduino-Karten basierenden CH340g USB-zu-Seriell-Konverter verwenden zu können, müssen Sie den Treiber für den Chip herunterladen und installieren. Der Treiber kann von diesem Link heruntergeladen werden. Die Installation ist so einfach wie das Klicken auf die Schaltfläche Installieren in der unten gezeigten Setup-Oberfläche.
Nachdem dies erledigt ist, sollten Sie nun in der Lage sein, den Port zu finden, an den die Karte in der Arduino IDE angeschlossen ist.
2. Karte nicht synchron
In diesem Fall können Sie normalerweise keinen Code (obwohl die IDE manchmal "Upload abgeschlossen" anzeigt) auf die Arduino-Karte hochladen, und die IDE zeigt den Fehlercode an. " Avrdude: stk500_getsync (): nicht synchron: resp = 0x00 ".
Lösung
Die Synchronisierung: resp = 0x00 ist eine generische Antwort, die auf dem Arduino in " Atmega-Chip funktioniert nicht " übersetzt wird . Wenn dies passiert, gibt es eine ganze Reihe von Dingen, die falsch sein könnten. Hier sind einige Schritte, die unternommen werden könnten, um diesen Fehler zu beheben.
1. Stellen Sie sicher, dass an den digitalen Pins 0 und 1 des Arduino (einschließlich der Abschirmungen) nichts angeschlossen ist.
2. Stellen Sie sicher, dass im Menü Extras der richtige Anschluss und die richtige Karte ausgewählt wurden.
3. Drücken Sie mehrmals die Reset-Taste auf dem Arduino und laden Sie den Code erneut hoch.
4. Trennen Sie das Arduino vom PC und schließen Sie es wieder an.
5. Starten Sie die Arduino IDE neu.
Wenn dies nicht funktioniert, ist es möglicherweise an der Zeit, eine andere Arduino-Karte mit dem PC oder die „fehlerhafte“ Arduino-Karte mit einem anderen PC zu verwenden. Dies soll Ihnen helfen, den Ursprung des Problems zu identifizieren. Wenn Sie feststellen, dass das Problem beim PC liegt, installieren Sie die Arduino IDE neu. Wenn jedoch die „fehlerhafte“ Arduino-Karte die Problemquelle ist, besteht eine ultimative Lösung darin, die Karte mit der Arduino-Firmware zu flashen. Wenn keines der oben genannten Verfahren funktioniert, ist es möglicherweise an der Zeit, das Arduino-Board zu wechseln.
3. Der Code startet beim Power Reset nicht
Dies bezieht sich auf Fälle, in denen der Arduino die beim Einschalten hochgeladene Skizze nicht ausführt und in den meisten Fällen nur auf die dem Bootloader zugeordnete Blinkskizze zurückgreift.
Lösung
Genau wie bei den anderen behandelten Problemen gibt es eine Reihe von Ursachen.
Wenn die Karte hängt und nichts tut, sollten Sie Ihren Code überprüfen, um sicherzustellen, dass Sie beim Einschalten keine seriellen Daten an die Karte senden. Wenn das Arduino eingeschaltet ist, wartet der Bootloader in den ersten Sekunden darauf, dass der Computer ihm eine neue Skizze zum Hochladen auf das Board sendet. Wenn nach kurzer Zeit keine neue Skizze eingeht, läuft der Bootloader ab und führt die zuletzt auf die Karte hochgeladene Skizze aus. Wenn Ihr Code in den ersten Minuten serielle Daten sendet, tritt beim Bootloader keine Zeitüberschreitung auf und die zuletzt auf die Karte hochgeladene Skizze wird nicht gestartet.
Wenn das Senden serieller Daten, sobald die Karte eingeschaltet wird, ein wichtiger Teil Ihres Projekts ist, müssen Sie möglicherweise einen Weg finden, um eine Verzögerung zu erzielen, damit serielle Daten nicht sofort nach dem Einschalten des Arduino eintreffen. Wenn sich Anpassungen auf die Aufgabe auswirken, die das Projekt ausführen soll, müssen Sie Ihre Skizze möglicherweise mit einem externen Programmierer auf die Platine hochladen, da der Bootloader von diesen umgangen werden kann.
Wenn die Karte nicht hängt, sondern zur Arduino-Blinkskizze zurückkehrt (LED an Pin 13 blinkt ab und zu), besteht eine einfache Lösung darin, die Karte mit dem Arduino-Bootloader zu flashen, da die Karte auf der Karte möglicherweise beschädigt ist.
4. Ungültiger Gerätesignaturfehler
Dieser Fehler wird angezeigt, wenn versucht wird, Code auf eine Karte hochzuladen, die sich von der unterscheidet, die in der Arduino IDE unter der Liste tools> board ausgewählt wurde. Dieser Fehler tritt normalerweise auf, wenn sich die Gerätesignatur auf der Zielkarte von der auf der IDE ausgewählten Karte unterscheidet.
Lösung
Die Lösung für diesen Fehler ist so einfach wie die Auswahl der richtigen Karte in der Arduino IDE. Wenn dies nicht funktioniert, muss möglicherweise der Mikrocontroller mit der neuesten Version des Arduino-Bootloaders geflasht werden.
5. Launch4j-Fehler
Die Arduino IDE dauert manchmal eine Weile, bevor sie geladen wird. Wenn Sie beim Laden auf etwas klicken, wird der Launch4J-Fehler wie oben gezeigt angezeigt. Launch4j ist ein Tool zum Umschließen von Java-Anwendungen (Jars) in die native ausführbare Windows-Datei, mit der sie als reguläres Windows-Programm verwendet werden können.
Die Arduino IDE selbst ist in JAVA geschrieben. Dieser Fehler tritt aufgrund der Inkompatibilität der mit der Arduino IDE gelieferten JRE-Bibliothek (Java Run Time Environment) auf.
Lösung
Erfahrungsgemäß kann dieser Fehler durch einfaches Ausschalten der Bluetooth- oder WiFi-Konnektivität Ihres PCs behoben werden. Eine vollständigere und dauerhaftere Lösung besteht jedoch darin , die JRE im Arduino-Paket durch eine neuere Version zu ersetzen.
6. Serielle Schnittstelle bereits verwendet
Dies ist wahrscheinlich einer der am einfachsten zu behebenden Fehler. Dies tritt normalerweise auf, wenn Sie versuchen, Code auf ein Arduino hochzuladen, während der serielle Monitor geöffnet ist (dies ist kein Problem mehr, wenn Sie aktuelle IDE-Versionen verwenden) oder wenn Sie versuchen, den seriellen Monitor zu starten, wenn der Arduino mit einer anderen Software oder einem anderen Gerät spricht über die serielle Schnittstelle. Im Wesentlichen tritt es auf, wenn Sie versuchen, die serielle Arduino-Schnittstelle für zwei verschiedene Dinge gleichzeitig zu verwenden.
Lösung
Schließen Sie wie in der IDE vorgeschlagen jede andere Software / jedes andere Tool (einschließlich des seriellen Monitors / Plotters), die möglicherweise den COM-Port verwenden. Wenn Sie sich bei der jeweiligen Software nicht sicher sind, ziehen Sie den Netzstecker aus der Steckdose. Es sollte betriebsbereit sein, wenn Sie es wieder anschließen.
7: Skizzen-Uploads erfolgreich, aber nichts passiert
Dieser Fehler ähnelt einigen anderen oben bereits behandelten Fehlern. Für diesen Fehler schlägt die Arduino IDE vor, dass der Code erfolgreich hochgeladen wurde, aber das Board tut nichts.
Lösung
- Stellen Sie sicher, dass die in der IDE ausgewählte Karte mit der Zielkarte übereinstimmt.
- Dies kann daran liegen, dass die Skizzengröße größer als die Kapazität der Platine ist. Überprüfen Sie die Skizzengröße und verwenden Sie einige der oben genannten Methoden, um die Größe zu reduzieren.
- Schließlich kann dieser Fehler auftreten, wenn ein verrauschtes Netzteil verwendet wird. Stellen Sie sicher, dass die Stromversorgung stabil genug ist.
8. Unbefriedigter Verbindungsfehler
Dies ist wahrscheinlich der einzige seltene Fehler, der es in diese Liste geschafft hat. Dies tritt auf, wenn auf Ihrem PC eine alte Version der Kommunikationsbibliothek herumliegt, höchstwahrscheinlich aus einer früheren Installation.
Lösung
Um diesen Fehler zu beheben, suchen Sie in /System/Library/Frameworks/JavaVM.framework/ oder in Verzeichnissen in den Umgebungsvariablen CLASSPATH oder PATH Ihres PCs nach comm.jar oder jcl.jar .
9. Skizze zu groß
Dieser Fehler tritt auf, wenn Ihr Code größer als der Flash-Speicher dieser bestimmten Arduino-Karte ist. Die Größe des Flash-Speichers des Arduino Uno beträgt beispielsweise 32 KB, wobei der Arduino-Bootloader bereits 2 KB verwendet. Wenn Sie einen Code mit einer Größe von mehr als 32 KB hochladen sollten, zeigt das Arduino diese Warnung an.
Lösung
Wie oben erwähnt, tritt dies auf, wenn Ihre Skizze größer als der Flash-Speicher der von Ihnen verwendeten Karte ist. Um dies zu lösen, müssen Sie Möglichkeiten finden, den von Ihrem Code belegten Speicherplatz zu reduzieren. Einige der Tipps, um dies zu erreichen, sind:
- Verwenden Sie nach Möglichkeit ganzzahlige Datentypen anstelle eines Gleitkommas.
- Verwenden Sie nach Möglichkeit das Qualifikationsmerkmal "const", wenn Sie Variablen deklarieren.
- Schließen Sie nur die erforderlichen Bibliotheken ein. Verwenden Sie nach Möglichkeit die leichtgewichtigen Versionen der wichtigsten Bibliotheken.
- Verbessern Sie den Code allgemein. Entwickeln Sie Algorithmen, mit denen Sie Ihren Code kürzer und allgemein leichter machen können.
Eine radikalere Lösung wird darin bestehen, das Projekt auf ein anderes Board wie das Arduino Mega zu verschieben, das im Vergleich zum Uno einen größeren Flash-Speicher hat.
10. java.lang.StackOverflowError
Bei der Verarbeitung der Skizze verwendet der Arduino einige reguläre Ausdrücke für die Verarbeitung und wird manchmal verwirrt, wenn er auf bestimmte Zeichenfolgenfehler wie fehlende Anführungszeichen stößt.
Lösung
Dieser Fehler wird durch einen zweiten Blick auf den Code behoben, insbesondere auf die Teile, in denen Zeichenfolgenfolgen verwendet werden. Stellen Sie sicher, dass die Anführungszeichen vollständig sind, Backslashes richtig verwendet werden usw.
Die Anzahl der Fehler, die in ein einzelnes Tutorial eingepasst werden können, ist begrenzt. Aus diesem Grund werden wir hier aufhören. Diese Liste enthält jedoch einige der häufigsten Fehler, mit denen Anfänger bei der Verwendung des Arduin o konfrontiert sind. Wenn Sie mit einem bestimmten Fehler kämpfen, können Sie gerne einen Kommentar hinterlassen. Hoffentlich können wir ihn gemeinsam durcharbeiten.
Nächstes Mal.