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

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Dalam tutorial Arduino ini kita akan mempelajari cara mendeteksi warna menggunakan Arduino dan Sensor Warna TCS230 / TCS3200. Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini untuk detail selengkapnya.

Cara Kerja Sensor Warna TCS230 / TCS3200

TCS230 mencermati cahaya warna dengan bantuan array 8 x 8 fotodioda. Kemudian menggunakan Konverter Arus-ke-Frekuensi, pembacaan dari fotodioda dikonversikan menjadi gelombang persegi dengan frekuensi yang berbanding lurus dengan intensitas cahaya. Terakhir, menggunakan Papan Arduino kita dapat membaca keluaran gelombang persegi dan mendapatkan hasil untuk warna.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Jika kita memperhatikan lebih dekat sensor, kita dapat melihat bagaimana ia mendeteksi berbagai warna. Fotodioda memiliki tiga filter warna yang berbeda. Enam belas memiliki filter merah, lagi enam belas memiliki filter hijau, lagi enam belas memiliki filter biru dan enam belas fotodioda lainnya jelas tanpa filter.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Setiap enam belas fotodioda terhubung secara paralel, jadi menggunakan dua pin kontrol S2 dan S3 kita dapat memilih mana yang akan dibaca. Jadi misalnya, jika kita ingin mendeteksi warna merah, kita dapat hanya menggunakan enam belas fotodioda dengan filter merah dengan mengatur kedua pin ke tingkat logika rendah sesuai dengan tabel.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Sensor memiliki dua pin kontrol lainnya, S0 dan S1 yang digunakan untuk menskalakan frekuensi keluaran. Frekuensi dapat discale ke tiga nilai preset berbeda yaitu 100 %, 20 % atau 2%. Fungsi penskalaan frekuensi ini memungkinkan keluaran sensor untuk dioptimalkan untuk berbagai penghitung frekuensi atau mikrokontroler.

Sekarang kita siap untuk melanjutkan dan menghubungkan sensor TCS230 ke papan Arduino. Berikut skema rangkaiannya.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Anda dapat mendapatkan komponen yang diperlukan untuk tutorial Arduino ini dari tautan di bawah ini:

  • Sensor Warna TCS230 TCS3200…….
  • Papan Arduino ……………………………
  • Breadboard dan Kabel Jumper ………

Kode Sumber Sensor Warna TCS230

Deskripsi: Pertama-tama kita perlu mendefinisikan pin tempat sensor terhubung dan mendefinisikan variabel untuk membaca frekuensi. Di bagian setup kita perlu mendefinisikan empat pin kontrol sebagai output dan keluaran sensor sebagai input Arduino. Di sini kita juga perlu mengatur penskalaan frekuensi, untuk contoh ini saya akan mengatur ke 20%, dan memulai komunikasi serial untuk menampilkan hasil di Serial Monitor.

Di bagian loop, kita akan mulai dengan membaca fotodioda yang difilter merah. Untuk tujuan itu kita akan mengatur dua pin kontrol S2 dan S3 ke tingkat logika rendah. Kemudian menggunakan fungsi “pulseIn()” kita akan membaca frekuensi keluaran dan menempatkannya ke variabel “frequency”. Menggunakan fungsi Serial.print() kita akan mencetak hasil di serial monitor. Prosedur yang sama untuk dua warna lain, kita hanya perlu menyesuaikan pin kontrol untuk warna yang sesuai.

/* Arduino Color Sensing Tutorial * * by Dejan Nedelkovski, www.HowToMechatronics.com * */ #define S0 4 #define S1 5 #define S2 6 #define S3 7 #define sensorOut 8 int frequency = 0; void setup() { pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(sensorOut, INPUT); // Setting frequency-scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW); Serial.begin(9600); } void loop() { // Setting red filtered photodiodes to be read digitalWrite(S2,LOW); digitalWrite(S3,LOW); // Reading the output frequency frequency = pulseIn(sensorOut, LOW); // Printing the value on the serial monitor Serial.print("R= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.print(" "); delay(100); // Setting Green filtered photodiodes to be read digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); // Reading the output frequency frequency = pulseIn(sensorOut, LOW); // Printing the value on the serial monitor Serial.print("G= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.print(" "); delay(100); // Setting Blue filtered photodiodes to be read digitalWrite(S2,LOW); digitalWrite(S3,HIGH); // Reading the output frequency frequency = pulseIn(sensorOut, LOW); // Printing the value on the serial monitor Serial.print("B= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.println(" "); delay(100); }Bahasa kode: Arduino (arduino)

