Cov txheej txheem:

Micro: ntsis Ntes Ntes Ntes Ntes: 3 Kauj Ruam
Micro: ntsis Ntes Ntes Ntes Ntes: 3 Kauj Ruam

Video: Micro: ntsis Ntes Ntes Ntes Ntes: 3 Kauj Ruam

Video: Micro: ntsis Ntes Ntes Ntes Ntes: 3 Kauj Ruam
Video: Nrog Hmoob Meskas lom zem tas tas 12/1/2021 2024, Kaum ib hlis
Anonim
Micro: ntsis Ntes Qib Ntes Ntes
Micro: ntsis Ntes Qib Ntes Ntes
Micro: ntsis Ntes Qib Ntes Ntes
Micro: ntsis Ntes Qib Ntes Ntes
Micro: ntsis Ntes Qib Ntes Ntes
Micro: ntsis Ntes Qib Ntes Ntes

Qhov no tsuas yog qhov piv txwv luv luv rau lub ntsuas suab nrov raws li micro: ntsis thiab Pimoroni enviro: ntsis.

Lub microphone ntawm tus enviro: me ntsis pom lub suab qib, thiab los ntawm qhov txiaj ntsig txiaj ntsig txoj haujlwm ntawm 5x5 LED matrix tau suav thiab LED sib xws tau qhib. Qhov txiaj ntsig siab tshaj plaws ntsuas tau muab khaws cia thiab tseem tso tawm ntawm LED matrix.

Qhov tseem ceeb tuaj yeem muab tso rau hauv tus lej.

Yog li nws yog ib qho yooj yim heev nrhiav suab nrov qib cuab yeej, piv txwv li rau chav kawm sim.

Txoj hauv kev tau piav qhia kom pom qhov tseeb thiab qhov txiaj ntsig siab tshaj plaws tau pom los ntawm lub ntsuas hluav taws xob ntawm lub micro: cov khoom 5x5 LED matrix kuj tseem tuaj yeem siv rau lwm qhov ntsuas kub, av noo lossis siab.

Kauj Ruam 1: Siv thiab Siv Software

Kho vajtse:

  • Ib micro: me ntsis
  • A Pimoroni enviro: me ntsis - los nrog peb lub cim rau lub suab, lub teeb thiab xim, thiab siab/kub/noo noo (20 GBP ntawm Pimoroni)
  • Lub hwj chim Pimoroni: me ntsis - txhawm rau siv lub tshuab roj teeb (yeem, lossis lwm txoj hauv kev los txhawb lub zog me me, 6 GBP ntawm Pimoroni)

Software:

  • Microsoft MakeCode
  • Pimoroni enviro: me ntsis MakeCode txuas ntxiv

Txhawm rau thauj cov ntawv rau koj micro: ntsis, tsuas yog theej muab cov ntaub ntawv hex rau koj micro: ntsis nrog enviro: ntsis txuas.

Kauj ruam 2: Txoj Cai

Cov cai tau sau siv Microsoft MakeCode hauv hom thaiv, siv Enviro: Bit extension. Bellow koj pom tus lej JavaScript uas raug.

Kev ua haujlwm envirobit.getSoundLevel () nyeem lub suab qib los ntawm lub ntsuas, xa tus nqi los ntawm 0 txog 443.

Qhov teeb meem tas li_max piav qhia tus nqi siab tshaj ntawm qhov sib txawv kom pom ntawm LED matrix, qhov txiaj ntsig saum toj no yuav kho raws li qhov ua tau zoo_max. Qhov no tso cai rau koj txhawm rau ua kom zoo dua qhov rhiab ntawm lub cuab yeej rau koj daim ntawv thov.

Tus nqi siab tshaj plaws tau tshawb pom hauv lub voj voos ntsuas tau khaws cia hauv qhov sib txawv suab nrov_max thiab tseem tso tawm ntawm LED matrix.

Nias lub pob "A" rov ua suab nrov_max thiab tshem lub vijtsam, nias lub pob "B" qhia qhov ntsuas suab nrov raws li tus lej tiag.

Txhawm rau tso saib tus nqi, tus nqi hauv qab signal_max tau muab tso rau hauv 25 "lub thoob" sawv cev los ntawm ib lub LED, pib los ntawm 0 (sab saud sab laug) txog 24 (sab xis sab xis). Tom qab ntawd x/y txoj haujlwm raug xam thiab LED sib xws tau qhib. Cov txiaj ntsig saum toj no signal_max tau muab tso rau hauv lub thoob 24. Yog tias tus nqi qis dua noise_max, cov LEDs yuav rov hloov dua.

cia lub suab nrov_x = 0 tso lub suab_max = 0 tso lub suab_5 = 0 cia lub suab nrov_25 = 0 cia lub suab nrov_max = 0 yooj yim..buttonIsPressed (Button. B)) {basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("-")} yog (input.buttonIsPressed (Button. A)) {noise_max = 0 basic.clearScreen ()} noise_25 = Math.floor (envirobit.getSoundLevel () / signal_max * 25) yog (noise_25> 24) {noise_25 = 24} noise_5 = Math.floor (noise_25 / 5) noise_x = noise_25 - noise_5 * 5 led.plot (noise_x, noise_5) basic.pause (200) yog (noise_25 noise_max) {noise_max = noise_25}})

Kauj Ruam 3: Txoj Cai Rau Qhov Kub (Vaum, Siab) Sensor Nrog Min/Max Indentifiers

Ib Txoj Cai Rau Qhov Kub (Vaum, Siab) Sensor Nrog Min/Max Indentifiers
Ib Txoj Cai Rau Qhov Kub (Vaum, Siab) Sensor Nrog Min/Max Indentifiers

Ntawm no koj pom tus lej rau enviro: qhov ntsuas kub me ntsis.

Parameters signal_min thiab signal_max teeb tsa qhov tsawg kawg thiab qhov kub tshaj plaws (*C) tso tawm ntawm LED matrix. Nov teeb tsa signal_main = 5 thiab signal_max = 30 qhov tshwm sim hauv 5 thiab 6*C tau sawv cev los ntawm sab saud sab saud LED (0, 0) thiab 28/29*C los ntawm sab xis sab xis LED (4, 4).

Muaj chav rau kev ua kom zoo dua: nrog cov cai tam sim no nce thiab poob qhov kub tau tawm ib qho cim ntawm LEDs txawm tias qhib lossis tua. Ntawm qhov tod tes qhov no tso cai rau nyeem qhov ntsuas kub tam sim no (poob/nce), raws li tus nqi tam sim no tau qhia los ntawm qhov ntsais ntsais LED.

Hloov getTemperature () los ntawm getHumidity () lossis getpressure () thiab kho lub teeb liab_min thiab teeb liab_max qhov muaj txiaj ntsig raws li (piv txwv li 0/100 % feem 950/1150 hPA) yuav tso cai tso tawm cov ntsuas no ntawm LED matrix.

cia Temp_x = 0let Temp_5 = 0 cia signal_delta = 0 cia Temp_25 = 0 cia Temp_Min = 0 cia signal_min = 0 cia Temp_Max = 0 cia 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 (muaj nuj nqi () {yog (input.buttonIsPressed (Button. A)) {Temp_Max = 0 Temp_Min = 24 basic.clearScreen ()} thaum (input.buttonIsPressed (Button. B)) { basic.showNumber (Math.round (envirobit.getTemperature ())) basic.showString ("C")} Temp_25 = Math.floor ((envirobit.getTemperature () - signal_min) / signal_delta * 25) yog (Temp_25> 24) {Temp_25 = 24} yog (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) yog (Temp_25 Temp_Min) {led.unplot (Temp_x, Temp_5)} yog (Temp_25> Temp_Max) {Temp_Max = Temp_25} yog (Temp_25 <Temp_Min) {Temp_Min = Temp_25}})

Pom zoo: