Raspberry Pi - วิธีวัดค่าตัวต้านทาน 2 ตัวด้วย GPIO

เป็นไปได้ไหมที่จะวัดค่าตัวต้านทานเฉพาะ 3 ค่าโดยใช้ GPIO / โดยไม่ใช้การตั้งค่า ADC แบบเต็ม?

ฉันมีเซ็นเซอร์เตือนภัยที่ต้องการเชื่อมต่อกับ GPIO ของฉัน เซ็นเซอร์นี้มีค่าตัวต้านทานเฉพาะ 3 ค่า โดยขึ้นอยู่กับสถานะ:

  • 1) ปกติ - 4k7
  • 2) สัญญาณเตือน - 9k3
  • 3) การงัดแงะ - ไม่มีที่สิ้นสุด

เนื่องจากสายยาว ฉันอยากได้ไฟ 12V ที่ด้านเดียว

ฉันต้องการที่จะตรวจจับสถานะเหล่านี้ด้วยพินอินพุต GPIO ปกติ 2 ตัว

เป็นไปได้ไหม? แผนผังที่จำเป็นสำหรับสิ่งนี้คืออะไร?

หรือเป็นทางออกเดียวที่จะใช้ ADC (ภายนอก)

ฉันกำลังคิดถึงตัวเปลี่ยนแรงดันไฟฟ้าที่มีตัวต้านทานและไดโอด 1N4148 เพื่อคลิปให้เป็น 3v3 แต่จนถึงตอนนี้ผลลัพธ์ของฉันก็ยังไม่เกิดผล

ขอบคุณ.


person Hasse    schedule 29.03.2020    source แหล่งที่มา
comment
โดยปกติแล้ว ADC จะแก้ปัญหานี้ GPIO ไม่มีความสามารถในการวัดดังกล่าวเลย เป็นคำถามของแผนกวิศวกรรมไฟฟ้า SE   -  person 0andriy    schedule 30.03.2020


คำตอบ (1)


ปัญหาคือคุณมีสามระดับในการวัด หากเรามีสองตัว เราสามารถใช้การตั้งค่าตัวแบ่งตัวต้านทานแบบง่ายๆ เพื่อสร้าง (พูด) เอาต์พุต 4k7 และ 9k3 บนเซ็นเซอร์เป็นลอจิก 0 (‹=0.8V) หรือลอจิก 1 (>=1.3V) บน GPIO ขาเดียว เราสามารถทำเช่นนี้ได้โดยใช้พิน GPIO สองตัวหากเรามี "ตัวอย่างอิสระ" สองตัวของเอาต์พุตเซ็นเซอร์มากกว่าหนึ่งตัว

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

ADC เป็นวิธีที่ง่ายที่สุดหากคุณต้องการอยู่ในโดเมนซอฟต์แวร์ อุปกรณ์ SBC อื่นๆ ได้แก่ ESP8266 ซึ่งมีฟังก์ชัน ADC ในตัวและ Wifi ในตัว https://esp8266-projects.org/2015/03/internal-adc-esp8266/ หรือคุณสามารถเชื่อมต่อ ADC ส่วนเสริมกับ Rpi ได้เช่น https://learn.adafruit.com/raspberry-pi-analog-to-digital-converters

ขอให้โชคดี

person mhaselup    schedule 30.03.2020