Агуулгын хүснэгт:

Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: микрод зориулсан бит: бит: 5 алхам
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: микрод зориулсан бит: бит: 5 алхам

Видео: Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: микрод зориулсан бит: бит: 5 алхам

Видео: Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: микрод зориулсан бит: бит: 5 алхам
Видео: Introducing Enviro: The Ultimate Indoor Environmental Monitor for Raspberry Pi 2024, Долдугаар сарын
Anonim
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: Micro: bit -ийн бит
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: Micro: bit -ийн бит
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: Micro: bit -ийн бит
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: Micro: bit -ийн бит
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: Micro: bit -ийн бит
Pimoroni Enviro -ийн тусламжтайгаар гэрэл ба өнгөний хэмжилт: Micro: bit -ийн бит

Би өмнө нь гэрэл, өнгөний хэмжилт хийх боломжтой төхөөрөмжүүд дээр ажиллаж байсан бөгөөд энд, энд байгаа зааварчилгааны хэмжүүрийн онолын талаар та маш их зүйлийг олж мэдэх боломжтой.

Пиморон саяхан дууны түвшинг хэмжих MEMS микрофон, BME280 температур/чийгшил/агаарын даралт мэдрэгч, TCS3475 гэрэл, өнгөний мэдрэгч (RGBC) дагалдах микро: битийн нэмэлт орчин болох бит орчныг гаргалаа. Нэмж дурдахад өнгөний мэдрэгчийн хажуу талд хоёр LED байрлуулсан бөгөөд энэ нь тусгасан гэрлээр объектын өнгийг хэмжих боломжийг олгодог. Эдгээр хэмжилтийг хийх багажийг өөрөө бүтээх нь хэзээ ч ийм амархан байгаагүй.

Энд би өнгө, гэрлийн хэмжилт, эдгээрийг хийх боломжийг олгодог MakeCode скриптийг хэрхэн ашиглаж болохыг тайлбарлахыг хүсч байна. Micro: bit ба enviro: bit-ийн хослол нь шинжлэх ухааны хэмжилтийн зарчмуудыг гараар үзүүлэх, тэдэнтэй тоглох сайхан, хямд төхөөрөмж юм.

Энэхүү зааварчилгаа нь "Солонго" тэмцээний нэг хэсэг юм. Хэрэв танд таалагдсан бол саналаа өгөөрэй. Баярлалаа

Алхам 1: Ашигласан материал

Бичил: бит, Pimoroni дээр 13 GBP.

Pimoroni Enviro: бит, Пиморонид 20 GBP.

Pimoroni Power: бит, 6 GBP Piomoroni дээр. Та мөн микро: битийн хувьд батерейны багц эсвэл LiPo ашиглаж болно

Rosco Cinegel өнгөт шүүлтүүрийн дээжийн блок. Би Берлиний Модулор хотоос авсан.

IKEA өнгөт хуванцар аяга. IKEA, Берлин.

Зэрлэг цэцэг. Потсдам-Голм дахь нуга.

Алхам 2: MakeCode/JavaScript скрипт

Pimoroni нь MakeCode/JavaScript кодлох орчин болон MicroPython -ийн аль алинд нь зориулагдсан Enviro: bit номын санг боловсруулсан. Би энд MakeCode -ийг ашигласан, учир нь скриптүүдийг micro: bit дээр шууд байршуулж, блок кодлох боломжийг олгодог.

Скрипт нь улаан, ногоон, цэнхэр (RGB) болон тодорхой (C) сувгуудын утгыг уншдаг. Эхнийх нь 0 -ээс 255 хүртэлх утгуудаар, хоёр дахь нь 0 -ээс 61000 хооронд байна.

Цэвэр сувгийн хүрээ нь маш өргөн бөгөөд өдрийн тод гэрлээс харанхуй өрөөнд хэмжих боломжийг олгодог.

Өнгө өнгөний хэмжих функцын бүх нарийн ширийн зүйлийг би одоо болтол ойлгохгүй байгаа боловч тэдгээрийг засах, хэвийн болгох зарим механизмыг хэрэгжүүлсэн гэж бодож байна.

Эхлээд бүх дөрвөн сувгийн утгыг авдаг. Үр дүнг 5x5 LED матриц дээр харуулахын тулд хэмжсэн утгыг үр дүнг 5 (RGB) эсвэл 10 (C) саванд байрлуулахад ашигладаг бөгөөд тэдгээрийг нэг LED (R, G, B) эсвэл хоёр (C) эгнээ.

RGB -ийн хувьд масштаб нь шугаман бөгөөд сав бүрийн интервалын хэмжээ 51 нэгжийн өргөнтэй байна. С-ийн хувьд масштабыг 10 алхамаас дээш логарифмаар хийдэг (log3, ингэснээр алхам бүр нь өмнөхөөсөө 3 дахин их байдаг). Энэ нь маш бүдэг, маш тод нөхцлийг харуулах боломжийг олгодог.

А товчлуурыг дарахад R, G, B утгыг тоогоор, B дээр C утгыг харуулна. A+B нь LED -ийг идэвхжүүлж, B нь унтрах болно.

bR = 0 // бинкийг зөвшөөрнө үү

