อะไรคือข้อตกลงกับพิน 13 LED ของ Uno?


13

(ฉันมี Sparkfun RedBoard แต่คำถามนี้ดูเหมือนจะนำไปใช้กับบอร์ด R3 Unos และ Uno ที่เข้ากันได้) ขณะที่ฉันกำลังสร้างวงจรแรกในหนังสือคู่มือ SIK ของฉัน (เพิ่มตัวต้านทาน, LED, เชื่อมต่อและทำให้มันกะพริบจากรหัส ) ฉันสังเกตเห็นไฟ LED สีฟ้าบนกระดานทำทุกอย่างที่ LED ของวงจรทำ - กะพริบตามการตั้งโปรแกรม

ทำไม LED นี้ถึงอยู่ที่นี่? กรณีการใช้งานมีไว้เพื่ออะไร?

ฉันจะต้องปรับวงจรชนิดใดให้เหมาะกับ LED นี้?

pin 13 คือ debug หรือ pin การแก้ไขปัญหาแบบดั้งเดิมหรือไม่? การประชุมนี้มาจากไหน


2
ทำไมเมาส์ถึงมีล้อเลื่อน? สะดวก แต่ไม่จำเป็น
เพนกวินที่ไม่เปิดเผยตัว

คำตอบ:


9

LED บน pin 13 ถูกใช้โดยตัวโหลดoptiboot (อันที่ใช้กับUNO ):

  • ที่เวลาบูต Arduino (ไฟ LED กระพริบสองสามครั้ง)
  • เมื่ออัพโหลดภาพร่างไปยัง Arduino

ฉันไม่ได้ตรวจสอบ bootloaders อื่นพวกเขาอาจให้พฤติกรรมเช่นเดียวกับ optiboot

สำหรับ optiboot มีการกำหนดทางเลือก (ณ เวลารวบรวม) เพื่อแก้ไขพฤติกรรมนี้:

  • LED_START_FLASHESกำหนดจำนวนกะพริบของพิน 13 LED ในเวลาบูต (สามารถตั้งค่าเป็น0)
  • LED_DATA_FLASHจะใช้พิน 13 LED ในระหว่างการอัพโหลดแบบร่างหากกำหนดไว้ในเวลารวบรวม

คำจำกัดความเหล่านี้อธิบายไว้ในhardware/arduino/bootloaders/optiboot/optiboot.cไดเรกทอรีติดตั้ง Arduino IDE ของคุณ

หากคุณต้องการที่จะเปลี่ยนเหล่านี้คุณจะต้อง recompile รถตักดิน optiboot ก่อนแล้วเผามันให้ Arduino ของคุณผ่านทางโปรแกรมเมอร์ ISP

ฉันคิดว่าอีกเหตุผลหนึ่งสำหรับ LED ที่ pin 13 คือการทำให้การสาธิตภาพร่าง" Hello World " สำหรับ Arduino ง่ายขึ้นนั่นคือBlinkภาพร่างโดยไม่จำเป็นต้องมีองค์ประกอบเพิ่มเติมใด ๆ


8

ฉันจะต้องปรับวงจรชนิดใดให้เหมาะกับ LED นี้?

คุณจะต้องคำนึงถึงหากคุณใช้พินนั้นเป็นอินพุตดิจิตอล

หมายเหตุ: Digital pin 13 นั้นใช้งานได้ยากกว่า Digital Input อื่น ๆ เพราะมันมี LED และตัวต้านทานติดอยู่กับเมนบอร์ดที่บัดกรีบนบอร์ดส่วนใหญ่ หากคุณเปิดใช้งานตัวต้านทานแบบดึงขึ้นภายในขนาด 20k นั้นจะอยู่ที่ประมาณ 1.7V แทนที่จะเป็น 5V ที่คาดไว้เพราะ LED ออนบอร์ดและตัวต้านทานแบบอนุกรมจะดึงระดับแรงดันไฟฟ้าลงซึ่งหมายความว่าจะส่งกลับค่าต่ำเสมอ หากคุณต้องใช้พิน 13 เป็นอินพุตดิจิตอลให้ตั้งค่า pinMode () เป็น INPUT และใช้ตัวต้านทานแบบดึงลงภายนอก Arduino - DigitalPins


1
ฉันเพิ่งพบปัญหานี้ขณะใช้เซ็นเซอร์วัดอุณหภูมิ 1wire ฉันไม่สามารถระบุรถบัสได้เนื่องจาก LED นั้นรบกวน ฉันสังเกตเห็นหนามแหลมบางอย่างบนออสซิลโลสโคปของฉันเมื่อใช้พิน ฉันย้ายไปยังอีกพินและทุกอย่างก็ดี
GuitarPicker

3

สิ่งที่คนอื่นพูดบวก: หากคุณพบว่า Digital-13 LED ให้ปัญหาคุณสามารถลบออกจากวงจรได้ตลอดเวลาไม่ว่าจะเป็นการลบ LED หรือตัวต้านทานแบบอนุกรม

สิ่งนี้อาจมีประโยชน์หากคุณหมด I / O ดิจิตอลหรือคุณต้องการบิต I / O ที่ต่อเนื่องกันหลายตัวและไม่ต้องการให้หนึ่งในนั้นทำงานแตกต่างจากของอื่น ๆ


1

ใช่ pin 13 เป็นขาส่งสัญญาณที่ใช้ LED แต่ไฟ LED สีฟ้าไม่ควรกระพริบเนื่องจากเป็นไฟแสดงสถานะ "เปิดเครื่อง" - คุณมีแหล่งจ่ายไฟสกปรกไปยังบอร์ดของคุณหรือไม่?

คุณสามารถทดลองใช้ PWM กับ pin13 LED ซึ่งจะควบคุมความสว่างที่ชัดเจน มีภาพร่างมากมายบนเว็บ


ฉันไม่รู้ว่าแหล่งจ่ายไฟสกปรกคืออะไร; กำลังไฟถูกส่งผ่าน USB ดูเหมือนว่า RedBoards จะถูกตั้งโปรแกรมไว้ล่วงหน้าด้วยร่าง Blink ซึ่งใช้พิน 13
KatieK

"Grunty" ฮ่า ๆ. ฉันคิดว่าเขาหมายถึงแหล่งจ่ายกระแสไฟที่สูงมาก ฉันใช้คำว่า "แข็ง" ซึ่งหมายความว่ามันจะต้านทานแรงดันตกที่แรงที่โหลดสูง
Duncan C
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.