AS3935 – Franklinův detektor blesků

Jednoduchá vývojová deska s čipem AS3935, která je schopná zachytit blesk až do vzdálenosti 40 km. 

AS3935 detekuje blesk jak mezi mraky – zemí, tak i mezi mraky. 

Franklinův detektor blesků se tak může hodit jako vylepšení vaší stávající či nové meteostanice.

Vzdálenost na jakou může detektor odhalit blesk je od 1 km až do 40 km ve 14 krocích. 

Díky širokému napájecímu napětí od 2.4V do 5.5V tak můžete detektor použít s nejrůznějšími deskami ať už Arduino Uno, Micro, Due nebo ESP8266 či ESP32. 

Čip má v sobě implementovanou pokročilou detekci rušení a navíc můžete použít watchdog či úroveň přerušení, pro zlepšení filtrace falešných detekcí. 

S AS3935 si můžete povídat buď přes sběrnici I2C nebo 4-vodičovou SPI. Čip má také možnost nastavení až čtyř I2C adres (dva adresové piny). V kombinaci s různou volbou kondenzátorů u antény tak můžete dosáhnout velmi širokého spektra blesků, které můžete zachytit – od těch nejmenších až po ty největší. 

Spotřeba detektoru se pohybuje od jednotek do stovek μA. 

2μA v případě vypnutého vnitřního regulátoru (max. napájecí napětí 3.6V), max. 15μA v případě zapnutého regulátoru (max. napájecí napětí 5.5V), 60μA (70μA se zapnutým regulátorem) v případě poslouchání a 350μA v případě vyhodnocování příchozího signálu.

Význam jednotlivých pinů čipu 

Vzorový příklad pro použití s ESP32-LPkit vývojové kitu najdete na 

https://github.com/LaskaKit/Testcode_examples/tree/main/Sensors/AS3935

Výstup může být pak následující

Testovací kód pro Arduino:

/*
* Vzorovy kod pro pouziti detektoru blesku s ESP32-LPkit
* Pripojeni pres I2C sbernici
* 
* Zapojeni
* A1 - 3.3V
* A0 - 3.3V
* EN_V - Nezapojen
* IRQ - GPIO4
* SI - 3.3V // GND = SPI; 3.3V = I2C
* CS - GND
* MISO - GND
* MOSI - GPIO21
* SCL - GPIO22
* GND - GND
* VCC - 3.3V 
*
* Potrebne knihovny
* https://github.com/sparkfun/SparkFun_AS3935_Lightning_Detector_Arduino_Library
*/
 
#include <Wire.h>
#include "SparkFun_AS3935.h"
 
#define AS3935_ADDR 0x03
#define INDOOR 0x12 
#define OUTDOOR 0x0E
#define LIGHTNING_INT 0x08
#define DISTURBER_INT 0x04
#define NOISE_INT 0x01
 
SparkFun_AS3935 lightning(AS3935_ADDR);
 
const int pinPreruseni = 4; // Interrupt pin
int hodnota = 0; // prectena hodnota 
 
void setup() {
  // Interrupt pin pro detekci, HIGH = aktivni preruseni
  pinMode(pinPreruseni, INPUT); 
 
  Serial.begin(115200); 
  Serial.println("AS3935 Inicializace"); 
 
  Wire.begin(); // I2C inicializace
 
  // Inicialiazce detektoru blesků
  if( !lightning.begin() ) 
  { 
    Serial.println ("Problem s inicializaci. Zkontrolujte propojeni."); 
    while(1); 
  }
  else
    Serial.println("Detektor blesku pripraven");
 
  // Odkomentujte v pripade, ze chcete pouzit detektor venku
  //lightning.setIndoorOutdoor(OUTDOOR);
}
 
void loop() {
  if(digitalRead(pinPreruseni) == HIGH) // Preruseni - blesk, sum nebo ruseni detekovano
  {
    hodnota = lightning.readInterruptReg(); // kontrola, co aktivovalo interrupt
    
    if(hodnota == NOISE_INT){
      Serial.println("Detekovan sum!"); 
      // Pokud preruseni casto způsobuje sum, odkomentujte radek nize
      //lightning.setNoiseLevel(Hodnota); // hodnota od 1 do 7
    }
    else if(hodnota == DISTURBER_INT){
      Serial.println("Detekovano ruseni!"); 
      // Pokud prerusni casto zpusobuje ruseni, odkomentujte radek nize
      //lightning.watchdogThreshold(Hodnota);  // hodnota od 1 do 10
 
      // Pokud vidite casto ruseni, muzete povolit dalsi filtraci
      //lightning.maskDisturber(true); // hodnota true nebo false
    }
    else if(hodnota == LIGHTNING_INT){
      Serial.println("Detekovan BLESK!"); 
 
      // Cteni odhahodave vzdalenosti blesku
      byte vzdalenostBlesku = lightning.distanceToStorm(); 
      Serial.print("Priblizne: "); 
      Serial.print(vzdalenostBlesku); 
      Serial.println("km daleko!"); 
 
      // Cteni odhadovane energie blesku
      long energieBlesku = lightning.lightningEnergy(); 
      Serial.print("Odhadovana energie blesku: "); 
      Serial.println(energieBlesku); 
    }
  }
  delay(100);
}

Sdílet článek

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Mohlo by se také líbit