Pojďme programovat elektroniku | Počasí

Programování elektroniky: Postavíme si počítadlo blesků, které změří vzdálenost bouřky

  • Dnes oživíme rakouský detektor blesků AS3935
  • Zachytí elektromagnetický výboj až ze vzdálenosti 40 km
  • Připojíme ho k české desce ESP32-LPKit a naprogramujeme v Arduinu

Počítáte s dětmi za bouřky blesky? A co kdyby to za vás dělal maličký detektor připojený k Arduinu? Jmenuje se AS3935 a blesk zachytí až ze vzdálenosti 40 kilometrů

Začátek jara byl letos sice v Česku poněkud ospalejší a chladnější než v předchozích letech, nakonec ale i k nám do Brna dorazily první bouřky a blesky. Upřímně, čekal jsem na ně jako na boží smilování, loni zkraje podzimu mi totiž do redakce dorazila nová prototypovací destička vyzbrojená rakouským čipem AS3935.

AS3935 Franklin Lightning Sensor

Bez pořádné bouřky a hromobití vám bude úplně k ničemu, jak už totiž napovídá plný název integrovaného obvodu AS3935 Franklin Lightning Sensor IC, drobný čip s rozměry 4×4 mm a s titěrnou rezonanční 500 kHz anténkou dokáže detekovat přírodní blesk a zároveň (velmi hrubě) odhadne vzdálenost a sílu jeho výboje až do 40 kilometrů.

1829acb2-8282-4b3f-a467-a463d93c399da96d0fd9-e6ae-4779-981c-ff59c05844acc2f2bf29-b940-4865-9f07-4dc27426ced3
Prototypovací modul GY-AS3935 s detektorem blesků AS3935 a jeho blokové schéma

Na zahraničních i českých e-shopech najdete celé spektrum destiček pro snadné prototypování, které obsahují jak čip detektoru a anténu, tak hlavně otvory pro připájení napájecích a signálních pinů se standardní roztečí 2,54 mm.

Ke mně nakonec dorazila jedna z nejjednodušších variant s označením GY-AS3935 od asijského DIYMallu na Aliexpressu a za něco málo přes pětistovku. Téměř identickou desku nicméně mají v nabídce i tuzemští prodejci, takže pokud se vám nechce čekat dlouhé týdny a nebojíte se vyšší ceny, zkuste třeba LaskaKit.  

9bd527ce-0bf2-4918-ab02-d16d433be44b
Detektor vrací vzdálenost vždy toho nejbližšího blesku, a podává tedy hrubou představu o čelní hraně blížící se bouřky

Detektor komunikuje na sběrnici I2C

Elektrické spojení s čipem patří k těm jednodušším, AS3935 totiž ke komunikaci používá oblíbené sériové sběrnice I²C a SPI, se kterými jsme v našem seriálu pracovali už nesčetněkrát. Já se dnes pokusím detektor oživit skrze I²C na české úsporné desce ESP32-LPKit, která je vyzbrojená výkonnýma v komunitě velmi oblíbeným Wi-Fi mikrokontrolerem ESP32.

Čipy ESP32 pracují s napětím 3,3V, stejný zdroj přímo na desce proto použiji i pro napájení čidla blesků. Vedle datového pinu SDA (Serial DAta, na ESP32 pin GPIO21) a taktového pinu SCL (Serial CLock, na ESP32 pin GPIO22) sběrnice I²C nicméně budu muset zapojit ještě několik dalších vodičů. 

Když se změní logický stav IRQ, asi udeřil blesk

Na detektoru by měl být dle jeho provedení vyvedený ještě pin SI, kterým zvolím komunikační sběrnici. Když SI připojím k pracovnímu napětí (3,3 V), detektor bude používat I²C, no a když k systémové zemi GND (0 V), tak SPI.

7fac794b-c99e-4da3-ae7a-b24107829c49
Schéma zapojení moduly GY-AS3935 a desky ESP32-LPKit pomocí sběrnice I²C

Posledním klíčovým pinem je IRQsignál pro externí přerušení. Jakmile detektor zaznamená nějakou událost, na pinu IRQ se vytvoří pulz, který zachytím v našem programu. Ten se může ptát na stav pinu IRQ stále dokola v nekonečné smyčce loop, já ale zvolím rutinu pro externí přerušení a změnu stavu za nás detektuje samotný mikrokontroler. V Arduinu k tomu slouží funkce attachInterrupt.

O komunikaci se postará knihovna

Ostatní nepoužité piny stačí zapojit pro klid v duši do systémové země GND, aby na nich byla stabilní logická hodnota. Jelikož použijeme sběrnici I²C a druhá sběrnice SPI zůstane ladem, platí to zejména o signálech CS a MISO. Pozor ale na případné piny A0 a A1, těmi totiž jejich vzájemným zapojením do země, nebo pracovního napětí konfigurujeme variabilní adresu zařízení na sběrnici I²C.

Budou-li mít oba signály A0 a A1 vysoký logický stav (připojení k pracovnímu napětí), adresa zařízení by měla odpovídat hodnotě 0x03. Stejnou jsem použil i já v kódu níže.

Pokračování článku patří k prémiovému obsahu pro předplatitele

Chci Premium a Živě.cz bez reklam Od 41 Kč měsíčně
Diskuze (1) Další článek: Procesory Intel Core 13. generace si budou tykat s rychlejšími pamětmi DDR5

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,