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

Бичил: битийн дуу чимээний түвшинг илрүүлэгч: 3 алхам
Бичил: битийн дуу чимээний түвшинг илрүүлэгч: 3 алхам

Видео: Бичил: битийн дуу чимээний түвшинг илрүүлэгч: 3 алхам

Видео: Бичил: битийн дуу чимээний түвшинг илрүүлэгч: 3 алхам
Видео: Уул уурхайн бизнесийн эзэн болоорой! - Idle Mining Empire GamePlay 🎮📱 2024, Арваннэгдүгээр
Anonim
Бичил: битийн дуу чимээний түвшинг илрүүлэгч
Бичил: битийн дуу чимээний түвшинг илрүүлэгч
Бичил: битийн дуу чимээний түвшинг илрүүлэгч
Бичил: битийн дуу чимээний түвшинг илрүүлэгч
Бичил: битийн дуу чимээний түвшинг илрүүлэгч
Бичил: битийн дуу чимээний түвшинг илрүүлэгч

Энэ бол micro: bit болон Pimoroni enviro: bit дээр суурилсан дуу чимээний түвшний детекторын богино жишээ юм.

Орчны микрофон: бит нь дууны түвшинг илрүүлдэг бөгөөд үүний үр дүнд 5х5 хэмжээтэй LED матриц дээрх байрлалыг тооцоолж, холбогдох LED идэвхждэг. Хэмжсэн хамгийн их утгыг LED матриц дээр хадгалдаг бөгөөд харуулдаг.

Мөн утгыг тоогоор харуулах боломжтой.

Тиймээс энэ нь үндсэндээ дуу чимээний түвшинг илрүүлэх маш энгийн хэрэгсэл юм. ангийн өрөөний туршилтанд зориулагдсан болно.

Микро: битийн 5x5 хэмжээтэй LED матриц дээр мэдрэгчийн илрүүлсэн бодит ба хамгийн их утгыг харуулахын тулд тайлбарласан аргыг температур, чийгшил, даралт зэрэг бусад үзүүлэлтүүдэд ашиглаж болно.

Алхам 1: Ашигласан эд анги, програм хангамж

Техник хангамж:

  • Микро: жаахан
  • Pimoroni -ийн орчин: бит - дуу, гэрэл, өнгө, даралт/температур/чийгшил гэсэн гурван мэдрэгчтэй (Pimoroni -д 20 GBP)
  • Pimoroni -ийн хүч: бит - төхөөрөмжийг батерейгаар тэжээх (заавал биш эсвэл микробитийг тэжээх өөр арга зам, Пиморонид 6 GBP)

Програм хангамж:

  • Microsoft MakeCode
  • Pimoroni орчин: бит MakeCode өргөтгөл

Скриптийг өөрийн микро: бит рүү ачаалахын тулд өгсөн зургаан өнцөгт файлыг enviro: bit хавсаргасан өөрийн micro: bit рүү хуулж аваарай.

Алхам 2: Код

Энэ кодыг Microsoft MakeCode ашиглан Enviro: Bit өргөтгөлийг ашиглан блок хэлбэрээр бичсэн болно.

Envirobit.getSoundLevel () функц нь мэдрэгчийн дууны түвшинг уншиж, 0 -ээс 443 хүртэлх утгыг буцаана.

Тогтмол signal_max нь LED матриц дээр харуулах динамик мужийн хамгийн их утгыг тодорхойлдог бөгөөд дээрх утгуудыг signal_max гэж үзэх болно. Энэ нь төхөөрөмжийн хэрэглээний мэдрэмжийг оновчтой болгох боломжийг танд олгоно.

Хэмжлийн тойрогт илэрсэн хамгийн их утга нь noise_max хувилбарт хадгалагдах бөгөөд LED матриц дээр харагдана.

"А" товчлуурыг дарж, noise_max -ийг дахин тохируулж, дэлгэцийг цэвэрлэнэ. "B" товчлуурыг дарахад дуу чимээний хэмжигдэхүүнийг бодит тоо болгон харуулна.

Утгыг харуулахын тулд signal_max -ийн доорх утгыг 0 (зүүн дээд) -ээс 24 (баруун доод) хүртэл нэг LED -ээр дүрсэлсэн 25 "хогийн саванд" байрлуулна. Дараа нь x/y байрлалыг тооцоолж, харгалзах LED -ийг асаана. Signal_max -ээс дээш утгыг 24 -р хогийн саванд байрлуулна. Хэрэв утга noise_max -ээс доогуур байвал LED дахин асах болно.

let noise_x = 0let signal_max = 0 let noise_5 = 0 let noise_25 = 0 let_max = 0 basic.showString ("Дуу чимээ").buttonIsPressed (Button. B)) {basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("-")} if (input.buttonIsPressed (Button. A)) {noise_max = 0 basic.clearScreen ()} чимээ_25 = Math.floor (envirobit.getSoundLevel () / signal_max * 25) хэрэв дуу чимээ_5) үндсэн. түр зогсоох (200) хэрэв

Алхам 3: Min/Max индикатор бүхий температур (чийгшил, даралт) мэдрэгчийн код

Мин/Макс индикатор бүхий температур (чийгшил, даралт) мэдрэгчийн код
Мин/Макс индикатор бүхий температур (чийгшил, даралт) мэдрэгчийн код

Эндээс та enviro: bit temperatur функцийн кодыг олох болно.

Signal_min ба signal_max параметрүүд нь LED матриц дээр харуулсан хамгийн бага ба хамгийн их температурыг (*C) тохируулдаг. Энд signal_main = 5 ба signal_max = 30 тохиргоог хийснээр 5 ба 6*C хэмжиж, зүүн дээд LED (0, 0), 28/29*C баруун доод LED (4, 4) -ээр дүрсэлнэ.

Оновчтой болгох зай бий: одоогийн кодын дагуу температур нэмэгдэж, буурч байгаа нь LED -ийн ул мөрийг асааж, унтрааж байна. Нөгөө талаас энэ нь одоогийн температурын чиг хандлагыг унших боломжийг олгодог (унах/өсөх), учир нь одоогийн утгыг LED анивчдаг.

GetTumperature () -ийг getHumidity () эсвэл getPressure () -ээр сольж, signal_min ба signal_max утгуудыг тохируулан (жишээлбэл, 050 % тус тус 950/1150 hPA) эдгээр параметрүүдийг LED матриц дээр харуулах боломжтой болно.

Let Temp_x = 0let Temp_5 = 0 let signal_delta = 0 let Temp_25 = 0 let Temp_Min = 0 let_min = 0 lett_max = 0 let_tax_max = 0 үндсэн.showString ("Темп") Temp_Max = 0 Temp_Min = 24 basic.forever (function () {if (input.buttonIsPressed (Button. A)) {Temp_Max = 0 Temp_Min = 24 basic.clearScreen ()} while (input.buttonIsPressed (Button. B)) { basic.showNumber (Math.round (envirobit.getTemperature ())) basic.showString ("C")} Temp_25 = Math.floor ((envirobit.getTemperature () - signal_min) / signal_delta * 25) if (Temp_25> 24) {Temp_25 = 24} if (Temp_25 <0) {Temp_25 = 0} Temp_5 = Math.floor (Temp_25 / 5) Temp_x = Temp_25 - Temp_5 * 5 led.plot (Temp_x, Temp_5) basic.pause (100) if (Temp_25) Temp_Min) {led.unplot (Temp_x, Temp_5)} if (Temp_25> Temp_Max) {Temp_Max = Temp_25} if (Temp_25 <Temp_Min) {Temp_Min = Temp_25}})

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