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

Menghubungkan Sensor Analog ke Raspberry Pi dengan MCP3008 – Pemasangan, Setup SPI, dan Contoh Kode Python

Siap untuk membaca sinyal analog dengan Raspberry Pi Anda? Panduan ini memandu Anda melalui pemasangan ADC MCP3008, mengaktifkan SPI, menginstal perpustakaan yang diperlukan, dan menjalankan skrip Python dasar untuk mengambil data sensor.

Langkah 1: Pemasangan MCP3008

Pastikan semicirkular notch chip menghadap arah yang sama seperti yang ditunjukkan dalam diagram. Untuk MCP3004, tata letak pin identik kecuali chip hanya memiliki empat input analog.

Langkah 2: Aktifkan SPI pada Raspberry Pi

  1. Buka terminal dan jalankan:
    sudo raspi-config
  2. Navigasi ke Advanced Options → SPI dan aktifkan.
  3. Reboot Pi:
    sudo reboot
  4. Setelah reboot, verifikasi perangkat SPI ada:
    ls /dev/
    Anda seharusnya melihat spidev0.0 dan spidev0.1.
  5. Jika hilang, perbarui sistem:
    sudo apt-get update && sudo apt-get upgrade
    lalu instal firmware terbaru:
    sudo wget https://goo.gl/1BOfJ -O /usr/bin/rpi-update sudo chmod +x /usr/bin/rpi-update sudo rpi-update sudo reboot

Unblacklist I²C (jika perlu)

Kadang-kadang I²C dalam daftar hitam, mencegah SPI bekerja. Buka file blacklist:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Hapus atau beri komentar pada baris yang berisi blacklist i2c-bcm2708, lalu reboot.

Langkah 3: Instal Perpustakaan Python SPI

  1. Instal prasyarat:
    sudo apt-get install python-dev git
  2. Clone repositori py-spidev:
    git clone https://github.com/doceme/py-spidev
  3. Instal perpustakaan:
    cd py-spidev sudo python setup.py install

Langkah 4: Kode Python Contoh

Buat mcp3008.py di direktori home Anda:

nano ~/mcp3008.py

Tempelkan skrip berikut:

# mcp3008.py import spidev import time # Buka bus SPI 0, perangkat 0 spi = spidev.SpiDev() spi.open(0, 0) spi.max_speed_hz = 1350000 def read_channel(channel): if channel < 0 or channel > 7: return -1 adc = spi.xfer2([1, (8 + channel) << 4, 0]) data = ((adc[1] & 3) << 8) + adc[2] return data try: while True: value = read_channel(0) # Baca dari saluran 0 print(f"Channel 0: {value}") time.sleep(1) except KeyboardInterrupt: spi.close() print("Program diakhiri")

Jalankan skrip dengan:

python3 ~/mcp3008.py

Anda seharusnya melihat aliran terus-menerus nilai ADC mentah (0–1023). Konversikan ini ke tegangan atau satuan sensor menggunakan datasheet MCP3008.

Referensi

Proses manufaktur

  1. Dasar-Dasar C#: Esensial Input dan Output
  2. Panduan Lengkap Pengaturan Sensor Suhu dan Kelembaban HDC2010 dengan Raspberry Pi
  3. Membangun Pencatat Suhu Raspberry Pi dengan Sensor I2C $5
  4. Profiling Suhu Raspberry Pi yang Akurat dengan Python, SQLite, dan LabVIEW
  5. Sensor Suhu Infra Merah TMP006 dengan Raspberry Pi: Panduan Library Python & Pengaturan
  6. Membuat Sensor Suhu Jarak Jauh dengan Raspberry Pi dan Python – Panduan Langkah demi Langkah
  7. Membangun Stasiun Cuaca Raspberry Pi yang Mengirim Data Cuaca Harian melalui Email
  8. Pemantauan Cuaca Jarak Jauh dengan Raspberry Pi 3 dan PubNub
  9. Menghubungkan Sensor Ultrasonik HC-SR04 ke Raspberry Pi 3 – Panduan Lengkap
  10. Integrasikan TI SensorTag dengan Blynk melalui Node-RED di Raspberry Pi Zero