O co chodzi z pinem LED Uno 13?

13

(Mam Sparkfun RedBoard, ale to pytanie wydaje się dotyczyć R3 Unos i płyt kompatybilnych z Uno). Gdy budowałem pierwszy obwód w moim przewodniku SIK (dodaj rezystor, diodę LED, podłącz go i spraw, aby migał z kodu ) Zauważyłem, że niebieska dioda LED na samej płycie robi wszystko, co dioda LED obwodu - miga zgodnie z programowaniem.

Dlaczego tutaj jest ta dioda LED? Do czego służą te zastosowania?

Jakie obwody będę musiał dostosować, aby uwzględnić tę diodę LED?

Czy pin 13 jest tradycyjnie pinem do debugowania lub rozwiązywania problemów? Skąd ta konwencja?

KatieK
źródło
2
Dlaczego na myszy jest kółko przewijania? Jest to wygodne, ale nie potrzebne.
Anonimowy pingwin

Odpowiedzi:

9

Dioda LED na pinie 13 jest używana przez moduł ładujący Optiboot (ten używany w UNO ):

  • w czasie uruchamiania Arduino (dioda LED miga kilka razy)
  • podczas przesyłania szkicu do Arduino

Nie sprawdziłem innych programów ładujących, mogą one zachowywać się tak samo jak Optiboot.

W przypadku Optiboot dostępne są opcjonalne definicje (w czasie kompilacji), które modyfikują to zachowanie:

  • LED_START_FLASHESokreśla liczbę błysków diody LED pinu 13 w czasie rozruchu (można ustawić na 0)
  • LED_DATA_FLASHużyje diody LED styku 13 podczas przesyłania szkicu, jeśli zdefiniowano ją w czasie kompilacji

Te definicje są wyjaśnione w hardware/arduino/bootloaders/optiboot/optiboot.ckatalogu instalacyjnym Arduino IDE.

Jeśli chcesz je zmienić, musisz najpierw ponownie skompilować moduł ładujący Optiboot, a następnie nagrać go na Arduino za pośrednictwem programatora ISP .

Myślę, że jednym z innych powodów LED na pinie 13 było uproszczenie demonstracji szkicu „ Hello World ” dla Arduino, a mianowicie Blinkszkicu, bez potrzeby stosowania dodatkowego komponentu.

jfpoilpret
źródło
8

Jakie obwody będę musiał dostosować, aby uwzględnić tę diodę LED?

Musisz wziąć to pod uwagę, jeśli używasz tego pinu jako wejścia cyfrowego.

UWAGA: Styk cyfrowy 13 jest trudniejszy do wykorzystania jako wejście cyfrowe niż inne styki cyfrowe, ponieważ ma dołączoną diodę LED i rezystor, które są przylutowane do płytki na większości kart. Jeśli włączysz wewnętrzny rezystor podciągający 20k, będzie on wisiał przy około 1,7 V zamiast oczekiwanego 5 V, ponieważ wbudowana dioda LED i szeregowy rezystor obniżają poziom napięcia, co oznacza, że ​​zawsze zwraca NISKIE. Jeśli musisz użyć pinu 13 jako wejścia cyfrowego, ustaw jego pinMode () na INPUT i użyj zewnętrznego rezystora obniżającego. Arduino - DigitalPins

sachleen
źródło
1
Właśnie natrafiłem na ten problem podczas używania czujnika temperatury 1-przewodowego. Nie mogłem wyliczyć magistrali z powodu zakłóceń LED. Zauważyłem dziwne kolce na moim oscyloskopie podczas używania tego pinu. Przeniosłem się na inną pinezkę i wszystko było dobrze.
GuitarPicker
3

Co inni powiedzieli, a ponadto: jeśli okaże się, że dioda LED Digital-13 stanowi problem, zawsze możesz usunąć ją z obwodu, usuwając diodę LED lub rezystor szeregowy.

Może to być przydatne, jeśli zabraknie cyfrowych we / wy lub chcesz kilku ciągłych bitów we / wy i nie chcesz, aby jeden z nich zachowywał się inaczej niż inne.

gwideman
źródło
1

Tak, pin 13 jest tradycyjnie pinem wyjściowym, który napędza diodę LED. Ale niebieska dioda LED nie powinna migać, ponieważ jest to wskaźnik włączenia zasilania - czy masz chropowaty zasilacz na swojej płycie?

Możesz eksperymentować z PWM na diodzie LED pin13, która będzie kontrolować jego pozorną jasność. W sieci istnieje wiele przykładowych szkiców.

kiwiron
źródło
Nie wiem, co to za cholerny zasilacz; zasilanie było dostarczane przez USB. Wygląda na to, że RedBoards są wstępnie zaprogramowane za pomocą szkicu Blink, który wykorzystuje pin 13
KatieK
„Grunty”. LOL. Myślę, że ma na myśli zasilacz o bardzo wysokim prądzie. Używam terminu „sztywny”, co oznacza, że ​​wytrzymuje spadek napięcia przy wyższych obciążeniach.
Duncan C