Daftar Isi:
- Langkah 1: Bahan yang Digunakan
- Langkah 2: Skrip MakeCode/JavaScript
- Langkah 3: Mengambil Pengukuran RGB: Mode Cahaya yang Ditransmisikan
- Langkah 4: RGB Cahaya Terpantul, dan Pengukuran Kecerahan
- Langkah 5: Pengukuran Cahaya Terpantul: Bunga
Video: Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro:bit untuk Mikro:bit: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Saya telah mengerjakan beberapa perangkat yang memungkinkan pengukuran cahaya dan warna sebelumnya dan Anda mungkin menemukan banyak tentang teori di balik pengukuran tersebut, instruksi di sini dan di sini.
Pimoroni baru-baru ini merilis enviro:bit, add-on untuk mikro:bit, yang dilengkapi dengan mikrofon MEMS untuk pengukuran tingkat suara, sensor suhu/kelembaban/tekanan udara BME280 dan sensor cahaya dan warna TCS3475 (RGBC). Selain itu ada dua LED yang ditempatkan di sisi sensor warna, memungkinkan untuk mengukur warna objek dengan cahaya yang dipantulkan. Membangun alat sendiri untuk melakukan pengukuran ini tidak pernah semudah ini.
Saya di sini ingin menjelaskan bagaimana enviro:bit dapat digunakan untuk pengukuran warna dan cahaya dan skrip MakeCode yang memungkinkan untuk melakukan ini. Kombinasi mikro:bit dan enviro:bit adalah perangkat yang bagus dan murah untuk mendemonstrasikan prinsip-prinsip pengukuran ilmiah secara langsung dan bermain dengannya.
Instruksi ini adalah bagian dari kontes "Pelangi". Jika Anda menyukainya, silakan berikan suara Anda. Terima kasihH
Langkah 1: Bahan yang Digunakan
Mikro:bit, 13 GBP di Pimoroni.
Pimoroni Enviro:bit, 20 GBP di Pimoroni.
Pimoroni Power:bit, 6 GBP di Piomoroni. Anda juga dapat menggunakan paket baterai atau LiPo untuk mikro:bit
Blok sampel filter warna Rosco Cinegel. Saya mendapatkan milik saya dari Modulor, Berlin.
Gelas plastik warna IKEA. IKEA, Berlin.
Bunga liar. Sebuah padang rumput di Potsdam-Golm.
Langkah 2: Skrip MakeCode/JavaScript
Pimoroni telah mengembangkan perpustakaan untuk Enviro:bit, baik untuk lingkungan pengkodean MakeCode/JavaScript dan untuk MicroPython. Saya di sini telah menggunakan MakeCode, karena skrip dapat diunggah langsung ke mikro:bit dan memungkinkan pengkodean blok.
Script membaca nilai saluran merah, hijau dan biru (RGB) dan clear (C). Yang pertama diberikan dalam nilai dari 0 hingga 255, yang kedua dalam rentang keseluruhan dari 0 hingga sekitar 61000.
Rentang saluran jernih sangat lebar dan memungkinkan pengukuran dari siang hari yang cerah hingga ruangan yang gelap.
Sekarang saya tidak mengerti semua detail fungsi pengukuran warna, tetapi saya berasumsi bahwa mereka memiliki beberapa mekanisme koreksi dan normalisasi yang diterapkan.
Pada awalnya, nilai keempat saluran diambil. Untuk dapat menampilkan hasil pada matriks LED 5x5, nilai terukur digunakan untuk menempatkan hasil di 5 (RGB) atau 10 (C) bin, yang diwakili oleh satu LED di salah satu (R, G, B) atau dua (C) baris.
Dalam kasus RGB, penskalaannya linier dan ukuran interval setiap bin adalah 51 unit lebar. Dalam kasus C, penskalaan adalah logaritmik lebih dari 10 langkah (log3, jadi setiap langkah adalah 3 kali lipat dari sebelumnya). Hal ini memungkinkan untuk menampilkan kondisi yang sangat redup dan sangat terang.
Menekan tombol A menampilkan nilai R, G dan B dalam angka, menekan B nilai C. A+B mengaktifkan LED dan B akan mematikannya.
misalkan bR = 0 // bins
misal bG = 0 misal bB = 0 misal bS = 0 misal bC = 0 misal bCx = 0 misal S = 0 // nilai terukur misal C = 0 misal B = 0 misal G = 0 misal R = 0 basic.forever(() => { if (input.buttonIsPressed(Button. AB))) { envirobit.setLEDs(envirobit. OnOff. On) } else if (input.buttonIsPressed(Button. A)) { basic.showString("R: " + R + " G: " + G + " B: " + B) } else if (input.buttonIsPressed(Button. B)) { basic.showString("C: " + C) envirobit.setLEDs(envirobit. OnOff. Off) } else { basic.pause(100) R = envirobit.getRed() G = envirobit.getGreen() B = envirobit.getBlue() C = envirobit.getLight() bC = 5 bCx = 5 if (R >= 204) { // binning, maks 255 bR = 4 } else if (R >= 153) { bR = 3 } else if (R >= 102) { bR = 2 } else if (R >= 51) { bR = 1 } else { bR = 0 } if (G >= 204) { bG = 4 } else if (G >= 153) { bG = 3 } else if (G >= 102) { bG = 2 } else if (G >= 51) { bG = 1 } else { bG = 0 } if (B >= 204) { bB = 4 } else if (B >= 153) { bB = 3 } else if (B >= 102) { bB = 2 } else if (B >= 51) { bB = 1 } else { bB = 0 } if (C >= 60000) { // Saturasi bCx = 4 } else if (C >= 20000) { bCx = 3 } else if (C >= 6600) { bCx = 2 } else if (C >= 2200) { bCx = 1 } else if (C >= 729) { bCx = 0 } else if (C >= 243) { bC = 4 } else if (C >= 81) { bC = 3 } else if (C >= 27) { bC = 2 } else if (C >= 9) { bC = 1 } else { bC = 0 } // tulis ke led basic.clearScreen() if (bCx < 5) { led.plot(1, bCx) } else { led.plot (0, bC) } led.plot(2, bR) led.plot(3, bG) led.plot(4, bB) } })
Langkah 3: Mengambil Pengukuran RGB: Mode Cahaya yang Ditransmisikan
Seperti yang ditunjukkan sebelumnya, ada dua mode pengukuran warna: spektroskopi cahaya yang ditransmisikan dan dipantulkan. Dalam mode cahaya yang ditransmisikan, cahaya melewati filter atau larutan berwarna ke sensor. Dalam pengukuran cahaya yang dipantulkan, cahaya yang dipancarkan mis. dari LED dipantulkan oleh objek dan dideteksi oleh sensor.
Nilai RGB kemudian ditampilkan di baris ke-3 hingga ke-5 dari matriks LED mikro:bit 5x5, dengan LED atas mewakili rendah, LED bawah menunjukkan nilai tinggi.
Untuk percobaan yang ditunjukkan di sini pada pengukuran cahaya yang ditransmisikan, saya menggunakan siang hari dan menempatkan filter berwarna dari paket sampel Rosco di depan sensor. Anda dapat melihat efek pada tampilan, terutama di saluran merah. Perhatikan gambar dan bandingkan polanya.
Untuk membaca nilai sebenarnya, cukup tekan tombol A.
Langkah 4: RGB Cahaya Terpantul, dan Pengukuran Kecerahan
Untuk pengukuran cahaya yang dipantulkan, saya menyalakan LED (tombol [A+B]) dan meletakkan beberapa cangkir anak IKEA berwarna cerah di depan sensor. Seperti yang dapat dilihat dari gambar, nilai RGB berubah seperti yang diharapkan.
Untuk pengukuran kecerahan, nilai rendah ditampilkan di baris pertama, nilai tinggi di baris kedua. Nilai rendah di bagian atas, nilai lebih tinggi dengan LED bagian bawah. Untuk membaca nilai yang tepat, tekan tombol B.
Langkah 5: Pengukuran Cahaya Terpantul: Bunga
Saya memetik beberapa bunga liar dari padang rumput dan mencoba melakukan pengukuran warna pada bunga tersebut. Bunganya adalah poppy, cornflower, brown knapweed, wall harkweed, dan daun dilandelon. Nilai RGB adalah [R, G, B]:
- tidak ada [92, 100, 105]
- opium (merah) [208, 98, 99]
- bunga jagung (biru) [93, 96, 138]
- knapweed coklat (lilac) [122, 97, 133]
- wall harkweed (kuning) [144, 109, 63]
- daun dandelon (hijau) [164, 144, 124]
Yang sesuai dengan harapan, setidaknya untuk tiga pabrik pertama. Untuk menampilkan warna dari nilai, Anda dapat menggunakan kalkulator warna, seperti yang ada di sini.
Direkomendasikan:
Menggunakan Pimoroni Enviro+ FeatherWing Dengan Adafruit Feather NRF52840 Express: 8 Langkah
Menggunakan Pimoroni Enviro+ FeatherWing Dengan Adafruit Feather NRF52840 Express: Pimoroni Enviro+ FeatherWing adalah papan yang penuh dengan sensor yang dirancang untuk bekerja dengan rangkaian papan Adafruit Feather. Ini adalah tempat yang berguna untuk memulai bagi siapa saja yang tertarik dengan pemantauan lingkungan, polusi atmosfer, dan pengumpulan data. SAYA
Pengukuran Intensitas Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: 5 Langkah
Pengukuran Intensitas Cahaya dengan Menggunakan BH1715 dan Raspberry Pi: Kemarin kami mengerjakan layar LCD, dan saat mengerjakannya, kami menyadari pentingnya penghitungan intensitas cahaya. Intensitas cahaya tidak hanya penting dalam ranah fisik dunia ini, tetapi juga memiliki peran yang sangat penting dalam
Pelukis Cahaya Multi-Warna (Sentuh Sensitif): 8 Langkah (dengan Gambar)
Pelukis Cahaya Multi-Warna (Sensitif Sentuh): Lukisan cahaya adalah teknik fotografi yang digunakan untuk menciptakan efek khusus pada kecepatan rana lambat. Senter biasanya digunakan untuk "melukis" gambar. Dalam Instruksi ini, saya akan menunjukkan kepada Anda bagaimana membangun pelukis cahaya all in one dengan sentuhan
IoT Hidroponik - Menggunakan IBM Watson untuk Pengukuran PH dan EC: 7 Langkah (dengan Gambar)
IoT Hidroponik - Menggunakan IBM Watson untuk Pengukuran PH dan EC: Instruksi ini akan menunjukkan cara memantau EC, pH, dan suhu pengaturan hidroponik dan mengunggah data ke layanan Watson IBM. Watson bebas untuk memulai. Ada paket berbayar, tetapi paket gratis lebih dari cukup untuk proyek ini
Tongkat Lukisan Cahaya Multi Warna Berbasis Arduino: 13 Langkah (dengan Gambar)
Tongkat Lukisan Cahaya Multi Warna Berbasis Arduino: Lukisan cahaya adalah teknik yang digunakan oleh Fotografer, di mana sumber cahaya digunakan untuk menggambar pola yang menarik dan Kamera akan menyatukannya. Akibatnya Foto akan berisi jejak cahaya di dalamnya yang pada akhirnya akan memberikan tampilan