Obsah:

Mikro: bitový ponorný merač: 8 krokov (s obrázkami)
Mikro: bitový ponorný merač: 8 krokov (s obrázkami)

Video: Mikro: bitový ponorný merač: 8 krokov (s obrázkami)

Video: Mikro: bitový ponorný merač: 8 krokov (s obrázkami)
Video: HAYLOU Xiaomi RS4 (LS12) Smart Watch IP68: Things To Know // In-Depth Review 2024, Júl
Anonim
Micro: bit Dive-O-Meter
Micro: bit Dive-O-Meter
Micro: bit Dive-O-Meter
Micro: bit Dive-O-Meter
Micro: bit Dive-O-Meter
Micro: bit Dive-O-Meter

Leto je tu, jeho čas bazéna!

Dobrá príležitosť vziať seba a svojho micro: bita von, a v tomto prípade dokonca do bazéna.

Tu popísaný mikro: bitový ponorový o-meter je jednoduchý hĺbkomer, ktorý vám umožní zmerať, ako hlboko sa potápate alebo ste potápali. Skladá sa len z mikro: bitu, batérie alebo LiPo, okrajového konektora pre micro: bit, senzora barometrického tlaku BMP280 alebo BME280 a niektorých prepojovacích káblov. Použitie Pimoroni enviro: bit robí veci ešte jednoduchšími. To všetko je zabalené do dvoch vrstiev vodotesných priehľadných plastových alebo silikónových vreciek s pridaním niekoľkých závaží na kompenzáciu vztlakovej sily.

Jedná sa o aplikáciu zariadenia so snímačom tlaku: mikro: bit, ktoré som popísal v predchádzajúcom návode.

Zariadenie môžete používať napr. g. na potápačské súťaže s priateľmi a rodinou, alebo zistiť, ako hlboko ten rybník skutočne je. Testoval som to pomocou najhlbšieho bazéna v mojom okolí a zistil som, že funguje najmenej do hĺbky 3,2 metra. Asi päť metrov je teoretické maximum. Jeho presnosť som zatiaľ nijako podrobne netestoval, ale uvádzané čísla sa pohybovali minimálne v očakávanom rozsahu.

Niekoľko poznámok: Toto nemá byť nástrojom pre skutočných potápačov. Váš micro: bit sa poškodí, ak zvlhne. Tento návod použijete na vlastné riziko.

Aktualizácia 27. mája: Teraz nájdete HEX skript MakeCode, ktorý môžete načítať priamo do svojho mikro: bitu. Pozrite si krok 6. Aktualizácia 13. júna: Bola pridaná verzia Enviro: bit a kábel. Pozrite si kroky 7 a 8

Krok 1: Teória za zariadením

Žijeme na dne vzdušného oceánu. Tlak tu je asi 1020 hPa (hekto -Pascal), pretože hmotnosť vzduchového stĺpca tu vytvoreného do vesmíru je asi 1 kg na centimeter štvorcový.

Hustota vody je oveľa vyššia, pretože jeden liter vzduchu váži asi 1,2 g a jeden liter vody 1 kg, to znamená asi 800-násobok. Pretože pokles barometrického tlaku je asi 1 hPa na každých 8 metrov výšky, tlakový zisk je 1 hPa na každý centimeter pod vodnou hladinou. V hĺbke asi 10 m je tlak 2 000 hPa alebo dve atmosféry.

Tu použitý snímač tlaku má rozsah merania medzi 750 a 1500 hPa s rozlíšením asi jeden hPa. To znamená, že môžeme merať hĺbky až 5 metrov v rozlíšení asi 1 cm.

Zariadenie by bolo hĺbkovým meradlom typu Boyle Marriotte. Jeho montáž je pomerne jednoduchá a popísaná v neskoršom kroku. Senzor používa protokol I2C, takže hranový konektor pre micro: bit príde vhod. Najdôležitejšou súčasťou sú vodotesné vrecká, pretože akákoľvek vlhkosť poškodí mikro bit, snímač alebo batériu. Pretože sa vo vreciach zachytí trochu vzduchu, pridanie závažia pomôže kompenzovať vztlakovú silu.

Krok 2: Používanie zariadenia

Používanie zariadenia
Používanie zariadenia
Používanie zariadenia
Používanie zariadenia
Používanie zariadenia
Používanie zariadenia
Používanie zariadenia
Používanie zariadenia

Skript, ako je podrobne ukázaný v neskoršom kroku, je variáciou skriptu, ktorý som predtým vyvinul pre tlakomer. Na testovanie zariadenia môžete použiť jednoduchú tlakovú komoru, ktorá je tam popísaná.

Na účely potápania ukazuje hĺbku v metroch, vypočítanú z meraní tlaku, buď ako stĺpcový graf v krokoch po 20 cm, alebo na požiadanie v číslach.

Pomocou tlačidla A na mikro: bite nastavíte aktuálny tlak ako referenčnú hodnotu tlaku. Na potvrdenie zadania matica raz zabliká.

Môžete to použiť buď na zistenie, ako hlboko sa potápate, alebo na zaznamenanie toho, ako hlboko ste sa potápali.

V prvom prípade nastavte aktuálny tlak vonkajšieho vzduchu ako referenčný. V druhom prípade nastavte tlak v najhlbšom mieste, kde ste ako referenčný tlak, čo vám potom umožní ukázať, ako hlboko ste boli, keď ste späť na povrchu. Tlačidlo B zobrazuje hĺbku vypočítanú z rozdielu tlaku ako číselnú hodnotu v metroch.

Krok 3: Potrebný materiál

Požadovaný materiál
Požadovaný materiál
Požadovaný materiál
Požadovaný materiál
Požadovaný materiál
Požadovaný materiál

Mikro: bit. Napr. za 13 GBP/16 Euro v spoločnosti Pimoroni UK/DE.

Okrajový konektor (Kitronic alebo Pimoroni), 5 GBP. Použil som verziu Kitronic.

Senzor BMP/BME280. Na tri jednotky som použil snímač BMP280 od spoločnosti Banggood, 4,33 EUR.

Prepojovacie káble na pripojenie senzora a konektora na okraji.

Vynikajúcou alternatívou k vyššie uvedenej kombinácii okrajového konektora/senzora by mohlo byť Pimoroni enviro: bit (zatiaľ nie je testované, pozri posledný krok).

Batéria alebo LiPo pre micro: bit.

Napájací kábel s vypínačom (voliteľný, ale užitočný). Vyčistite vodotesné vrecká. Použil som silikónové vrecko na mobilný telefón a jedno alebo dve malé vrecká na zips. Uistite sa, že materiál je dostatočne hrubý, aby kolíky na hranovom konektore tašky nepoškodili.

Nejaké závažia. Použil som kusy oloveného závažia, ktoré sa používajú na rybolov.

Arduino IDE a niekoľko knižníc.

Krok 4: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Nainštalujte Arduino IDE a požadované knižnice. Podrobnosti sú popísané tu.

(Nevyžaduje sa pre skript MakeCode.) Vzhľadom na to, že používate okrajový konektor Kitronik, spájkujte kolíky k portom I2C 19 a 20. Toto nie je potrebné pre okrajový konektor Pimoroni. Spájkujte vývodku k senzoru a prepojte senzor a okrajový konektor pomocou prepojovacích káblov. Pripojte VCC na 3 V, GND na 0 V, SCL na port 19 a SDA na port 20. Alternatívne spájajte káble priamo s káblom. Pripojte micro: bit k nášmu počítaču káblom USB. Otvorte poskytnutý skript a presuňte ho na mikro: bit. Použite sériový monitor alebo plotter a skontrolujte, či snímač poskytuje primerané údaje. Odpojte mikro: bit od počítača. Pripojte batériu alebo LiPo k mikro: bitu. Stlačte tlačidlo B, odčítajte hodnotu Stlačte tlačidlo A. Stlačte tlačidlo B, odčítajte hodnotu. Zariadenie umiestnite do dvoch vrstiev vzduchotesných vakov, pričom vo vreckách zostane len veľmi málo vzduchu. V prípade umiestnite závažie na kompenzáciu vztlakovej sily. Skontrolujte, či je všetko vodotesné. Choďte do bazéna a hrajte sa.

Krok 5: Skript MicroPython

Skript len vezme hodnotu tlaku zo snímača, porovná ju s referenčnou hodnotou a potom z rozdielu vypočíta hĺbku. Na zobrazenie hodnôt ako stĺpcový graf sa berie celé číslo a zostávajúca časť hodnoty hĺbky. Prvá definuje výšku čiary. Zostávajúca časť je rozdelená na päť zásobníkov, ktoré definujú dĺžku tyčí. Najvyššia hladina je 0 - 1 m, najnižšia 4 - 5 m. Ako bolo uvedené vyššie, stlačením tlačidla A sa nastaví referenčný tlak, tlačidlo B zobrazí „relatívnu hĺbku“v metroch, ktorá sa zobrazuje ako číselná hodnota. Odteraz sú záporné a kladné hodnoty prezentované ako stĺpcový graf na matici LED rovnakým spôsobom. Nebojte sa optimalizovať skript pre svoje potreby. Môžete zrušiť stlmenie určitých riadkov, aby sa hodnoty zobrazili na sériovom monitore alebo plotri IDE Arduino. Na napodobnenie funkcie môžete vytvoriť zariadenie, ktoré som popísal v predchádzajúcom návode.

Nenapísal som časť skriptu, ktorá číta snímač. Nie som si istý zdrojom, ale rád by som poďakoval autorom. Akékoľvek opravy alebo rady pre optimalizáciu sú vítané.

#zahrnúť

#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; dvojité stlačenie_norm = 1015; // počiatočná hodnota dvojitá hĺbka; // vypočítaná hĺbka // -------------------------------------------- ---------------------------------------------------------- ---------------------- 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); // nastavenie rýchlosti sériového portu Serial.print ("Tlak [hPa]"); // hlavička pre sériový výstup Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); oneskorenie (1000); } // ----------------------------------------------- ------------------------------------------------ prázdna slučka () {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; int M; double press_delta; // relatívny tlak int depth_m; // hĺbka v metroch, celočíselná časť dvojnásobná hĺbka_cm; // zvyšok v 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 = (dvojité) press_cal / 100,0; // hum_act = (double) hum_cal / 1024,0; microbit.clear (); // reset matice LED // Tlačidlo A nastaví skutočnú hodnotu ako referenciu (P nula) // Tlačidlo B zobrazí aktuálnu hodnotu ako hĺbku v metroch (vypočítané z rozdielu tlaku), ak (! digitalRead (PIN_BUTTON_A)) {// nastaví normálny tlak vzduchu ako nula press_norm = press_act; // microbit.print ("P0:"); // microbit.print (press_norm, 0); // microbit.print ("hPa"); microbit.fillScreen (LED_ON); // jedno bliknutie na potvrdenie oneskorenia (100); } else if (! digitalRead (PIN_BUTTON_B)) {// zobrazenie hĺbky v metroch microbit.print (hĺbka, 2); microbit.print ("m"); // Serial.println (""); } else {// vypočítajte hĺbku z rozdielu tlaku press_delta = (press_act - press_norm); // výpočet relatívnej hĺbky tlaku = (press_delta/100); // hĺbka v metroch depth_m = int (abs (depth)); // hĺbka im metrov depth_cm = (abs (depth) - depth_m); // zvyšok /* // použitý na vývoj Serial.println (hĺbka); Serial.println (depth_m); Serial.println (depth_cm); */ // Kroky pre bargraf, ak (hĺbka_cm> 0,8) {// nastaví dĺžku tyčí (N = 4); } else if (depth_cm> 0,6) {(N = 3); } else if (depth_cm> 0,4) {(N = 2); } else if (depth_cm> 0,2) {(N = 1); } else {(N = 0); }

if (depth_m == 4) {// set level == meter

(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); // horný riadok} /* // slúži na vývojové účely Serial.print ("m:"); Serial.println (depth_m); Serial.print ("cm:"); Serial.println (depth_cm); Serial.print ("M:"); Serial.println (M); // na vývojové účely Serial.print ("N:"); Serial.println (N); // pre účely vývoja delay (500); */ // nakreslite bargrafový mikrobit.drawLine (0, M, N, M, LED_ON); }

// odoslanie hodnoty na sériový port pre plotter

Serial.print (press_delta); // nakreslite indikačné čiary a opravte zobrazený rozsah Serial.print ("\ t"); Serial.print (0); Serial.print ("\ t"); Serial.print (-500); Serial.print ("\ t"); Serial.println (500); oneskorenie (500); // Merajte dvakrát za sekundu} // ----------------------------------------- ---------------------------------------------------------- ---------------------------------------------------------- -------- // Pre snímač bmp/bme280 je potrebné nasledovné, zachovať ako 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 (); } neplatné 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] 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 6: Veľké zjednodušenie: kód MakeCode/JavaScript

Zásadné zjednodušenie: kód MakeCode/JavaScript
Zásadné zjednodušenie: kód MakeCode/JavaScript
Zásadné zjednodušenie: kód MakeCode/JavaScript
Zásadné zjednodušenie: kód MakeCode/JavaScript

V máji 2018 vydala spoločnosť Pimoroni enviro: bit, ktorý je dodávaný so snímačom tlaku/vlhkosti/teploty BME280, svetelným a farebným snímačom TCS3472 a mikrofónom MEMS. Okrem toho ponúkajú knižnicu JavaScript pre editor MakeCode a knižnicu MicroPython pre tieto senzory.

Na vývoj skriptov pre svoje zariadenie používam ich knižnicu MakeCode. V prílohe nájdete zodpovedajúce hexadecimálne súbory, ktoré môžete skopírovať priamo do svojho mikro: bitu.

Nižšie nájdete príslušný kód JavaScript. Testovanie v bazéne fungovalo dobre so staršou verziou skriptu, takže predpokladám, že budú fungovať tiež. Okrem základnej, bargrafovej verzie, je k dispozícii aj verzia s nitkovým krížom (X) a verzia L, ktorá má uľahčiť čítanie, najmä za zhoršených svetelných podmienok. Vyberte si ten, ktorému dávate prednosť.

nech Stĺpec = 0

nechaj meter = 0 nechaj = 0 nechaj riadok = 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 ("" + Row + "." + remain + "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) {Row = 1} else {Row = 0} remain = Meter - Row * 100 if (remain> = 80) {Column = 4} else if (remain> = 60) {Column = 3} else if (remain> = 40) {Stĺpec = 2} else if (remain> = 20) {Column = 1} else {Column = 0} for (let ColA = 0; ColA <= Column; ColA ++) {led.plot (C olA, Row)} basic.pause (500)}})

Krok 7: Enviro: bitová verzia

Verzia Enviro: bit
Verzia Enviro: bit
Verzia Enviro: bit
Verzia Enviro: bit
Verzia Enviro: bit
Verzia Enviro: bit

Medzitým som od spoločnosti Pimoroni dostal enviro: bit (20 GBP) a power: bit (6 GBP).

Ako už bolo spomenuté, enviro: bit je dodávaný so snímačom tlaku, vlhkosti a teploty BME280, ale aj so snímačom svetla a farieb (pozri aplikáciu tu) a mikrofónom MEMS.

Power: bit je pekné riešenie na napájanie mikro: bitu a je dodávaný s vypínačom.

Skvelé na tom je, že sa dajú jednoducho kliknúť a používať, bez spájkovania, káblov a doštičiek. Pridajte súbor enviro: bit do súboru micro: bit, načítajte kód do súboru micro: bit a použite ho.

V tomto prípade som použil micro, power a enviro: bit, umiestnil som ich do vrecka Ziploc a vložil do priehľadného vodotesného plastového vrecka na mobilné telefóny, pripravené. Veľmi rýchle a upratané riešenie. Pozrite si obrázky. Prepínač je dostatočne veľký na to, aby sa dal používať cez ochranné vrstvy.

Bol testovaný vo vode, fungoval dobre. V hĺbke asi 1,8 m bola nameraná hodnota asi 1,7 m. Nie je to zlé na rýchle a lacné riešenie, ale zďaleka nie je dokonalé. Prispôsobenie chvíľu trvá, takže možno budete musieť zostať v určitej hĺbke asi 10-15 sekúnd.

Krok 8: Verzia sondy kábla a snímača

Verzia sondy kábla a snímača
Verzia sondy kábla a snímača
Verzia sondy kábla a snímača
Verzia sondy kábla a snímača

Toto bol vlastne prvý nápad na mikro: bitový hĺbkomer, posledný, ktorý bol postavený.

Tu som spájkoval snímač BMP280 na 5 m 4-vodičového kábla a na druhý koniec umiestnil ženskú prepojku. Aby bol snímač chránený pred vodou, kábel bol vedený cez použitý vínny korok. Konce korku boli utesnené horúcim lepidlom. Predtým, ako som do korku narezal dva zárezy, oba ho obchádzali. Potom som zabalil senzor do špongiovej gule, umiestnil som okolo neho balónik a koniec balónika som pripevnil na korok (spodný zárez). potom som vložil 3 40 g kusov olovených závaží do druhého balónika, omotal som ho okolo prvého, závažia umiestnené na vonkajšej strane a upevnil koniec balónika v druhom záreze. Z druhého balóna bol odstránený vzduch, potom bolo všetko fixované lepiacou páskou. Pozrite si obrázky, môžu nasledovať podrobnejšie.

Prepojky boli k mikro: bitu pripojené cez hranový konektor, zariadenie sa zaplo a nastavil sa referenčný tlak. Potom bola hlava senzora pomaly uvoľnená na dno bazéna (10 m skákacia veža, hlboká asi 4,5 m).

Výsledky:

Na moje počudovanie to fungovalo aj s týmto dlhým káblom. Na druhej strane, ale nie je prekvapením, chyba merania sa pri vyšších tlakoch zdala byť väčšia a odhadovaná hĺbka 4 m bola hlásená ako asi 3 m.

Potenciálne aplikácie:

Pri niektorých opravách chýb možno zariadenie použiť na meranie hĺbky asi 4 m.

V spojení s Arduino alebo Raspberry Pi by sa to dalo použiť na meranie a ovládanie bodu plnenia bazéna alebo nádrže na vodu, napr. vyvolať varovanie, ak hladina vody prekročí alebo klesne pod určité prahové hodnoty.

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

Runner Up in the Outdoor Fitness Challenge

Odporúča: