Sadržaj:

Mjerite tlak s vašim mikro: bit: 5 koraka (sa slikama)
Mjerite tlak s vašim mikro: bit: 5 koraka (sa slikama)

Video: Mjerite tlak s vašim mikro: bit: 5 koraka (sa slikama)

Video: Mjerite tlak s vašim mikro: bit: 5 koraka (sa slikama)
Video: НЕГАТИВНАЯ РЕАКЦИЯ / РАЗОБЛАЧЕНИЕ ПЕВЦА / ДИМАШ и ПОНАСЕНКОВ 2024, Studeni
Anonim
Izmjerite tlak pomoću Micro: bita
Izmjerite tlak pomoću Micro: bita
Izmjerite tlak pomoću Micro: bita
Izmjerite tlak pomoću Micro: bita

Sljedeće upute opisuju jednostavan za izradu i jeftin uređaj za mjerenje tlaka i demonstriraju Boyleov zakon, koristeći micro: bit u kombinaciji s BMP280 senzorom tlaka/temperature.

Dok je ova kombinacija štrcaljke/osjetnika pritiska već opisana u jednom od mojih prethodnih uputa, kombinacija s micro: bitom nudi nove mogućnosti, npr. za projekte razrednih soba.

Osim toga, broj opisa aplikacija u kojima se micro: bit koristi u kombinaciji s senzorom s pogonom I2C do sada je prilično ograničen. Nadam se da bi ovo uputstvo moglo biti polazište za druge projekte.

Uređaj omogućuje kvantitativna mjerenja zračnog tlaka i prikaz rezultata na mikro: bit LED nizu ili na spojenom računalu za kasniju upotrebu funkcija serijskog monitora ili serijskog plotera Arduino IDE -a. Osim toga, imate haptičku povratnu informaciju jer ćete sami gurnuti ili povući klip štrcaljke i ovime osjetiti potrebnu snagu.

Zadano, zaslon vam omogućuje procjenu tlaka prema pokazatelju razine prikazanom na LED matrici. Serijski ploter Arduino IDE -a omogućuje isto, ali s mnogo boljom razlučivošću (pogledajte video). Dostupna su i složenija rješenja, npr. na jeziku za obradu. Također možete prikazati precizne izmjerene vrijednosti tlaka i temperature na LED matrici nakon pritiskanja tipki A ili B, ali serijski monitor Arduino IDE -a mnogo je brži i omogućuje prikaz vrijednosti u gotovo stvarnom vremenu.

Ukupni troškovi i tehničke vještine potrebne za izradu uređaja prilično su niski, pa bi to mogao biti lijep projekt u učionici pod nadzorom učitelja. Osim toga, uređaj bi mogao biti alat za STEM projekte s naglaskom na fizici ili se koristiti u drugim projektima gdje se sila ili težina pretvaraju u digitalnu vrijednost.

Princip je korišten za konstrukciju vrlo jednostavnog mikro: bitnog ronilačkog metra, uređaja za mjerenje dubine ronjenja.

Dodatak 27. svibnja 2018.:

Kako je Pimoroni razvio MakeCode biblioteku za BMP280 senzor, to mi je dalo priliku da razvijem skriptu koja će se koristiti za ovdje opisani uređaj. Skripta i odgovarajuća HEX datoteka mogu se pronaći u posljednjem koraku ove upute. Da biste ga koristili, samo učitajte HEX datoteku na svoj micro: bit. Nema potrebe za posebnim softverom, a za uređivanje skripte možete koristiti mrežni uređivač MakeCode.

Korak 1: Korišteni materijali

Rabljeni materijali
Rabljeni materijali
Rabljeni materijali
Rabljeni materijali
Rabljeni materijali
Rabljeni materijali
Rabljeni materijali
Rabljeni materijali
  • Micro: bit, moj je nabavljen od Pimoronija - 13,50 GBP
  • Kitronic Edge konektor za micro: bit - preko Pimoronija - 5 GBP, Napomena: Pimorini sada nudi rubni konektor prilagođen ploči naziva pin: bit s pinovima na I2C priključcima.
  • 2 x 2 pinske zaglavne trake
  • Baterija ili LiPo za mikro: bit (nije potrebno, ali korisno), kabel baterije sa prekidačem (dito) - Pimoroni
  • kratkospojni kablovi za spajanje senzora na rubni priključak
  • dugi (!) kratkospojni kablovi za senzor, barem toliko dugo koliko i štrcaljka,, f/f ili f/m
  • BMP280 osjetnik tlaka i temperature - Banggood - 5 US $ za tri jediniceMjerni raspon za ovaj senzor je između 550 i 1537 hPa.
  • Plastična štrcaljka za kateter od 150 ml s gumenom brtvom - Amazon ili prodavaonice hardvera i vrta - oko 2 - 3 US $
  • pištolj za vruće ljepilo/vruće ljepilo
  • lemilica
  • računalo s instaliranim Arduino IDE -om

Korak 2: Upute za sastavljanje

Upute za montažu
Upute za montažu
Upute za montažu
Upute za montažu
Upute za montažu
Upute za montažu

Lemna zaglavlja na prekid senzora BMP280.

Lemite dva 2 -polna zaglavlja na konektore pin 19 i pin 20 Edge konektora (pogledajte sliku).

Spojite micro: bit na Edge konektor i računalo.

Pripremite softver i micro: bit kako je opisano u uputama za Adafruit micro: bit. Pažljivo ih pročitajte.

Instalirajte potrebne knjižnice u Arduino IDE.

Otvorite skriptu BMP280 priloženu u kasnijem koraku.

Spojite senzor na Edge konektor. GND na 0V, VCC na 3V, SCL na pin 19, SDA na pin 20.

Prenesite skriptu na micro: bit.

Provjerite daje li senzor razumne podatke, vrijednosti tlaka bi trebale biti oko 1020 hPa, prikazane na serijskom monitoru. U tom slučaju prvo provjerite kabele i spojeve, zatim instalaciju softvera i ispravite ih.

Isključite micro: bit, uklonite senzor.

Provedite duge kratkospojne kabele kroz izlaz štrcaljke. U slučaju da ćete morati proširiti otvor. Pazite da ne primijetite oštećenje kabela.

Spojite senzor na kratkospojne kabele. Provjerite jesu li spojevi ispravni i ispravni. Spojite se na micro: bit.

Provjerite radi li senzor ispravno. Pažljivo povlačeći kabele, pomaknite senzor na vrh štrcaljke.

Umetnite klip i pomaknite ga malo dalje od željenog položaja za odmor (100 ml).

Dodajte vruće ljepilo na kraj otvora štrcaljke i pomaknite klip malo unatrag. Provjerite je li štrcaljka dobro zatvorena, u protivnom dodajte još vrućeg ljepila. Vruće ljepilo ohladite.

Ponovno provjerite radi li senzor. Ako pomaknete klip, trebali bi se promijeniti brojevi na serijskom monitoru i zaslonu micro: bita.

Ako je potrebno, možete prilagoditi glasnoću štrcaljke tako da je stisnete blizu brtve i pomaknete klip.

Korak 3: Malo teorije i neka praktična mjerenja

Malo teorije i neka praktična mjerenja
Malo teorije i neka praktična mjerenja
Malo teorije i neka praktična mjerenja
Malo teorije i neka praktična mjerenja

S ovdje opisanim uređajem možete pokazati korelaciju kompresije i tlaka u jednostavnim fizičkim eksperimentima. Budući da štrcaljka dolazi s ljestvicom "ml", lako je izvesti čak i kvantitativne pokuse.

Teorija koja stoji iza toga: Prema Boyleovom zakonu, [Volumen * Tlak] je konstantna vrijednost za plin pri određenoj temperaturi.

To znači da ako sabijete dani volumen plina N-puta, tj. Konačni volumen je 1/N puta izvornog, njegov tlak će se povećati N-puta, kao: P0*V0 = P1*V1 = kons t. Za više detalja pogledajte članak Wikipedia o zakonima o plinu. Na razini mora barometarski tlak obično je u rasponu od 1010 hPa (hekto Paskal).

Dakle počevši od odmorišta na pr. V0 = 100 ml i P0 = 1000 hPa, komprimiranje zraka na približno 66 ml (tj. V1 = 2/3 * V0) rezultirat će tlakom od oko 1500 hPa (P1 = 3/2 od P0). Povlačenjem klipa na 125 ml (5/4 puta veći volumen) nastaje tlak od oko 800 hPa (pritisak 4/5). Mjerenja su zapanjujuće precizna za tako jednostavan uređaj.

Uređaj vam omogućuje da imate izravan haptički dojam kolika je sila potrebna za komprimiranje ili širenje relativno male količine zraka u štrcaljki.

Ali također možemo izvesti neke izračune i eksperimentalno ih provjeriti. Pretpostavimo da komprimiramo zrak na 1500 hPa, pri bazalnom barometrijskom tlaku od 1000 hPa. Dakle, razlika u tlaku iznosi 500 hPa ili 50 000 Pa. Za moju štrcaljku promjer (d) klipa je oko 4 cm ili 0,04 metra.