Sekarang jika kita menjalankan Serial Monitor kita akan mulai mendapatkan beberapa nilai. Nilai-nilai ini tergantung pada penskalaan frekuensi yang dipilih, serta dari pencahayaan di sekitar.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Perhatikan bahwa tiga nilai berbeda karena sensitivitas yang berbeda dari setiap jenis fotodioda, seperti yang terlihat dari diagram respons spektral fotodioda dari datasheet sensor.

Namun, sekarang mari kita lihat bagaimana nilai bereaksi ketika kita mendekatkan berbagai warna ke depan sensor. Jadi misalnya, jika kita mendekatkan warna merah, nilai awal akan turun, dalam kasus saya dari sekitar 70 menjadi sekitar 25.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Jadi sekarang jika kita ingin mewakili warna yang terdeteksi dengan Model RGB yang memiliki nilai dari 0 hingga 255, kita akan menggunakan fungsi map() untuk memetakan atau mengonversi pembacaan ke nilai dari 0 hingga 255.

//Remaping the value of the frequency to the RGB Model of 0 to 255 frequency = map(frequency, 25,70,255,0);

Nilai 70 akan dipetakan ke 0, dan nilai 25 ke 255. Prosedur yang sama untuk dua warna lain.

Berikut kode sumber akhir untuk contoh ini:

/* Arduino Color Sensing Tutorial * * by Dejan Nedelkovski, www.HowToMechatronics.com * */ #define S0 4 #define S1 5 #define S2 6 #define S3 7 #define sensorOut 8 int frequency = 0; void setup() { pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(sensorOut, INPUT); // Setting frequency-scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW); Serial.begin(9600); } void loop() { // Setting red filtered photodiodes to be read digitalWrite(S2,LOW); digitalWrite(S3,LOW); // Reading the output frequency frequency = pulseIn(sensorOut, LOW); //Remaping the value of the frequency to the RGB Model of 0 to 255 frequency = map(frequency, 25,72,255,0); // Printing the value on the serial monitor Serial.print("R= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.print(" "); delay(100); // Setting Green filtered photodiodes to be read digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); // Reading the output frequency frequency = pulseIn(sensorOut, LOW); //Remaping the value of the frequency to the RGB Model of 0 to 255 frequency = map(frequency, 30,90,255,0); // Printing the value on the serial monitor Serial.print("G= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.print(" "); delay(100); // Setting Blue filtered photodiodes to be read digitalWrite(S2,LOW); digitalWrite(S3,HIGH); // Reading the output frequency frequency = pulseIn(sensorOut, LOW); //Remaping the value of the frequency to the RGB Model of 0 to 255 frequency = map(frequency, 25,70,255,0); // Printing the value on the serial monitor Serial.print("B= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.println(" "); delay(100); }Bahasa kode: Arduino (arduino)

Perhatikan bahwa warna tidak begitu akurat tetapi masih cukup baik untuk proyek sederhana. Sebagai contoh lain dari sensor warna TCS230 dalam video saya selanjutnya kita akan mempelajari cara membuat Mesin Pengelola Warna Otomatis berbasis Arduino.

Kuasai Deteksi Warna Arduino dengan Sensor TCS230/TCS3200 – Panduan Langkah demi Langkah

Silakan ajukan pertanyaan apa pun di bagian komentar di bawah ini dan jangan lupa untuk memeriksa koleksi Proyek Arduino saya.


Proses manufaktur

  1. Tutorial Sensor Cahaya Raspberry Pi – Pasang LDR dan Baca Tingkat Cahaya dengan Python
  2. Buat Kunci RFID Arduino yang Aman – Panduan Langkah demi Langkah
  3. Sensor CO2 K30: Pemantauan Kualitas Udara Indoor dalam Waktu Nyata
  4. Buat Stadiometer Digital: Lacak Tinggi Badan dengan Arduino dan Sensor Laser
  5. Mengintegrasikan Sensor Sidik Jari Kapasitif DFRobot dengan Arduino atau ESP8266
  6. Bangun Menara Sensor dengan Arduino Cloud: Pemantauan Suhu, Gerakan & Gas
  7. Pencampur Warna LED RGB Arduino – Proyek DIY Untuk Pemula
  8. Pencampur Warna RGB Arduino – Tutorial Langkah demi Langkah
  9. Semarkan Tahun Baru Anda dengan Lampu LED Musik Dinamis
  10. Tutorial Arduino Untuk Pemula 01: Mulai dengan Proyek Pertama Anda