Isi kandungan:

Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit: 5 Langkah
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit: 5 Langkah

Video: Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit: 5 Langkah

Video: Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit: 5 Langkah
Video: Review of Pimoroni's Enviro+ board- Part2: LCD, noise level, light+proximity 2024, Julai
Anonim
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit
Pengukuran Cahaya dan Warna Dengan Pimoroni Enviro: bit untuk Mikro: bit

Saya pernah mengusahakan beberapa alat yang membenarkan pengukuran cahaya dan warna sebelum ini dan anda mungkin banyak mengetahui tentang teori di sebalik pengukuran tersebut yang boleh dipelajari di sini dan di sini.

Pimoroni baru-baru ini melancarkan enviro: bit, tambahan untuk mikro: bit, yang dilengkapi dengan mikrofon MEMS untuk pengukuran tahap bunyi, sensor suhu / kelembapan / tekanan udara BME280 dan sensor cahaya dan warna TCS3475 (RGBC). Selain itu terdapat dua LED yang ditempatkan di sisi sensor warna, memungkinkan untuk mengukur warna objek dengan cahaya yang dipantulkan. Membangun sendiri alat untuk melakukan pengukuran ini tidak pernah semudah ini.

Saya di sini ingin menerangkan bagaimana enviro: bit dapat digunakan untuk pengukuran warna dan cahaya dan skrip MakeCode yang memungkinkan untuk melaksanakannya. Gabungan mikro: bit dan enviro: bit adalah alat yang bagus dan murah untuk menunjukkan prinsip pengukuran saintifik secara langsung dan bermain dengannya.

Instruksional ini adalah sebahagian daripada pertandingan "Pelangi". Sekiranya anda suka, sila berikan suara anda. Terima kasih

Langkah 1: Bahan Yang Digunakan

Mikro: bit, 13 GBP di Pimoroni.

Pimoroni Enviro: bit, 20 GBP di Pimoroni.

Kuasa Pimoroni: bit, 6 GBP di Piomoroni. Anda juga boleh menggunakan pek bateri atau LiPo untuk mikro: bit

Blok sampel penapis warna Rosco Cinegel. Saya mendapat milik saya dari Modulor, Berlin.

Cawan plastik berwarna IKEA. IKEA, Berlin.

Bunga liar. Padang rumput di Potsdam-Golm.

Langkah 2: Skrip MakeCode / JavaScript

Pimoroni telah mengembangkan perpustakaan untuk Enviro: bit, baik untuk persekitaran pengkodean MakeCode / JavaScript dan untuk MicroPython. Saya di sini telah menggunakan MakeCode, kerana skrip boleh dimuat naik terus ke mikro: bit dan membenarkan pengekodan blok.

Skrip membaca nilai saluran merah, hijau dan biru (RGB) dan saluran jelas (C). Yang pertama diberikan dalam nilai dari 0 hingga 255, yang kedua dalam keseluruhan berkisar dari 0 hingga sekitar 61000.

Julat saluran yang jelas sangat luas dan memungkinkan pengukuran dari cahaya siang yang terang ke bilik yang gelap.

Sekarang saya tidak memahami semua perincian fungsi pengukuran warna, tetapi saya menganggap bahawa mereka telah melaksanakan beberapa mekanisme pembetulan dan normalisasi.

Pada mulanya, nilai keempat-empat saluran diambil. Untuk dapat memaparkan hasil pada matriks LED 5x5, nilai yang diukur digunakan untuk meletakkan hasilnya dalam 5 (RGB) atau 10 (C) tong, yang diwakili oleh satu LED di salah satu (R, G, B) atau dua (C) baris.

Dalam kes RGB, penskalaan adalah linier dan ukuran selang setiap tong lebar 51 unit. Dalam kes C, penskalaan logaritma lebih dari 10 langkah (log3, jadi setiap langkah adalah 3 kali ganda dari sebelumnya). Ini memungkinkan untuk memaparkan keadaan yang sangat redup dan sangat terang.

Menekan butang A memaparkan nilai R, G dan B dalam angka, menekan B nilai C. A + B mengaktifkan LED dan B akan mematikannya.

biarkan bR = 0 // tong sampah

