จะใช้เซ็นเซอร์อุณหภูมิ DS18B20 ใน Pi ของฉันได้อย่างไร


12

ฉันมีเซ็นเซอร์อุณหภูมิDS18B20สองสามตัว โดยปกติจะใช้ในโครงการ Arduino แต่ฉันไม่เห็นว่าทำไมไม่ใช้กับ Pi มีซอฟต์แวร์ที่ชื่อว่าDigiTempที่ดูเหมือนว่าจะขับอุปกรณ์และฉันได้รวบรวมและติดตั้งบน Pi สิ่งที่ไม่ชัดเจนคือฉันจะเชื่อมต่อพวกเขาได้อย่างไร ไปที่ UART โดยตรง

คำตอบ:


5

Adafruit ได้ออกdistro ที่เรียกว่า Occidentalisซึ่งมีสายรองรับ 1 สาย

สายเดียวมักใช้กับเซ็นเซอร์อุณหภูมิ DS18B20 Pi ไม่มีการสนับสนุน 1 สาย 'ฮาร์ดแวร์' แต่สามารถ bitbang ด้วยความสำเร็จ เชื่อมต่อ DS18B20 กับ VCC ถึง 3V กราวด์ถึงกราวด์และ Data ไปยัง GPIO # 4 จากนั้นเชื่อมต่อตัวต้านทาน 4.7K จาก Data ไปยัง VCC

สิ่งนี้จะช่วยให้คุณอ่านอุณหภูมิด้วยคำสั่งเช่น

cat /sys/bus/w1/devices/28-*/w1_slave

ฉันไม่ทราบว่า digitemp สามารถทำงานร่วมกับสิ่งเหล่านั้นได้หรือไม่ แต่ควรตรงไปตรงมาพอสมควรในการเขียนปลั๊กอินmuninถ้าคุณแค่อยากได้กราฟอุณหภูมิ


มีวิธีการใช้ไดรเวอร์ 1-wire ใน Arch Linux หรือไม่?
โทมัส

@ Tomas ฉันไม่ได้ใช้ Arch Linux แต่ฉันคาดว่าพวกเขาจะได้รับโมดูลในที่สุด ในระหว่างนี้คุณจะต้องแก้ไขเคอร์เนลด้วยตัวเอง
John La Rooy

5
1 wire on GPIO 4 รองรับโดยเคอร์เนลอย่างเป็นทางการ (อัปเดตตั้งแต่ 23 ส.ค. ) ดังนั้นการแจกจ่ายใด ๆ ที่ใช้จะได้รับการสนับสนุน คุณต้องอัพเดตเคอร์เนล (ให้แน่ใจว่าเป็นเคอร์เนล 3.2) จากนั้นใส่wireและw1-thermโมดูล
Krzysztof Adamski

4

ฉันคิดว่าซอสลับเป็นบรรทัดสุดท้ายของหน้านี้

มันเชื่อมโยงไปยังDS9097Uซึ่งทำการแปลง UART เป็น 1 สาย

ก่อนหน้านี้ฉันใช้ " pic arbiter " กับอุปกรณ์เหล่านี้ มันทำงานในบทบาทที่คล้ายคลึงกันในการรับข้อมูลจากอุปกรณ์ 1 สายและทำให้เหมาะสำหรับการบริโภคโดย UART

นอกจากนี้ยังสามารถเชื่อมต่ออุปกรณ์ I2C เช่นMCP9804โดยตรงไปยังพิน GPIO ข้อเสียคือคุณต้องมีสาย 4 เส้น


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