Sadržaj:

A Micro: bit Dive-O-Meter: 8 koraka (sa slikama)
A Micro: bit Dive-O-Meter: 8 koraka (sa slikama)

Video: A Micro: bit Dive-O-Meter: 8 koraka (sa slikama)

Video: A Micro: bit Dive-O-Meter: 8 koraka (sa slikama)
Video: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Novembar
Anonim
Micro: bitni Dive-O-metar
Micro: bitni Dive-O-metar
Micro: bitni Dive-O-metar
Micro: bitni Dive-O-metar
Micro: bitni Dive-O-metar
Micro: bitni Dive-O-metar

Ljeto je stiglo, vrijeme je za bazen!

Dobra prilika da izvedete sebe i svoj micro: bit van, au ovom slučaju čak i u bazen.

Micro: bit dive-o-meter opisan ovdje je jednostavan DIY mjerač dubine koji vam omogućuje da izmjerite koliko duboko ili ste ronili. Sastoji se samo od micro: bita, baterije ili LiPo -a, rubnog priključka za micro: bit, senzora barometarskog tlaka BMP280 ili BME280 i nekih kratkospojnih kabela. Korištenje okruženja Pimoroni: bit does čini stvari sve jednostavnijim. Sve je to pakirano u dva sloja vodonepropusnih prozirnih plastičnih ili silikonskih vrećica, s dodanim utezima kako bi se kompenzirala sila uzgona.

To je primjena mikro: bitnog senzorskog uređaja koji sam opisao u prethodnim uputama.

Možete koristiti uređaj e. g. za takmičenja u ronjenju sa prijateljima i porodicom ili da biste saznali koliko je to jezero zaista duboko. Testirao sam ga koristeći najdublji bazen u svom susjedstvu i otkrio da radi barem do dubine od 3,2 metra. Teoretski maksimum je oko pet metara. Do sada nisam detaljno testirao njegovu preciznost, ali su prijavljeni brojevi bili barem u očekivanom rasponu.

Neke napomene: Ovo nije zamišljeno kao alat za prave ronioce. Vaš micro: bit će se oštetiti ako se smoči. Ovu uputu koristite na vlastitu odgovornost.

Ažuriranje 27. maja: Sada možete pronaći MakeCode HEX-skriptu koju možete učitati direktno na svoj micro: bit. Pogledajte korak 6. Ažurirajte 13. juna: Dodana je Enviro: bit i verzija kabla. Pogledajte korake 7 i 8

Korak 1: Teorija iza uređaja

Živimo na dnu vazdušnog okeana. Ovdje je pritisak oko 1020 hPa (hektoPaskal) jer je težina zračnog stuba ovdje u svemiru oko 1 kg po kvadratnom centimetru.

Gustoća vode je mnogo veća, jer jedan litar zraka teži oko 1,2 g, a jedan litar vode 1 kg, odnosno oko 800 puta. Dakle, kako je pad barometrijskog tlaka oko 1 hPa na svakih 8 metara visine, povećanje pritiska je 1 hPa za svaki centimetar ispod površine vode. Na dubini od oko 10 m, pritisak je 2000 hPa, odnosno dvije atmosfere.

Ovdje korišteni senzor tlaka ima mjerni raspon između 750 i 1500 hPa pri rezoluciji od oko jednog hPa. To znači da možemo mjeriti dubine do 5 metara pri rezoluciji od oko 1 cm.

Uređaj bi bio mjerač dubine tipa Boyle Marriotte. Njegova montaža je prilično jednostavna i opisana u kasnijem koraku. Senzor koristi I2C protokol, pa je ručni konektor za micro: bit pri ruci. Najkritičniji dio su vodonepropusne vrećice jer će svaka vlaga oštetiti micro: bit, senzor ili bateriju. Budući da će unutar vrećica biti zarobljeno malo zraka, dodavanjem utega pomaže se kompenzirati uzgonska sila.

Korak 2: Upotreba uređaja

Korišćenje uređaja
Korišćenje uređaja
Korišćenje uređaja
Korišćenje uređaja
Korišćenje uređaja
Korišćenje uređaja
Korišćenje uređaja
Korišćenje uređaja