Sada možete izračunati silu potrebnu za držanje klipa u tom položaju. Dano P = F/A (Tlak je sila podijeljena s površinom) ili transformirano F = P*A. SI jedinica za silu je "Newton" N, za duljinu "Meter" m, a 1 Pa iznosi 1N po kvadratnom metru. Za okrugli klip, površina se može izračunati pomoću A = ((d/2)^2)*pi, što daje 0,00125 četvornih metara za moju štrcaljku. Tako

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

Na Zemlji 1 N korelira s težinom od 100 gr, pa je 63 N jednako težini od 6,3 kg.

To se može lako provjeriti pomoću vage. Gurnite štrcaljku s klipom na vagu dok se ne postigne tlak od oko 1500 hPa, a zatim pročitajte ljestvicu. Ili gurajte dok vaga ne pokaže oko 6-7 kg, zatim pritisnite gumb "A" i pročitajte vrijednost prikazanu na LED matrici micro: bita. Kako se pokazalo, procjena temeljena na gornjim izračunima nije bila loša. Tlak nešto iznad 1500 hPa korelira s prikazanom "težinom" od oko 7 kg na ljestvici tijela (vidi slike). Također biste mogli okrenuti ovaj koncept i koristiti uređaj za izradu jednostavne digitalne ljestvice na temelju mjerenja tlaka.

Imajte na umu da je gornja granica osjetnika oko 1540 hPa, pa se bilo koji tlak iznad ovoga ne može mjeriti i može oštetiti senzor.

Osim u obrazovne svrhe, sustav se može koristiti i za neke primjene u stvarnom svijetu, jer omogućuje kvantitativno mjerenje sila koje pokušavaju pomaknuti klip na ovaj ili onaj način. Tako biste mogli izmjeriti težinu postavljenu na klip ili udarnu silu koja udara u klip. Ili izradite prekidač koji aktivira svjetlo ili zujalicu ili reproducira zvuk nakon što je dosegnuta određena vrijednost praga. Ili možete izgraditi glazbeni instrument koji mijenja frekvenciju ovisno o snazi sile koja se primjenjuje na klip. Ili ga upotrijebite kao kontroler igre. Upotrijebite maštu i igrajte se!

Korak 4: MicroPython skripta

U privitku ćete pronaći moju skriptu BMP280 za micro: bit. To je derivat BMP/BME280 skripte koju sam pronašao negdje na web stranici Banggood, u kombinaciji s Adafruit -ovom Microbit bibliotekom. Prvi vam omogućuje korištenje Banggood senzora, drugi pojednostavljuje rukovanje 5x5 LED zaslonom. Zahvaljujem programerima oboje.

Prema zadanim postavkama, skripta prikazuje rezultate mjerenja tlaka u 5 koraka na micro: bit 5x5 LED zaslonu, omogućujući uvid u promjene s malim kašnjenjem. Točne vrijednosti mogu se paralelno prikazati na Arduino IDE serijskom monitoru, ili se može prikazati detaljniji grafikon na ploteru Arduino IDE -a.

Ako pritisnete gumb A, izmjerene vrijednosti tlaka prikazuju se na micro: bit 5x5 LED nizu. Ako pritisnete gumb B, prikazat će se vrijednosti temperature. Iako to omogućuje čitanje preciznih podataka, značajno usporava cikluse mjerenja.

Siguran sam da postoje mnogo elegantniji načini programiranja zadataka i poboljšanja skripte. Svaka pomoć je dobrodošla.

#uključi xxx

#include Adafruit_Microbit_Matrix microbit; #define BME280_ADDRESS 0x76 unsigned long int hum_raw, temp_raw, pres_raw; potpisan dugi 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 kopa_H3; int16_t dig_H4; int16_t dig_H5; int8_t dig_H6; // spremnici za izmjerene vrijednosti int value0; int vrijednost1; int vrijednost2; int vrijednost3; int vrijednost4; // ------------------------------------------------ -------------------------------------------------- ------------------ void setup () {uint8_t osrs_t = 1; // Temperaturno preuzorkovanje x 1 uint8_t osrs_p = 1; // Prekomjerno uzorkovanje tlaka x 1 uint8_t osrs_h = 1; // Preuzorkovanje vlažnosti x 1 način rada uint8_t = 3; // Normalni način rada uint8_t t_sb = 5; // Tstandby 1000ms uint8_t filter = 0; // Filtriranje uint8_t spi3w_en = 0; // 3-žični SPI Onemogući uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | način rada; uint8_t config_reg = (t_sb << 5) | (filter << 2) | spi3w_en; uint8_t ctrl_hum_reg = osrs_h; pinMode (PIN_BUTTON_A, ULAZ); pinMode (PIN_BUTTON_B, ULAZ); Serial.begin (9600); // Serial.println ("Temperatura [° C]"); // Serial.print ("\ t"); Serial.print ("Tlak [hPa]"); // zaglavlje Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); kašnjenje (1000); } // ----------------------------------------------- -------------------------------------------------- -------- void loop () {double temp_act = 0.0, press_act = 0.0, hum_act = 0.0; potpisan dugi int temp_cal; unsigned long int press_cal, hum_cal; int N; // postavljanje graničnih vrijednosti za LED matrični prikaz, u hPa dvostruko max_0 = 1100; dvostruki max_1 = 1230; dvostruki max_2 = 1360; dvostruki max_3 = 1490; readData (); temp_cal = kalibracija_T (temp_raw); press_cal = calibration_P (pres_raw); hum_cal = umjeravanje_H (hum_raw); temp_act = (dvostruko) temp_cal / 100.0; press_act = (dvostruki) press_cal / 100.0; hum_act = (dvostruko) hum_cal / 1024.0; microbit.clear (); // resetiranje LED matrice /* 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)) {// prikazivanje vrijednosti u brojkama odgađa mjerenje krugova 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 {// prikazivanje vrijednosti tlaka kao piksela ili linija na određenoj razini // 5 koraka: 1490 hPa // pragovi definirani max_n vrijednostima if (press_act> max_3) {(N = 0); // gornji red} 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); // osnovni red} // Serial.println (N); // u razvojne svrhe // microbit.print (N); // kao linija // microbit.drawLine (N, 0, 0, 4, LED_ON); // pomak vrijednosti na sljedeći red vrijednost4 = vrijednost3; vrijednost3 = vrijednost2; vrijednost2 = vrijednost1; vrijednost1 = vrijednost0; vrijednost0 = N; // crtanje slike, stupac po stupac microbit.drawPixel (0, value0, LED_ON); // kao Pixel: stupac, redak. 0, 0 lijevi gornji kut microbit.drawPixel (1, vrijednost1, LED_ON); microbit.drawPixel (2, vrijednost2, LED_ON); microbit.drawPixel (3, vrijednost3, LED_ON); microbit.drawPixel (4, value4, LED_ON); } // slanje podataka na serijski monitor i ploter // Serial.println (press_act); // slanje vrijednosti na serijski port za numerički prikaz, izborno

Serial.print (press_act); // šalje vrijednost na serijski port za ploter

// crtanje indikatorskih linija i popravljanje prikazanog raspona Serial.print ("\ t"); Serijski.tisak (600); Serial.print ("\ t"); Serial.print (1100), Serial.print ("\ t"); Serial.println (1600); kašnjenje (200); // Mjerenje tri puta u sekundi} // ---------------------------------------- -------------------------------------------------- -------------------------------------------------- - // sljedeće je potrebno za senzor bmp/bme280, neka ostane ništavno readTrim () {uint8_t data [32], i = 0; // Popravi 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0x88); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 24); // Popravi 2014./dok (Wire.available ()) {data = Wire.read (); i ++; } Wire.beginTransmission (BME280_ADDRESS); // Dodaj 2014/Wire.write (0xA1); // Dodaj 2014/Wire.endTransmission (); // Dodaj 2014/Wire.requestFrom (BME280_ADDRESS, 1); // Dodaj 2014/data = Wire.read (); // Dodaj 2014/i ++; // Dodaj 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xE1); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 7); // Popravi 2014./dok (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (podaci [1] << 8) | podaci [0]; dig_P1 = (podaci [7] << 8) | podaci [6]; dig_P2 = (podaci [9] << 8) | podaci [8]; dig_P3 = (podaci [11] << 8) | podaci [10]; dig_P4 = (podaci [13] << 8) | podaci [12]; dig_P5 = (podaci [15] << 8) | podaci [14]; dig_P6 = (podaci [17] << 8) | podaci [16]; dig_P7 = (podaci [19] << 8) | podaci [18]; dig_T2 = (podaci [3] << 8) | podaci [2]; dig_T3 = (podaci [5] << 8) | podaci [4]; dig_P8 = (podaci [21] << 8) | podaci [20]; dig_P9 = (podaci [23] << 8) | podaci [22]; dig_H1 = podaci [24]; dig_H2 = (podaci [26] << 8) | podaci [25]; dig_H3 = podaci [27]; dig_H4 = (podaci [28] << 4) | (0x0F & podaci [29]); dig_H5 = (podaci [30] 4) & 0x0F); // Popravi 2014/dig_H6 = podaci [31]; // Popravimo 2014/} void writeReg (uint8_t reg_address, uint8_t data) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_address); Wire.write (podaci); Wire.endTransmission (); }

void readData ()

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

potpisan long int calibration_T (potpisan long int adc_T)

{potpisan dugi int var1, var2, T; var1 = ((((adc_T >> 3) - ((potpisan dugačak int) dig_T1 11; var2 = (((((adc_T >> 4) - ((potpisan dugačak int) dig_T1)) * ((adc_T >> 4) - ((potpisan dugi int) dig_T1))) >> 12) * ((potpisan dugi int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; return T;} bez znaka long int calibration_P (s potpisom long int adc_P) {s potpisom long int var1, var2; bez potpisa long int P; var1 = (((s potpisom long int) t_fine) >> 1) - (s potpisom long int) 64000; var2 = (((var1 >> 2) * (var1 >> 2)) >> 11) * ((potpisan dugi int) dig_P6); var2 = var2 + ((var1 * ((potpisan dugi int) dig_P5)) 2) + (((potpisani dugi int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((potpisani dugi int) dig_P2) * var1) >> 1)) >> 18; var1 = ((((32768+var1))*((potpisan dug int) dig_P1)) >> 15); if (var1 == 0) {return 0; } P = (((unsigned long int) (((with long long int) 1048576) -adc_P)-(var2 >> 12)))*3125; if (P <0x80000000) {P = (P << 1) / ((nepotpisani dugi int) var1); } else {P = (P / (unsigned long int) var1) * 2; } var1 = ((((dugačak int s potpisom) dig_P9) * ((s dugim intom s potpisom) (((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((potpisan dugi int) (P >> 2)) * ((potpisan dugi int) dig_P8)) >> 13; P = (unsigned long int) ((long long int s potpisom) P + ((var1 + var2 + dig_P7) >> 4)); povratak P; } nepotpisana kalibracija dugog inta_H (potpisana dugačka int adc_H) {potpisana dugačka int v_x1; v_x1 = (t_fine - ((s potpisom dugačak int) 76800)); v_x1 = (((((adc_H << 14) -(((potpisan dugi int) dig_H4) 15) * ((((((v_x1 * ((potpisan dugi int) dig_H6)) >> 10) * (((v_x1 * ((potpisan dugačak int) dig_H3)) >> 11) + ((potpisan dugi int) 32768))) >> 10) + ((potpisan dugi int) 2097152)) * ((potpisan dugi int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - (((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((potpisano dugim intom) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); return (nepotpisani dugi int) (v_x1 >> 12);}

Korak 5: MakeCode/JavaScript skripte

MakeCode/JavaScript skripte
MakeCode/JavaScript skripte

Pimoroni je nedavno objavio enviro: bit, koji dolazi sa senzorom pritiska BMP280, senzorom svjetla/boje i MEMS mikrofonom. Također nude MicroPython i MakeCode/JavaScript biblioteku.

Kasnije sam koristio za pisanje MakeCode skripte za senzor tlaka. Odgovarajuća hex datoteka može se kopirati izravno na vaš micro: bit. Kôd je prikazan ispod i može se promijeniti pomoću mrežnog uređivača MakeCode.

To je varijacija skripte za mikro: bitni zaron-o-metar. Prema zadanim postavkama razlika pritiska se prikazuje kao stupčasti grafikon. Pritiskom na tipku A postavlja se referentni tlak, pritiskom na tipku B prikazuje se razlika između stvarnog i referentnog tlaka u hPa.

Osim osnovne verzije crtičnog koda, pronaći ćete i "X", verziju s presjekom i "L", namijenjenu za olakšavanje čitanja.

neka stupac = 0

neka ostane = 0 neka Red = 0 neka Mjerilo = 0 neka Delta = 0 neka Ref = 0 neka je Is = 0 Is = 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 (Mjerač> = 400) {Red = 4} else if (Mjerač> = 300) {Red = 3} else if (Mjerač> = 200) {Red = 2} else if (Mjerač> = 100) {Red = 1} else {Red = 0} ostaje = Mjerač - Red * 100 ako (ostaje> = 80) {Stupac = 4} Ostalo ako (ostaje> = 60) {Stupac = 3} inače ako (ostane>> 40) {Stupac = 2 } else if (continue> = 20) {Column = 1} else {Column = 0} for (neka ColA = 0; ColA <= Stupac; ColA ++) {led.plot (ColA, Red)} basic.pause (500)}})

Preporučeni: