Kazalo:

A Micro: bit Dive-O-Meter: 8 korakov (s slikami)
A Micro: bit Dive-O-Meter: 8 korakov (s slikami)

Video: A Micro: bit Dive-O-Meter: 8 korakov (s slikami)

Video: A Micro: bit Dive-O-Meter: 8 korakov (s slikami)
Video: Casio G-Shock GMW-B5000D-1E - честный обзор и отзыв, плюсы и недостатки. Стальные Касио Джишок 5000. 2024, Julij
Anonim
Micro: bitni Dive-O-meter
Micro: bitni Dive-O-meter
Micro: bitni Dive-O-meter
Micro: bitni Dive-O-meter
Micro: bitni Dive-O-meter
Micro: bitni Dive-O-meter

Poletje je tu, čas za bazen!

Dobra priložnost, da sebe in svoj micro: bit popeljete zunaj, v tem primeru celo v bazen.

Tukaj opisani merilnik potapljanja o: micro: bit je preprost merilnik globine DIY, ki vam omogoča, da izmerite, kako globoko ste ali ste se potapljali. Sestavljen je samo iz mikro: bita, baterije ali LiPo, robnega priključka za mikro: bit, barometričnega senzorja tlaka BMP280 ali BME280 in nekaj mostičnih kablov. Z uporabo okolice Pimoroni: bit does stvari postajajo vse enostavnejše. Vse to je pakirano v dve plasti vodotesnih prozornih plastičnih ali silikonskih vrečk, pri čemer je dodanih nekaj uteži za kompenzacijo vzgonske sile.

Gre za uporabo naprave za zaznavanje tlaka micro: bit, ki sem jo opisal v prejšnjih navodilih.

Uporabite lahko napravo e. g. za potapljaška tekmovanja s prijatelji in družino ali pa ugotoviti, kako globok je ta ribnik. Preizkusil sem ga z najglobljim bazenom v svoji soseski in ugotovil, da deluje vsaj do globine 3,2 metra. Teoretični maksimum je približno pet metrov. Doslej nisem natančno preizkusil njegove natančnosti, vendar so bile prijavljene številke vsaj v pričakovanem razponu.

Nekaj opomb: To ni mišljeno kot orodje za prave potapljače. Vaš micro: bit se poškoduje, če se zmoči. To navodilo uporabljate na lastno odgovornost.

Posodobitev 27. maj: Zdaj lahko najdete HEX-skript MakeCode, ki ga lahko naložite neposredno v svoj micro: bit. Glejte korak 6. Posodobite 13. junij: dodana je Enviro: bit in različica kabla. Glejte koraka 7 in 8

1. korak: Teorija za napravo

Živimo na dnu zračnega oceana. Tlak tukaj je okoli 1020 hPa (hektoPaskal), saj je teža zračnega stolpca v vesolju približno 1 kg na kvadratni centimeter.

Gostota vode je veliko večja, saj en liter zraka tehta približno 1,2 g in en liter vode 1 kg, to je približno 800-krat. Ker je padec barometričnega tlaka približno 1 hPa na vsakih 8 metrov višine, je povečanje tlaka 1 hPa za vsak centimeter pod vodno gladino. Na globini približno 10 m je tlak 2000 hPa ali dve atmosferi.

Tu uporabljen senzor tlaka ima merilno območje med 750 in 1500 hPa pri ločljivosti približno enega hPa. To pomeni, da lahko merimo globine do 5 metrov pri ločljivosti približno 1 cm.

Naprava bi bila merilnik globine tipa Boyle Marriotte. Njegova montaža je precej preprosta in opisana v naslednjem koraku. Senzor uporablja protokol I2C, zato je priročen robni priključek za micro: bit. Najbolj kritični del so neprepustne vreče, saj lahko vsaka vlaga poškoduje micro: bit, senzor ali baterijo. Ker bo v vrečah ujetih nekaj zraka, dodajanje uteži pomaga kompenzirati vzgonsko silo.

2. korak: Uporaba naprave

Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave
Uporaba naprave

Skript, kot je podrobneje prikazan v poznejšem koraku, je različica skripta, ki sem ga razvil prej za merilnik tlaka. Za preizkus naprave lahko uporabite preprosto tam opisano tlačno komoro.

Za potapljanje prikazuje globino v metrih, izračunano iz meritev tlaka, bodisi kot stolpčni graf v korakih po 20 cm ali na zahtevo v številkah.

S tipko A na mikro: bitu nastavite trenutni tlak kot referenčno vrednost tlaka. Za potrditev vnosa matrika enkrat utripa.

To lahko uporabite za ogled, kako globoko se potapljate, ali za snemanje, kako globoko ste se potapljali.

V prvem primeru nastavite trenutni zunanji zračni tlak kot referenčno. V drugem primeru nastavite tlak na najgloblji točki, kjer ste, kot referenco tlaka, ki vam nato pokaže, kako globoko ste bili, ko ste spet na površini. Gumb B prikaže globino, izračunano iz razlike tlaka, kot številčno vrednost v metrih.

3. korak: Potrebni materiali

Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali
Potrebni materiali

Mikro: bit. Npr. za 13 GBP/16 evrov pri Pimoroni UK/DE.

Robni priključek (Kitronic ali Pimoroni), 5 GBP. Uporabil sem različico Kitronic.

Senzor BMP/BME280. Uporabil sem senzor BMP280 iz Banggooda, 4,33 evra za tri enote.

Mostični kabli za povezavo senzorja in robnega priključka.

Odlična alternativa zgornji kombinaciji robnega priključka/senzorja bi lahko bila Pimoroni enviro: bit (do sedaj še ni preizkušeno, glej zadnji korak).

Baterijski paket ali LiPo za micro: bit.

Napajalni kabel s stikalom (neobvezno, vendar koristno). Očistite vodotesne vrečke. Za mobilni telefon sem uporabil silikonsko vrečko in eno ali dve majhni vrečki z zadrgo. Prepričajte se, da je material dovolj debel, da zatiči na robnem priključku ne bodo poškodovali vrečk.

Nekaj uteži. Uporabil sem kose svinčeve teže, ki se uporabljajo za ribolov.

Arduino IDE in več knjižnic.

4. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Namestite Arduino IDE in potrebne knjižnice. Podrobnosti so opisane tukaj.

(Ni potrebno za skript MakeCode.) Glede na to, da uporabljate robni konektor Kitronik, spajnite zatiče na vrata I2C 19 in 20. To ni potrebno za priključek Pimoroni rob. Spojite glavo na prelom senzorja in s pomočjo mostičnih kablov povežite senzor in robni priključek. VCC priključite na 3V, GND na 0 V, SCL na vrata 19 in SDA na vrata 20. Druga možnost je, da kable spajkate neposredno na prekinitev. Micro: bit povežite z računalnikom s kablom USB. Odprite priloženi skript in ga utripajte v micro: bit. Uporabite serijski monitor ali ploter, preverite, ali senzor daje primerne podatke. Odklopite mikro: bit iz računalnika. Priključite baterijo ali LiPo na micro: bit. Pritisnite gumb B, preberite vrednost Pritisnite gumb A. Pritisnite gumb B, preberite vrednost. Napravo postavite v dve plasti nepredušnih vrečk in v vrečah pustite le zelo malo zraka. V tem primeru postavite utež za kompenzacijo sile vzgona. Preverite, ali je vse vodotesno. Pojdite v bazen in se igrajte.

5. korak: Skript MicroPython

Skript samo vzame vrednost tlaka iz senzorja, jo primerja z referenčno vrednostjo in nato iz razlike izračuna globino. Za prikaz vrednosti kot stolpčni graf se vzame celo število in preostali del globinske vrednosti. Prvi določa višino črte. Preostanek je razdeljen na pet zabojev, ki določajo dolžino palic. Najvišji nivo je 0 - 1 m, najnižji 4 - 5 m. Kot smo že omenili, s pritiskom na gumb A nastavite referenčni tlak, gumb B prikaže "relativno globino" v metrih, prikazano kot številčno vrednost. Doslej so na matriki LED negativne in pozitivne vrednosti predstavljene kot črtna črta na enak način. Prosto optimizirajte skript za svoje potrebe. Nekatere vrstice lahko vklopite, da prikažete vrednosti na serijskem monitorju ali ploterju Arduino IDE. Za posnemanje funkcije lahko sestavite napravo, ki sem jo opisal v prejšnjem navodilu.

Nisem napisal dela skripta, ki bere senzor. Za vir nisem prepričan, vendar se avtorjem rad zahvaljujem. Vsak popravek ali namig za optimizacijo je dobrodošel.

#vključi

#include Adafruit_Microbit_Matrix microbit; #define BME280_ADDRESS 0x76 unsigned long int hum_raw, temp_raw, pres_raw; podpisano dolgo 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; dvojni press_norm = 1015; // začetna vrednost dvojna globina; // izračunana globina // -------------------------------------------- -------------------------------------------------- ---------------------- void setup () {uint8_t osrs_t = 1; // Temperaturno preveliko vzorčenje x 1 uint8_t osrs_p = 1; // Nadzorčenje tlaka x 1 uint8_t osrs_h = 1; // preveliko vzorčenje vlažnosti x 1 način uint8_t = 3; // Običajen način uint8_t t_sb = 5; // Tstandby 1000ms uint8_t filter = 0; // filtriranje uint8_t spi3w_en = 0; // 3-žični SPI Onemogoči uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | način; 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); // nastavite hitrost serijskih vrat Serial.print ("Tlak [hPa]"); // glava za serijski izhod Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); zamuda (1000); } // ----------------------------------------------- ---------------------------------------------- void zanka () {double temp_act = 0,0, press_act = 0,0, hum_act = 0,0; podpisana dolga int temp_cal; brez podpisa dolga int press_cal, hum_cal; int N; int M; dvojni press_delta; // relativni tlak int globina_m; // globina v metrih, celobrojni del dvojna globina_cm; // ostanek v cm readData (); // temp_cal = calibration_T (temp_raw); press_cal = calibration_P (pres_raw); // hum_cal = calibration_H (hum_raw); // temp_act = (dvojno) temp_cal / 100.0; press_act = (dvojno) press_cal / 100,0; // hum_act = (dvojno) hum_cal / 1024.0; microbit.clear (); // ponastavi matriko LED // Gumb A nastavi dejansko vrednost kot referenco (P nič) // Gumb B prikaže trenutno vrednost kot globino v metrih (izračunano iz razlike tlaka), če (! digitalRead (PIN_BUTTON_A)) {// nastavite normalni zračni tlak kot nič press_norm = pritisnite_akt; // microbit.print ("P0:"); // microbit.print (press_norm, 0); // microbit.print ("hPa"); microbit.fillScreen (LED_ON); // enkrat utripa za potrditev zakasnitve (100); } else if (! digitalRead (PIN_BUTTON_B)) {// prikaže globino v metrih microbit.print (globina, 2); microbit.print ("m"); // Serial.println (""); } else {// izračunajte globino iz razlike tlaka press_delta = (press_act - press_norm); // izračunamo globino relativnega tlaka = (press_delta/100); // globina v metrih globina_m = int (abs (globina)); // globina im meter globina_cm = (abs (globina) - globina_m); // ostanek /* // uporabljen za razvoj Serial.println (globina); Serial.println (globina_m); Serial.println (globina_cm); */ // Koraki za bargraf if (globina_cm> 0,8) {// nastavljena dolžina palic (N = 4); } else if (globina_cm> 0,6) {(N = 3); } else if (globina_cm> 0,4) {(N = 2); } else if (globina_cm> 0,2) {(N = 1); } else {(N = 0); }

if (globina_m == 4) {// nastavite raven == meter

(M = 4); } drugače če (globina_m == 3) {(M = 3); } drugače če (globina_m == 2) {(M = 2); } drugače če (globina_m == 1) {(M = 1); } else {(M = 0); // zgornja vrstica} /* // uporabljeno za razvojne namene Serial.print ("m:"); Serial.println (globina_m); Serial.print ("cm:"); Serial.println (globina_cm); Serial.print ("M:"); Serial.println (M); // za razvojne namene Serial.print ("N:"); Serial.println (N); // za razvojne namene zamuda (500); */ // nariši črtno grafiko microbit.drawLine (0, M, N, M, LED_ON); }

// pošilja vrednost na serijska vrata za ploter

Serial.print (press_delta); // narišemo indikatorske črte in popravimo prikazano območje Serial.print ("\ t"); Serial.print (0); Serial.print ("\ t"); Serijski.tisk (-500); Serial.print ("\ t"); Serial.println (500); zamuda (500); // Merjenje dvakrat na sekundo} // ----------------------------------------- -------------------------------------------------- -------------------------------------------------- -------- // za senzor bmp/bme280 je potrebno naslednje, naj ostane prazno 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/while (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/while (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (podatki [1] << 8) | podatki [0]; dig_P1 = (podatki [7] << 8) | podatki [6]; dig_P2 = (podatki [9] << 8) | podatki [8]; dig_P3 = (podatki [11] << 8) | podatki [10]; dig_P4 = (podatki [13] << 8) | podatki [12]; dig_P5 = (podatki [15] << 8) | podatki [14]; dig_P6 = (podatki [17] << 8) | podatki [16]; dig_P7 = (podatki [19] << 8) | podatki [18]; dig_T2 = (podatki [3] << 8) | podatki [2]; dig_T3 = (podatki [5] << 8) | podatki [4]; dig_P8 = (podatki [21] << 8) | podatki [20]; dig_P9 = (podatki [23] << 8) | podatki [22]; dig_H1 = podatki [24]; dig_H2 = (podatki [26] << 8) | podatki [25]; dig_H3 = podatki [27]; dig_H4 = (podatki [28] << 4) | (0x0F & podatki [29]); dig_H5 = (podatki [30] 4) & 0x0F); // Popravi 2014/dig_H6 = podatki [31]; // Popravi 2014/} void writeReg (uint8_t reg_address, uint8_t data) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_address); Wire.write (podatki); Wire.endTransmission (); } void readData () {int i = 0; uint32_t podatki [8]; Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xF7); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 8); while (Wire.available ()) {data = Wire.read (); i ++; } pres_raw = (podatki [0] << 12) | (podatki [1] 4); temp_raw = (podatki [3] << 12) | (podatki [4] 4); hum_raw = (podatki [6] 3) - ((podpisan dolg int) dig_T1 11; var2 = (((((adc_T >> 4) - ((podpisan dolg int) dig_T1)) * ((adc_T >> 4) - ((podpisana dolga int) dig_T1))) >> 12) * ((podpisana dolga int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; vrnitev T; } brezpodpisana dolga int kalibracija_P (podpisana dolga int adc_P) {podpisana dolga int var1, var2; nepodpisana dolga int P; var1 = (((podpisana dolga int) t_fine) >> 1) - (podpisana dolga int) 64000; var2 = (((var1 >> 2) * (var1 >> 2)) >> 11) * ((podpisana dolga int) dig_P6); var2 = var2 + ((var1 * ((podpisana dolga int) dig_P5)) 2) + (((podpisana dolga int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((podpisana dolga int) dig_P2) * var1) >> 1)) >> 18; var1 = ((((32768+var1))*((podpisana dolga int) dig_P1)) >> 15); če (var1 == 0) {vrne 0; } P = (((brez podpisa dolga int) (((podpisana dolga int) 1048576) -adc_P)-(var2 >> 12)))*3125; če (P <0x80000000) {P = (P << 1) / ((brez podpisa dolga int) var1); } else {P = (P / (unsigned long int) var1) * 2; } var1 = ((((podpisana dolga int) dig_P9) * ((podpisana dolga int) (((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((podpisana dolga int) (P >> 2)) * ((podpisana dolga int) dig_P8)) >> 13; P = (brez podpisa dolga int) ((podpisana dolga int) P + ((var1 + var2 + dig_P7) >> 4)); vrnitev P; } nepodpisana dolga int kalibracija_H (podpisana dolga int adc_H) {podpisana dolga int v_x1; v_x1 = (t_fine - ((podpisana dolga int) 76800)); v_x1 = (((((adc_H << 14) -(((podpisana dolga int) dig_H4) 15) * ((((((v_x1 * ((podpisana dolga int) dig_H6)) >> 10) * (((v_x1 * ((podpisano dolgo int) dig_H3)) >> 11) + ((podpisano dolgo int) 32768))) >> 10) + ((podpisano dolgo int) 2097152)) * ((podpisano dolgo int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - (((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((podpisano dolgo int) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); return (nepodpisana dolga int) (v_x1 >> 12);

Korak 6: Velika poenostavitev: koda MakeCode/JavaScript

Velika poenostavitev: koda MakeCode/JavaScript
Velika poenostavitev: koda MakeCode/JavaScript
Velika poenostavitev: koda MakeCode/JavaScript
Velika poenostavitev: koda MakeCode/JavaScript

Maja 2018 je Pimoroni izdal enviro: bit, ki je opremljen s senzorjem tlaka/vlažnosti/temperature BME280, svetlobnim in barvnim senzorjem TCS3472 ter mikrofonom MEMS. Poleg tega ponujajo knjižnico JavaScript za urejevalnik MakeCode in knjižnico MicroPython za te senzorje.

Njihovo knjižnico MakeCode uporabljam za razvoj skriptov za svojo napravo. V prilogi najdete ustrezne šestnajstiške datoteke, ki jih lahko kopirate neposredno v svoj micro: bit.

Spodaj najdete ustrezno kodo JavaScript. Testiranje v bazenu je dobro delovalo s starejšo različico skripta, zato predvidevam, da bodo tudi delovali. Poleg osnovne, bargrafske različice obstajata tudi različica s križem (X) in različica L, namenjena olajšanju branja, zlasti pri šibki svetlobi. Izberite tistega, ki vam je ljubši.

naj stolpec = 0

naj števec = 0 naj ostane = 0 naj vrstica = 0 pusti delta = 0 pusti ref = 0 pusti 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 ("" + Row + "." + continue + "m") basic.pause (200) basic.clearScreen ()} else {Is = envirobit.getPressure () Delta = Is - Ref Meter = Math.abs (Delta) if (Meter> = 400) {Row = 4} else if (Meter> = 300) {Row = 3} else if (Meter> = 200) {Row = 2} else if (Meter> = 100) {Vrstica = 1} drugače {Vrstica = 0} ostane = Merilnik - Vrstica * 100 če (ostane>> 80) {Stolpec = 4} drugače če (ostane>> 60) {Stolpec = 3} drugače če (ostane>> = 40) {Column = 2} else if (continue> = 20) {Column = 1} else {Column = 0} for (naj ColA = 0; ColA <= Stolpec; ColA ++) {led.plot (C olA, Vrstica)} basic.pause (500)}})

7. korak: Enviro: bitna različica

Enviro: bitna različica
Enviro: bitna različica
Enviro: bitna različica
Enviro: bitna različica
Enviro: bitna različica
Enviro: bitna različica

Vmes sem od Pimoronija prejel enviro: bit (20 GBP) in power: bit (6 GBP).

Kot smo že omenili, enviro: bit prihaja s senzorjem tlaka, vlažnosti in temperature BME280, pa tudi senzorjem svetlobe in barve (glej aplikacijo tukaj) ter mikrofonom MEMS.

Power: bit je dobra rešitev za napajanje micro: bita in ima stikalo za vklop/izklop.

Odlična stvar je, da sta oba samo klik in uporaba, brez spajkanja, kablov, ploščic. Dodajte enviro: bit v micro: bit, naložite kodo v micro: bit, jo uporabite.

V tem primeru sem uporabil micro, power in enviro: bit, jih dal v vrečko Ziploc, dal v čisto vodotesno plastično vrečko za mobilne telefone, pripravljeno. Zelo hitra in urejena rešitev. Oglejte si slike. Stikalo je dovolj veliko, da ga lahko uporabite skozi zaščitne plasti.

Preizkušeno je bilo v vodi, dobro je delovalo. Na globini približno 1,8 m je bila izmerjena vrednost približno 1,7 m. Ni tako slabo za hitro in poceni rešitev, vendar še zdaleč ni popolna. Prilagajanje traja nekaj časa, zato boste morda morali ostati na določeni globini približno 10-15 sekund.

8. korak: Različica kabla in senzorske sonde

Različica sonde za kable in senzorje
Različica sonde za kable in senzorje
Različica sonde za kable in senzorje
Različica sonde za kable in senzorje

To je bila pravzaprav prva zamisel o merilniku globine mikro: bit, zadnja, ki so jo zgradili.

Tu sem spajkal senzor BMP280 na 5 m 4-žilnega kabla in na drugi konec postavil ženski mostiček. Za zaščito senzorja pred vodo je bil kabel speljan skozi rabljeno vinsko pluto. Konci plute so bili zatesnjeni z vročim lepilom. Preden sem v zamašek zarezal dve zarezi, obe sta šli okoli nje. Nato sem senzor zapakiral v gobico, okoli njega položil balon in konec balona pritrdil na zamašek (spodnja zareza). nato sem v drugi balon položil 3 40 g kosov svinčenih uteži, ga zavil okoli prvega, uteži so postavili na zunanjo stran in pritrdil konec balona na drugo zarezo. Zrak je bil odstranjen iz drugega balona, nato je bilo vse pritrjeno z lepilnim trakom. Oglejte si slike, lahko sledijo podrobnejše.

Skakalci so bili priključeni na micro: bit preko robnega priključka, naprava je vklopljena in nastavljen je referenčni tlak. Nato se je senzorska glava počasi spustila na dno bazena (10 m skakalni stolp, približno 4,5 m globoko).

Rezultati:

Na moje presenečenje je delovalo tudi s tem dolgim kablom. Po drugi strani pa se ni zdelo presenetljivo, da se je pri višjih tlakih merilna napaka povečala, ocenjena globina 4 m pa naj bi bila približno 3 m.

Možne aplikacije:

Z nekaj popravki napak se lahko naprava uporabi za merjenje globine do približno 4 m.

V povezavi z Arduinom ali Raspberry Pi bi to lahko uporabili za merjenje in nadzor polnilne točke bazena ali rezervoarja za vodo, npr. opozorilo, če vodostaj pade nad ali pod določenim pragom.

Outdoor Fitness Challenge
Outdoor Fitness Challenge
Outdoor Fitness Challenge
Outdoor Fitness Challenge

Drugoplasirani v izzivu fitnes na prostem

Priporočena: