Sensor Analog Pada Raspberry Pi Menggunakan MCP3008
input yang berarti agak merepotkan untuk menggunakan banyak sensor yang tersedia. Saya ingin memperbarui sistem keamanan garasi saya dengan kemampuan untuk menggunakan lebih banyak sensor, jadi saya memutuskan untuk menyelidiki cara yang mudah dan murah untuk melakukannya. MCP3008 adalah jawabannya.
MCP3008 adalah 10bit 8-channel Analog-to-digital converter (ADC). Murah, mudah disambungkan, dan tidak memerlukan komponen tambahan apa pun. Ini menggunakan protokol bus SPI yang didukung oleh header GPIO Pi.
Artikel ini menjelaskan cara menggunakan perangkat MCP3008 untuk menyediakan 8 input analog yang dapat Anda gunakan dengan berbagai sensor. Pada contoh rangkaian di bawah ini saya menggunakan MCP3008 untuk membaca sensor suhu dan cahaya.
Berikut adalah bit yang saya gunakan :
- Raspberry Pi
- MCP3008 8 saluran ADC
- Resistor bergantung cahaya (LDR)
- Sensor suhu TMP36
- Resistor 10 Kohm
Langkah pertama adalah mengaktifkan antarmuka SPI pada Pi yang biasanya dinonaktifkan secara default.
Ikuti artikel saya Mengaktifkan Antarmuka SPI Di Raspberry Pi untuk menyiapkan SPI dan menginstal pembungkus SPI Python.
Sirkuit
Daftar berikut menunjukkan bagaimana MCP3008 dapat dihubungkan. Ini membutuhkan 4 pin GPIO pada Header Pi P1.
VDD 3.3VVREF 3.3VAGND GROUNDCLK GPIO11 (P1-23)DOUT GPIO9 (P1-21)DIN GPIO10 (P1-19CS GPIO8 (P1-24)DGND GROUND
Pin CH0-CH7 adalah 8 input analog.
Ini sirkuit papan tempat memotong roti saya :
Menggunakan CH0 untuk sensor cahaya dan CH1 untuk sensor suhu TMP36. 6 input lainnya adalah cadangan.
Resistor Bergantung Cahaya
Saya memilih LDR chunky yang bagus (NORPS-12, datasheet). Di bawah pencahayaan normal, resistansinya kira-kira 10Kohm saat dalam gelap meningkat menjadi lebih dari 2Mohm.
Ketika ada banyak cahaya, LDR memiliki resistansi rendah yang mengakibatkan tegangan output turun menuju 0V.
Saat gelap resistansi LDR meningkat sehingga tegangan output meningkat menuju 3.3V.
Sensor Suhu TMP36
Sensor suhu TMP36 adalah perangkat 3 pin (lembar data). Anda dapat menyalakannya dengan 3.3V dan pin Vout tengah akan memberikan tegangan yang sebanding dengan suhu.
Suhu 25 derajat C akan menghasilkan output 0.750V. Setiap derajat menghasilkan tegangan keluaran 10mV.
Jadi 0 derajat akan menghasilkan 0,5V dan 100 derajat akan menghasilkan 1,5V.
Membaca Data Menggunakan Skrip Python
ADC adalah 10bit sehingga dapat melaporkan rentang angka dari 0 hingga 1023 (2 pangkat 10). Pembacaan 0 berarti inputnya 0V dan pembacaan 1023 berarti inputnya 3.3V. Rentang 0-3.3V kami akan setara dengan rentang suhu -50 hingga 280 derajat C menggunakan TMP36.
Untuk detail lebih lanjut:Sensor Analog Pada Raspberry Pi Menggunakan MCP3008