Jak sprawdzić, czy moja tablica Arduino działa lub nie działa?

17

Kiedy masz w ręku tablicę, ale nie wiesz, czy działa, czy nie, jak sprawdzić, czy działa, czy nie?

Hardik Thaker
źródło
3
Sugerowałbym zmianę tytułu i pytania na „Arduino Uno” lub usunięcie tagu „uno”, a pytanie stało się bardziej ogólne.
Cybergibbons
Zobacz także arduino.stackexchange.com/a/13293/39212, aby uzyskać więcej informacji.
Jethro

Odpowiedzi:

14

Uwaga: po komentarzu @ Ricardo do mojego ostatniego postu publikuję to!

Podłącz płytkę do portu USB w komputerze i sprawdź, czy świeci zielona dioda LED na płycie. Standardowe płyty Arduino (Uno, Duemilanove i Mega) mają zielony wskaźnik zasilania LED umieszczony w pobliżu przełącznika resetowania.

Pomarańczowa dioda LED w pobliżu środka płytki (oznaczona jako „Pin 13 LED” na obrazku poniżej) powinna błyskać i gasnąć po włączeniu zasilania płyty (płyty pochodzą z fabrycznie załadowanego oprogramowania do flashowania diody LED - wystarczy sprawdzić, czy tablica działa).

wprowadź opis zdjęcia tutaj

Jeśli dioda LED zasilania nie świeci się, gdy płyta jest podłączona do komputera, prawdopodobnie płyta nie jest zasilana.

Migająca dioda LED (podłączona do wyjścia cyfrowego styku 13) jest kontrolowana przez kod działający na płycie (nowe płyty są wstępnie załadowane szkicem przykładowym Blink). Jeśli dioda LED styku 13 miga, szkic działa poprawnie, co oznacza, że ​​układ na płycie działa. Jeśli zielona dioda LED zasilania jest włączona, ale dioda LED styku 13 nie miga, być może kod fabryczny nie znajduje się na chipie. Jeśli nie używasz standardowej płyty, może ona nie mieć wbudowanej diody LED na pinie 13, więc sprawdź dokumentację, aby uzyskać szczegółowe informacje na temat swojej płyty.

Przewodniki online dotyczące rozpoczynania pracy z Arduino są dostępne w systemie Windows , Mac OS X i Linux .

Hardik Thaker
źródło
2
Uwaga: Działa to tylko wtedy, gdy port USB lub układ FTDI nie zostały spalone. Układ Atmega może działać poprawnie, nawet jeśli te dwa elementy nie są.
asheeshr
1
+1 Zaraz, Hardik! Zabawne jest to, że jeszcze wczoraj ktoś zadał pytanie o problem z Arduino i chciałem wskazać na twoją odpowiedź. Teraz możemy to zrobić poprawnie.
Ricardo
@Ricardo: Bingo: P
Hardik Thaker
2
Jeśli zresetujesz płytkę (za pomocą przycisku), moduł ładujący zwykle mruga diodę LED pinu 13
TheDoctor
Moją pierwszą płytą był Duemilanove i miałem martwy układ FTDI. Byłem bardzo frustrujący, dopóki nie dostałem działającej tablicy zastępczej.
linhartr22
5

Zakładając, że posiadasz programator USB, istnieje inny sposób na sprawdzenie Arduino.

Podłącz programator do styków ICSP Arduino i zadzwoń avrdudez odpowiednimi parametrami, aby odczytać bezpieczniki swojego Arduino.

avrdude -c programmer-id -p partno -P port

Dla Arduino Uno partnojest m328p. Programmer-idzależy od używanego urządzenia. W moim przypadku (mySmartUSB light) stk500v2jest obsługiwany i portjest /dev/ttyUSB0. Tutaj

avrdude -c stk500v2 -p m328p -P /dev/ttyUSB0

daje następujący wynik

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.

Tablica UNO odpowiada prawidłowym podpisem i jest gotowa na pewne działania :)

Jak się połączyć?

Mój programator USB został dostarczony z 6-żyłowym kablem taśmowym z 2x3 żeńskimi złączami po obu stronach. Jak zwykle drut dla pinu 1 jest oznaczony na czerwono. Ze względu na wycięcie w męskim złączu 2x3 programatora kabel pasuje tutaj tylko w jednym kierunku.

Jeśli spojrzysz na Arduino UNO, nagłówek ICSP znajduje się po prawej stronie przycisku resetowania.

Pinout jest następujący.

MISO 1 2 VCC
SCK 3 4 MOSI
RESET 5 6 GND

UWAGA Pin 1 jest lewym górnym, oznaczony białą kropką!

Klaus-Dieter Warzecha
źródło
2
Nie będzie to jednak testować interfejsu USB-> Szeregowego.
Cybergibbons
@Cybergibbons Absolutnie prawda! Ale nawet ze smażonym USB, może być jeszcze szansa na flashowanie Arduino za pomocą programatora;)
Klaus-Dieter Warzecha
+1 Dobrze wiedzieć! Przeprowadzę moje 3 martwe ATmegas przez ten test. Czy wiesz, jak sprawdzić bezpieczniki za pomocą Arduino UNO jako programisty, z załadowanym szkicem ArduinoISP?
Ricardo
2

Jeśli masz inny działający Uno i oba mają mikroukłady z gniazdami, możesz użyć znanej płyty do zaprogramowania szkicu testowego na układzie nieznanej płyty, umieścić ją z powrotem na nieznanej płycie i uruchomić.

Podoba mi się następujący (pseudo-kodowany) szkic testowy do szybkiego sprawdzania ręcznie budowanych płyt; jest równie przydatny do testowania nieznanego fabrycznie. To nie jest wyczerpujący test, po prostu sprawdza podstawowe cyfrowe we / wy, szeregowe we / wy i zwiera lub otwiera:

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;
  • Testowa dioda LED - dioda LED z wlutowanym do niej rezystorem - podłączona między dowolnym wejściem / wyjściem a masą powinna migać co 2 sekundy. Jeśli nie, ten pin mógł się nie powieść lub mieć złe połączenie.

  • Dwie testowe diody LED podłączone do pinów sąsiadujących numerycznie (mogą nie znajdować się fizycznie obok siebie) powinny migać po kolei. Jeśli migają razem, oznacza to krótki, prawdopodobnie lutowany most między nimi.

  • Terminal powinien powiedzieć „Hello World!” co dwie sekundy. Jeśli nie, ten pin lub kabel FTDI lub wbudowany układ USB / szeregowy mogły ulec awarii.

  • Wpisz coś na klawiaturze i powinno to zostać powtórzone z powrotem do terminala szeregowego (jeśli poprzedni test przeszedł pomyślnie). Jeśli nie, ponownie ten pin lub kabel FTDI lub wbudowany układ USB / szeregowy mogły zawieść.

JRobert
źródło