View on GitHub

fyzikalni_senzory

Umožňuje pomocí Micro:Bitu měřit základní fyzikální veličiny

Fyzikální Senzory pro micro:bit ⚗️📏

📲 Chcete měřit bez programování? Použijte FyzBit → fyzbit.cz

FyzBit je webová aplikace, do které stačí připojit micro:bit kabelem nebo přes Bluetooth. Sama pozná senzor, kreslí graf v reálném čase a umí export do CSV a PDF — bez MakeCode, bez programování a bez instalace.

Toto rozšíření níže využijete, když si chcete měření naprogramovat vlastními bloky v MakeCode.

Toto rozšíření je navrženo speciálně pro výuku fyziky na základních a středních školách. Umožňuje jednoduché připojení a měření s levnými, běžně dostupnými senzory.

Rozšíření se zaměřuje na robustnost, jednoduchost bloků a přímý fyzikální výstup vhodný pro školní měření a grafy.

Podporované senzory

  1. Teploměr (DS18B20)
  2. Siloměr a Váha (Tenzometr + HX711)
  3. Vzdálenost a Rychlost (Ultrazvukový senzor HC-SR04)
  4. Tlakoměr (Tlakové čidlo + HX710B)
  5. Teploměr a Vlhkoměr (DHT11)

🛠️ Jak přidat rozšíření do MakeCode

  1. Otevřete MakeCode pro micro:bit.
  2. Vytvořte nový projekt.
  3. Klikněte na Rozšíření (Extensions) v menu ozubeného kola.
  4. Do vyhledávání zadejte URL tohoto repozitáře: https://github.com/bekousek/fyzikalni_senzory (nebo jen Fyzikalni senzory).
  5. Klikněte na dlaždici rozšíření pro import.

1. Teploměr (DS18B20) 🌡️

Měření teploty kapalin a vzduchu pomocí vodotěsné sondy.

Zapojení

Senzor DS18B20 vyžaduje pull-up rezistor (4k7) mezi datovým pinem a napájením (3V).

Schéma zapojení rezistoru

Osvědčilo se mi rezistor připájet přímo k jednomu z krokodýlů a propojit ho vodičem s druhým krokodýlem. Rezistor se tak schová do “punčochy” krokodýlu a nehrozí, že se někde utrhne.

Fotografie připojeného rezistoru

Použití v kódu

Rozšíření nabízí dva hlavní bloky:

Poznámka: Měření teploty trvá cca 750 ms. Bloky mají zabudovanou ochranu, aby neblokovaly procesor příliš dlouho, ale nečtěte teplotu v cyklu rychleji než 1x za sekundu.


2. Siloměr a Váha (HX711) ⚖️

Měření síly (v Newtonech) nebo hmotnosti pomocí tenzometrického členu pro max 20 kg a převodníku HX711.

Zapojení

Převodník HX711 vyžaduje dva piny: DT (Data) a SCK (Clock).

Kalibrace a Tárování

Jelikož každý tenzometr je jiný a po zapnutí vykazuje “šum”, je nutné dodržet tento postup:

  1. Tárování (Nulování): V bloku po stisknutí tlačítka A zavolejte blok vynulovat siloměr (tára). Tím se aktuální stav nastaví jako 0 N. Udělejte to poté, co spustíte měření a budete mít siloměr připravený v poloze pro měření. Vynulování proběhne spolehlivě i během běžícího grafu – tlačítko stačí stisknout jednou, není potřeba ho „spamovat”.

  2. Kalibrace (Měřítko): Rozšíření má přednastavenou hodnotu kalibrace pro zavěšování závaží pod bližší závitovou díru. Pokud Vaše měření neodpovídá realitě, nebo chcete zvýšit přesnost, použijte blok kalibrovat siloměr.

    • Změřte sílu se známým závažím (např. 100g = 1N).
    • Pokud siloměr ukazuje špatnou hodnotu, upravte kalibrační číslo.

Použití


3. Vzdálenost a Rychlost (Sonar HC-SR04) 🏎️

Měření polohy a okamžité rychlosti pohybu (např. vozíčku nebo ruky).

Zapojení

Senzor HC-SR04 využívá ultrazvuk. Pozor na napájení – některé verze vyžadují 5V, pro micro:bit hledejte 3V verze (HC-SR04P) nebo použijte 5V z externího zdroje (s děličem napětí na Echo pinu).

Princip měření rychlosti

Toto rozšíření nepoužívá průměrování rychlosti, aby byla zachována fyzikální podstata okamžité změny polohy. Rychlost se počítá podle vzorce: \(v = \frac{\Delta s}{\Delta t} = \frac{s_{teď} - s_{minule}}{t_{teď} - t_{minule}}\)

Použití

Velmi pěknou úlohou pro žáky je nechat je naprogramovat měření okamžité rychlosti. Jedno možné řešení je zde (zapisování na sériový port je to “kreslení grafu”):

Příklad programu pro měření okamžité rychlosti


4. Tlakoměr (HX710B) 🎈

Měření tlaku plynů a kapalin pomocí tlakového čidla s 24bitovým převodníkem HX710B.

Zapojení

Modul HX710B používá stejný komunikační protokol jako HX711 u siloměru – potřebuje dva piny: DT (Data) a SCK (Clock).

Pozor: Pokud používáte siloměr i tlakoměr zároveň, zapojte každý na jiné piny. Tlakoměr má přednastavené piny P0 a P1, siloměr P15 a P16.

Kalibrace a Tárování

Stejně jako siloměr i tlakoměr vrací jen surová “dílková” čísla, která je potřeba převést na fyzikální jednotky:

  1. Tárování (Nulování): Blokem vynulovat tlakoměr (tára) nastavíte aktuální tlak (typicky okolní atmosférický) jako 0 Pa. Hodí se, když chcete měřit přetlak nebo podtlak oproti okolí. Vynulování proběhne spolehlivě i během běžícího grafu – tlačítko stačí stisknout jednou.

  2. Kalibrace (Měřítko): Blok kalibrovat tlakoměr určuje, kolik dílků převodníku odpovídá 1 Pa. Rozšíření je předkalibrované dvoubodově – podle atmosférického tlaku (ověřeno proti údaji ČHMÚ) i podle hydrostatického tlaku vodního sloupce – takže měří správně jak absolutní tlak vzduchu, tak (po vynulování na hladině) hydrostatický tlak v kapalině. Pokud Vám měření přesto nesedí (každý kus čidla je trochu jiný), porovnejte údaj se známým tlakem a měřítko tímto blokem upravte.

Použití

Tip: Pro meteorologii se hodí hPa (běžný atmosférický tlak je cca 1013 hPa), pro školní pokusy s injekčními stříkačkami spíš Pa nebo atm.


5. Teploměr a Vlhkoměr (DHT11) 💧

Senzor DHT11 měří jediným čidlem současně teplotu vzduchu i jeho relativní vlhkost. Je ideální pro sledování klimatu ve třídě, pokusy s dýcháním, sušením nebo odpařováním.

Zapojení

DHT11 se prodává buď jako samostatné čidlo (3 nebo 4 nožičky), nebo jako hotový modul na destičce. Modul má pull-up rezistor už zabudovaný a zapojuje se nejsnáz.

Poznámka: U holého čidla bez destičky je vhodné mezi datový pin a 3V připojit pull-up rezistor (cca 4k7–10k). Rozšíření navíc zapíná i vnitřní pull-up micro:bitu, takže s modulem na destičce žádný rezistor řešit nemusíte.

Použití v kódu

Poznámka: DHT11 je pomalý senzor – novou hodnotu zvládne změřit zhruba jen 1x za sekundu. Bloky proto mají zabudovanou paměť: pokud o hodnotu požádáte dříve než po 1,5 s, vrátí poslední změřená data. Díky tomu můžete bez obav volat blok pro teplotu i pro vlhkost hned za sebou. Při neúspěšném čtení (např. špatné spojení) bloky vrátí poslední platnou hodnotu, hned po startu případně hodnotu -999.

Tip: DHT11 měří s přesností přibližně ±2 °C a ±5 %. Potřebujete-li přesněji změřit teplotu (zejména kapalin), použijte vodotěsný DS18B20 ze sekce 1.


Jak pracovat s grafy

Autor

Vytvořil Ondřej Bek pro potřeby výuky fyziky na ZŠ. Licence: MIT