Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
Udhëzimi i mëposhtëm përshkruan një pajisje të lehtë për t'u ndërtuar dhe të lirë për të kryer matjet e presionit dhe për të demonstruar ligjin e Boyle, duke përdorur mikro: bitin në kombinim me sensorin e presionit/temperaturës BMP280.
Ndërsa ky kombinim i shiringës/sensorit të presionit është përshkruar tashmë në një nga udhëzimet e mia të mëparshme, kombinimi me mikro: bit po ofron mundësi të reja, p.sh. për projektet e dhomave të klasës.
Për më tepër, numri i përshkrimeve të aplikacioneve në të cilat mikro: bit përdoret në kombinim me një sensor të nxitur nga I2C janë mjaft të kufizuara deri më tani. Shpresoj se kjo e udhëzueshme mund të jetë një pikënisje për projekte të tjera.
Pajisja ju lejon të kryeni matje sasiore të presionit të ajrit dhe të shfaqni rezultatet në grupin mikro: bit LED ose në një kompjuter të lidhur, për të përdorur më vonë funksionet e monitorit serik ose funksioneve të komplotuesit serik të Arduino IDE. Përveç kësaj ju keni një reagim haptik, pasi ju do të shtyni ose tërhiqni kumarxhin e shiringës vetë, dhe në këtë mënyrë do të ndjeni fuqinë e kërkuar.
Si parazgjedhje, ekrani ju lejon të vlerësoni presionin sipas treguesit të nivelit të treguar në matricën LED. Komploti serik i Arduino IDE lejon të bëjë të njëjtën gjë, por me rezolucion shumë më të mirë (shiko videon). Ekzistojnë gjithashtu zgjidhje më të përpunuara, p.sh. në gjuhën e përpunimit. Ju gjithashtu mund të shfaqni vlerat e sakta të matura të presionit dhe temperaturës në matricën LED pasi të keni shtypur butonat A ose B respektivisht, por monitori serik i Arduino IDE është shumë më i shpejtë, duke lejuar shfaqjen e vlerave në kohë reale.
Kostot totale dhe aftësitë teknike të kërkuara për të ndërtuar pajisjen janë mjaft të ulëta, kështu që mund të jetë një projekt i bukur në klasë nën mbikëqyrjen e një mësuesi. Përveç kësaj pajisja mund të jetë një mjet për projektet STEM me fokus në fizikë ose të përdoret në projekte të tjera ku një forcë ose peshë do të transformohet në një vlerë dixhitale.
Parimi u përdor për të ndërtuar një mikro shumë të thjeshtë: bit dive-o-meter, një pajisje për të matur sa thellë jeni duke zhytur.
Shtesa 27-maj-2018:
Ndërsa Pimoroni ka zhvilluar një bibliotekë MakeCode për sensorin BMP280, Kjo më dha mundësinë për të zhvilluar një skenar që do të përdoret për pajisjen e përshkruar këtu. Skenari dhe skedari HEX përkatës mund të gjenden në hapin e fundit të këtij udhëzuesi. Për ta përdorur atë, thjesht ngarkoni skedarin HEX në mikro: bitin tuaj. Nuk ka nevojë për softuer special, dhe mund të përdorni redaktuesin online të MakeCode për redaktimin e skriptit.
Hapi 1: Materialet e përdorura
- Një mikro: bit, e mora nga Pimoroni - 13.50 GBP
- Lidhës Kitronic Edge për mikro: bit - përmes Pimoroni - 5 GBP, Vërejtje: Pimorini tani ofron një lidhës buzë të përshtatshëm për bukën, i quajtur pin: bit me kunja në portet I2C.
- 2 x 2 shirita me kokë
- Bateria ose LiPo për mikro: bit (jo e nevojshme, por ndihmuese), kabllo baterie me ndërprerës (dito) - Pimoroni
- kabllo kërcyes për lidhjen e sensorëve me lidhësin Edge
- kabllo të gjatë (!) bluzë për sensorin, të paktën aq sa shiringa,, f/f ose f/m
- Sensori i presionit dhe temperaturës BMP280 - Banggood - 5 US $ për tre njësi Gama e matjes për këtë sensor është midis 550 dhe 1537 hPa.
- Shiringë plastike 150 ml kateter me copë litari gome - Amazon ose dyqane të pajisjeve dhe kopshteve - rreth 2 - 3 US $
- pistoletë zam i nxehtë/ngjitës i nxehtë
- Makine per ngjitjen e metalit
- një kompjuter me Arduino IDE të instaluar
Hapi 2: Udhëzimet e Asamblesë
Mbërthen tituj në ndarjen e sensorit BMP280.
Bashkojini dy titujt me 2 kunja në lidhësin 19 dhe pinin 20 të lidhësit Edge (shiko figurën).
Lidhni mikro: bit me lidhësin Edge dhe kompjuterin tuaj.
Përgatitni softuer dhe mikro: bit siç përshkruhet në udhëzimet e Adafruit micro: bit. Lexojini ato me kujdes.
Instaloni bibliotekat e kërkuara në Arduino IDE.
Hapni skenarin BMP280 të bashkangjitur në një hap të mëvonshëm.
Lidheni sensorin me lidhësin Edge. GND në 0V, VCC në 3V, SCL në pin 19, SDA në pin 20.
Ngarko skriptin në mikro: bit.
Kontrolloni që sensori të japë të dhëna të arsyeshme, vlerat e presionit duhet të jenë rreth 1020 hPa, të shfaqura në monitorin serik. Në rast, kontrolloni së pari kabllot dhe lidhjet, pastaj instalimin e softuerit dhe korrigjoni.
Fikni mikro: bit, hiqni sensorin.
Kaloni kabllot e bluzës së gjatë përmes daljes së shiringës. Në rast se mund t'ju duhet të zgjeroni hapjen. Kini kujdes që të mos lejoni që kabllot të dëmtohen.
Lidhni sensorin me kabllot e kërcyesit. Kontrolloni që lidhjet të jenë të sakta dhe të mira. Lidhu me mikro: bit.
Kontrolloni që sensori të funksionojë si duhet. Duke tërhequr me kujdes kabllot, lëvizni sensorin në krye të shiringës.
Vendoseni kumarxhin dhe lëvizeni atë pak më larg se pozicioni i dëshiruar i pushimit (100 ml).
Shtoni zam të nxehtë në fund të daljes së shiringës dhe lëvizni pistonin pak mbrapa. Kontrolloni nëse shiringa është e mbyllur me ajër, përndryshe shtoni më shumë zam të nxehtë. Lëreni të ftohet ngjitësi i nxehtë.
Kontrolloni përsëri që sensori po punon. Nëse zhvendosni kumarxhin, numrat në monitorin serik dhe ekranin e mikrobit: duhet të ndryshojnë.
Nëse kërkohet, mund të rregulloni volumin në shiringë duke e shtrydhur pranë copë litarit dhe duke lëvizur kumarxhin.
Hapi 3: Pak teori dhe disa matje praktike
Me pajisjen e përshkruar këtu, ju mund të demonstroni korrelacionin e ngjeshjes dhe presionit në eksperimente të thjeshta të fizikës. Ndërsa shiringa vjen me një shkallë "ml" mbi të, edhe eksperimentet sasiore janë të lehta për t'u kryer.
Teoria pas saj: Sipas ligjit të Boyle, [Volumi * Presioni] është një vlerë konstante për një gaz në një temperaturë të caktuar.
Kjo do të thotë nëse ngjeshni një vëllim të caktuar të gazit N-fish, domethënë vëllimi përfundimtar është 1/N dele i origjinalit, presioni i tij do të rritet N-fish, si: P0*V0 = P1*V1 = kundër t. Për më shumë detaje, ju lutemi hidhini një sy artikullit të Wikipedia -s mbi ligjet e gazit. Në nivelin e detit, presioni barometrik është zakonisht në rangun prej 1010 hPa (hecto Pascal).
Pra duke filluar në një pikë pushimi të p.sh. V0 = 100 ml dhe P0 = 1000 hPa, një ngjeshje e ajrit në rreth 66 ml (dmth. V1 = 2/3 * V0) do të rezultojë në një presion prej rreth 1500 hPa (P1 = 3/2 e P0). Tërheqja e pistonit në 125 ml (vëllimi 5/4 fish) rezulton në një presion prej rreth 800 hPa (presion 4/5). Matjet janë jashtëzakonisht të sakta për një pajisje kaq të thjeshtë.
Pajisja ju lejon të keni një përshtypje haptike direkte se sa forcë kërkohet për të ngjeshur ose zgjeruar sasinë relativisht të vogël të ajrit në shiringë.
Por ne gjithashtu mund të bëjmë disa llogaritje dhe t'i kontrollojmë ato në mënyrë eksperimentale. Supozoni se ne e kompresojmë ajrin në 1500 hPa, në një presion barometrik bazal prej 1000 hPa. Pra, diferenca e presionit është 500 hPa, ose 50, 000 Pa. Për shiringën time, diametri (d) i pistonit është rreth 4 cm ose 0.04 metër.
Tani mund të llogaritni forcën e kërkuar për të mbajtur pistonin në atë pozicion. Jepet P = F/A (Presioni është Forca e ndarë me Zonë), ose e transformuar F = P*A. Njësia SI për forcën është "Njutoni" N, për gjatësinë "Metri" m, dhe 1 Pa është 1N për metër katror. Për një pistoni të rrumbullakët, zona mund të llogaritet duke përdorur A = ((d/2)^2)*pi, e cila jep 0.00125 metra katrorë për shiringën time. Kështu që
50, 000 Pa * 0.00125 m^2 = 63 N.
Në Tokë, 1 N lidhet me një peshë prej 100 gr, kështu që 63 N janë të barabarta me mbajtjen e një peshe prej 6.3 kg.
Kjo mund të kontrollohet lehtësisht duke përdorur një peshore. Shtyjeni shiringën me kumarxhi mbi peshore, derisa të arrihet një presion prej rreth 1500 hPa, pastaj lexoni shkallën. Ose shtyjeni derisa shkalla të tregojë rreth 6-7 kg, pastaj shtypni butonin "A" dhe lexoni vlerën e shfaqur në matricën LED të mikro: bitit. Siç doli, vlerësimi i bazuar në llogaritjet e mësipërme nuk ishte i keq. Një presion pak më shumë se 1500 hPa lidhet me një "peshë" të shfaqur prej rreth 7 kg në një shkallë trupi (shiko imazhet). Ju gjithashtu mund ta ktheni këtë koncept dhe të përdorni pajisjen për të ndërtuar një shkallë të thjeshtë dixhitale të bazuar në matjet e presionit.
Ju lutemi kini parasysh se kufiri i sipërm për sensorin është rreth 1540 hPa, kështu që çdo presion mbi këtë nuk mund të matet dhe mund të dëmtojë sensorin.
Përveç qëllimeve edukative, dikush mund të përdorë gjithashtu sistemin për disa aplikacione të botës reale, pasi lejon të maten në mënyrë sasiore forcat që po përpiqen të lëvizin kumarxhiun në një mënyrë ose në tjetrën. Kështu që ju mund të matni një peshë të vendosur në kumarxhi ose një forcë goditëse që godet në kumarxhi. Ose ndërtoni një çelës që aktivizon një dritë ose zile ose luan një tingull pasi të jetë arritur një vlerë e caktuar pragu. Ose mund të ndërtoni një instrument muzikor që ndryshon frekuencën në varësi të fuqisë së forcës së aplikuar në kumarxhi. Ose përdorni atë si kontrollues loje. Përdorni imagjinatën tuaj dhe luani!
Hapi 4: Skenari MicroPython
Bashkangjitur gjeni shkrimin tim BMP280 për mikro: bit. Shtë një derivat i një skenari BMP/BME280 që gjeta diku në faqen e internetit të Banggood, e kombinuar me bibliotekën e Adafruit Microbit. E para ju lejon të përdorni sensorin Banggood, e dyta thjeshton trajtimin e ekranit LED 5x5. Falenderimet e mia shkojnë për zhvilluesit e të dyjave.
Si parazgjedhje, skripti shfaq rezultatet e matjeve të presionit në 5 hapa në ekranin mikro: 5x5 LED të bitit, duke lejuar të shihen ndryshimet me pak vonesë. Vlerat e sakta mund të shfaqen paralelisht në monitorin serik Arduino IDE, ose një grafik më i detajuar mund të shfaqet komplotuesi seral i Arduino IDE.
Nëse shtypni butonin A, vlerat e matura të presionit shfaqen në grupin LED të mikro: bitit 5x5. Nëse shtypni butonin B, vlerat e temperaturës shfaqen. Ndërsa kjo ju lejon të lexoni të dhënat e sakta, ngadalëson ndjeshëm ciklet e matjes.
Jam i sigurt se ka mënyra shumë më elegante për të programuar detyrat dhe për të përmirësuar skenarin. Çdo ndihmë është e mirëpritur.
#përfshi xxx
#përfshi mikrobit Adafruit_Microbit_Matrix; #përcakto BME280_ADDRESS 0x76 pa shenjë të gjatë int hum_raw, temp_raw, pres_raw; nënshkruar gjatë 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; // kontejnerë për vlerat e matura int value0; vlera int1; vlera int2; vlera int3; vlera int4; // ---------------------------------------------------- ------------------------------------------------------ ------------------ void setup () {uint8_t osrs_t = 1; // Mbivendosja e temperaturës x 1 uint8_t osrs_p = 1; // Presioni i tepërt i presionit x 1 uint8_t osrs_h = 1; // Lagështia e tepërt e mostrës x 1 mënyra uint8_t = 3; // Mënyra normale uint8_t t_sb = 5; // Rezistenca 1000ms uint8_t filtri = 0; // Filtroni jashtë uint8_t spi3w_en = 0; // SPI me 3 tela Çaktivizo uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | mënyra; uint8_t config_reg = (t_sb << 5) | (filtri << 2) | spi3w_en; uint8_t ctrl_hum_reg = osrs_h; pinMode (PIN_BUTTON_A, INPUT); pinMode (PIN_BUTTON_B, INPUT); Serial.filloj (9600); // Serial.println ("Temperatura [deg C]"); // Serial.print ("\ t"); Serial.print ("Presioni [hPa]"); // header Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); vonesa (1000); } // -------------------------------------------------- ------------------------------------------------------ -------- lak void () {double temp_act = 0.0, press_act = 0.0, hum_act = 0.0; nënshkruar gjatë int temp_cal; e panënshkruar gjatë int press_cal, hum_cal; int N; // vendos vlerat e pragut për ekranin e matricës LED, në hPa dyshe max_0 = 1100; dyshe max_1 = 1230; dyfish max_2 = 1360; dyfish max_3 = 1490; readData (); temp_cal = kalibrimi_T (temp_raw); press_cal = kalibrimi_P (pres_raw); hum_cal = kalibrimi_H (hum_raw); temp_act = (dyfish) temp_cal / 100.0; shtyp_akt = (dyfish) shtyp_kal / 100.0; hum_act = (dyfish) hum_cal / 1024.0; microbit.qartë (); // rivendos matricën LED /* Serial.print ("PRESS:"); Serial.println (shtyp_akt); Serial.print ("hPa"); Serial.print ("TEMP:"); Serial.print ("\ t"); Serial.println (temp_act); */ if (! digitalRead (PIN_BUTTON_B)) {// shfaqja e vlerave në numra vonon matjen e qarqeve microbit.print ("T:"); microbit.print (temp_act, 1); microbit.print ("'C"); // Serial.println (""); } tjetër nëse (! digitalRead (PIN_BUTTON_A)) {microbit.print ("P:"); microbit.print (shtyp_akt, 0); microbit.print ("hPa"); } else {// shfaqja e vlerave të presionit si pixel ose linja në një nivel të caktuar // 5 hapa: 1490 hPa // pragjet e përcaktuara nga vlerat max_n nëse (press_act> max_3) {(N = 0); // rreshti i sipërm} tjetër nëse (shtyp_akt> max_2) {(N = 1); } else if (press_act> max_1) {(N = 2); } tjetër nëse (shtyp_akt> maks_0) {(N = 3); } tjetër {(N = 4); // rreshti bazë} // Serial.println (N); // për qëllime zhvillimi // microbit.print (N); // si Linja // microbit.drawLine (N, 0, 0, 4, LED_ON); // zhvendos vlerat në vijën tjetër vlera4 = vlera3; vlera3 = vlera2; vlera2 = vlera1; vlera1 = vlera0; vlera0 = N; // vizatoni imazhin, kolonë për kolonë microbit.drawPixel (0, vlera0, LED_ON); // si Pixel: kolonë, rresht. 0, 0 mikrobit.drawPixel në këndin e sipërm të majtë (1, vlera1, LED_ON); microbit.drawPixel (2, vlera2, LED_ON); microbit.drawPixel (3, vlera3, LED_ON); microbit.drawPixel (4, vlera4, LED_ON); } // dërgoni të dhëna në monitorin serial dhe komplotuesin serik // Serial.println (press_act); // dërgoni vlerë (et) në portin serik për shfaqjen numerike, opsionale
Serial.print (shtyp_akt); // dërgoni vlerën në portin serik për komplotuesin
// vizatoni linjat treguese dhe rregulloni gamën e shfaqur Serial.print ("\ t"); Serial.print (600); Serial.print ("\ t"); Serial.print (1100), Serial.print ("\ t"); Serial.println (1600); vonesë (200); // Matni tri herë në sekondë} // -------------------------------------------- ------------------------------------------------------ ------------------------------------------------------ - // e mëposhtme kërkohet për sensorin bmp/bme280, mbajeni si të pavlefshëm readTrim () {uint8_t data [32], i = 0; // Fiks 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0x88); Wire.endTransmission (); Tela. Kërkohet nga (BME280_ADDRESS, 24); // Fix 2014/ndërsa (Wire.available ()) {data = Wire.read (); i ++; } Wire.beginTransmission (BME280_ADDRESS); // Shto 2014/Wire.write (0xA1); // Shto 2014/Wire.endTransmission (); // Shto 2014/Wire.requestFrom (BME280_ADDRESS, 1); // Shto 2014/të dhëna = Wire.read (); // Shto 2014/i ++; // Shto 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xE1); Wire.endTransmission (); Tela. Kërkohet nga (BME280_ADDRESS, 7); // Fix 2014/ndërsa (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (të dhënat [1] << 8) | të dhëna [0]; dig_P1 = (të dhënat [7] << 8) | të dhëna [6]; dig_P2 = (të dhënat [9] << 8) | të dhëna [8]; dig_P3 = (të dhënat [11] << 8) | të dhëna [10]; dig_P4 = (të dhënat [13] << 8) | të dhëna [12]; dig_P5 = (të dhënat [15] << 8) | të dhëna [14]; dig_P6 = (të dhënat [17] << 8) | të dhëna [16]; dig_P7 = (të dhënat [19] << 8) | të dhëna [18]; dig_T2 = (të dhënat [3] << 8) | të dhëna [2]; dig_T3 = (të dhënat [5] << 8) | të dhëna [4]; dig_P8 = (të dhënat [21] << 8) | të dhëna [20]; dig_P9 = (të dhënat [23] << 8) | të dhëna [22]; dig_H1 = të dhëna [24]; dig_H2 = (të dhënat [26] << 8) | të dhëna [25]; dig_H3 = të dhëna [27]; dig_H4 = (të dhënat [28] << 4) | (0x0F & të dhëna [29]); dig_H5 = (të dhënat [30] 4) & 0x0F); // Fiks 2014/dig_H6 = të dhëna [31]; // Fiksimi 2014/} regjistrimi i pavlefshëm i regjistrimit (uint8_t reg_adresa, uint8_t të dhëna) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_adresa); Wire.write (të dhënat); Wire.endTransmission (); }
leximi i pavlefshëm i të dhënave ()
{int i = 0; uint32_t të dhëna [8]; Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xF7); Wire.endTransmission (); Tela. Kërkohet nga (BME280_ADDRESS, 8); ndërsa (Wire.available ()) {data = Wire.read (); i ++; } pres_raw = (të dhënat [0] << 12) | (të dhënat [1] 4); temp_raw = (të dhënat [3] << 12) | (të dhënat [4] 4); hum_raw = (të dhënat [6] << 8) | të dhëna [7]; }
nënshkruar gjatë kalibrimit int int (nënshkruar gjatë int adc_T)
{nënshkruar gjatë int var1, var2, T; var1 = ((((adc_T >> 3) - ((nënshkruar gjatë int) dig_T1 11; var2 = (((((adc_T >> 4) - ((nënshkruar gjatë int) dig_T1)) *) ((adc_T >> 4) - ((nënshkruar gjatë int) dig_T1))) >> 12) * ((nënshkruar gjatë int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; kthim T;} i panënshkruar gjatë int kalibrimit_P (nënshkruar gjatë int adc_P) {nënshkruar gjatë int var1, var2; pa shenjë të gjatë int P; var1 = (((nënshkruar gjatë int) t_fine) >> 1) - (nënshkruar gjatë int) 64000; var2 = (((var1 >> 2) * (var1 >> 2)) >> 11) * ((nënshkruar gjatë int) dig_P6); var2 = var2 + ((var1 * ((nënshkruar gjatë int) dig_P5)) 2) + (((nënshkruar gjatë int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((nënshkruar gjatë int) dig_P2) * var1) >> 1)) >> 18; var1 = ((((32768+var1))*((nënshkruar gjatë int) dig_P1)) >> 15); if (var1 == 0) {kthimi 0; } P = (((int e panënshkruar gjatë int) (((nënshkruar gjatë int) 1048576) -adc_P)-(var2 >> 12)))*3125; nëse (P <0x80000000) {P = (P << 1) / ((int pa shenjë e gjatë int) var1); } else {P = (P / (int pa shenjë e gjatë int) var1) * 2; } var1 = (((nënshkruar gjatë int) dig_P9) * ((nënshkruar gjatë int) (((P >> 3) * (P >> 3)) >> 13))] 12; var2 = (((nënshkruar gjatë int) (P >> 2)) * ((nënshkruar gjatë int) dig_P8)) >> 13; P = (int pa shenjë e gjatë int) ((nënshkruar gjatë int) P + ((var1 + var2 + dig_P7) >> 4)); kthimi P; } kalibrim i gjatë i panënshkruar int (h i nënshkruar i gjatë int adc_H) {nënshkrim i gjatë int v_x1; v_x1 = (t_fine - ((nënshkruar gjatë int) 76800)); v_x1 = (((((adc_H << 14) -(((nënshkruar gjatë int) dig_H4) 15) *) ((((((v_x1 * ((nënshkruar gjatë int) dig_H6)] 10) *) (((v_x1 * ((nënshkruar gjatë int) dig_H3)) >> 11) + ((nënshkruar gjatë int) 32768))) >> 10) + ((nënshkruar gjatë int) 2097152)) * ((nënshkruar gjatë int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - ((((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((nënshkruar gjatë int) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); kthimi (int pa shenjë i gjatë) (v_x1 >> 12);}
Hapi 5: Skriptet MakeCode/JavaScript
Pimoroni kohët e fundit ka lëshuar enviro: bit, që vjen me një sensor presioni BMP280, një sensor dritë/ngjyra dhe një mikrofon MEMS. Ata gjithashtu ofrojnë një MicroPython dhe një bibliotekë MakeCode/JavaScript.
Kam përdorur më vonë për të shkruar një skenar MakeCode për sensorin e presionit. Skedari heks përkatës mund të kopjohet drejtpërdrejt në mikro: bitin tuaj. Kodi shfaqet më poshtë dhe mund të modifikohet duke përdorur redaktorin online të MakeCode.
Shtë një variant i shkrimit për mikro: bit dive-o-meter. Si parazgjedhje, ai shfaq ndryshimin e presionit si një grafik bar. Shtypja e butonit A vendos presionin e referencës, shtypja e butonit B shfaq ndryshimin midis presionit aktual dhe atij referues në hPa.
Përveç versionit bazë të barkodit, ju gjithashtu gjeni një version "X", me flokë të kryqëzuar dhe një version "L", që synon ta bëjë leximin më të lehtë.
le Kolona = 0
le të mbetet = 0 le Rresht = 0 le Metër = 0 le Delta = 0 le Ref = 0 le Is = 0 Is = 1012 themelore.shfaqetLeds (` # # # # # # #. # # # # # # # #.. # # # # # # `) Ref = 1180 basic.clearScreen () basic.forever (() => {Basic.clearScreen () if (input.buttonIsPressed (Button. A)) {Ref = envirobit.getPressure () Basic.showLeds (` #. #. #. #. #. # # # # #. #. #. #. #. #`) Basic.pause (1000)} tjetër nëse (input.buttonIsPressed (Button. B)) {Basic.showString ("" + Delta + "hPa") Basic.pause (200) basic.clearScreen ()} tjetër {Is = envirobit.getPressure () Delta = Is - Ref Meter = Math.abs (Delta) nëse (Metri> = 400) {Rreshti = 4} tjetër nëse (Metri> = 300) {Rreshti = 3} tjetër nëse (Metri> = 200) {Rreshti = 2} tjetër nëse (Metri> = 100) {Rreshti = 1} tjetër {Rresht = 0} mbetet = Metër - Rreshti * 100 nëse (mbeten> = 80) {Kolona = 4} tjetër nëse (mbeten> = 60) {Kolona = 3} tjetër nëse (mbeten> = 40) {Kolona = 2 } tjetër nëse (mbetet> = 20) {Kolona = 1} tjetër {Kolona = 0} për (le ColA = 0; ColA <= Kolona; ColA ++) {led.plot (ColA, Rresht)} bazë. pauzë (500)}})
Recommended:
M5STACK Si të shfaqni temperaturën, lagështinë dhe presionin në M5StickC ESP32 duke përdorur Visuino - Lehtë për tu bërë: 6 hapa
M5STACK Si të shfaqni temperaturën, lagështinë dhe presionin në M5StickC ESP32 duke përdorur Visuino - Lehtë për tu bërë: Në këtë tutorial do të mësojmë se si të programojmë ESP32 M5Stack StickC me Arduino IDE dhe Visuino për të shfaqur temperaturën, lagështinë dhe presionin duke përdorur sensorin ENV (DHT12, BMP280, BMM150)
Altimetër (metër lartësie) Bazuar në presionin atmosferik: 7 hapa (me fotografi)
Altimetër (metër lartësi) Bazuar në presionin atmosferik: [Redakto]; Shihni versionin 2 në hapin 6 me futjen manualisht të lartësisë bazë. Ky është përshkrimi i ndërtesës së një Altimetri (Matës i lartësisë) i bazuar në një Arduino Nano dhe një sensor presioni atmosferik Bosch BMP180. Dizajni është i thjeshtë, por matjet
Matni shpejtësinë e erës me qarqet mikro: bit dhe Snap: 10 hapa
Matni shpejtësinë e erës me mikro: bit dhe qarqet Snap: Histori Ndërsa vajza ime dhe unë po punonim në një anemometër të projektit të motit, ne vendosëm ta zgjasim argëtimin duke përfshirë programimin. Çfarë është një anemometër? Me siguri po pyet se çfarë " anemometër " është Epo, është një pajisje që mat erën
Duke përdorur Raspberry Pi, matni lartësinë, presionin dhe temperaturën me MPL3115A2: 6 hapa
Përdorimi i Raspberry Pi, Matni Lartësinë, Presionin dhe Temperaturën Me MPL3115A2: Dije atë që zotëron dhe di pse e zotëron! It'sshtë intriguese. Ne po jetojmë në epokën e Automatizimit të Internetit pasi ai zhytet në një bollëk aplikimesh të reja. Si entuziastë të kompjuterit dhe elektronikës, ne kemi mësuar shumë me Raspberry Pi a
Matni sinjalet e vogla të varrosura në zhurmë në osciloskopin tuaj (Zbulimi i ndjeshëm i fazës): 3 hapa
Matni sinjalet e vogla të varrosura në zhurmë në osciloskopin tuaj (Zbulimi i ndjeshëm i fazës): Imagjinoni që dëshironi të matni një sinjal të vogël të varrosur në zhurmë që është shumë më i fortë. Shikoni videon për një përshkrim të shpejtë se si ta bëni atë, ose vazhdoni të lexoni për detajet