การเชื่อมต่อหมุดอินพุตแบบอนาล็อกมากกว่าหกตัวเข้ากับอาร์ดิโน


14

ฉันอยู่ในช่วงการวางแผนสำหรับโครงการที่ใช้ Arduino Uno เพื่อควบคุมเซ็นเซอร์ระยะทาง 8 ตัวและวิ่งเข้าไปในสิ่งกีดขวางบนถนนเล็ก ๆ Uno มีเพียงหมุดป้อนข้อมูลหกตัว ดังนั้นฉันสงสัยว่าจะมีวิธีการนี้จะทำงานหรือไม่ ถ้าเป็นเช่นนั้นได้อย่างไร

คำตอบ:


12

มีมากกว่าหนึ่งวิธีในการทำ ( TMTOWTDI )

มีหลายวิธีในการเชื่อมต่อ 8 อินพุตแบบอะนาล็อกกับ Arduino

  • เพิ่ม analog multiplexer ตามที่ georgebrindeiro แนะนำ เช่น: (a) , (b) , (c) , (d)เป็นต้น
  • แทนที่ Arduino ด้วยอันที่มีอินพุตแบบอะนาล็อกเพียงพอในตัวแล้ว เช่น Arduino Mini ที่มีอินพุตแบบอะนาล็อก 8 ตัว, Arduino Due ด้วย 12 อินพุตแบบอะนาล็อก(b) , (a) Arduino Mega พร้อมอินพุตแบบอะนาล็อก 16 ช่อง(b) , Teensy 3.0 พร้อมช่องต่อแบบอะนาล็อก 14 ช่อง(c)เป็นต้น
  • เพิ่ม ADC ภายนอกหนึ่งตัวขึ้นไปและเชื่อมต่อเข้ากับพินดิจิตอลของ CPU ของคุณ เช่น Arduino Shield 4-20mA พร้อม ADC 16 บิต(a) ; ADS1115 16-Bit ADC - ด้วยบอร์ด 4 ตัวเหล่านี้ใช้หมุดดิจิตอล 2 อันจาก Arduino เพื่ออ่านอินพุตแบบอะนาล็อก 16 ช่อง(b) ; MCP3208 8 ช่อง 12 บิต SPI ADC (c) ; 8-channel 16-bit Raspi analog board (d) ; Arduino และ LTC2440 24 บิต ADC (e) (f) ; "The Brick" 8 อินพุตแบบอะนาล็อก 16 บิตสิ้นสุดวันที่(g) ; เป็นต้น

ps: อินพุตมัลติเพล็กซ์แบบอะนาล็อกต้องการ "analog multiplexer" - มัลติเพล็กเซอร์ส่วนใหญ่คือ "Digital muxes" ซึ่งไม่สามารถทำงานกับอินพุตแบบอะนาล็อก

pps: เซ็นเซอร์วัดระยะทางอัลตราโซนิกทั้งหมดที่ฉันใช้ต้องใช้ขา I / O แบบดิจิทัลเท่านั้น คุณใช้เซ็นเซอร์วัดระยะชนิดใด


แน่นอน! สิทธิ์ของคุณพวกเขาต้องการเพียง i / o ขอบคุณ!
Dylan Katz

5

เมื่อใดก็ตามที่คุณมีสัญญาณมากกว่าอินพุตที่เหมาะสมในระบบดิจิตอลคุณอาจต้องมีมัลติเพล็กเซอร์หรือเพียงแค่ mux M-to-N mux เป็นวงจรที่ช่วยให้คุณเลือกสัญญาณ M ที่คุณต้องการส่งออกไปยังเอาท์พุท N mux ซึ่งมักจะใช้พินดิจิตอลเพื่อทำการเลือก

Googling อย่างรวดเร็วผมพบว่าการแก้ปัญหานี้สำหรับ Arduino Uno กMux โล่ หวังว่าจะช่วย!

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