![Mérje meg a nyomást a mikro segítségével: bit: 5 lépés (képekkel) Mérje meg a nyomást a mikro segítségével: bit: 5 lépés (képekkel)](https://i.howwhatproduce.com/images/001/image-1083-82-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48
![Mérje meg a nyomást a Micro: bit segítségével Mérje meg a nyomást a Micro: bit segítségével](https://i.howwhatproduce.com/images/001/image-1083-83-j.webp)
![Mérje meg a nyomást a Micro: bit segítségével Mérje meg a nyomást a Micro: bit segítségével](https://i.howwhatproduce.com/images/001/image-1083-84-j.webp)
Az alábbi utasítás egy könnyen megépíthető és olcsó eszközt ír le a nyomásmérések elvégzésére és Boyle törvényének bemutatására, a micro: bit és a BMP280 nyomás/hőmérséklet érzékelő kombinációjával.
Míg ezt a fecskendő/nyomásérzékelő kombinációt már leírtam egyik korábbi utasításomban, addig a micro: bit kombinációja új lehetőségeket kínál, pl. osztálytermi projektekhez.
Ezen túlmenően, azoknak az alkalmazásoknak a leírása, amelyekben a micro: bitet I2C hajtású érzékelővel együtt használják, eddig meglehetősen korlátozott. Remélem, ez az oktatható kiindulópont lehet más projektekhez.
Az eszköz lehetővé teszi kvantitatív légnyomásmérések elvégzését, és az eredmények megjelenítését a micro: bit LED tömbön vagy egy csatlakoztatott számítógépen, később az Arduino IDE soros monitor vagy soros plotter funkcióinak használatával. Ezenkívül haptikus visszajelzést is kap, mivel maga fogja nyomni vagy húzni a fecskendő dugattyúját, és ezáltal érzi a szükséges teljesítményt.
Alapértelmezés szerint a kijelző lehetővé teszi a nyomás megbecsülését a LED -mátrixon látható szintjelző segítségével. Az Arduino IDE soros plottere lehetővé teszi ugyanezt, de sokkal jobb felbontással (lásd a videót). Bonyolultabb megoldások is rendelkezésre állnak, pl. feldolgozó nyelven. Az A vagy B gomb megnyomása után a LED és a hőmérséklet pontos mért értékeit is megjelenítheti, de az Arduino IDE soros monitorja sokkal gyorsabb, lehetővé téve az értékek közel valós idejű megjelenítését.
A teljes költség és az eszköz megépítéséhez szükséges technikai készségek meglehetősen alacsonyak, ezért ez egy jó osztálytermi projekt lehet egy tanár felügyelete alatt. Ezenkívül a készülék eszköz lehet a STEM projektekben, amelyek a fizikára összpontosítanak, vagy más projektekben használhatók, ahol egy erőt vagy súlyt digitális értékké kell átalakítani.
Ezt az elvet használták egy nagyon egyszerű mikro: bites merülő-méter mérőeszköz elkészítéséhez, amely egy eszköz a merülés mélységének mérésére.
2018. május 27-i kiegészítés:
Mivel a Pimoroni MakeCode könyvtárat fejlesztett ki a BMP280 érzékelőhöz, ez lehetőséget adott arra, hogy kifejlesszek egy szkriptet, amelyet az itt leírt eszközhöz használhatok. A parancsfájl és a megfelelő HEX-fájl ennek az utasításnak az utolsó lépésében található. Használatához töltse be a HEX fájlt a micro: bit -re. Nincs szükség speciális szoftverre, és használhatja az online MakeCode szerkesztőt a szkript szerkesztéséhez.
1. lépés: Használt anyagok
![Használt anyagok Használt anyagok](https://i.howwhatproduce.com/images/001/image-1083-85-j.webp)
![Használt anyagok Használt anyagok](https://i.howwhatproduce.com/images/001/image-1083-86-j.webp)
![Használt anyagok Használt anyagok](https://i.howwhatproduce.com/images/001/image-1083-87-j.webp)
![Használt anyagok Használt anyagok](https://i.howwhatproduce.com/images/001/image-1083-88-j.webp)
- Egy micro: bit, az enyémet Pimoroniból szereztem - 13,50 GBP
- Kitronic Edge csatlakozó micro: bithez - Pimoroni útján - 5 GBP, Megjegyzés: A Pimorini most egy kenyérsütőlap -barát peremcsatlakozót kínál pin: bit néven, csapokkal az I2C portokon.
- 2 x 2 tűs fejléc
- Akkumulátor vagy LiPo a mikro számára: bit (nem szükséges, de hasznos), akkumulátor kábel kapcsolóval (dito) - Pimoroni
- áthidaló kábelek az érzékelők Edge csatlakozóhoz való csatlakoztatásához
- hosszú (!) áthidaló kábelek az érzékelőhöz, legalább olyan hosszúak, mint a fecskendő,, f/f vagy f/m
- BMP280 nyomás- és hőmérséklet -érzékelő - Banggood - 5 amerikai dollár három egységért. Ennek az érzékelőnek a mérési tartománya 550 és 1537 hPa között van.
- 150 ml -es műanyag katéteres fecskendő gumitömítéssel - Amazon vagy hardver- és kerti üzletek - körülbelül 2-3 USD
- forró ragasztó/forró ragasztó pisztoly
- forrasztópáka
- számítógép, amelyen telepítve van az Arduino IDE
2. lépés: Összeszerelési utasítások
![összeszerelési útmutató összeszerelési útmutató](https://i.howwhatproduce.com/images/001/image-1083-89-j.webp)
![összeszerelési útmutató összeszerelési útmutató](https://i.howwhatproduce.com/images/001/image-1083-90-j.webp)
![összeszerelési útmutató összeszerelési útmutató](https://i.howwhatproduce.com/images/001/image-1083-91-j.webp)
Forrasztófej a BMP280 szenzorhoz.
Forrasztja a két 2 tűs fejet az Edge csatlakozó 19 és 20 tűs csatlakozóira (lásd az ábrát).
Csatlakoztassa a micro: bitet az Edge csatlakozóhoz és a számítógéphez.
Készítse elő a szoftvert és a micro: bit -t az Adafruit micro: bit utasításai szerint. Olvassa el őket alaposan.
Telepítse a szükséges könyvtárakat az Arduino IDE -be.
Nyissa meg a BMP280 parancsfájlt egy későbbi lépésben.
Csatlakoztassa az érzékelőt az Edge csatlakozóhoz. GND - 0V, VCC - 3V, SCL - 19 -es, SDA - 20 -as.
Töltse fel a szkriptet a micro: bitre.
Ellenőrizze, hogy az érzékelő ésszerű adatokat szolgáltat -e, a nyomásértékeknek 1020 hPa körül kell lenniük, a soros monitoron. Ebben az esetben először ellenőrizze a kábeleket és csatlakozásokat, majd a szoftver telepítését, és javítsa ki.
Kapcsolja ki a micro: bit -et, vegye ki az érzékelőt.
Vezesse át a hosszú áthidaló kábeleket a fecskendő kimenetén. Ha esetleg ki kell szélesíteni a nyílást. Ügyeljen arra, hogy figyelmen kívül hagyja a kábelek sérülését.
Csatlakoztassa az érzékelőt az áthidaló kábelekhez. Ellenőrizze, hogy a csatlakozók helyesek és jók. Csatlakozás a micro: bit -hez.
Ellenőrizze, hogy az érzékelő megfelelően működik -e. Óvatosan húzza a kábeleket, és helyezze az érzékelőt a fecskendő tetejére.
Helyezze be a dugattyút, és mozgassa kissé tovább a kívánt nyugalmi helyzetben (100 ml).
Adjon forró ragasztót a fecskendő kimenetének végéhez, és mozgassa kissé hátra a dugattyút. Ellenőrizze, hogy a fecskendő légmentesen le van -e zárva, ellenkező esetben adjon hozzá több forró ragasztót. Hagyja kihűlni a forró ragasztót.
Ellenőrizze újra, hogy az érzékelő működik -e. Ha elmozdítja a dugattyút, akkor a soros monitoron és a micro: bit kijelzőjén lévő számoknak meg kell változniuk.
Ha szükséges, beállíthatja a fecskendő hangerejét úgy, hogy összenyomja a tömítést, és mozgatja a dugattyút.
3. lépés: Egy kis elmélet és néhány gyakorlati mérés
![Egy kis elmélet és néhány gyakorlati mérés Egy kis elmélet és néhány gyakorlati mérés](https://i.howwhatproduce.com/images/001/image-1083-92-j.webp)
![Egy kis elmélet és néhány gyakorlati mérés Egy kis elmélet és néhány gyakorlati mérés](https://i.howwhatproduce.com/images/001/image-1083-93-j.webp)
Az itt leírt eszközzel egyszerű fizikai kísérletekben demonstrálhatja a kompresszió és a nyomás korrelációját. Mivel a fecskendő "ml" skálával rendelkezik, még a mennyiségi kísérletek is könnyen elvégezhetők.
A mögöttes elmélet: Boyle törvénye szerint a [Térfogat * Nyomás] egy állandó érték egy gáz számára egy adott hőmérsékleten.
Ez azt jelenti, hogy ha egy adott térfogatú gázt N-szeresre présel, azaz a végső térfogat 1/N-szerese az eredetinek, a nyomása N-szeresére emelkedik, például: P0*V0 = P1*V1 = hátrányok t. További részletekért tekintse meg a Wikipedia gáztörvényekkel foglalkozó cikkét. Tengerszinten a légnyomás általában 1010 hPa (hecto Pascal) tartományban van.
Tehát nyugalmi helyeken kezdve pl. V0 = 100 ml és P0 = 1000 hPa, a levegő 66 ml -re történő összenyomása (azaz V1 = 2/3 * V0) körülbelül 1500 hPa nyomást eredményez (P1 = 3/2 a P0 -ból). Ha a dugattyút 125 ml -re (5/4 -szeres térfogat) húzza, körülbelül 800 hPa (4/5 nyomás) nyomást eredményez. A mérések elképesztően pontosak egy ilyen egyszerű eszköznél.
A készülék lehetővé teszi, hogy közvetlen haptikus benyomást keltsen, mennyi erőre van szükség a fecskendőben lévő viszonylag kis mennyiségű levegő összenyomásához vagy kitágításához.
De elvégezhetünk néhány számítást, és kísérletileg ellenőrizhetjük őket. Tegyük fel, hogy a levegőt 1500 hPa -ra sűrítjük, 1000 hPa bazális légnyomás mellett. Tehát a nyomáskülönbség 500 hPa, vagy 50 000 Pa. Fecskendőmnél a dugattyú átmérője (d) körülbelül 4 cm vagy 0,04 méter.
Most kiszámíthatja a dugattyúnak ebben a helyzetben tartásához szükséges erőt. Adott P = F/A (a nyomás erővel osztva területtel), vagy átalakítva F = P*A. Az erő SI mértékegysége "Newton" N, "Meter" hosszúság esetén, 1 Pa pedig 1 N négyzetméterenként. Kerek dugattyú esetén a terület kiszámítható A = ((d/2)^2)*pi segítségével, ami 0,00125 négyzetmétert ad a fecskendőm számára. Így
50 000 Pa * 0,00125 m^2 = 63 N.
A Földön 1 N 100 gramm súlynak felel meg, tehát 63 N egyenlő 6,3 kg súly tartásával.
Ez könnyen ellenőrizhető egy skála segítségével. Nyomja a fecskendőt a dugattyúval a mérlegre, amíg el nem éri az 1500 hPa nyomást, majd olvassa le a skálát. Vagy nyomja addig, amíg a mérleg 6-7 kg-ot mutat, majd nyomja meg az "A" gombot, és olvassa el a micro: bit LED-mátrixán megjelenített értéket. Mint kiderült, a fenti számítások alapján végzett becslés nem volt rossz. Az enyhén 1500 hPa feletti nyomás korrelált a test skálán megjelenő, körülbelül 7 kg -os "tömegével" (lásd a képeket). Ön is megfordíthatja ezt a koncepciót, és az eszköz segítségével egy egyszerű digitális skálát készíthet a nyomásmérések alapján.
Kérjük, vegye figyelembe, hogy az érzékelő felső határa körülbelül 1540 hPa, ezért az e fölötti nyomás nem mérhető, és károsíthatja az érzékelőt.
Az oktatási célok mellett a rendszert néhány valós világbeli alkalmazáshoz is használhatjuk, mivel ez lehetővé teszi a dugattyú egyik vagy másik mozgatására törekvő erők mennyiségi mérését. Így megmérheti a dugattyúra helyezett súlyt vagy a dugattyút érő ütőerőt. Vagy építsen olyan kapcsolót, amely aktiválja a fényt vagy a zümmögőt, vagy egy bizonyos küszöbérték elérése után hangot ad ki. Vagy építhet egy hangszert, amely megváltoztatja a frekvenciát a dugattyú erősségének függvényében. Vagy használd játékvezérlőként. Használd a fantáziádat és játssz!
4. lépés: A MicroPython szkript
Csatolva megtalálod a BMP280 szkriptemet a micro: bithez. Ez egy BMP/BME280 szkript származéka, amelyet valahol a Banggood webhelyen találtam, az Adafruit Microbit könyvtárával kombinálva. Az első lehetővé teszi a Banggood érzékelő használatát, a második egyszerűsíti az 5x5 LED kijelző kezelését. Köszönöm mindkettő fejlesztőinek.
Alapértelmezés szerint a szkript 5 lépésben jeleníti meg a nyomásmérések eredményeit a micro: bit 5x5 LED -es kijelzőjén, lehetővé téve a változások kis késleltetést. A pontos értékek párhuzamosan megjeleníthetők az Arduino IDE soros monitoron, vagy részletesebb grafikonon az Arduino IDE szériarajzolója.
Ha megnyomja az A gombot, a mért nyomásértékek megjelennek a micro: bit 5x5 LED -es tömbjén. Ha megnyomja a B gombot, megjelenik a hőmérséklet értéke. Bár ez lehetővé teszi a pontos adatok leolvasását, jelentősen lelassítja a mérési ciklusokat.
Biztos vagyok benne, hogy sokkal elegánsabb módszerek vannak a feladatok programozására és a forgatókönyv javítására. Bármilyen segítséget szívesen fogadunk.
#include xxx
#include Adafruit_Microbit_Matrix microbit; #define BME280_ADDRESS 0x76 unsigned long int hum_raw, temp_raw, pres_raw; aláírt hosszú 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; // konténerek a mért értékekhez int value0; int érték1; int érték2; int érték3; int érték4; // ------------------------------------------------ -------------------------------------------------- ------------------ void setup () {uint8_t osrs_t = 1; // Hőmérséklet -túlmintavétel x 1 uint8_t osrs_p = 1; // Nyomás túlmintavétele x 1 uint8_t osrs_h = 1; // Páratartalom túlmintavételezés x 1 uint8_t mód = 3; // Normál mód uint8_t t_sb = 5; // Készenléti állapot 1000ms uint8_t filter = 0; // szűrés ki uint8_t spi3w_en = 0; // 3 vezetékes SPI Letiltás uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | mód; uint8_t config_reg = (t_sb << 5) | (szűrő << 2) | spi3w_en; uint8_t ctrl_hum_reg = osrs_h; pinMode (PIN_BUTTON_A, INPUT); pinMode (PIN_BUTTON_B, INPUT); Sorozat.kezdet (9600); // Serial.println ("Hőmérséklet [° C]"); // Sorozat.nyomtatás ("\ t"); Serial.print ("Nyomás [hPa]"); // fejléc Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); késleltetés (1000); } // ----------------------------------------------- -------------------------------------------------- -------- void loop () {double temp_act = 0.0, press_act = 0.0, hum_act = 0.0; aláírt hosszú int temp_cal; előjel nélküli hosszú int press_cal, hum_cal; int N; // küszöbértékek beállítása a LED mátrix kijelzőhöz, hPa -ban dupla max_0 = 1100; dupla max_1 = 1230; dupla max_2 = 1360; dupla max_3 = 1490; readData (); temp_cal = calibration_T (temp_raw); press_cal = calibration_P (pres_raw); hum_cal = kalibrálás_H (hum_rajz); temp_act = (dupla) temp_cal / 100.0; press_act = (dupla) press_cal / 100.0; hum_act = (kettős) hum_cal / 1024,0; microbit.clear (); // reset LED mátrix /* 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)) {// az értékek számokban történő megjelenítése késlelteti a körök mérését microbit.print ("T:"); microbit.print (temp_act, 1); microbit.print ("'C"); // Sorozat.println (""); } else if (! digitalRead (PIN_BUTTON_A)) {microbit.print ("P:"); microbit.print (press_act, 0); microbit.print ("hPa"); } else {// a nyomásértékek pixelként vagy vonalként való megjelenítése egy bizonyos szinten // 5 lépés: 1490 hPa // a max_n értékek által meghatározott küszöbértékek, ha (press_act> max_3) {(N = 0); // felső sor} 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); // alapsor} // Sorozat.println (N); // fejlesztési célokra // microbit.print (N); // mint vonal // microbit.drawLine (N, 0, 0, 4, LED_ON); // értékek eltolása a következő sor értékére4 = érték3; érték3 = érték2; érték2 = érték1; érték1 = érték0; érték0 = N; // kép rajzolása, oszloponként mikrobit.drawPixel (0, érték0, LED_ON); // Pixelként: oszlop, sor. 0, 0 bal felső sarok microbit.drawPixel (1, érték1, LED_ON); microbit.drawPixel (2, érték2, LED_ON); microbit.drawPixel (3, érték3, LED_ON); microbit.drawPixel (4, érték4, LED_ON); } // adatok küldése soros monitorra és soros plotterre // Serial.println (press_act); // érték (ek) küldése a soros portra a numerikus megjelenítéshez, opcionális
Serial.print (press_act); // érték küldése a plotter soros portjára
// rajzoljon jelzővonalakat és javítsa a megjelenített tartományt Serial.print ("\ t"); Sorozatnyomtatás (600); Serial.print ("\ t"); Soros.nyomtatás (1100), Soros.nyomtatás ("\ t"); Sorozat.println (1600); késleltetés (200); // Mérjen másodpercenként háromszor} // ---------------------------------------- -------------------------------------------------- -------------------------------------------------- - // a következő szükséges a bmp/bme280 érzékelőhöz, tartsa érvénytelennek readTrim () {uint8_t data [32], i = 0; // Javítás 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0x88); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 24); // Javítás 2014/while (Wire.available ()) {data = Wire.read (); i ++; } Wire.beginTransmission (BME280_ADDRESS); // Add 2014/Wire.write (0xA1); // 2014 hozzáadása/Wire.endTransmission (); // Add 2014/Wire.requestFrom (BME280_ADDRESS, 1); // Add 2014/data = Wire.read (); // Hozzáadás 2014/i ++; // Add 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xE1); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 7); // Javítás 2014/while (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (adatok [1] << 8) | adatok [0]; dig_P1 = (adatok [7] << 8) | adatok [6]; dig_P2 = (adatok [9] << 8) | adatok [8]; dig_P3 = (adatok [11] << 8) | adatok [10]; dig_P4 = (adatok [13] << 8) | adatok [12]; dig_P5 = (adatok [15] << 8) | adatok [14]; dig_P6 = (adatok [17] << 8) | adatok [16]; dig_P7 = (adatok [19] << 8) | adatok [18]; dig_T2 = (adatok [3] << 8) | adatok [2]; dig_T3 = (adatok [5] << 8) | adatok [4]; dig_P8 = (adatok [21] << 8) | adatok [20]; dig_P9 = (adatok [23] << 8) | adatok [22]; dig_H1 = adatok [24]; dig_H2 = (adatok [26] << 8) | adatok [25]; dig_H3 = adatok [27]; dig_H4 = (adatok [28] << 4) | (0x0F és adatok [29]); dig_H5 = (adatok [30] 4) & 0x0F); // 2014 javítása/dig_H6 = adatok [31]; // 2014/} javítása void writeReg (uint8_t reg_address, uint8_t data) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_address); Wire.write (adatok); Wire.endTransmission (); }
void readData ()
{int i = 0; uint32_t adatok [8]; Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xF7); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 8); while (Wire.available ()) {data = Wire.read (); i ++; } pres_raw = (adatok [0] << 12) | (adatok [1] 4); temp_raw = (adatok [3] << 12) | (adatok [4] 4); hum_raw = (adatok [6] << 8) | adatok [7]; }
aláírt hosszú int kalibráció_T (aláírt hosszú int adc_T)
{aláírt hosszú int var1, var2, T; var1 = (((((adc_T >> 3) - ((aláírt hosszú int) dig_T1 11; var2 = ((((((adc_T >> 4) - ((aláírt hosszú int) dig_T1)) * ((adc_T >> 4) - ((aláírt hosszú int) dig_T1))) >> 12) * ((aláírt hosszú int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; return T;} előjel nélküli hosszú int kalibrálás_P (aláírt hosszú int adc_P) {aláírt hosszú int var1, var2; előjel nélküli hosszú int P; var1 = (((aláírt hosszú int) t_fine) >> 1) - (aláírt hosszú int) 64000; var2 = ((((var1 >> 2) * (var1 >> 2)) >> 11) * ((aláírt hosszú int) dig_P6); var2 = var2 + ((var1 * ((aláírt hosszú int) dig_P5)) 2) + (((aláírt hosszú int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((aláírt hosszú int) dig_P2) * var1) >> 1)) >> 18; var1 = (((((32768+var1))*((aláírt hosszú int) dig_P1)) >> 15); if (var1 == 0) {return 0; } P = (((előjel nélküli hosszú int) (((aláírt hosszú int) 1048576) -adc_P)-(var2 >> 12)))*3125; ha (P <0x80000000) {P = (P << 1) / ((unsigned long int) var1); } else {P = (P / (előjel nélküli hosszú int) var1) * 2; } var1 = (((aláírt hosszú int) dig_P9) * ((aláírt hosszú int) ((((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((aláírt hosszú int) (P >> 2)) * ((aláírt hosszú int) dig_P8)) >> 13; P = (előjel nélküli hosszú int) ((aláírt hosszú int) P + ((var1 + var2 + dig_P7) >> 4)); visszatérés P; } unsigned long int kalibráció_H (aláírt hosszú int adc_H) {aláírt hosszú int v_x1; v_x1 = (t_finom - ((aláírt hosszú int) 76800)); v_x1 = ((((((adc_H << 14) -(((aláírt hosszú int) dig_H4) 15) * (((((((v_x1 * ((aláírt hosszú int) dig_H6)) >> 10) * (((v_x1 * ((aláírt hosszú int) dig_H3)) >> 11) + ((aláírt hosszú int) 32768))) >> 10) + ((aláírt hosszú int) 2097152)) * ((aláírt hosszú int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - ((((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((aláírt hosszú int) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); return (előjel nélküli hosszú int) (v_x1 >> 12);}
5. lépés: MakeCode/JavaScript szkriptek
![MakeCode/JavaScript szkriptek MakeCode/JavaScript szkriptek](https://i.howwhatproduce.com/images/001/image-1083-94-j.webp)
A Pimoroni nemrég kiadta az enviro: bit -et, amely BMP280 nyomásérzékelővel, fény-/színérzékelővel és MEMS mikrofonnal rendelkezik. MicroPython és MakeCode/JavaScript könyvtárat is kínálnak.
A későbbiekben MakeCode -szkriptet írtam a nyomásérzékelőhöz. A megfelelő hexa fájl közvetlenül a micro: bitre másolható. A kód alább látható, és az online MakeCode szerkesztővel módosítható.
Ez a micro: bit dive-o-meter szkriptjének egy változata. Alapértelmezésben a nyomáskülönbséget oszlopdiagramként jeleníti meg. Az A gomb megnyomásával beállítható a referencianyomás, a B gomb megnyomásával megjelenik a tényleges és a referencianyomás közötti különbség hPa -ban.
Az alap vonalkód verzió mellett egy "X", szálkeresztes és egy "L" változatot is talál, amelyek megkönnyítik az olvasást.
legyen az oszlop = 0
hagyjuk marad = 0 hagyja sor = 0 hagyja Meter = 0 hagyja Delta = 0 hagyja Ref = 0 hagyja 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), ha (Meter> = 400) {Row = 4} else if (Meter> = 300) {Row = 3} else if (Meter> = 200) {Row = 2} else if (Meter> = 100) {Row = 1} else {Sor = 0} marad = Méter - Sor * 100, ha (marad>> 80) {Oszlop = 4} más, ha (marad>> 60) {Oszlop = 3} más, ha (marad>> 40) {Oszlop = 2 } else if (marad> = 20) {Oszlop = 1} else {Oszlop = 0} a (legyen ColA = 0; ColA <= Oszlop; ColA ++) {led.plot (ColA, Row)} basic.pause (500)}})
Ajánlott:
Automatikus növényi öntözőrendszer mikro segítségével: bit: 8 lépés (képekkel)
![Automatikus növényi öntözőrendszer mikro segítségével: bit: 8 lépés (képekkel) Automatikus növényi öntözőrendszer mikro segítségével: bit: 8 lépés (képekkel)](https://i.howwhatproduce.com/images/001/image-1132-j.webp)
Automatikus növényi öntözőrendszer Micro: bit használatával: Ebben az utasításban megmutatom, hogyan kell felépíteni egy automatikus növényi öntözőrendszert a Micro: bit és néhány más kis elektronikus alkatrész segítségével. A Micro: bit nedvességérzékelőt használ figyelemmel kíséri a nedvesség szintjét a növény talajában és
Mérje meg a távolságot a HC-SRF04 ultrahangos érzékelővel (legújabb 2020): 3 lépés
![Mérje meg a távolságot a HC-SRF04 ultrahangos érzékelővel (legújabb 2020): 3 lépés Mérje meg a távolságot a HC-SRF04 ultrahangos érzékelővel (legújabb 2020): 3 lépés](https://i.howwhatproduce.com/images/001/image-13-25-j.webp)
Mérje meg a távolságot a HC-SRF04 ultrahangos érzékelővel (legújabb 2020): Mi az ultrahangos érzékelő (távolság)? Ultrahang (szonár) magas szintű hullámokkal, amelyeket az emberek nem hallhatnak. A természetben azonban mindenhol láthatjuk az ultrahangos hullámok jelenlétét. Az olyan állatoknál, mint a denevérek, a delfinek … ultrahangos hullámokat használnak
Szervo motorok futtatása Moto: bit segítségével Mikro: bit: 7 lépés (képekkel)
![Szervo motorok futtatása Moto: bit segítségével Mikro: bit: 7 lépés (képekkel) Szervo motorok futtatása Moto: bit segítségével Mikro: bit: 7 lépés (képekkel)](https://i.howwhatproduce.com/images/003/image-6039-j.webp)
Szervo motorok futtatása a Moto: bit segítségével Micro: bit: A micro: bit funkcionalitásának kibővítésének egyik módja a SparkFun Electronics által moto: bit nevű tábla használata (kb. 15-20 USD). Bonyolultnak tűnik, és számos funkcióval rendelkezik, de nem nehéz szervomotorokat futtatni belőle. Moto: bit lehetővé teszi, hogy
Mérje meg a nitrátkoncentrációt vízben EOS 1: 13 lépéssel
![Mérje meg a nitrátkoncentrációt vízben EOS 1: 13 lépéssel Mérje meg a nitrátkoncentrációt vízben EOS 1: 13 lépéssel](https://i.howwhatproduce.com/images/001/image-1018-75-j.webp)
Mérje meg a nitrátkoncentrációt vízben az EOS 1 segítségével: Ez egy rövid, lépésről lépésre szóló útmutató az EOS1 használatáról a vízben lévő nitrátkoncentráció mérésére. Hasonló lépések használhatók a foszfát mérésére is (más vizsgálati gyerekre van szükség)
Mérje meg az apró jeleket a zajban az oszcilloszkópján (fázisérzékeny észlelés): 3 lépés
![Mérje meg az apró jeleket a zajban az oszcilloszkópján (fázisérzékeny észlelés): 3 lépés Mérje meg az apró jeleket a zajban az oszcilloszkópján (fázisérzékeny észlelés): 3 lépés](https://i.howwhatproduce.com/images/001/image-2713-71-j.webp)
Mérje meg a zajban eltemetett apró jeleket az oszcilloszkópján (fázisérzékeny észlelés): Képzelje el, hogy egy apró jelet szeretne mérni, amely sokkal erősebb zajban van. Nézze meg a videót, hogy gyorsan megtudja, hogyan kell csinálni, vagy olvassa tovább a részleteket