Daftar Isi:
- Langkah 1: Cara Kerja I2c
- Langkah 2:
- Langkah 3: Penggunaan
- Langkah 4: Baca Nilai
- Langkah 5: Baca Vale Dari Saluran
- Langkah 6: Tulis Nilai
- Langkah 7: Fitur Tambahan
- Langkah 8: Contoh Diagram Koneksi
- Langkah 9: Terima kasih
Video: PCF8591 (i2c Analog I/O Expander) Cepat Mudah Digunakan: 9 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Library untuk menggunakan IC i2c pcf8591 dengan arduino dan esp8266.
IC ini dapat mengontrol (sampai 4) input analog dan/atau 1 output analog seperti mengukur tegangan, membaca nilai termistor atau memudarkan led.
Dapat membaca nilai analog dan menulis nilai analog hanya dengan 2 kabel (sempurna untuk ESP-01).
Saya mencoba menyederhanakan penggunaan IC ini, dengan operasi set yang minimal.
Anda dapat menemukan versi terbaru di situs saya
Langkah 1: Cara Kerja I2c
I2C bekerja dengan dua kabelnya, SDA (jalur data) dan SCL (jalur jam).
Kedua saluran ini adalah saluran terbuka, tetapi ditarik dengan resistor.
Biasanya ada satu master dan satu atau beberapa budak di telepon, meskipun bisa ada beberapa master, tapi kita akan membicarakannya nanti.
Baik master dan budak dapat mengirim atau menerima data, oleh karena itu, perangkat dapat berada di salah satu dari empat status ini: transmisi master, penerima master, transmisi slave, penerima slave.
Langkah 2:
Anda dapat menemukan perpustakaan saya di sini.
Untuk mengunduh.
Klik tombol UNDUH di sudut kanan atas, ganti nama folder terkompresi PCF8591.
Periksa apakah folder PCF8591 berisi PCF8591.cpp dan PCF8591.h.
Tempatkan folder library PCF8591 di folder /libraries/ Anda.
Anda mungkin perlu membuat subfolder perpustakaan jika ini adalah perpustakaan pertama Anda.
Mulai ulang IDE.
Langkah 3: Penggunaan
Konstruktor: Anda harus memasukkan alamat i2c (untuk memeriksa alamat, gunakan panduan ini I2cScanner)
PCF8591 (alamat uint8_t);
untuk esp8266 jika Anda ingin menentukan pin SDA e SCL gunakan ini:
PCF8591(alamat uint8_t, uint8_t sda, uint8_t scl);
Langkah 4: Baca Nilai
IC seperti yang Anda lihat pada gambar memiliki 4 input analog dan 1 output analog.
Jadi untuk membaca semua input analog dalam satu trasmission bisa anda lakukan (nilainya dari 0 sampai 255):
PCF8591::AnalogInput ai = pcf8591.analogReadAll();
Serial.print(ai.ain0); Serial.print(" - "); Serial.print(ai.ain1); Serial.print(" - "); Serial.print(ai.ain2); Serial.print(" - "); Serial.println(ai.ain3);
jika Anda ingin membaca satu input atau saluran analog:
int ana = pcf8591.analogRead(AIN0); // baca analog 0
Langkah 5: Baca Vale Dari Saluran
IC ini memiliki beberapa jenis pembacaan dan Anda dapat menggunakan input Analog atau saluran analog (bila Anda menggunakan input analog baca tunggal dan saluran ada di gambar).
Misalnya untuk membaca nilai saluran 0 di Dua input diferensial yang harus Anda lakukan:
int ana = pcf8591.analogRead(CHANNEL0, TWO_DIFFERENTIAL_INPUT); // baca analog 0
Langkah 6: Tulis Nilai
Jika Anda ingin menulis nilai analog yang harus Anda lakukan (nilainya dari 0 hingga 255):
pcf8591.analogWrite(128);
Langkah 7: Fitur Tambahan
Fitur tambahan untuk membaca tegangan tulis: Untuk perhitungan tegangan Anda harus melewati beberapa parameter:
- MicrocontrollerReferenceVoltage: mendapatkan tegangan dari tegangan mikrokontroler (hanya AVR no esp8266 untuk esp 3.3v tetap)
- referenceVoltage: jika mikrokontrolerReferenceVoltage false ambil nilai iniPerintahnya adalah:
void voltageWrite(nilai float, mikrokontroler boolReferenceVoltage = true, float referenceVoltage = 5.0);
float voltageRead(uint8_t analogPin, mikrokontroler boolReferenceVoltage = true, float referenceVoltage = 5.0);
Contohnya adalah:
pcf8591.voltageWrite(2.7); // keluaran 2,7Volt
penundaan(3000);
float ana0V = pcf8591.voltageRead(AIN0); // Baca tegangan dari analog 0
Serial.println(ana0V);
Langkah 8: Contoh Diagram Koneksi
Langkah 9: Terima kasih
seri proyek i2c (Koleksi):
- Sensor kelembaban suhu
- Ekspander analog
- Ekspander digital
- Layar LCD
Direkomendasikan:
Raspitone: Jukebox yang mudah Digunakan: 7 Langkah
Raspitone: Jukebox yang mudah Digunakan: Halo, proyek saya berikutnya adalah, seperti yang biasa saya lakukan, proyek yang tidak terlalu berguna: Ini jukebox berdasarkan Raspberry 3 B+Saya tahu, hal seperti ini dapat dengan mudah dilakukan dengan smartphone dan speaker Bluetooth. Tetapi untuk proyek saya, saya memiliki dua prasyarat yang sulit:
DHT12 (Sensor Kelembaban dan Suhu Murah i2c), Penggunaan Cepat Mudah: 14 Langkah
DHT12 (Sensor Kelembaban dan Suhu Murah i2c), Cepat Mudah Penggunaan: Anda dapat menemukan pembaruan dan lainnya di situs saya https://www.mischianti.org/2019/01/01/dht12-library-en/.Saya suka sensor yang dapat digunakan dengan 2 kabel (protokol i2c), tapi saya suka yang murah. Ini adalah perpustakaan Arduino dan esp8266 untuk seri DHT12
DIY MusiLED, LED Musik yang Disinkronkan Dengan Aplikasi Windows & Linux Sekali Klik (32-bit & 64-bit). Mudah Dibuat Ulang, Mudah Digunakan, Mudah Dipindahkan.: 3 Langkah
DIY MusiLED, LED Musik yang Disinkronkan Dengan Aplikasi Windows & Linux Sekali Klik (32-bit & 64-bit). Mudah Dibuat Ulang, Mudah Digunakan, Mudah Dipindahkan.: Proyek ini akan membantu Anda menghubungkan 18 LED (6 Merah + 6 Biru + 6 Kuning) ke Papan Arduino Anda dan menganalisis sinyal waktu nyata Kartu Suara komputer Anda dan menyampaikannya ke LED untuk menyalakannya sesuai dengan efek ketukan (Snare, High Hat, Kick)
Pencahayaan Ruangan LED Cepat, Cepat, Murah, Tampan (untuk Siapa Saja): 5 Langkah (dengan Gambar)
Pencahayaan LED Kamar Cepat, Cepat, Murah, Tampan (untuk Siapa Saja): Selamat datang semua:-) Ini adalah instruksi pertama saya jadi komentar dipersilakan:-)Yang ingin saya tunjukkan adalah bagaimana membuat pencahayaan LED cepat yang ada di Buget KECIL.Yang Anda butuhkan:KabelLEDResistor (510Ohm untuk 12V)StapelBesi solderPemotong dan dasar lainnya
Soft Switch Cepat dan Sederhana (untuk Pembuatan Prototipe Cepat): 5 Langkah
Soft Switch Cepat dan Sederhana (untuk Quick Prototyping): Ada banyak cara berbeda untuk membuat soft switch. Instruksi ini menunjukkan opsi lain dari prototipe yang sangat cepat untuk sakelar lunak, menggunakan pita aluminium alih-alih kain konduktif, dan kabel padat alih-alih benang konduktif, yang