Apa masalahnya dengan pin 13 LED Uno?

13

(Saya memiliki Sparkfun RedBoard, tetapi pertanyaan ini tampaknya berlaku untuk R3 Unos dan papan Uno-kompatibel.) Ketika saya sedang membangun sirkuit pertama di buku panduan SIK saya (tambahkan resistor, LED, kaitkan dan buat kedipan dari kode ), Saya perhatikan LED biru di papan itu sendiri melakukan segala sesuatu yang LED sirkuit lakukan - berkedip sesuai dengan pemrograman.

Mengapa LED ini ada di sini? Untuk apa gunanya?

Sirkuit macam apa yang harus saya sesuaikan untuk memperhitungkan LED ini?

Apakah pin 13 secara tradisional merupakan pin debug atau troubleshooting? Dari mana konvensi ini berasal?

KatieK
sumber
2
Mengapa ada roda gulir pada mouse? Nyaman, tetapi tidak diperlukan.
Penguin Anonim

Jawaban:

9

LED pada pin 13 digunakan oleh loader optiboot (yang digunakan pada UNO ):

  • pada waktu boot Arduino (LED berkedip beberapa kali)
  • saat mengunggah sketsa ke Arduino

Saya belum memeriksa bootloader lain, mereka mungkin memberikan perilaku yang sama dengan optiboot.

Untuk optiboot, ada definisi opsional (pada waktu kompilasi) untuk memodifikasi perilaku ini:

  • LED_START_FLASHESmenentukan jumlah kedipan pin 13 LED pada saat boot (dapat diatur ke 0)
  • LED_DATA_FLASHakan menggunakan pin 13 LED selama pengunggahan sketsa jika ditentukan pada waktu kompilasi

Definisi ini dijelaskan hardware/arduino/bootloaders/optiboot/optiboot.cdari dalam direktori instalasi IDE Arduino Anda.

Jika Anda ingin mengubahnya, Anda harus mengkompilasi ulang loader optiboot terlebih dahulu dan kemudian membakarnya ke Arduino Anda melalui programmer ISP .

Saya kira satu alasan lain untuk LED pada pin 13 adalah untuk menyederhanakan demonstrasi sketsa " Hello World " untuk Arduino, yaitu Blinksketsa, tanpa perlu komponen tambahan.

jfpoilpret
sumber
8

Sirkuit macam apa yang harus saya sesuaikan untuk memperhitungkan LED ini?

Anda harus memperhitungkannya jika Anda menggunakan pin itu sebagai input digital.

CATATAN: Pin digital 13 lebih sulit digunakan sebagai input digital daripada pin digital lainnya karena memiliki LED dan resistor yang terpasang padanya yang disolder ke papan pada sebagian besar papan. Jika Anda mengaktifkan resistor pull-up 20k internal, itu akan menggantung di sekitar 1,7V bukannya 5V yang diharapkan karena LED onboard dan resistor seri menarik level tegangan ke bawah, yang berarti ia selalu mengembalikan RENDAH. Jika Anda harus menggunakan pin 13 sebagai input digital, atur pinMode () ke INPUT dan gunakan resistor pull down eksternal. Arduino - DigitalPins

sachleen
sumber
1
Saya baru saja mengalami masalah ini saat menggunakan sensor suhu 1wire. Saya tidak dapat menyebutkan bus karena gangguan LED. Saya perhatikan beberapa paku aneh pada osiloskop saya saat menggunakan pin itu. Saya pindah ke pin lain dan semuanya baik-baik saja.
GuitarPicker
3

Apa yang orang lain katakan, plus: jika Anda menemukan digital-13 LED memberi Anda masalah, Anda selalu bisa melepasnya dari sirkuit, baik dengan melepas LED, atau resistor seri.

Ini mungkin berguna jika Anda kehabisan I / O digital, atau Anda ingin beberapa bit I / O yang berdekatan dan tidak ingin salah satu dari mereka berperilaku berbeda dari yang lain.

gwideman
sumber
1

Ya, pin 13 secara tradisional pin output yang menggerakkan LED. Tetapi LED biru tidak boleh berkedip karena ini adalah indikator "power on" - apakah Anda memiliki catu daya yang kasar di papan Anda?

Anda dapat bereksperimen dengan PWM ke LED pin13, yang akan mengontrol kecerahannya. Ada banyak contoh sketsa di web.

kiwiron
sumber
Saya tidak tahu apa itu power supply yang kasar; daya disuplai melalui USB. Sepertinya RedBoards diprogram dengan sketsa Blink, yang menggunakan pin 13.
KatieK
"Menggerutu". LOL. Saya pikir maksudnya catu daya arus sangat tinggi. Saya menggunakan istilah "kaku", artinya tahan tegangan terkulai pada beban yang lebih tinggi.
Duncan C