Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Cara Menghubungkan Sensor Suhu One-Wire DS1820 ke Raspberry Pi Menggunakan GPIO

Memantau suhu ruangan atau luar ruangan dengan Raspberry Pi dapat dilakukan dengan pengaturan minimal. Panduan ini menunjukkan cara menyambungkan sensor 1-Wire DS18S20 (DS1820) langsung ke pin GPIO, membaca suhu dalam perangkat lunak, dan mencatat data dengan RRDtool.

Raspberry Pi dan 1-Wire

DS18S20, DS18B20, dan DS1822 adalah semua sensor suhu 1-Wire yang muat dalam paket TO‑92 dan menggabungkan sensor, ADC, dan antarmuka serial. Sementara mereka memiliki pinout dan antarmuka perangkat lunak yang sama, mereka berbeda dalam biaya dan akurasi – DS18S20 menawarkan akurasi ±0,5 °C, DS18B20 ±0,5 °C, dan DS1822 ±0,5 °C juga, tetapi yang terakhir lebih murah.

Setiap perangkat memiliki tiga pin: Ground (GND, pin 1), Data (DQ, pin 2), dan Power (VDD, pin 3). Suplai daya parasit (3–5 V) memungkinkan sensor dipasok daya sepenuhnya dari garis data menggunakan resistor pull-up.

Hanya Satu Resistor

Sambungkan pin DQ sensor ke GPIO 4 pada Pi. Ikati GND ke ground Pi dan VDD ke GND, mengaktifkan daya parasit. Letakkan resistor pull-up 4,7 kΩ antara 3,3 V dan GPIO 4. Breadboard kecil atau header sudut kanan menjaga kabel tetap rapi dan muat dalam casing resmi Pi.

Driver Perangkat Lunak 1-Wire

Pada Raspbian (atau distribusi Debian‑based apa pun) muat modul kernel dengan:

sudo modprobe w1-gpio pullup=1
sudo modprobe w1-therm

Flag pullup=1 memberitahu driver bahwa sensor dipasok daya melalui resistor pull-up. Setelah dimuat, setiap sensor muncul sebagai subdirektori di bawah /sys/bus/w1/devices. Nama direktori terdiri dari kode family dan pengidentifikasi 64-bit unik sensor: DS18S20/DS1820 menggunakan kode family 10, DS18B20 menggunakan 28, dan DS1822 menggunakan 22.

Di dalam setiap direktori adalah w1_slave, yang berisi dua baris. Baris pertama menunjukkan dump register mentah dan pemeriksaan CRC. Baris kedua diakhiri dengan t=xxxx, suhu dalam miliderajat Celsius. Contoh:

cd /sys/bus/w1/devices
cd 10-000801b5*
cat w1_slave
0f 00 4b 46 ff ff 06 10 0c : crc=0c YES
0f 00 4b 46 ff ff 06 10 0c t=7375

Nilai 7375 sesuai dengan 7,375 °C. Perhatikan bahwa datasheet menentukan akurasi ±0,5 °C, sehingga suhu sebenarnya berada dalam ±0,5 °C dari pembacaan.

Untuk memastikan modul dimuat saat boot, tambahkan ke /etc/modules:

# /etc/modules
w1-gpio pullup=1
w1-therm

Round‑Robin Database (RRDtool)

Untuk penyimpanan dan visualisasi jangka panjang, RRDtool ideal. Instal dengan:

sudo apt-get install rrdtool python-rrdtool

Definisikan database yang mencatat nilai setiap 15 menit dan menyimpan agregasi harian untuk sepuluh tahun:

rrdtool create temperature.rrd --step 900 \\
DS:temp0:GAUGE:1200:-40:80 \\
DS:temp1:GAUGE:1200:-40:80 \\
RRA:AVERAGE:0.5:1:960 \\
RRA:MIN:0.5:96:3600 \\
RRA:MAX:0.5:96:3600 \\
RRA:AVERAGE:0.5:96:3600

Pengakuisisi Data dengan Python

Di bawah ini adalah skrip Python minimal yang membaca w1_slave dan memasukkan nilai ke database RRDtool. Sesuaikan jalur sensor dan nama berkas database sesuai kebutuhan.

import os
import rrdtool
W1_PATH = '/sys/bus/w1/devices'
DB_FILE = 'temperature.rrd'
def read_temp(sensor_id):
with open(f'{W1_PATH}/{sensor_id}/w1_slave') as f:
lines = f.readlines()
if lines[1].strip().endswith('YES'):
temp_milli = int(lines[1].strip().split('t=')[-1])
return temp_milli / 1000.0
return None
# Contoh untuk dua sensor
temps = {
'temp0': read_temp('10-000801b5'),
'temp1': read_temp('28-0000045e')
}
rrdtool.update(DB_FILE, ','.join(str(t) for t in temps.values()))

Jalankan skrip secara berkala (misalnya, melalui cron) untuk menjaga database tetap diperbarui.

Proses manufaktur

  1. Membangun Pencatat Suhu Raspberry Pi dengan Sensor I2C $5
  2. Menghubungkan Beberapa Sensor DS18B20 1-Wire ke Raspberry Pi untuk Pemantauan Suhu yang Akurat
  3. Cara Membaca Suhu dengan DS18B20 pada Raspberry Pi 2
  4. Pemantauan Suhu Raspberry Pi Profesional dengan DS18B20
  5. Pengukuran Suhu Raspberry Pi dengan Sensor 1-Wire Maxim dan Jembatan I2C DS2482
  6. Sensor Suhu Infra Merah TMP006 dengan Raspberry Pi: Panduan Library Python & Pengaturan
  7. Membuat Sensor Suhu Jarak Jauh dengan Raspberry Pi dan Python – Panduan Langkah demi Langkah
  8. Membangun Stasiun Cuaca Raspberry Pi yang Mengirim Data Cuaca Harian melalui Email
  9. Pemantauan Suhu Akurat di Lemari Server dengan Raspberry Pi
  10. Menghubungkan Sensor Ultrasonik HC-SR04 ke Raspberry Pi 3 – Panduan Lengkap