biarkan bG = 0 biarkan bB = 0 biarkan bS = 0 biarkan bC = 0 biarkan bCx = 0 biarkan S = 0 // nilai diukur biarkan C = 0 biarkan B = 0 biarkan G = 0 biarkan R = 0 asas. sebelumnya (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} lain jika (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R + "G:" + G + "B:" + B)} lain jika (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)} lain {basic.pause (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 if (R> = 204) { // binning, max 255 bR = 4} lain jika (R> = 153) {bR = 3} lain jika (R> = 102) {bR = 2} lain jika (R> = 51) {bR = 1} yang lain {bR = 0} if (G> = 204) {bG = 4} lain jika (G> = 153) {bG = 3} lain jika (G> = 102) {bG = 2} lain jika (G> = 51) {bG = 1} lain {bG = 0} jika (B> = 204) {bB = 4} lain jika (B> = 153) {bB = 3} lain jika (B> = 102) {bB = 2} lain jika (B> = 51) {bB = 1} lain {bB = 0} jika (C> = 60000) {// Ketepuan bCx = 4} lain jika (C> = 20000) {bCx = 3} lain jika (C> = 6600) {bCx = 2} lain jika (C> = 2200) {bCx = 1} lain jika (C> = 729) {bCx = 0} lain jika (C> = 243) {bC = 4} lain jika (C> = 81) {bC = 3} lain jika (C> = 27) {bC = 2} lain jika (C> = 9) {bC = 1} lain {bC = 0} // tulis ke led basic.clearScreen () if (bCx <5) {led.plot (1, bCx)} lain {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})

Langkah 3: Mengambil Pengukuran RGB: Mod Cahaya Dihantar

Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar
Mengambil Pengukuran RGB: Mod Cahaya Dihantar

Seperti yang ditunjukkan sebelumnya, ada dua mode pengukuran warna: spektroskopi cahaya yang dipancarkan dan dipantulkan. Dalam mod cahaya yang dipancarkan, cahaya melalui penapis berwarna atau larutan ke sensor. Dalam pengukuran cahaya yang dipantulkan, cahaya yang dipancarkan mis. dari LED dipantulkan oleh objek dan dikesan oleh sensor.

Nilai RGB kemudian dipaparkan dalam baris ke-3 hingga ke-5 matriks LED mikro: bit 5x5, dengan LED atas mewakili rendah, LED yang lebih rendah akan menjadi nilai tinggi.

Untuk eksperimen yang ditunjukkan di sini mengenai pengukuran cahaya yang dipancarkan, saya menggunakan cahaya siang dan meletakkan penapis berwarna dari paket sampel Rosco di hadapan sensor. Anda dapat melihat kesan pada paparan, terutama di saluran merah. Lihat gambar dan bandingkan coraknya.

Untuk membaca nilai sebenar, tekan butang A.

Langkah 4: RGB Cahaya Tercermin, dan Pengukuran Kecerahan

RGB Cahaya Tercermin, dan Pengukuran Kecerahan
RGB Cahaya Tercermin, dan Pengukuran Kecerahan
RGB Cahaya Tercermin, dan Pengukuran Kecerahan
RGB Cahaya Tercermin, dan Pengukuran Kecerahan
RGB Cahaya Tercermin, dan Pengukuran Kecerahan
RGB Cahaya Tercermin, dan Pengukuran Kecerahan

Untuk pengukuran cahaya yang dipantulkan, saya menyalakan LED (butang [A + B]) dan meletakkan beberapa kepingan cawan kanak-kanak IKEA berwarna terang di hadapan sensor. Seperti yang dapat dilihat dari gambar, nilai RGB berubah seperti yang diharapkan.

Untuk pengukuran kecerahan, nilai rendah ditunjukkan pada nilai pertama, tinggi di baris kedua. Nilai rendah di bahagian atas, nilai yang lebih tinggi oleh LED yang lebih rendah. Untuk membaca nilai tepat, tekan butang B.

Langkah 5: Pengukuran Cahaya Tercermin: Bunga

Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga
Pengukuran Cahaya Tercermin: Bunga

Saya mengambil beberapa bunga liar dari padang rumput dan cuba melakukan beberapa ukuran warna di atasnya. Ini adalah bunga poppy, cornflower, brown knapweed, wall harkweed dan daun dilandelon. Nilai RGB adalah [R, G, B]:

  • tiada [92, 100, 105]
  • poppy (merah) [208, 98, 99]
  • bunga jagung (biru) [93, 96, 138]
  • knapweed coklat (ungu) [122, 97, 133]
  • dinding harkweed (kuning) [144, 109, 63]
  • daun dandelon (hijau) [164, 144, 124]

Yang sesuai dengan jangkaan, sekurang-kurangnya untuk tiga tanaman pertama. Untuk memaparkan warna dari nilai, anda boleh menggunakan kalkulator warna, seperti yang ada di sini.

Disyorkan: