Dnes malinko odbočím a podíváme se do elektroniky. Hledám vhodné čidlo pro moji meteostanici.
Co budeme potřebovat
- Arduino
- modul BH1750
Schéma zapojení:
BH1750 budeme napájet 5V, ovšem je možné napájet i 3.3V.
Konektor Add na BH1750 je nutné připojit na GND!
Práci si ulehčíme naimportováním této knihovny do projektu: https://github.com/claws/BH1750
Knihovnu stáhněte, rozbalte a přejmenujte na BH1750. Složku BH1750 nahrajte do adresáře názvem libraries který je ve složce kde je nainstalováno Arduino (v mém případě c:\Program Files (x86)\Arduino\libraries\). Restartujte IDE.
Výkonný kód pro měření intenzity světla bude velice jednoduchý:
/* BH1750 library This example initalises the BH1750 object using the default high resolution mode and then makes a light level reading every second. Connection: VCC-5v GND-GND SCL-SCL(analog pin 5) SDA-SDA(analog pin 4) ADD-NC or GND */ #include <Wire.h> #include <BH1750.h> BH1750 lightMeter; void setup(){ Serial.begin(9600); lightMeter.begin(); Serial.println("Running..."); } void loop() { uint16_t lux = lightMeter.readLightLevel(); Serial.print("Light: "); Serial.print(lux); Serial.println(" lx"); delay(1000); }
Výstup v konzoli:
Light: 99 lx Light: 99 lx Light: 101 lx Light: 101 lx Light: 101 lx Light: 99 lx Light: 46 lx Light: 1344 lx Light: 1665 lx Light: 17 lx Light: 5 lx Light: 1485 lx
Čím menší číslo tím menší intenzita světla.