bG = 0 Let bB = 0 Let bS = 0 Let bC = 0 Let bCx = 0 Let S = 0 // хэмжсэн утгуудыг C = 0 Let B = 0 Let G = 0 Let R = 0 basic.forever (() => {if (input.buttonIsPressed (Button. AB)) {envirobit.setLEDs (envirobit. OnOff. On)} if if (input.buttonIsPressed (Button. A)) {basic.showString ("R:" + R +) "G:" + G + "B:" + B)} if if (input.buttonIsPressed (Button. B)) {basic.showString ("C:" + C) envirobit.setLEDs (envirobit. OnOff. Off)} өөр {basic.pause (100) R = envirobit.getRed () G = envirobit.getGreen () B = envirobit.getBlue () C = envirobit.getLight () bC = 5 bCx = 5 бол (R> = 204) { // binning, max 255 bR = 4} if if (R> = 153) {bR = 3} if if (R> = 102) {bR = 2} if if (R> = 51) {bR = 1} other {bR = 0} if (G> = 204) {bG = 4} if if (G> = 153) {bG = 3} if if (G> = 102) {bG = 2} if if (G> = 51)) {bG = 1} өөр {bG = 0} if (B> = 204) {bB = 4} if if (B> = 153) {bB = 3} if if (B> = 102) {bB = 2} else if (B> = 51) {bB = 1} else {bB = 0} if (C> = 60000)) {// Saturation bCx = 4} if if (C> = 20000) {bCx = 3} if if (C> = 6600) {bCx = 2} if (C> = 2200) {bCx = 1} if if if (C> = 729) {bCx = 0} if if (C> = 243) {bC = 4} if if (C> = 81) {bC = 3} if if (C> = 27) {bC = 2} else if (C> = 9) {bC = 1} else {bC = 0} // led basic руу бичнэ үү. cleararScreen () if (bCx <5) {led.plot (1, bCx)} өөр {led.plot (0, bC)} led.plot (2, bR) led.plot (3, bG) led.plot (4, bB)}})

Алхам 3: RGB хэмжилт хийх: дамжуулсан гэрлийн горим

RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим
RGB хэмжилт хийх: дамжуулсан гэрлийн горим

Өмнө дурьдсанчлан өнгийг хэмжих хоёр горим байдаг: дамжуулсан ба тусгасан гэрлийн спектроскопи. Дамжуулсан гэрлийн горимд гэрэл нь өнгөт шүүлтүүр эсвэл уусмалаар дамжин мэдрэгч рүү ордог. Гэрэл тусгасан гэрлийн хэмжилтэд гэрэл ялгаруулдаг. LED -ээс объектыг тусгаж, мэдрэгчээр илрүүлдэг.

RGB утгыг дараа нь микро: бит 5х5 хэмжээтэй LED матрицын 3-5 -р эгнээнд харуулах бөгөөд дээд LED нь бага, доод LED нь өндөр утгыг харуулна.

Гэрэл дамжуулсан гэрлийн хэмжилтийг энд үзүүлсэн туршилтуудын хувьд би өдрийн гэрлийг ашиглаж, мэдрэгчийн урд талд Rosco загварын дээжээс өнгөт шүүлтүүр байрлуулсан. Та эффектийг дэлгэц дээр, ялангуяа улаан суваг дээр харж болно. Зургийг үзээд загварыг харьцуулж үзээрэй.

Бодит утгыг уншихын тулд А товчийг дарна уу.

Алхам 4: Хөнгөн RGB болон гэрэлтүүлгийн хэмжилт

Гэрэл RGB болон гэрэлтүүлгийн хэмжилтийг тусгасан болно
Гэрэл RGB болон гэрэлтүүлгийн хэмжилтийг тусгасан болно
Гэрэл RGB болон гэрэлтүүлгийн хэмжилтийг тусгасан болно
Гэрэл RGB болон гэрэлтүүлгийн хэмжилтийг тусгасан болно
Гэрэл RGB болон гэрэлтүүлгийн хэмжилтийг тусгасан болно
Гэрэл RGB болон гэрэлтүүлгийн хэмжилтийг тусгасан болно

Гэрлийг хэмжихийн тулд би LED -г асааж (товчлуур [A+B]) болон IKEA -ийн хүүхдийн аяганы тод өнгийн хэсгүүдийг мэдрэгчийн урд байрлуулав. Зургаас харахад RGB -ийн утгууд хүлээгдэж буй байдлаар өөрчлөгдөж байна.

Гэрэлтүүлгийг хэмжихийн тулд бага утгыг эхний, өндөр утгыг хоёр дахь эгнээнд харуулна. Доод талын бага утгууд, доод LED -ээр өндөр утгууд. Тодорхой утгыг уншихын тулд B товчийг дарна уу.

Алхам 5: Цацруулсан гэрлийн хэмжилт: Цэцэг

Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг
Цацруулсан гэрлийн хэмжилт: Цэцэг

Би нуга дээрээс хэдэн зэрлэг цэцэг түүж, намуу, эрдэнэ шиш, хүрэн гурил, ханын харваа, диланделон навчны өнгөний хэмжилт хийхийг оролдов. RGB утга нь [R, G, B]:

  • аль нь ч биш [92, 100, 105]
  • намуу (улаан) [208, 98, 99]
  • эрдэнэ шиш (цэнхэр) [93, 96, 138]
  • хүрэн борцог (голт бор) [122, 97, 133]
  • ханын харвид (шар) [144, 109, 63]
  • Данделон навч (ногоон) [164, 144, 124]

Наад зах нь эхний гурван ургамлын хувьд хүлээлтэд нийцэж байна. Өнгийг утгуудаас харуулахын тулд та энд байгаа шиг өнгө тооцоолуур ашиглаж болно.

Зөвлөмж болгож буй: