Obsah:

Zmerajte tlak pomocou mikro: bit: 5 krokov (s obrázkami)
Zmerajte tlak pomocou mikro: bit: 5 krokov (s obrázkami)

Video: Zmerajte tlak pomocou mikro: bit: 5 krokov (s obrázkami)

Video: Zmerajte tlak pomocou mikro: bit: 5 krokov (s obrázkami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Zmerajte tlak pomocou mikro: bitu
Zmerajte tlak pomocou mikro: bitu
Zmerajte tlak pomocou mikro: bitu
Zmerajte tlak pomocou mikro: bitu

Nasledujúci návod popisuje ľahko zostaviteľné a lacné zariadenie na vykonávanie meraní tlaku a demonštráciu Boyleovho zákona pomocou mikro: bitu v kombinácii so snímačom tlaku/teploty BMP280.

Zatiaľ čo táto kombinácia striekačky/tlakového senzora už bola popísaná v jednom z mojich predchádzajúcich návodov, kombinácia s mikro: bitom ponúka nové príležitosti, napr. pre projekty triednych miestností.

Navyše počet popisov aplikácií, v ktorých sa mikro: bit používa v kombinácii so snímačom poháňaným I2C, je zatiaľ dosť obmedzený. Dúfam, že tento návod môže byť východiskovým bodom pre ďalšie projekty.

Zariadenie umožňuje vykonávať kvantitatívne merania tlaku vzduchu a zobrazovať výsledky na mikro: bitovom poli LED alebo na pripojenom počítači, a to neskôr pomocou funkcií sériového monitora alebo sériového plotra v Arduino IDE. Okrem toho máte hmatovú spätnú väzbu, pretože sami budete tlačiť alebo ťahať piest striekačky, a tým pocítite potrebnú silu.

Štandardne vám displej umožňuje odhadnúť tlak pomocou indikátora hladiny zobrazeného na matici LED. Sériový plotter Arduino IDE to isté umožňuje, ale s oveľa lepším rozlíšením (pozri video). K dispozícii sú aj prepracovanejšie riešenia, napr. v jazyku spracovania. Presne namerané hodnoty tlaku a teploty môžete na matici LED zobraziť aj po stlačení tlačidiel A alebo B, ale sériový monitor Arduino IDE je oveľa rýchlejší a umožňuje zobrazovať hodnoty takmer v reálnom čase.

Celkové náklady a technické znalosti potrebné na stavbu zariadenia sú pomerne nízke, takže by to mohol byť príjemný projekt v triede pod dohľadom učiteľa. Zariadenie môže byť navyše nástrojom pre projekty STEM so zameraním na fyziku alebo použité v iných projektoch, kde sa sila alebo hmotnosť majú transformovať na digitálne hodnoty.

Princíp bol použitý na konštrukciu veľmi jednoduchého mikro: bitového ponorového merača, zariadenia na meranie hĺbky potápania.

Dodatok 27. mája 2018:

Keďže spoločnosť Pimoroni vyvinula knižnicu MakeCode pre snímač BMP280, poskytla mi to príležitosť vyvinúť skript, ktorý sa použije pre tu popísané zariadenie. Skript a zodpovedajúci súbor HEX nájdete v poslednom kroku tohto pokynu. Ak ho chcete použiť, načítajte súbor HEX do svojho mikro: bitu. Nie je potrebný špeciálny softvér a na úpravu skriptu môžete použiť online editor MakeCode.

Krok 1: Použitý materiál

Použité materiály
Použité materiály
Použité materiály
Použité materiály
Použité materiály
Použité materiály
Použité materiály
Použité materiály
  • Mikro: bit, môj dostal od Pimoroni - 13,50 GBP
  • Kitronic Edge Connector pre micro: bit - cez Pimoroni - 5 GBP, Poznámka: Pimorini teraz ponúka nepájivý okrajový konektor nazývaný pin: bit s pinmi na I2C portoch.
  • 2 x 2 kolíkové lišty záhlavia
  • Batéria alebo LiPo pre mikro: bit (nie je potrebný, ale je nápomocný), kábel k batérii s vypínačom (dito) - Pimoroni
  • prepojovacie káble na pripojenie senzorov k konektoru Edge
  • dlhé (!) prepojovacie káble k senzoru, minimálne tak dlhé ako striekačka, f/f alebo f/m
  • Snímač tlaku a teploty BMP280 - Banggood - 5 USD za tri jednotky Rozsah merania tohto senzora je medzi 550 a 1537 hPa.
  • 150 ml plastová katéterová striekačka s gumovým tesnením - Amazon alebo hardvér a záhradné obchody - asi 2 - 3 US $
  • pištoľ na horúce lepidlo/horúce lepidlo
  • spájkovačka
  • počítač s nainštalovaným Arduino IDE

Krok 2: Pokyny na montáž

Montážne pokyny
Montážne pokyny
Montážne pokyny
Montážne pokyny
Montážne pokyny
Montážne pokyny

Spájkovacie hlavičky k prerušeniu snímača BMP280.

Pripájajte dve 2 -kolíkové hlavičky k pinom 19 a 20 ku konektoru Edge (pozri obrázok).

Pripojte mikro: bit do konektora Edge a počítača.

Pripravte softvér a micro: bit podľa popisu v pokynoch pre mikro: bit Adafruit. Prečítajte si ich poriadne.

Nainštalujte požadované knižnice do Arduino IDE.

V neskoršom kroku otvorte priložený skript BMP280.

Pripojte snímač ku konektoru Edge. GND až 0V, VCC až 3V, SCL na pin 19, SDA na pin 20.

Nahrajte skript na mikro: bit.

Skontrolujte, či senzor poskytuje rozumné údaje, hodnoty tlaku by sa mali pohybovať okolo 1020 hPa, zobrazené na sériovom monitore. V prípade najskôr skontrolujte káble a pripojenia, potom inštaláciu softvéru a opravte ich.

Vypnite mikro: bit, odstráňte snímač.

Prevlečte dlhé prepojovacie káble cez výstup injekčnej striekačky. V prípade, že budete musieť otvor rozšíriť. Dajte pozor, aby ste nepoškodili káble.

Pripojte snímač k prepojovacím káblom. Skontrolujte, či sú pripojenia správne a dobré. Pripojte sa k mikro: bitu.

Skontrolujte, či snímač funguje správne. Opatrne potiahnite káble a presuňte senzor na hornú časť injekčnej striekačky.

Vložte piest a posuňte ho o niečo ďalej, ako je požadovaná pokojová poloha (100 ml).

Na koniec výstupu injekčnej striekačky pridajte horúce lepidlo a piest trochu posuňte späť. Skontrolujte, či je striekačka vzduchotesne uzavretá, v opačnom prípade pridajte viac horúceho lepidla. Horúce lepidlo necháme vychladnúť.

Znova skontrolujte, či snímač funguje. Ak posuniete piest, čísla na sériovom monitore a mikro: bitovom displeji by sa mali zmeniť.

Ak je to potrebné, môžete upraviť hlasitosť v injekčnej striekačke stlačením v blízkosti tesnenia a pohybom piestu.

Krok 3: Trochu teórie a niektoré praktické merania

Trochu teórie a niektoré praktické merania
Trochu teórie a niektoré praktické merania
Trochu teórie a niektoré praktické merania
Trochu teórie a niektoré praktické merania

Tu opísaným zariadením môžete demonštrovať koreláciu kompresie a tlaku v jednoduchých fyzikálnych experimentoch. Keďže injekčná striekačka obsahuje mierku „ml“, je ľahké vykonať aj kvantitatívne experimenty.

Teória, ktorá za tým stojí: Podľa Boylovho zákona je [objem * tlak] konštantnou hodnotou plynu pri danej teplote.

To znamená, že ak stlačíte daný objem plynu N-násobne, t.j. konečný objem je 1/N násobok originálu, jeho tlak sa zvýši N-násobne, ako: P0*V0 = P1*V1 = nevýhoda. Viac informácií nájdete v článku Wikipedie o zákonoch o plyne. Na hladine mora je barometrický tlak obvykle v rozmedzí 1010 hPa (hekto Pascal).

Počínajúc bodmi odpočinku napr. V0 = 100 ml a P0 = 1 000 hPa, stlačenie vzduchu na približne 66 ml (t.j. V1 = 2/3 * V0) bude mať za následok tlak asi 1 500 hPa (P1 = 3/2 z P0). Vytiahnutím piestu na 125 ml (5/4 -násobný objem) dôjde k tlaku približne 800 hPa (4/5 tlaku). Merania sú na také jednoduché zariadenie prekvapivo presné.

Zariadenie vám umožní priamo hmatovo vyvolať dojem, koľko sily je potrebné na stlačenie alebo roztiahnutie relatívne malého množstva vzduchu v injekčnej striekačke.

Môžeme však tiež vykonať niektoré výpočty a experimentálne ich skontrolovať. Predpokladajme, že stlačíme vzduch na 1 500 hPa pri bazálnom barometrickom tlaku 1 000 hPa. Rozdiel tlaku je teda 500 hPa alebo 50 000 Pa. V prípade mojej striekačky je priemer (d) piestu asi 4 cm alebo 0,04 metra.

Teraz môžete vypočítať silu potrebnú na udržanie piestu v tejto polohe. Dané P = F/A (tlak je sila delená plochou) alebo transformované F = P*A. Jednotka SI pre silu je „Newton“N, pre dĺžku „meter“m a 1 Pa je 1 N na meter štvorcový. Pre okrúhly piest možno plochu vypočítať pomocou A = ((d/2)^2)*pi, čo pre moju striekačku predstavuje 0,00125 štvorcových metrov. Takže

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

Na Zemi 1 N koreluje s hmotnosťou 100 g, takže 63 N sa rovná držaniu hmotnosti 6,3 kg.

To je možné ľahko skontrolovať pomocou stupnice. Zatlačte striekačku s piestom na váhu, kým sa nedosiahne tlak približne 1 500 hPa, potom odčítajte stupnicu. Alebo zatlačte, kým váha neukáže asi 6-7 kg, potom stlačte tlačidlo „A“a odčítajte hodnotu zobrazenú na mikro matici LED diódy. Ako sa ukázalo, odhad založený na vyššie uvedených výpočtoch nebol zlý. Tlak mierne nad 1 500 hPa koreloval so zobrazenou „hmotnosťou“asi 7 kg v telesnom meradle (pozri obrázky). Tento koncept by ste mohli tiež obrátiť a použiť zariadenie na vytvorenie jednoduchej digitálnej stupnice na základe meraní tlaku.

Uvedomte si prosím, že horná hranica senzora je asi 1540 hPa, takže žiadny tlak nad tento tlak nemožno merať a môže senzor poškodiť.

Okrem vzdelávacích účelov je možné systém používať aj pre niektoré aplikácie v reálnom svete, pretože umožňuje kvantitatívne merať sily, ktoré sa pokúšajú pohybovať piestom jedným alebo druhým spôsobom. Môžete teda zmerať hmotnosť umiestnenú na pieste alebo nárazovú silu, ktorá na piest dopadá. Alebo vytvorte spínač, ktorý aktivuje svetlo alebo bzučiak alebo prehrá zvuk po dosiahnutí určitej prahovej hodnoty. Alebo môžete postaviť hudobný nástroj, ktorý mení frekvenciu v závislosti od sily sily pôsobiacej na piest. Alebo ho použite ako herný ovládač. Zapojte svoju predstavivosť a hrajte!

Krok 4: Skript MicroPython

V prílohe nájdete môj skript BMP280 pre mikro: bit. Je to derivát skriptu BMP/BME280, ktorý som našiel niekde na webovej stránke Banggood, v kombinácii s knižnicou Adrobruit's Microbit. Prvý vám umožní použiť snímač Banggood, druhý zjednoduší ovládanie LED displeja 5x5. Moja vďaka patrí vývojárom oboch.

Skript štandardne zobrazuje výsledky merania tlaku v 5 krokoch na LED displeji micro: bit 5x5, čo umožňuje vidieť zmeny s malým oneskorením. Presné hodnoty je možné súbežne zobrazovať na sériovom monitore Arduino IDE, alebo detailnejší graf je možné zobraziť na sériovom plotri Arduino IDE.

Ak stlačíte tlačidlo A, namerané hodnoty tlaku sa zobrazia na poli LED 5x5 mikro: bitu. Ak stlačíte tlačidlo B, zobrazia sa hodnoty teploty. Aj keď to umožňuje čítať presné údaje, výrazne to spomaľuje cykly merania.

Som si istý, že existujú oveľa elegantnejšie spôsoby, ako naprogramovať úlohy a vylepšiť skript. Akákoľvek pomoc je vítaná.

#include xxx

#include Adafruit_Microbit_Matrix microbit; #define BME280_ADDRESS 0x76 unsigned long int hum_raw, temp_raw, pres_raw; podpísaný dlhý 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; // kontajnery pre namerané hodnoty int value0; int hodnota1; int hodnota2; int hodnota3; int hodnota4; // ------------------------------------------------ ---------------------------------------------------------- ------------------ neplatné nastavenie () {uint8_t osrs_t = 1; // Prevzorkovanie teploty x 1 uint8_t osrs_p = 1; // Prevzorkovanie tlaku x 1 uint8_t osrs_h = 1; // Prevzorkovanie vlhkosti x 1 režim uint8_t = 3; // Normálny režim uint8_t t_sb = 5; // Stojan 1 000 ms uint8_t filter = 0; // Odfiltrujte uint8_t spi3w_en = 0; // 3vodičové SPI Vypnúť uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | režim; uint8_t config_reg = (t_sb << 5) | (filter << 2) | spi3w_en; uint8_t ctrl_hum_reg = osrs_h; pinMode (PIN_BUTTON_A, INPUT); pinMode (PIN_BUTTON_B, INPUT); Serial.begin (9600); // Serial.println ("Teplota [° C]"); // Serial.print ("\ t"); Serial.print ("Tlak [hPa]"); // hlavička Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); oneskorenie (1000); } // ----------------------------------------------- ---------------------------------------------------------- -------- void loop () {double temp_act = 0,0, press_act = 0,0, hum_act = 0,0; podpísaný dlhý int temp_cal; nepodpísané dlhé int press_cal, hum_cal; int N; // nastavenie prahových hodnôt pre LED maticový displej, v hPa dvojnásobok max_0 = 1100; dvojnásobok max_1 = 1230; dvojnásobok max_2 = 1360; dvojnásobok max_3 = 1490; readData (); temp_cal = calibration_T (temp_raw); press_cal = calibration_P (pres_raw); hum_cal = calibration_H (hum_raw); temp_act = (dvojnásobok) temp_cal / 100,0; press_act = (dvojité) press_cal / 100,0; hum_act = (dvojnásobok) hum_cal / 1024,0; microbit.clear (); // reset matice LED /* 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)) {// zobrazovanie hodnôt v číslach oneskoruje meranie kruhov microbit.print ("T:"); microbit.print (temp_act, 1); microbit.print ("'C"); // Serial.println (""); } else if (! digitalRead (PIN_BUTTON_A)) {microbit.print ("P:"); microbit.print (press_act, 0); microbit.print ("hPa"); } else {// zobrazovanie hodnôt tlaku ako pixelov alebo čiar na určitej úrovni // 5 krokov: 1490 hPa // prahové hodnoty definované hodnotami max_n if (press_act> max_3) {(N = 0); // horný riadok} else if (press_act> max_2) {(N = 1); } else if (press_act> max_1) {(N = 2); } else if (press_act> max_0) {(N = 3); } else {(N = 4); // základný riadok} // Serial.println (N); // na účely vývoja // microbit.print (N); // ako Line // microbit.drawLine (N, 0, 0, 4, LED_ON); // posun hodnoty na dalsi riadok hodnota4 = hodnota3; hodnota3 = hodnota2; hodnota2 = hodnota1; hodnota1 = hodnota0; hodnota0 = N; // nakreslenie obrázku, stĺpček po stĺpci microbit.drawPixel (0, hodnota0, LED_ON); // ako Pixel: stĺpec, riadok. 0, 0 ľavý horný roh microbit.drawPixel (1, hodnota1, LED_ON); microbit.drawPixel (2, hodnota2, LED_ON); microbit.drawPixel (3, hodnota3, LED_ON); microbit.drawPixel (4, value4, LED_ON); } // odoslanie údajov na sériový monitor a sériový plotter // Serial.println (press_act); // odoslanie hodnôt na sériový port pre numerické zobrazenie, voliteľné

Serial.print (press_act); // odoslanie hodnoty na sériový port pre plotter

// nakreslite indikačné čiary a opravte zobrazený rozsah Serial.print ("\ t"); Serial.print (600); Serial.print ("\ t"); Serial.print (1100), Serial.print ("\ t"); Serial.println (1600); oneskorenie (200); // Merajte trikrát za sekundu} // ---------------------------------------- ---------------------------------------------------------- ---------------------------------------------------------- - // pre snímač bmp/bme280 je potrebné nasledovné, ponechať v stave, v akom je neplatný, údaje readTrim () {uint8_t [32], i = 0; // Oprava 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0x88); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 24); // Oprava 2014/while (Wire.available ()) {data = Wire.read (); i ++; } Wire.beginTransmission (BME280_ADDRESS); // Pridajte 2014/Wire.write (0xA1); // Pridajte 2014/Wire.endTransmission (); // Pridať 2014/Wire.requestFrom (BME280_ADDRESS, 1); // Pridajte 2014/data = Wire.read (); // Pridajte 2014/i ++; // Pridať 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xE1); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 7); // Oprava 2014/while (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (údaje [1] << 8) | údaje [0]; dig_P1 = (údaje [7] << 8) | údaje [6]; dig_P2 = (údaje [9] << 8) | údaje [8]; dig_P3 = (údaje [11] << 8) | údaje [10]; dig_P4 = (údaje [13] << 8) | údaje [12]; dig_P5 = (údaje [15] << 8) | údaje [14]; dig_P6 = (údaje [17] << 8) | údaje [16]; dig_P7 = (údaje [19] << 8) | údaje [18]; dig_T2 = (údaje [3] << 8) | údaje [2]; dig_T3 = (údaje [5] << 8) | údaje [4]; dig_P8 = (údaje [21] << 8) | údaje [20]; dig_P9 = (údaje [23] << 8) | údaje [22]; dig_H1 = údaje [24]; dig_H2 = (údaje [26] << 8) | údaje [25]; dig_H3 = údaje [27]; dig_H4 = (údaje [28] << 4) | (0x0F & údaje [29]); dig_H5 = (údaje [30] 4) & 0x0F); // Oprava 2014/dig_H6 = údaje [31]; // Oprava 2014/} neplatné writeReg (uint8_t reg_address, uint8_t údaje) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_adresa); Wire.write (údaje); Wire.endTransmission (); }

void readData ()

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

podpísaná dlhá int kalibrácia_T (podpísaná dlhá int adc_T)

{podpísaný dlhý int var1, var2, T; var1 = (((((adc_T >> 3) - ((podpísaný dlhý int) dig_T1 11; var2 = (((((((adc_T >> 4) - ((podpísaný dlhý int) dig_T1))) * ((adc_T >> 4) - ((podpísaný dlhý int) dig_T1))) >> 12) * ((podpísaný dlhý int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; návrat T;} nepodpísaná dlhá int kalibrácia_P (podpísaná dlhá int adc_P) {podpísaná dlhá int var1, var2; nepodpísaná dlhá int P; var1 = ((((podpísaná dlhá int) t_fine) >> 1) - (podpísaná dlhá int) 64000; var2 = (((var1 >> 2) * (var1 >> 2)) >> 11) * ((podpísaný dlhý int) dig_P6); var2 = var2 + ((var1 * ((podpísaný dlhý int) dig_P5)) 2) + (((podpísaný dlhý int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((podpísaný dlhý int) dig_P2) * var1) >> 1)) >> 18; var1 = ((((((32768+var1)))*((podpísaný dlhý int) dig_P1)) >> 15); if (var1 == 0) {return 0; } P = (((nepodpísaný dlhý int) ((((podpísaný dlhý int) 1048576) -adc_P)-(var2 >> 12)))*3125; if (P <0x80000000) {P = (P << 1) / ((unsigned long int) var1); } else {P = (P / (unsigned long int) var1) * 2; } var1 = (((podpísaný dlhý int) dig_P9) * ((podpísaný dlhý int) (((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((podpísaný dlhý int) (P >> 2)) * ((podpísaný dlhý int) dig_P8)) >> 13; P = (nepodpísaný dlhý int) ((podpísaný dlhý int) P + ((var1 + var2 + dig_P7) >> 4)); návrat P; } nepodpísaná dlhá int kalibrácia_H (podpísaná dlhá int adc_H) {podpísaná dlhá int v_x1; v_x1 = (t_fine - ((podpísaný dlhý int) 76800)); v_x1 = ((((((adc_H << 14) -((((podpísaný dlhý int) dig_H4) 15) * (((((((v_x1 * ((podpísaný dlhý int) dig_H6)) >> 10) * (((v_x1 * ((podpísaný dlhý int) dig_H3)) >> 11) + ((podpísaný dlhý int) 32768))) >> 10) + ((podpísaný dlhý int) 2097152)) * ((podpísaný dlhý int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - ((((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((podpísaný dlhý int) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); return (unsigned long int) (v_x1 >> 12);}

Krok 5: Skripty MakeCode/JavaScript

Skripty MakeCode/JavaScript
Skripty MakeCode/JavaScript

Spoločnosť Pimoroni nedávno vydala súbor enviro: bit, ktorý je dodávaný so snímačom tlaku BMP280, snímačom svetla/farieb a mikrofónom MEMS. Ponúkajú tiež knižnicu MicroPython a MakeCode/JavaScript.

Neskôr som napísal skript MakeCode pre snímač tlaku. Príslušný hexadecimálny súbor je možné skopírovať priamo do vášho súboru micro: bit. Kód je zobrazený nižšie a je možné ho upraviť pomocou online editora MakeCode.

Je to variácia skriptu na mikro: bitový ponorový o-meter. Štandardne zobrazuje rozdiel tlaku ako stĺpcový graf. Stlačením tlačidla A nastavíte referenčný tlak, stlačením tlačidla B zobrazíte rozdiel medzi skutočným a referenčným tlakom v hPa.

Okrem základnej verzie čiarového kódu nájdete aj verziu „X“, krížik a verziu „L“, ktorá má uľahčiť čítanie.

nech Stĺpec = 0

nechaj = 0 nechaj riadok = 0 nechaj merač = 0 nechaj deltu = 0 nechaj ref = 0 nech je = 0 je = 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 (Merač> = 400) {Riadok = 4} inak, ak (merač> = 300) {riadok = 3} inak, ak (merač> = 200) {riadok = 2} inak, ak (merač> = 100) {riadok = 1} else {Row = 0} remain = Meter - Row * 100 if (remain> = 80) {Column = 4} else if (remain> = 60) {Column = 3} else if (remain> = 40) {Column = 2 } else if (remain> = 20) {Column = 1} else {Column = 0} for (let ColA = 0; ColA <= Column; ColA ++) {led.plot (ColA, Row)} basic.pause (500)}})

Odporúča: