Мазмуну:
- 1 -кадам: Колдонулган материалдар
- 2 -кадам: MakeCode/JavaScript Script
- 3 -кадам: RGB өлчөөлөрүн алуу: Жарык режими
- 4 -кадам: Reflected Light RGB жана Жарыктык өлчөөлөрү
- 5 -кадам: Жарыктын чагылышы: Гүлдөр
Video: Pimoroni Enviro менен жарык жана түстү өлчөө: микро үчүн бит: бит: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Мен буга чейин жарык менен түстү өлчөөгө мүмкүндүк берген кээ бир түзмөктөрдө иштечүмүн жана мындай өлчөөлөрдүн теориясы жөнүндө бул жерде жана бул жерде көрсөтмөлөрдү көп таба аласыз.
Pimoroni жакында эквивалентти чыгарды: бит, микро: бит, бул үн деңгээлин өлчөө үчүн MEMS микрофону, BME280 температурасы/нымдуулугу/аба басымынын сенсору жана TCS3475 жарык жана түстүү сенсор (RGBC) менен коштолот. Мындан тышкары, түстүү сенсордун капталында жайгаштырылган эки светодиод бар, алар чагылган жарык аркылуу объекттердин түсүн өлчөөгө мүмкүндүк берет. Бул өлчөөлөрдү аткаруу үчүн өзүңүз куралды куруу эч качан оңой болгон эмес.
Мен бул жерде enviro: bitти түстү жана жарыкты өлчөө үчүн жана буларды жасоого мүмкүнчүлүк берген MakeCode сценарийи үчүн кантип колдонсо болорун сүрөттөп бергим келет. Micro: bit жана enviro: bitтин айкалышы-бул илимий өлчөөлөрдүн принциптерин практикалык түрдө көрсөтүү жана алар менен ойноо үчүн жагымдуу жана арзан аппарат.
Бул көрсөтмө "Радуга" сынагынын бир бөлүгү. Эгер сизге жаккан болсо, анда добуш берүүңүздү суранабыз
1 -кадам: Колдонулган материалдар
Микро: бит, Pimoroni боюнча 13 GBP.
Pimoroni Enviro: бит, Pimoroni боюнча 20 GBP.
Pimoroni Power: бит, Piomoroni боюнча 6 GBP. Сиз ошондой эле micro: bit үчүн батарея топтомдорун же LiPo колдоно аласыз
Rosco Cinegel түстүү чыпкасы үлгү блогу. Меники Модулордон, Берлинден.
IKEA түстүү пластикалык чөйчөктөр. IKEA, Берлин.
Жапайы гүлдөр. Потсдам-Голмдогу шалбаалар.
2 -кадам: MakeCode/JavaScript Script
Pimoroni EnCiro: bit үчүн MakeCode/JavaScript коддоо чөйрөсү үчүн жана MicroPython үчүн китепкана иштеп чыкты. Мен бул жерде MakeCode колдондум, анткени сценарийлер түздөн -түз micro: bitке жүктөлүп, блокировкалоого мүмкүндүк берет.
Сценарий кызыл, жашыл жана көк (RGB) жана ачык (C) каналдардын баалуулуктарын окуйт. Биринчилер 0ден 255ке чейин, экинчиси 0дон 61000ге чейинки бүт диапазондо берилет.
Таза каналдын диапазону абдан кең жана күндүн жарыгынан караңгы бөлмөгө чейин өлчөөгө мүмкүндүк берет.
Азырынча мен түстү өлчөө функциясынын бардык деталдарын түшүнбөйм, бирок аларда кээ бир оңдоо жана нормалдаштыруу механизмдери бар деп ойлойм.
Башында бардык төрт каналдын баалуулуктары алынат. Жыйынтыктарды 5x5 LED матрицасында көрсөтө алуу үчүн, өлчөнгөн баалуулуктар натыйжаларды 5 (RGB) же 10 (C) контейнерлерге жайгаштыруу үчүн колдонулат, алар бир LED (R, G, B) же эки (C) катар.
RGB учурда, масштабдоо сызыктуу жана ар бир урнанын интервалынын өлчөмү туурасы 51 бирдик. C учурда, масштабдоо 10 кадамдан ашык логарифмдик (log3, ошондуктан ар бир кадам мурункудан 3 эсе көп). Бул абдан күңүрт жана өтө жарык шарттарды көрсөтүүгө мүмкүндүк берет.
А баскычын басуу R, G жана B маанилерин сандарда көрсөтөт, B ценгин басуу. A+B диоддорду иштетет жана В аларды өчүрөт.
bR = 0 // бинс болсун
let 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)} 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, max 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} 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} else if (C> = 6600) {bCx = 2} if if (C> = 2200) {bCx = 1} else if (C> = 729) {bCx = 0} if if (C> = 243) {bC = 4} else if (C> = 81) {bC = 3} if if (C> = 27) {bC = 2} else if (C> = 9) {bC = 1} else {bC = 0} // led to 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)}})
3 -кадам: RGB өлчөөлөрүн алуу: Жарык режими
Жогоруда айтылгандай, түстү өлчөөнүн эки режими бар: өткөрүлгөн жана чагылган жарык спектроскопиясы. Өткөрүлгөн жарык режиминде жарык түстүү чыпкадан же сенсорго эритмеден өтөт. Жарыктын чагылган ченөөлөрүндө жарык ж. Светодиоддордон объект чагылдырылат жана сенсор тарабынан аныкталат.
RGB баалуулуктары андан кийин микро: бит 5x5 LED матрицасынын 3-5 -катарларында көрсөтүлөт, жогорку светодиоддор төмөн, төмөнкү диоддор жогорку баалуулуктарды билдирет.
Бул жерде өткөрүлгөн жарык өлчөө боюнча көрсөтүлгөн эксперименттер үчүн мен күндүзгү жарыкты колдонгон жана сенсордун алдына Rosco үлгүсүндөгү пакеттен түстүү чыпкаларды койгом. Эффекттерди дисплейден, өзгөчө кызыл каналдан көрө аласыз. Сүрөттөрдү карап, үлгүлөрдү салыштырып көрүңүз.
Чыныгы баалуулуктарды окуу үчүн, жөн гана А баскычын басыңыз.
4 -кадам: Reflected Light RGB жана Жарыктык өлчөөлөрү
Жарыктын чагылышын өлчөө үчүн мен диоддорду күйгүздүм (баскыч [A+B]) жана сенсордун алдына IKEA балдар чөйчөгүнүн ачык түстүү бөлүктөрүн койдум. Сүрөттөрдөн көрүнүп тургандай, RGB баалуулуктары күтүлгөндөй өзгөрүүдө.
Жарыктыкты өлчөө үчүн биринчи сапта төмөн маанилер, экинчи сапта жогорку баалуулуктар көрсөтүлөт. Төмөнкү диоддордун үстүнкү, төмөнкү баалуулуктары. Так маанини окуу үчүн B баскычын басыңыз.
5 -кадам: Жарыктын чагылышы: Гүлдөр
Мен шалбаадагы жапайы гүлдөрдү тандап, аларга түс өлчөөлөрүн жасоого аракет кылдым. Бул апийим, жүгөрү гүлү, күрөң чөп, дубал harkweed жана диланделон жалбырагы. RGB баалуулуктары [R, G, B]:
- эч ким [92, 100, 105]
- апийим (кызыл) [208, 98, 99]
- жүгөрү гүлү (көк) [93, 96, 138]
- күрөң өрүм (сирень) [122, 97, 133]
- дубал harkweed (сары) [144, 109, 63]
- каакым жалбырак (жашыл) [164, 144, 124]
Бул күтүүлөргө туура келет, жок дегенде биринчи үч өсүмдүк үчүн. Түстөрдү баалуулуктардан көрсөтүү үчүн, сиз бул жердегидей түстүү эсептегичти колдоно аласыз.
Сунушталууда:
BH1715 жана Raspberry Pi колдонуу менен жарык интенсивдүүлүгүн өлчөө: 5 кадам
BH1715 жана Raspberry Pi менен жарыктын интенсивдүүлүгүн өлчөө: Кечээ биз ЖК дисплейлерде иштеп жатканбыз жана алардын үстүндө иштеп жатканда жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарык интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок анын биологияда жакшы айтылган ролу бар
Микро: бит - Микро барабан машинасы: 10 кадам (Сүрөттөр менен)
Микро: бит - Микро барабан машинасы: Бул микро: бит микро барабан машинасы, жөн эле үндү чыгаруунун ордуна, актуалдуу барабандар. Бул микро: бит оркестринин коёндорунун жетеги менен жазылган. Mocro: bit менен колдонууга оңой болгон кээ бир соленоиддерди табуу мага бир аз убакытты талап кылды
Шамалдын ылдамдыгын микро менен өлчөө: бит жана Snap схемалары: 10 кадам
Шамалдын ылдамдыгын микро менен өлчөө: бит жана Snap Circuits: StoryКызым экөөбүз аба ырайы долбоорунун анемометринде иштеп жаткандыктан, биз программалоо менен көңүл ачууну узартууну чечтик. Анемометр деген эмне? Балким сиз " анемометр " деп сурап жатасыз. болуп саналат. Ооба, бул шамалдын өлчөмүн өлчөөчү аппарат
Микро программалоо: Бит робот жана джойстик: MicroPython менен бит контроллери: 11 кадам
Микро программалоо: Bit Robot & Joystick: MicroPython менен Bit Controller: Robocamp 2019 үчүн, биздин жайкы робототехника лагери, 10-13 жаштагы жаштар BBC микро: битке негизделген "салмакка каршы роботту" ширетип, программалап жана куруп жатышат. микро: битти алыстан башкаруу катары колдонсоңуз болот.Эгер сиз азыр Robocampта болсоңуз, лыжа
Микро менен аралыкты сезүү: бит жана Сонар (HC-SR04 модулу): 3 кадам (сүрөттөр менен)
Микро менен аралыкты сезүү: бит жана Сонар (HC-SR04 модулу): Ушул жумада мен жомоктогудай BBC micro: bit жана sonic сенсорлору менен ойноп көрдүм. Мен бир нече ар кандай модулдарды сынап көрдүм (жалпысынан 50дөн ашык) жана мен жакшы болмок деп ойлодум, андыктан менин кээ бир жыйынтыктарым менен бөлүшөм