Wenn Sie ein Board in der Hand haben, aber nicht wissen, ob es funktioniert oder nicht, wie können Sie überprüfen, ob es funktioniert oder tot ist?
Wenn Sie ein Board in der Hand haben, aber nicht wissen, ob es funktioniert oder nicht, wie können Sie überprüfen, ob es funktioniert oder tot ist?
Antworten:
Hinweis: Nach dem Kommentar von @ Ricardo zu meinem letzten Beitrag poste ich dies!
Schließen Sie die Karte an einen USB-Anschluss Ihres Computers an und prüfen Sie, ob die grüne LED-Betriebsanzeige auf der Karte leuchtet. Standard-Arduino-Boards (Uno, Duemilanove und Mega) haben eine grüne LED-Betriebsanzeige in der Nähe des Rücksetzschalters.
Eine orangefarbene LED in der Nähe der Mitte der Platine (im Bild unten mit „Pin 13 LED“ gekennzeichnet) sollte beim Einschalten der Platine ein- und ausgeschaltet werden (die Platinen werden ab Werk mit vorinstallierter Software geliefert, um die LED zu blinken, um dies zu überprüfen) das board funktioniert).
Wenn die Betriebsanzeige nicht leuchtet, wenn die Karte an Ihren Computer angeschlossen ist, wird die Karte wahrscheinlich nicht mit Strom versorgt.
Die blinkende LED (verbunden mit dem digitalen Ausgangsstift 13) wird durch den auf der Platine laufenden Code gesteuert (neue Platinen sind mit der Blink-Beispielskizze vorinstalliert). Wenn die Pin 13 LED blinkt, läuft die Skizze korrekt, was bedeutet, dass der Chip auf der Platine funktioniert. Wenn die grüne Power-LED leuchtet, die Pin 13-LED jedoch nicht blinkt, befindet sich möglicherweise der Werkscode nicht auf dem Chip. Wenn Sie keine Standardplatine verwenden, verfügt diese möglicherweise nicht über eine eingebaute LED an Pin 13. Weitere Informationen zu Ihrer Platine finden Sie in der Dokumentation.
Online-Anleitungen für den Einstieg in Arduino finden Sie unter Windows , Mac OS X und Linux .
Angenommen, man besitzt einen USB-Programmierer, gibt es eine andere Möglichkeit, den Arduino zu inspizieren.
Verbinden Sie den Programmierer mit den ICSP-Pins des Arduino und rufen Sie avrdude
mit den richtigen Parametern auf, um die Sicherungen Ihres Arduino zu lesen.
avrdude -c programmer-id -p partno -P port
Für einen Arduino Uno partno
ist m328p
. Programmer-id
hängt vom verwendeten Gerät ab. In meinem Fall wird ein (mySmartUSB light) stk500v2
unterstützt und port
ist /dev/ttyUSB0
. Hier
avrdude -c stk500v2 -p m328p -P /dev/ttyUSB0
gibt die folgende Ausgabe aus
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Das UNO-Board antwortet mit der korrekten Signatur und ist bereit für eine Aktion :)
Mein USB-Programmierer wurde mit einem 6-adrigen Flachbandkabel mit 2x3-Buchsen auf beiden Seiten geliefert. Der Draht für Pin 1 ist wie gewohnt rot markiert. Aufgrund einer Einkerbung am 2x3-Stecker des Programmiergeräts passt das Kabel hier nur in eine Richtung.
Wenn Sie sich den Arduino UNO ansehen, befindet sich der ICSP-Header rechts neben der Schaltfläche zum Zurücksetzen.
Die Belegung ist wie folgt.
MISO 1 2 VCC SCK 3 4 MOSI RESET 5 6 GND
HINWEIS Pin 1 ist der obere linke, der mit einem weißen Punkt markiert ist!
Wenn eine andere Uno-Karte funktioniert und beide Mikrocontroller-Chips gesteckt haben, können Sie mit der bekannten Karte eine Testskizze auf den Chip der unbekannten Karte programmieren, diese wieder auf die unbekannte Karte legen und ausführen.
Ich mag die folgende (pseudocodierte) Testskizze zur schnellen Überprüfung meiner handgefertigten Boards. Es ist genauso praktisch, um ein unbekanntes, werksseitig hergestelltes Produkt zu testen. Es ist kein vollständiger Test, sondern prüft nur, ob grundlegende digitale E / A, serielle E / A und Kurzschlüsse oder Unterbrechungen vorliegen:
forever,
for each digital I/O pin:
write high;
delay 100ms;
write low;
end;
write "Hello, World!\n" to serial output;
while serial character available,
write character to serial output;
end;
write "\n" to the serial output;
end;
Eine zwischen E / A und Masse angeschlossene Test-LED - eine LED mit aufgelötetem Widerstand - sollte alle 2 Sekunden blinken. Ist dies nicht der Fall, ist der Pin möglicherweise ausgefallen oder hat eine schlechte Verbindung.
Zwei Test-LEDs, die an numerisch benachbarte Pins angeschlossen sind (möglicherweise nicht physisch nebeneinander), sollten nacheinander blinken. Wenn sie zusammen blinken, deutet dies auf einen Kurzschluss, wahrscheinlich eine Lötbrücke, zwischen ihnen hin.
Das Terminal sollte "Hallo Welt!" alle zwei Sekunden. Andernfalls ist der Pin oder das FTDI-Kabel oder der integrierte USB- / Seriell-Chip möglicherweise ausgefallen.
Geben Sie etwas auf der Tastatur ein und wiederholen Sie die Eingabe an das serielle Terminal (falls der vorherige Test bestanden wurde). Ist dies nicht der Fall, ist der Pin oder das FTDI-Kabel oder der integrierte USB- / Seriell-Chip möglicherweise ausgefallen.