Skripta, kako je detaljno prikazano u kasnijem koraku, varijacija je skripte koju sam ranije razvio za mjerač pritiska. Za testiranje uređaja možete koristiti jednostavnu tlačnu komoru koja je tamo opisana.

Za potrebe ronjenja prikazuje dubinu u metrima, izračunatu iz mjerenja pritiska, bilo kao stupčasti dijagram u koracima od 20 cm ili, na zahtjev, u brojkama.

Pomoću tipke A na micro: bit -u postavit ćete trenutni tlak kao referentnu vrijednost pritiska. Za potvrdu unosa, matrica trepće jednom.

Možete koristiti ovo ili da vidite koliko duboko ronite ili da zabilježite koliko ste duboko ronili.

U prvom slučaju postavite trenutni vanjski tlak zraka kao referentni. U drugom slučaju, postavite pritisak na najdublju tačku gdje ste, kao referentnu vrijednost za pritisak, koja vam tada omogućava da pokažete koliko ste bili duboki kada ste se vratili na površinu. Dugme B prikazuje dubinu, izračunatu iz razlike pritiska, kao numeričku vrijednost u metrima.

Korak 3: Potrebni materijali

Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali
Potrebni materijali

Mikro: bit. Npr. po cijeni od 13 GBP/16 eura u Pimoroni UK/DE.

Rubni priključak (Kitronic ili Pimoroni), 5 GBP. Koristio sam Kitronic verziju.

BMP/BME280 senzor. Koristio sam BMP280 senzor iz Banggooda, 4,33 eura za tri jedinice.

Premosni kablovi za povezivanje senzora i rubnog priključka.

Odlična alternativa gornjoj kombinaciji rubnog konektora/senzora mogla bi biti Pimoroni enviro: bit (do sada nije testirano, pogledajte zadnji korak).

Baterija ili LiPo za micro: bit.

Kabel za napajanje sa prekidačem (opcionalno, ali korisno). Očistite vodootporne vrećice. Koristio sam silikonsku torbicu za mobilni telefon i jednu ili dvije male vrećice sa zatvaračem. Uvjerite se da je materijal dovoljno debeo, tako da igle na rubnom priključku neće oštetiti torbe.

Neki tegovi. Koristio sam komade olovnog ulova koji se koriste za ribolov.

Arduino IDE i nekoliko biblioteka.

Korak 4: Montaža

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

Instalirajte Arduino IDE i potrebne biblioteke. Detalji su opisani ovdje.

(Nije potrebno za MakeCode skriptu.) S obzirom na to da koristite Kitronik rubni konektor, lemite pinove na I2C portove 19 i 20. To nije potrebno za Pimoroni edge konektor. Lemite zaglavlje na prekid senzora i spojite senzor i rubni konektor pomoću kratkospojnih kablova. Spojite VCC na 3V, GND na 0 V, SCL na priključak 19 i SDA na priključak 20. Alternativno, lemite kablove direktno na prekid. Povežite micro: bit sa našim računarom putem USB kabla. Otvorite priloženu skriptu i umetnite je u micro: bit. Upotrijebite serijski monitor ili ploter, provjerite daje li senzor razumne podatke. Odvojite micro: bit od računara. Priključite bateriju ili LiPo na micro: bit. Pritisnite dugme B, pročitajte vrednost Pritisnite dugme A. Pritisnite dugme B, pročitajte vrednost. Uređaj stavite u dva sloja hermetički zatvorenih vrećica, ostavljajući u vrećama samo vrlo malo zraka. U tom slučaju postavite uteg za kompenzaciju sile uzgona. Provjerite je li sve vodonepropusno. Idite na bazen i igrajte se.

Korak 5: Skripta MicroPython

Skripta samo uzima vrijednost pritiska sa senzora, uspoređuje je s referentnom vrijednošću, a zatim izračunava dubinu iz razlike. Za prikaz vrijednosti kao stupčastog grafikona uzima se cijeli broj i preostali dio vrijednosti dubine. Prvi definira visinu linije. Ostatak je podijeljen u pet kanti koje definiraju dužinu šipki. Najviši nivo je 0 - 1 m, najniži 4 - 5 m. Kao što je ranije spomenuto, pritiskom na tipku A postavlja se referentni tlak, gumb B prikazuje "relativnu dubinu" u metrima, prikazanu kao brojčanu vrijednost. Do sada su negativne i pozitivne vrijednosti prikazane kao grafika na LED matrici na isti način. Slobodno optimizirajte skriptu za svoje potrebe. Možete uključiti određene redove kako biste prikazali vrijednosti na serijskom monitoru ili ploteru Arduino IDE -a. Da biste oponašali funkciju, možete izgraditi uređaj koji sam opisao u prethodnim uputama.

Nisam napisao dio skripte koji čita senzor. Nisam siguran u izvor, ali zahvaljujem autorima. Sve ispravke ili savjeti za optimizaciju su dobrodošli.

#include

#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 dig_H3; int16_t dig_H4; int16_t dig_H5; int8_t dig_H6; dvostruki press_norm = 1015; // početna vrijednost dvostruka dubina; // izračunata dubina // -------------------------------------------- -------------------------------------------------- ---------------------- void setup () {uint8_t osrs_t = 1; // Temperaturno preuzorkovanje x 1 uint8_t osrs_p = 1; // Prekomjerno uzorkovanje pritiska x 1 uint8_t osrs_h = 1; // prekomjerno uzorkovanje 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 isključeno uint8_t spi3w_en = 0; // 3-žični SPI Onemogući uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | mode; 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); // podešava brzinu serijskog porta Serial.print ("Pritisak [hPa]"); // zaglavlje za serijski izlaz 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; int M; double press_delta; // relativni pritisak int dubina_m; // dubina u metrima, cijeli broj dvostruka dubina_cm; // ostatak u cm readData (); // temp_cal = calibration_T (temp_raw); press_cal = calibration_P (pres_raw); // hum_cal = calibration_H (hum_raw); // temp_act = (double) temp_cal / 100.0; press_act = (dvostruko) press_cal / 100.0; // hum_act = (dvostruko) hum_cal / 1024.0; microbit.clear (); // resetiranje LED matrice // Tipka A postavlja stvarnu vrijednost kao referencu (P nula) // Tipka B prikazuje trenutnu vrijednost kao dubinu u metrima (izračunato iz razlike pritiska) if (! digitalRead (PIN_BUTTON_A)) {// postavljanje normalnog tlaka zraka kao nula press_norm = press_act; // microbit.print ("P0:"); // microbit.print (press_norm, 0); // microbit.print ("hPa"); microbit.fillScreen (LED_ON); // trepnemo jednom za potvrdu kašnjenja (100); } else if (! digitalRead (PIN_BUTTON_B)) {// dubina prikaza u metrima microbit.print (dubina, 2); microbit.print ("m"); // Serial.println (""); } else {// izračunajte dubinu iz razlike pritiska press_delta = (press_act - press_norm); // izračunati dubinu relativnog pritiska = (press_delta/100); // dubina u metrima dubina_m = int (abs (dubina)); // dubina im metara dubina_cm = (abs (dubina) - dubina_m); // ostatak /* // koristi se za razvoj Serial.println (dubina); Serial.println (depth_m); Serial.println (depth_cm); */ // Koraci za bargraf if (dubina_cm> 0,8) {// postavljena dužina šipki (N = 4); } else if (dubina_cm> 0,6) {(N = 3); } else if (dubina_cm> 0,4) {(N = 2); } else if (dubina_cm> 0,2) {(N = 1); } else {(N = 0); }

if (depth_m == 4) {// postavite nivo == metar

(M = 4); } else if (depth_m == 3) {(M = 3); } else if (depth_m == 2) {(M = 2); } else if (depth_m == 1) {(M = 1); } else {(M = 0); // gornji red} /* // koristi se u razvojne svrhe Serial.print ("m:"); Serial.println (depth_m); Serial.print ("cm:"); Serial.println (depth_cm); Serial.print ("M:"); Serial.println (M); // u razvojne svrhe Serial.print ("N:"); Serial.println (N); // u razvojne svrhe kašnjenje (500); */ // iscrtaj bargraf microbit.drawLine (0, M, N, M, LED_ON); }

// šalje vrijednost na serijski port za ploter

Serial.print (press_delta); // iscrtati linije indikatora i popraviti prikazani raspon Serial.print ("\ t"); Serial.print (0); Serial.print ("\ t"); Serial.print (-500); Serial.print ("\ t"); Serial.println (500); kašnjenje (500); // Mjeri dvaput u sekundi} // ----------------------------------------- -------------------------------------------------- -------------------------------------------------- -------- // sljedeće je potrebno za bmp/bme280 senzor, zadržite kao 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 i podaci [29]); dig_H5 = (podaci [30] 4) & 0x0F); // Popravi 2014/dig_H6 = podaci [31]; // Popravimo 2014/} void writeReg (uint8_t reg_address, uint8_t podaci) {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 = (data [6] 3) - ((potpisan dugačak int) dig_T1 11; var2 = (((((adc_T >> 4) - ((potpisan dugačak int) dig_T1)) * ((adc_T >> 4) - ((potpisan dug int) dig_T1))) >> 12) * ((potpisan dugi int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; return T; } nepotpisani dugi int kalibracija_P (potpisan dugi int adc_P) {potpisan dugi int var1, var2; nepotpisani dugi int P; var1 = (((potpisan dugi int) t_fine) >> 1) - (potpisan dugi int) 64000; var2 = (((var1 >> 2) * (var1 >> 2)) >> 11) * ((potpisan dugačak int) dig_P6); var2 = var2 + ((var1 * ((potpisan dugi int) dig_P5)) 2) + (((potpisan dug int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((potpisan dugi int) dig_P2) * var1) >> 1)) >> 18; var1 = ((((32768+var1))*((potpisano dugo int) dig_P1)) >> 15); if (var1 == 0) {return 0; } P = (((unsigned long int) ((((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 = ((((long long int) dig_P9) * ((long long int) (((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((potpisan dugačak int) (P >> 2)) * ((potpisan dugi int) dig_P8)) >> 13; P = (unsigned long int) ((long long int s potpisom) P + ((var1 + var2 + dig_P7) >> 4)); return P; } nepotpisana kalibracija dugačkog inta_H (potpisana dugačka int adc_H) {potpisana dugačka int v_x1; v_x1 = (t_fine - ((potpisan dugačak int) 76800)); v_x1 = (((((adc_H << 14) -(((potpisan dugačak int) dig_H4) 15) * ((((((v_x1 * ((potpisan dugačak int) dig_H6)) >> 10) * (((v_x1 * ((potpisan dug int) dig_H3)) >> 11) + ((potpisan dugi int) 32768))) >> 10) + ((potpisan dugi int) 2097152)) * ((potpisan dugačak 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 6: Veliko pojednostavljenje: MakeCode/JavaScript kod

Veliko pojednostavljenje: MakeCode/JavaScript kod
Veliko pojednostavljenje: MakeCode/JavaScript kod
Veliko pojednostavljenje: MakeCode/JavaScript kod
Veliko pojednostavljenje: MakeCode/JavaScript kod

U svibnju 2018. Pimoroni je objavio enviro: bit, koji dolazi sa BME280 senzorom pritiska/vlažnosti/temperature, TCS3472 senzorom svjetla i boje i MEMS mikrofonom. Osim toga, nude JavaScript biblioteku za uređivač MakeCode i biblioteku MicroPython za ove senzore.

Koristio sam njihovu MakeCode biblioteku za razvoj skripti za svoj uređaj. U prilogu se nalaze odgovarajuće heksadecimalne datoteke koje možete kopirati direktno na svoj micro: bit.

Ispod ćete pronaći odgovarajući JavaScript kod. Testiranje u spremištu dobro je funkcioniralo sa starijom verzijom skripte, pa pretpostavljam da će i oni funkcionirati. Osim osnovne, bargrafske verzije, postoje i verzija s precrtavanjem (X) i L-verzija, namijenjena za olakšavanje čitanja, posebno u uvjetima slabog osvjetljenja. Odaberite onu koja vam se više sviđa.

neka kolona = 0

neka Meter = 0 neka ostane = 0 neka je red = 0 neka Delta = 0 neka je 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 ("" + 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) {Red = 1} else {Red = 0} Ostalo = Mjerač - Red * 100 ako (ostane> = 80) {Kolona = 4} Ostalo ako (ostane> = 60) {Kolona = 3} drugo ako (ostane>> = 40) {Column = 2} else if (continue> = 20) {Column = 1} else {Column = 0} for (neka je ColA = 0; ColA <= Kolona; ColA ++) {led.plot (C olA, Red)} basic.pause (500)}})

Korak 7: Enviro: bit verzija

Enviro: bit verzija
Enviro: bit verzija
Enviro: bit verzija
Enviro: bit verzija
Enviro: bit verzija
Enviro: bit verzija

U međuvremenu sam dobio enviro: bit (20 GBP) i power: bit (6 GBP), oba od Pimoronija.

Kao što je već spomenuto, enviro: bit dolazi sa BME280 senzorom pritiska, vlažnosti i temperature, ali i senzorom svjetla i boje (pogledajte aplikaciju ovdje) i MEMS mikrofonom.

Power: bit je lijepo rješenje za napajanje micro: bita i dolazi s prekidačem za uključivanje/isključivanje.

Sjajna stvar je to što se oboje mogu samo kliknuti i koristiti, bez lemljenja, kabela, matičnih ploča. Dodajte enviro: bit u micro: bit, učitajte kôd u micro: bit, koristite ga.

U ovom slučaju koristio sam micro, power i enviro: bit, stavio ih u Ziploc vrećicu, stavio u prozirnu plastičnu vrećicu za mobilne telefone, spremnu. Vrlo brzo i uredno rješenje. Pogledajte slike. Prekidač je dovoljno velik da ga možete koristiti kroz zaštitne slojeve.

Testirano je u vodi, radilo je dobro. Na dubini od oko 1,8 m izmjerena vrijednost bila je oko 1,7 m. Nije loše za brzo i jeftino rješenje, ali daleko od savršenog. Potrebno je neko vrijeme za prilagodbu, pa ćete možda morati ostati na određenoj dubini oko 10-15 sekundi.

Korak 8: Verzija sonde za kabel i senzor

Verzija sonde za kabele i senzore
Verzija sonde za kabele i senzore
Verzija sonde za kabele i senzore
Verzija sonde za kabele i senzore

Ovo je zapravo bila prva ideja o mikro: bitnom dubinomjeru, posljednja koja je izgrađena.

Ovdje sam lemio BMP280 senzor na 5 m 4-žilnog kabela i postavio ženski kratkospojnik na drugi kraj. Da bi se senzor zaštitio od vode, kabel je provučen kroz korišteni čep za vino. Krajevi plute zapečaćeni su vrućim ljepilom. Prije nego što sam izrezao dva zareza u pluto, oba su išla oko nje. Zatim sam senzor spakirao u spužvastu kuglu, stavio balon oko njega i pričvrstio kraj balona na pluto (donji zarez). zatim sam stavio 3 40 g komada olovnih utega u drugi balon, omotao ga oko prvog, utege postavljenih na vanjsku stranu i fiksirao kraj balona na drugom zarezu. Vazduh je uklonjen iz drugog balona, a zatim je sve popravljeno ljepljivom trakom. Pogledajte slike, možda slijede detaljnije.

Skakači su spojeni na micro: bit preko rubnog priključka, uređaj je uključen i postavljen je referentni tlak. Zatim se senzorska glava polako pustila do dna bazena (skakaonica od 10 m, duboka oko 4,5 m).

Rezultati:

Na moje zaprepaštenje, uspio je čak i s ovim dugim kabelom. S druge strane, ali nije iznenađujuće, činilo se da je mjerna greška postala veća pri većim pritiscima, a procijenjena dubina od 4 m je prijavljena kao oko 3 m.

Potencijalne aplikacije:

Uz neke ispravke grešaka, uređaj se može koristiti za mjerenje dubine do oko 4 m.

Zajedno s Arduinom ili Raspberry Pi, ovo se može koristiti za mjerenje i kontrolu tačke punjenja bazena ili rezervoara za vodu, npr. da izazove upozorenje ako vodostaji idu iznad ili ispod određenih pragova.

Izazov u fitnesu na otvorenom
Izazov u fitnesu na otvorenom
Izazov u fitnesu na otvorenom
Izazov u fitnesu na otvorenom

Drugoplasirani u izazovu fitnesa na otvorenom

Preporučuje se: