Мазмұны:

Микро: биттік шу деңгейін анықтау құралы: 3 қадам
Микро: биттік шу деңгейін анықтау құралы: 3 қадам

Бейне: Микро: биттік шу деңгейін анықтау құралы: 3 қадам

Бейне: Микро: биттік шу деңгейін анықтау құралы: 3 қадам
Бейне: L4D2 ҚАЛАЙ ОРНАТУ КЕРЕК 2024, Шілде
Anonim
Микро: биттік шу деңгейін анықтау құралы
Микро: биттік шу деңгейін анықтау құралы
Микро: биттік шу деңгейінің детекторы
Микро: биттік шу деңгейінің детекторы
Микро: биттік шу деңгейінің детекторы
Микро: биттік шу деңгейінің детекторы

Бұл микро: бит пен Pimoroni ортасы: битке негізделген шу деңгейін детекторының қысқа ғана мысалы.

Қоршаған ортадағы микрофон: бит дыбыс деңгейін анықтайды, ал алынған мәннен 5х5 жарықдиодты матрицадағы орын есептеледі және сәйкес жарық диоды қосылады. Өлшенген максималды мәндер жарық диодты матрицада сақталады және көрсетіледі.

Мәндерді сандармен де көрсетуге болады.

Демек, бұл негізінен шу деңгейін анықтаудың өте қарапайым құралы, мысалы. сыныптағы эксперименттер үшін.

Микро: бит 5х5 жарықдиодты матрицада анықталған нақты және максималды мәндерді көрсету үшін сипатталған әдіс температура, ылғалдылық немесе қысым сияқты басқа параметрлер үшін де қолданыла алады.

1 -қадам: Қолданылатын бөлшектер мен бағдарламалық қамтамасыз ету

Жабдық:

  • Микро: бит
  • Pimoroni ортасы: бит - дыбыс, жарық пен түс, қысым/температура/ылғалдылық үшін үш сенсормен келеді (Pimoroni -де 20 GBP)
  • Pimoroni қуаты: бит - құрылғыны аккумулятордан қуаттандыру үшін (міндетті емес немесе микробитті қосудың кез келген басқа әдісі, 6 ГБП Пиморониде)

Бағдарламалық қамтамасыз ету:

  • Microsoft MakeCode
  • Pimoroni ортасы: бит MakeCode кеңейтімі

Сценарийді micro: bit-ке жүктеу үшін, берілген hex-файлды micro: bit-ке enviro: bit бекітілген түрде көшіріңіз.

2 -қадам: Кодекс

Код Microsoft MakeCode көмегімен Enviro: Bit кеңейтімі арқылы блок режимінде жазылды, сіз сәйкес JavaScript кодын табасыз.

Envirobit.getSoundLevel () функциясы сенсордан дыбыс деңгейін оқиды, 0 -ден 443 -ке дейінгі мәнді қайтарады.

Тұрақты signal_max жарықдиодты матрицада көрсетілетін динамикалық диапазонның максималды мәнін анықтайды, жоғарыдағы мәндер сигнал_макс ретінде қарастырылады. Бұл сіздің қосымшаның құрылғының сезімталдығын оңтайландыруға мүмкіндік береді.

Өлшеу шеңберінде анықталған максималды мән noise_max нұсқасында сақталады және жарық диодты матрицада көрсетіледі.

«А» түймесін басу шу_максын қалпына келтіреді және экранды тазалайды, «В» түймесін басу шудың өлшенген мәнін нақты сан ретінде көрсетеді.

Мәнді көрсету үшін signal_max астындағы мәндер 0 (жоғарғы сол жақтан) бастап 24 -ке дейін (төменгі оң жақта) басталатын бір жарық диодымен ұсынылған 25 «контейнерлерге» орналастырылады. Содан кейін x/y позициясы есептеледі және сәйкес жарық диоды қосылады. Signal_max -тан жоғары мәндер 24 -контейнерге орналастырылады. Егер мән шу_махтан төмен болса, жарық диодты шамдар қайтадан қосылады.

let noise_x = 0let signal_max = 0 шуыл_5 = 0 рұқсат шу_25 = 0 рұқсат шу_мах = 0 негізгі.showString («Шу») шу_мах = 0 шу_25 = 0 шу_5 = 0 сигнал_мах = 250 базалық..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) if (шу_25> 24) {шу_25 = 24} шу_5 = Математикалық қабат (шу_25 / 5) шу_х = шу_25 - шу_5 * 5 жарықдиодты (шу_х, шу_5) негізгі.кідірту (200) егер (шу_25 шу_мах) {шу_мах = шу_25}})

3 -қадам: Минималды/Максималды индикаторлары бар температура (ылғалдылық, қысым) сенсорының коды

Минималды/Максималды индикаторлары бар температура (ылғалдылық, қысым) сенсорының коды
Минималды/Максималды индикаторлары бар температура (ылғалдылық, қысым) сенсорының коды

Мұнда enviro: бит температурасы функциясының кодын табасыз.

Signal_min және signal_max параметрлері жарық диодты матрицада көрсетілген минималды және максималды температураны (*C) орнатады. Мұнда signal_main = 5 және signal_max = 30 параметрі 5 және 6*С нәтижесін береді, сол жақ жоғарғы жарық диодымен (0, 0) және 28/29*С төменгі оң жақ жарық диодымен (4, 4).

Оңтайландыруға орын бар: ағымдағы кодпен температураның көтерілуі мен төмендеуі светодиодтардың ізін қосады немесе өшіреді. Екінші жағынан, бұл ағымдағы температура үрдісін оқуға мүмкіндік береді (төмендеу/көтерілу), себебі ағымдағы мән жыпылықтайтын жарық диодымен көрсетіледі.

GetHumidity () немесе getPressure () арқылы getTemperature () алмастыру және сәйкесінше signal_min және signal_max мәндерін реттеу (мысалы, 0/100 % сәйкесінше 950/1150 hPA) бұл параметрлерді жарықдиодты матрицада көрсетуге мүмкіндік береді.

Let Temp_x = 0let Temp_5 = 0 let signal_delta = 0 let Temp_25 = 0 let Temp_Min = 0 let signal_min = 0 let Temp_Max = 0 let signal_max = 0 basic.showString («Temp») signal_max = 30 signal_min = 5 signal_delta = signal_max - signal_min 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}})

Ұсынылған: