Sisukord:

Mõõtke oma mikroga survet: bit: 5 sammu (piltidega)
Mõõtke oma mikroga survet: bit: 5 sammu (piltidega)

Video: Mõõtke oma mikroga survet: bit: 5 sammu (piltidega)

Video: Mõõtke oma mikroga survet: bit: 5 sammu (piltidega)
Video: BEST Broken Ankle Fracture & Sprained Ankle Recovery TIPS [Top 25] 2024, Juuli
Anonim
Mõõtke oma Micro: bitiga survet
Mõõtke oma Micro: bitiga survet
Mõõtke oma Micro: bitiga survet
Mõõtke oma Micro: bitiga survet

Järgmises juhendis kirjeldatakse hõlpsasti ehitatavat ja odavat seadet rõhumõõtmiste tegemiseks ja Boyle'i seaduse demonstreerimiseks, kasutades mikro: bitti koos rõhu/temperatuuri anduriga BMP280.

Kui seda süstla/rõhuanduri kombinatsiooni on juba kirjeldatud ühes minu eelmises juhendis, siis kombinatsioon mikro: bitiga pakub uusi võimalusi, nt. klassiruumiprojektide jaoks.

Lisaks on seni üsna piiratud nende rakenduste kirjelduste arv, milles mikro: bitti kasutatakse koos I2C juhitava anduriga. Loodan, et see juhend võib olla teiste projektide lähtepunktiks.

Seade võimaldab teha kvantitatiivseid õhurõhu mõõtmisi ja kuvada tulemused mikro: bitise LED -massiivi või ühendatud arvuti jaoks, et hiljem kasutada Arduino IDE jadamonitori või jadaplotteri funktsioone. Lisaks saate tagasisidet, kuna lükkate või tõmbate süstla kolbi ise ja tunnete nõutavat võimsust.

Vaikimisi võimaldab ekraan kuvada rõhku LED -maatriksil kuvatava tasemeindikaatori abil. Arduino IDE jadaplotter võimaldab sama teha, kuid palju parema eraldusvõimega (vt videot). Saadaval on ka keerukamad lahendused, nt. töötluskeeles. Pärast A- või B -nuppude vajutamist saate LED -maatriksil kuvada ka rõhu ja temperatuuri täpsed mõõdetud väärtused, kuid Arduino IDE jadamonitor on palju kiirem, võimaldades väärtusi kuvada peaaegu reaalajas.

Kogukulud ja seadme ehitamiseks vajalikud tehnilised oskused on üsna madalad, seega võiks see olla tore klassiprojekt õpetaja juhendamisel. Lisaks võib seade olla füüsikale keskenduvate STEM -projektide tööriist või kasutada teistes projektides, kus jõud või kaal muudetakse digitaalseks väärtuseks.

Põhimõtet kasutati väga lihtsa mikro: bit sukeldumismõõturi-seadme mõõtmiseks, kui sügavale te sukeldute.

Lisa 27-mai-2018:

Kuna Pimoroni on BMP280 anduri jaoks välja töötanud MakeCode raamatukogu, andis see mulle võimaluse töötada välja siin kirjeldatud seadme jaoks kasutatav skript. Skripti ja vastava HEX-faili leiate selle juhendi viimasest sammust. Selle kasutamiseks laadige lihtsalt HEX -fail oma micro: bitisse. Spetsiaalset tarkvara pole vaja ja skripti redigeerimiseks võite kasutada veebipõhist MakeCode -redaktorit.

Samm: kasutatud materjalid

Kasutatud materjalid
Kasutatud materjalid
Kasutatud materjalid
Kasutatud materjalid
Kasutatud materjalid
Kasutatud materjalid
Kasutatud materjalid
Kasutatud materjalid
  • Micro: bit, sain Pimoronilt oma - 13,50 GBP
  • Kitronic Edge Connector micro: bitile - Pimoroni kaudu - 5 GBP, Märkus: Pimorini pakub nüüd leivaplaadisõbralikku servaühendust nimega pin: bit koos tihvtidega I2C portides.
  • 2 x 2 tihvtiga päisribad
  • Aku või LiPo mikro jaoks: bit (pole vajalik, kuid kasulik), aku kaabel koos lülitiga (dito) - Pimoroni
  • hüppajakaablid andurite ühendamiseks Edge -pistikuga
  • anduri pikad (!) hüppajakaablid, vähemalt sama pikad kui süstal,, f/f või f/m
  • BMP280 rõhu- ja temperatuuriandur - Banggood - 5 USA dollarit kolme ühiku kohta Selle anduri mõõtepiirkond on vahemikus 550 kuni 1537 hPa.
  • 150 ml plastikust kateetrisüstal kummist tihendiga - Amazon või riistvara- ja aiakauplused - umbes 2–3 USA dollarit
  • kuumliim/kuumliimipüstol
  • jootekolb
  • arvuti, kuhu on installitud Arduino IDE

Samm: monteerimisjuhised

Montaaži juhised
Montaaži juhised
Montaaži juhised
Montaaži juhised
Montaaži juhised
Montaaži juhised

Jootke päised BMP280 anduri väljalülitamiseks.

Jootke kaks 2 -kontaktilist päist Edge -pistiku tihvtide 19 ja 20 külge (vt pilti).

Ühendage micro: bit Edge -pistikuga ja arvutiga.

Valmistage tarkvara ja micro: bit ette, nagu on kirjeldatud Adafruit micro: bit juhistes. Lugege neid põhjalikult.

Installige vajalikud teegid Arduino IDE -sse.

Avage hilisemas etapis lisatud skript BMP280.

Ühendage andur Edge -pistikuga. GND to 0V, VCC to 3V, SCL to pin 19, SDA to pin 20.

Laadige skript üles micro: bitile.

Kontrollige, kas andur annab mõistlikke andmeid, rõhuväärtused peaksid olema jadamonitoril kuvatud umbes 1020 hPa. Igaks juhuks kontrollige esmalt kaableid ja ühendusi, seejärel tarkvara installimist ja parandage.

Lülitage micro: bit välja, eemaldage andur.

Viige kaugjuhtimiskaablid läbi süstla väljalaskeava. Juhul, kui peate avamist laiendama. Ärge unustage, et kaablid saaksid kahjustada.

Ühendage andur hüppakaablitega. Kontrollige, kas ühendused on õiged ja head. Ühendage micro: bitiga.

Kontrollige, kas andur töötab korralikult. Tõmmake ettevaatlikult kaableid, viige andur süstla ülaossa.

Sisestage kolb ja liigutage seda soovitud puhkeasendist (100 ml) veidi kaugemale.

Lisage kuuma liimi süstla väljalaskeavasse ja liigutage kolbi veidi tagasi. Kontrollige, kas süstal on õhukindlalt suletud, vastasel juhul lisage veel kuuma liimi. Laske kuumal liimil jahtuda.

Kontrollige uuesti, kas andur töötab. Kui kolbi liigutada, peaksid jadamonitori ja mikro: biti kuva numbrid muutuma.

Vajadusel saate süstla helitugevust reguleerida, surudes seda tihendi lähedale ja liigutades kolbi.

3. samm: natuke teooriat ja mõned praktilised mõõtmised

Natuke teooriat ja mõned praktilised mõõtmised
Natuke teooriat ja mõned praktilised mõõtmised
Natuke teooriat ja mõned praktilised mõõtmised
Natuke teooriat ja mõned praktilised mõõtmised

Siin kirjeldatud seadmega saate lihtsate füüsikakatsete abil näidata kokkusurumise ja rõhu korrelatsiooni. Kuna süstlaga on kaasas "ml" skaala, on isegi kvantitatiivseid katseid lihtne teha.

Selle taga olev teooria: Boyle'i seaduse kohaselt on [ruumala * rõhk] gaasi konstantne väärtus antud temperatuuril.

See tähendab, et kui tihendate gaasi teatud mahu N-kordselt, st lõplik maht on 1/N kordne originaalist, suureneb selle rõhk N-kordselt, näiteks: P0*V0 = P1*V1 = miinused t. Lisateabe saamiseks vaadake palun Wikipedia artiklit gaasiseaduste kohta. Merepinnal on õhurõhk tavaliselt vahemikus 1010 hPa (hecto Pascal).

Nii et alustades puhkepunktidest nt. V0 = 100 ml ja P0 = 1000 hPa, õhu kokkusurumine umbes 66 ml -ni (st V1 = 2/3 * V0) põhjustab rõhu umbes 1500 hPa (P1 = 3/2 P0 -st). Kolvi tõmbamisel 125 ml -ni (5/4 -kordne maht) on rõhk umbes 800 hPa (rõhk 4/5). Mõõtmised on sellise lihtsa seadme jaoks hämmastavalt täpsed.

Seade võimaldab teil jätta otsese haptilise mulje, kui palju jõudu on vaja süstlas oleva suhteliselt väikese õhuhulga kokkusurumiseks või laiendamiseks.

Kuid me saame ka teha mõningaid arvutusi ja neid eksperimentaalselt kontrollida. Oletame, et surume õhu 1500 hPa -ni, baasõhurõhul 1000 hPa. Seega on rõhkude erinevus 500 hPa ehk 50 000 Pa. Minu süstla puhul on kolvi läbimõõt (d) umbes 4 cm või 0,04 meetrit.

Nüüd saate arvutada kolvi selles asendis hoidmiseks vajaliku jõu. Antud P = F/A (rõhk jagatakse jõuga pindalaga) või teisendatakse F = P*A. Jõu SI -ühik on "Newton" N, pikkus "M" ja 1 Pa on 1 N ruutmeetri kohta. Ümara kolvi puhul saab pindala arvutada, kasutades A = ((d/2)^2)*pi, mis annab minu süstla jaoks 0,00125 ruutmeetrit. Niisiis

50 000 Pa * 0,00125 m^2 = 63 N.

Maal korreleerub 1 N kaaluga 100 gr, seega 63 N võrdub 6,3 kg raskuse hoidmisega.

Seda saab hõlpsalt kontrollida skaala abil. Lükake süstal koos kolbiga skaalale, kuni saavutatakse rõhk umbes 1500 hPa, seejärel lugege skaalat. Või vajutage, kuni kaal näitab umbes 6-7 kg, seejärel vajutage nuppu "A" ja lugege micro: bit LED-maatriksil kuvatavat väärtust. Nagu selgus, ei olnud ülaltoodud arvutustel põhinev hinnang halb. Rõhk veidi üle 1500 hPa korreleerus kehakaalul kuvatava umbes 7 kg kaaluga (vt pilte). Samuti saate selle kontseptsiooni ümber pöörata ja seadme abil luua rõhumõõtmistel põhineva lihtsa digitaalse skaala.

Pidage meeles, et anduri ülemine piir on umbes 1540 hPa, seega ei saa rõhku üle selle mõõta ja see võib andurit kahjustada.

Lisaks hariduslikule otstarbele võib süsteemi kasutada ka mõne reaalse maailma rakenduse jaoks, kuna see võimaldab kvantitatiivselt mõõta jõude, mis üritavad kolbi ühel või teisel viisil liigutada. Nii et saate mõõta kolvile asetatud raskust või kolvi tabavat löögijõudu. Või ehitage lüliti, mis aktiveerib valguse või helisignaali või esitab heli pärast teatud läviväärtuse saavutamist. Või võite ehitada muusikariista, mis muudab sagedust sõltuvalt kolvile rakendatava jõu tugevusest. Või kasutage seda mängukontrollerina. Kasutage oma kujutlusvõimet ja mängige!

Samm: MicroPythoni skript

Lisatud leiate minu BMP280 skripti micro: bitile. See on tuletis BMP/BME280 skriptist, mille leidsin kusagilt Banggoodi veebisaidilt koos Adafruit'i Microbit raamatukoguga. Esimene võimaldab teil kasutada Banggoodi andurit, teine lihtsustab 5x5 LED -ekraani käsitsemist. Minu tänu kuulub mõlema arendajatele.

Vaikimisi kuvab skript micro: bit 5x5 LED -ekraanil rõhu mõõtmise tulemused 5 sammuga, võimaldades muudatusi väikese viivitusega näha. Täpseid väärtusi saab paralleelselt kuvada Arduino IDE seeriamonitoril või üksikasjalikumat graafikut saab kuvada Arduino IDE seeriaplotteril.

Kui vajutate nuppu A, kuvatakse mõõdetud rõhu väärtused micro: bit 5x5 LED -massiivil. Kui vajutate nuppu B, kuvatakse temperatuuri väärtused. Kuigi see võimaldab lugeda täpseid andmeid, aeglustab see mõõtmistsükleid oluliselt.

Olen kindel, et ülesannete programmeerimiseks ja skripti täiustamiseks on palju elegantsemaid viise. Igasugune abi on teretulnud.

#kaasas xxx

#kaasake Adafruit_Microbit_Matrix mikrobit; #define BME280_ADDRESS 0x76 allkirjastamata pikk int hum_raw, temp_raw, pres_raw; allkirjastatud pikk int t_fine; uint16_t dig_T1; int16_t dig_T2; int16_t dig_T3; uint16_t dig_P1; int16_t dig_P2; int16_t dig_P3; int16_t dig_P4; int16_t dig_P5; int16_t dig_P6; int16_t dig_P7; int16_t dig_P8; int16_t dig_P9; int8_t dig_H1; int16_t dig_H2; int8_t dig_H3; int16_t dig_H4; int16_t dig_H5; int8_t dig_H6; // konteinerid mõõdetud väärtuste jaoks int value0; int väärtus1; int väärtus2; int väärtus3; int väärtus4; // ------------------------------------------------ -------------------------------------------------- ------------------ void setup () {uint8_t osrs_t = 1; // Temperatuuri üleproovimine x 1 uint8_t osrs_p = 1; // Rõhu üleproovimine x 1 uint8_t osrs_h = 1; // Niiskuse üleproovide võtmine x 1 uint8_t mode = 3; // Tavarežiim uint8_t t_sb = 5; // Ooterežiimis 1000ms uint8_t filter = 0; // Filtreeri välja uint8_t spi3w_en = 0; // 3-juhtmeline SPI Keela uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | režiim; uint8_t config_reg = (t_sb << 5) | (filter << 2) | spi3w_et; uint8_t ctrl_hum_reg = osrs_h; pinMode (PIN_BUTTON_A, INPUT); pinMode (PIN_BUTTON_B, INPUT); Seriaalne algus (9600); // Serial.println ("Temperatuur [° C]"); // Seeria.print ("\ t"); Serial.print ("Rõhk [hPa]"); // päis Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // mikrobit.print ("x"); viivitus (1000); } // ----------------------------------------------- -------------------------------------------------- -------- void loop () {double temp_act = 0.0, press_act = 0.0, hum_act = 0.0; allkirjastatud pikk int temp_cal; allkirjastamata pikk int press_cal, hum_cal; int N; // seada läviväärtused LED maatriksi kuvale, hPa topelt max_0 = 1100; topelt max_1 = 1230; topelt max_2 = 1360; topelt max_3 = 1490; readData (); temp_cal = calibration_T (temp_raw); press_cal = calibration_P (pres_raw); hum_cal = kalibreerimine_H (hum_raw); temp_act = (topelt) temp_cal / 100.0; press_act = (topelt) press_cal / 100.0; hum_act = (topelt) hum_cal / 1024,0; microbit.clear (); // lähtesta LED -maatriks /* Serial.print ("PRESS:"); Serial.println (press_act); Serial.print ("hPa"); Serial.print ("TEMP:"); Serial.print ("\ t"); Serial.println (temp_act); */ if (! digitalRead (PIN_BUTTON_B)) {// väärtuste kuvamine numbrites viivitab ringide mõõtmist microbit.print ("T:"); mikrobit.print (temp_act, 1); microbit.print ("'C"); // Serial.println (""); } else if (! digitalRead (PIN_BUTTON_A)) {microbit.print ("P:"); mikrobit.print (press_act, 0); microbit.print ("hPa"); } else {// rõhu väärtuste kuvamine pikslite või joonena teatud tasemel // 5 sammu: 1490 hPa // künnised, mis on määratud max_n väärtustega, kui (press_act> max_3) {(N = 0); // ülemine rida} else if (press_act> max_2) {(N = 1); } else if (press_act> max_1) {(N = 2); } else if (press_act> max_0) {(N = 3); } muu {(N = 4); // baasrida} // Serial.println (N); // arengu eesmärgil // microbit.print (N); // joonena // microbit.drawLine (N, 0, 0, 4, LED_ON); // väärtuste nihutamine järgmise rea väärtusele4 = väärtus3; väärtus3 = väärtus2; väärtus2 = väärtus1; väärtus1 = väärtus0; väärtus0 = N; // joonista pilt, veerghaaval microbit.drawPixel (0, väärtus0, LED_ON); // pikslina: veerg, rida. 0, 0 vasakus ülanurgas mikrobit.drawPixel (1, väärtus1, LED_ON); microbit.drawPixel (2, väärtus2, LED_ON); microbit.drawPixel (3, väärtus3, LED_ON); microbit.drawPixel (4, väärtus4, LED_ON); } // andmete saatmine jadamonitorile ja jadaplotterile // Serial.println (press_act); // väärtuse (de) saatmine jadapordile numbrilise kuvamise jaoks, valikuline

Serial.print (press_act); // väärtuse saatmine plotteri jadaporti

// joonista indikaatorjooned ja paranda kuvatud vahemik Serial.print ("\ t"); Seeriaprint (600); Serial.print ("\ t"); Seeria.print (1100), jadatrükk ("\ t"); Seeria.println (1600); viivitus (200); // Mõõtke kolm korda sekundis} // ---------------------------------------- -------------------------------------------------- -------------------------------------------------- - // bmp/bme280 anduri jaoks on nõutav järgmine, jätke see tühjaks readTrim () {uint8_t andmed [32], i = 0; // Parandus 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0x88); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 24); // Parandus 2014/while (Wire.available ()) {data = Wire.read (); i ++; } Wire.beginTransmission (BME280_ADDRESS); // Lisa 2014/Wire.write (0xA1); // Lisa 2014/Wire.endTransmission (); // Lisa 2014/Wire.requestFrom (BME280_ADDRESS, 1); // Lisa 2014/andmed = Wire.read (); // Lisa 2014/i ++; // Lisa 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xE1); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 7); // Parandus 2014/while (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (andmed [1] << 8) | andmed [0]; dig_P1 = (andmed [7] << 8) | andmed [6]; dig_P2 = (andmed [9] << 8) | andmed [8]; dig_P3 = (andmed [11] << 8) | andmed [10]; dig_P4 = (andmed [13] << 8) | andmed [12]; dig_P5 = (andmed [15] << 8) | andmed [14]; dig_P6 = (andmed [17] << 8) | andmed [16]; dig_P7 = (andmed [19] << 8) | andmed [18]; dig_T2 = (andmed [3] << 8) | andmed [2]; dig_T3 = (andmed [5] << 8) | andmed [4]; dig_P8 = (andmed [21] << 8) | andmed [20]; dig_P9 = (andmed [23] << 8) | andmed [22]; dig_H1 = andmed [24]; dig_H2 = (andmed [26] << 8) | andmed [25]; dig_H3 = andmed [27]; dig_H4 = (andmed [28] << 4) | (0x0F ja andmed [29]); dig_H5 = (andmed [30] 4) & 0x0F); // Parandus 2014/dig_H6 = andmed [31]; // Parandage 2014/} void writeReg (uint8_t reg_address, uint8_t data) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_address); Wire.write (andmed); Wire.endTransmission (); }

void readData ()

{int i = 0; uint32_t andmed [8]; Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xF7); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 8); while (Wire.available ()) {data = Wire.read (); i ++; } pres_raw = (andmed [0] << 12) | (andmed [1] 4); temp_raw = (andmed [3] << 12) | (andmed [4] 4); hum_raw = (andmed [6] << 8) | andmed [7]; }

allkirjastatud pikk int kalibreerimine_T (allkirjastatud pikk int adc_T)

{allkirjastatud pikk int var1, var2, T; var1 = (((((adc_T >> 3) - ((allkirjastatud pikk int) dig_T1 11; var2 = ((((((adc_T >> 4) - ((allkirjastatud pikk int) dig_T1)) * ((adc_T >> 4) - ((allkirjastatud pikk int) dig_T1))) >> 12) * ((allkirjastatud pikk int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; return T;} allkirjastamata pikk int kalibreerimine_P (allkirjastatud pikk int adc_P) {allkirjastatud pikk int var1, var2; allkirjastamata pikk int P; var1 = (((allkirjastatud pikk int) t_fine) >> 1) - (allkirjastatud pikk int) 64000; var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * ((allkirjastatud pikk int) dig_P6); var2 = var2 + ((var1 * ((allkirjastatud pikk int) dig_P5)) 2) + (((allkirjastatud pikk int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((allkirjastatud pikk int) dig_P2) * var1) >> 1)) >> 18; var1 = (((((32768+var1))*((allkirjastatud pikk int) dig_P1)) >> 15); if (var1 == 0) {return 0; } P = (((allkirjastamata pikk int) (((allkirjastatud pikk int) 1048576) -adc_P)-(var2 >> 12)))*3125; kui (P <0x80000000) {P = (P << 1) / ((allkirjastamata pikk int) var1); } else {P = (P / (allkirjastamata pikk int) var1) * 2; } var1 = (((allkirjastatud pikk int) dig_P9) * ((allkirjastatud pikk int) ((((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((allkirjastatud pikk int) (P >> 2)) * ((allkirjastatud pikk int) dig_P8)) >> 13; P = (allkirjastamata pikk int) ((allkirjastatud pikk int) P + ((var1 + var2 + dig_P7) >> 4)); tagasitulek P; } allkirjastamata pikk int kalibreerimine_H (allkirjastatud pikk int adc_H) {allkirjastatud pikk int v_x1; v_x1 = (t_fine - ((allkirjastatud pikk int) 76800)); v_x1 = ((((((adc_H << 14) -(((allkirjastatud pikk int) dig_H4) 15) * (((((((v_x1 * ((allkirjastatud pikk int) dig_H6)) >> 10) * (((v_x1 * ((allkirjastatud pikk int) dig_H3)) >> 11) + ((allkirjastatud pikk int) 32768))) >> 10) + ((allkirjastatud pikk int) 2097152)) * ((allkirjastatud pikk int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - ((((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((allkirjastatud pikk int) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); return (allkirjastamata pikk int) (v_x1 >> 12);}

Samm: MakeCode/JavaScripti skriptid

MakeCode/JavaScripti skriptid
MakeCode/JavaScripti skriptid

Pimoroni avaldas hiljuti keskkonna: bit, mis on varustatud BMP280 rõhuanduri, valguse/värvianduri ja MEMS -mikrofoniga. Nad pakuvad ka MicroPythoni ja MakeCode/JavaScripti raamatukogu.

Kasutasin hilisemat, et kirjutada rõhuandurile MakeCode -skript. Vastava hex -faili saab kopeerida otse teie micro: bitile. Kood kuvatakse allpool ja seda saab muuta veebipõhise MakeCode redaktori abil.

See on variatsioon skripti jaoks micro: bit dive-o-meter. Vaikimisi kuvab see rõhu erinevuse tulpdiagrammina. Nupu A vajutamine määrab võrdlusrõhu, nupule B vajutades kuvatakse erinevus tegeliku ja võrdlusrõhu vahel (hPa).

Lisaks vöötkoodi põhiversioonile leiate ka "X", ristikujulise versiooni ja "L" versiooni, mis on mõeldud lugemise hõlbustamiseks.

veerg = 0

las jääda = 0 lasta rida = 0 lasta arvesti = 0 lasta delta = 0 lasta Ref = 0 lasta Is = 0 on = 1012 basic.showLeds (` # # # # # #.. # #. #. # #… # # # # # # ") Ref = 1180 basic.clearScreen () basic.forever (() => {basic.clearScreen () if (input.buttonIsPressed (Button A)) {Ref = envirobit.getPressure () basic.showLeds (` #. #. #. #. #. # # # # #. #. #. #. #. #`) basic.pause (1000)} else if (input.buttonIsPressed (Button. B)) {basic.showString ("" + Delta + "hPa") basic.pause (200) basic.clearScreen ()} else {Is = envirobit.getPressure () Delta = Is - Ref Meter = Math.abs (Delta) if (Arvesti> = 400) {rida = 4} muu, kui (arvesti> = 300) {rida = 3} muu, kui (arvesti> = 200) {rida = 2} muu, kui (arvesti> = 100) {rida = 1} else {rida = 0} jääb = arvesti - rida * 100, kui (jääb> = 80) {veerg = 4} muu, kui (jääb> = 60) {veerg = 3} muu, kui (jääb> = 40) {veerg = 2 } else if (jääge> = 20) {Column = 1} else {Column = 0} for (let ColA = 0; ColA <= Column; ColA ++) {led.plot (ColA, Row)} basic.pause (500)}})

Soovitan: