Ljus intensitet mätning med hjälp av BH1715 och Raspberry Pi (4 / 5 steg)
Steg 4: Ljus intensitet mätning med hjälp av java-kod:
Fördelen med att använda raspberry pi är som ger dig flexibiliteten i det programmera språket som du vill programmera styrelsen för att gränssnittet sensorn med det. Utnyttja denna fördel av denna styrelse, visar vi här sin programmering i Java. Java-kod för BH1715 kan hämtas från vår github gemenskap som är Kontroll allt gemenskap.
Samt för att underlätta för användarna, förklarar vi koden här också:
Som ett första steg av kodning måste du ladda ner pi4j biblioteket vid java, eftersom detta bibliotek stöder funktioner används i koden. Så, om du vill ladda ner biblioteket kan du besöka följande länk:
Du kan också kopiera arbetar Javakod för denna sensor härifrån:
Distribueras med en fri vilja licens.
Använda det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
BH1715
Denna kod är utformad att fungera med BH1715_I2CS I2C Mini modulen tillgänglig från ControlEverything.com.
https://www.controleverything.com/content/Light?s...
import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CDevice;
import com.pi4j.io.i2c.I2CFactory;
import java.io.IOException;
allmän klass BH1715
{
public static void main (String args[]) kastar undantag
{
Skapa I2C bussen
I2CBus buss = I2CFactory.getInstance(I2CBus.BUS_1);
Får I2C enheten, BH1715 I2C adress är 0x23(35)
I2CDevice device = bus.getDevice(0x23);
Skicka ström på kommando
Device.write((byte)0x01);
Skicka kommando för kontinuerlig mätning
Device.write((byte)0x10);
Thread.Sleep(500);
Läs 2 byte data
luminans msb, luminans lsb
byte [] data = nya byte [2].
Device.Read (data, 0, 2);
Konvertera data
dubbel luminans = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1.20;
Utdata till skärm
System.out.printf ("Ambient Light luminans: %.2f lux %n", luminans);
}
}
Biblioteket som underlättar i2c kommunikation mellan sensorn och styrelsen är pi4j, dess olika paket I2CBus, I2CDevice och I2CFactory hjälp för att upprätta anslutningen.
import com.pi4j.io.i2c.I2CBus;
import com.pi4j.io.i2c.I2CDevice;
import com.pi4j.io.i2c.I2CFactory;
import java.io.IOException;
Denna del av koden gör sensorn fungera för ljusintensitet mätning genom att skriva kommandona respektive med funktionen anropa och sedan data läses med funktionen read().
Device.write((byte)0x01); ström på kommando
Device.write((byte)0x10); kontinuerlig mätning kommando
byte [] data = nya byte [2]. Läs 2 byte data
Device.Read (data, 0, 2);
Uppgifterna från sensorn konverteras till lämpligt format med hjälp av följande:
dubbel luminans = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1.20;
Utdata är tryckt med funktionen System.out.println() i följande format.
System.out.printf ("Ambient Light luminans: %.2f lux %n", luminans);
Produktionen av sensorn visas i bilden ovan.