Bagaimana untuk mengukur warna RGB dengan Arduino dan sensor TCS34725

  • Sensor TCS34725 mengukur warna RGB dengan ketepatan tinggi.
  • Menggunakan penapis inframerah untuk menghapuskan gangguan cahaya.
  • Ia berkomunikasi dengan Arduino menggunakan protokol I2C.

TCS34725 Sensor dengan Arduino

Penderia TCS34725 ialah alat yang sangat berguna untuk projek elektronik di mana anda perlu mengukur warna dengan tepat. Jika anda bekerja dengan Arduino dan berminat dengan pengesanan warna, peranti ini adalah pilihan yang bagus. Ia digunakan secara meluas untuk menguraikan warna ke dalam komponen RGB (merah, hijau dan biru) mereka dan mendapatkan ukuran yang tepat. Penderia juga mempunyai kelebihan mempunyai antara muka komunikasi I2C, yang memudahkan penyepaduan dan bacaannya.

Dalam artikel ini, kami akan meneroka secara menyeluruh cara penderia warna TCS34725 berfungsi dan cara anda boleh menggunakannya dengan mudah dalam projek Arduino.

Apakah penderia TCS34725? Ia adalah peranti optik yang memudahkan pembacaan warna dalam format RGB. Ia adalah penderia yang sangat tepat dan moden, yang mengatasi model lama yang lain seperti TCS3200. TCS34725 mempunyai tatasusunan fotodiod yang merangkumi penapis untuk tiga warna asas (merah, hijau dan biru), ditambah fotodiod tanpa penapis ("jelas") yang mengukur jumlah cahaya kejadian.

Penderia ini menonjol kerana menggabungkan penapis inframerah, yang meningkatkan ketepatan dalam persekitaran dengan banyak gangguan cahaya. Ia juga agak mudah disesuaikan, kerana kita boleh melaraskan parameter seperti masa penyepaduan dan keuntungan melalui perisian. Peranti ini cukup sensitif untuk berfungsi dalam keadaan cahaya malap, walaupun dengan kaca pelindung antara penderia dan objek yang kita ukur.

Untuk kemudahan penggunaan, penderia TCS34725 lazimnya diintegrasikan ke dalam modul komersial yang menyertakan LED pencahayaan neutral. LED boleh dikawal dengan mudah daripada Arduino, menyesuaikan diri dengan keperluan projek.

Ciri dan faedah TCS34725

[amazon box=”B008GRTSV6, B07DK4NHBY” items=”2″ grid=”2″ image_size=”large” description_items=”0″ template=”widget”]

TCS34725 menonjol daripada penderia RGB lain di pasaran untuk beberapa ciri utama. Contohnya, anda boleh melaraskan keuntungan dan masa pendedahan untuk mendapatkan bacaan yang lebih tepat. Di bawah ini kami menunjukkan beberapa kelebihan utama:

  • Penapis inframerah: Ini membolehkan bacaan yang lebih tepat dengan menghapuskan banyak bunyi yang disebabkan oleh sumber cahaya yang tidak kelihatan, seperti cahaya matahari langsung.
  • Kepekaan tinggi: Julat dinamiknya mengagumkan, menjadikannya sesuai walaupun dalam persekitaran cahaya malap.
  • Kawalan LED pencahayaan: Kebanyakan modul menyepadukan LED yang boleh dikawal daripada Arduino itu sendiri, yang memastikan pencahayaan berterusan untuk bacaan.

Gambar rajah sambungan sensor

[amazon box=”B008GRTSV6, B07DK4NHBY” items=”2″ grid=”2″ image_size=”large” description_items=”0″ template=”widget”]

Menyambungkan sensor ke Arduino adalah sangat mudah terima kasih kepada antara muka I2Cnya. Sensor TCS34725 boleh beroperasi pada bekalan 3.3v atau 5v, menjadikannya serasi dengan pelbagai mikropengawal. Di bawah ini kami memberi anda langkah untuk menyambungkannya dengan betul:

  • VCC: Sambung ke 5V pada Arduino.
  • GND: Sambung ke GND.
  • SDA: Ia menyambung ke pin A4 Arduino (pada model seperti UNO).
  • SCL: Ia menyambung ke pin A5 Arduino.

Ambil perhatian bahawa sesetengah modul mungkin mempunyai pin tambahan seperti LED, yang membolehkan anda mengawal kelakuannya daripada Arduino itu sendiri untuk menjimatkan tenaga atau menyesuaikannya dengan keadaan persekitaran pengukuran anda.

Perpustakaan dan kod untuk TCS34725

[amazon box=”B008GRTSV6, B07DK4NHBY” items=”2″ grid=”2″ image_size=”large” description_items=”0″ template=”widget”]

Terdapat beberapa perpustakaan tersedia yang memudahkan kerja dengan sensor RGB ini, tetapi salah satu yang paling disyorkan dan digunakan secara meluas ialah perpustakaan Adafruit, yang dipanggil "Adafruit_TCS34725". Anda boleh memasangnya terus daripada pengurus perpustakaan IDE Arduino.

Untuk memasangnya, ikuti langkah berikut:

  • Buka Arduino IDE, pergi ke tab Tools dan pilih Sertakan perpustakaan -> Urus perpustakaan.
  • Tulis Adafruit TCS34725 dan pilih pasang. Dengan cara ini, perpustakaan akan sedia untuk digunakan.

Setelah anda memasangnya, anda boleh menggunakan kod asas berikut untuk menguji penderia TCS34725. Kod ini hanya mendapat nilai RGB dan memaparkannya melalui port bersiri:

#termasuk #include "Adafruit_TCS34725.h"Adafruit_TCS34725 tcs = Adafruit_TCS34725();void setup() { Serial.begin(9600); if (!tcs.begin()) { Serial.println("Sensor not found"); manakala (1); }}gelung kosong() { uint16_t r, g, b, c; tcs.getRawData(&r, &g, &b, &c); Serial.print("Merah: "); Serial.println(r); Serial.print("Hijau: "); Serial.println(g); Serial.print("Biru: "); Serial.println(b); kelewatan(1000); }

Penentukuran dan penggunaan sensor

Adalah penting untuk ambil perhatian bahawa penderia TCS34725 perlu ditentukur untuk ketepatan yang lebih tinggi. Ini disebabkan oleh batasan mana-mana peranti pengukur. Penentukuran secara amnya melibatkan pelarasan nilai keuntungan dan masa penyepaduan untuk mendapatkan bacaan yang tepat dalam keadaan cahaya persekitaran anda.

Juga, ingat bahawa permukaan berkilat boleh menyebabkan bacaan yang salah disebabkan oleh pantulan. Jika anda bekerja dengan permukaan yang sangat reflektif, adalah dinasihatkan untuk menutup penderia dengan beberapa bahan matte atau meletakkan penapis polarisasi.

Aplikasi Penderia Warna TCS34725

Penderia ini sesuai untuk projek yang anda perlukan untuk mengesan warna dengan tepat. Beberapa aplikasi TCS34725 termasuk:

  • Pengelasan objek mengikut warnanya.
  • Sistem cahaya ambien, di mana pencahayaan boleh melaraskan secara automatik berdasarkan warna utama persekitaran.
  • Penduaan warna dalam jalur LED RGB, seperti WS2812B.

Dalam projek lanjutan, sensor ini juga boleh digunakan untuk mengukur suhu warna dan jumlah cahaya dalam pemandangan, yang berguna dalam fotografi atau projek pencahayaan pintar.