Stap 3: Code:
De python code voor HDC1000 kan worden gedownload van onze github archief-ControlEverythingCommunity
Hier is de link voor hetzelfde:
https://github.com/ControlEverythingCommunity/HDC...
Het gegevensblad van HDC1000 kan hier worden gevonden:
https://github.com/ControlEverythingCommunity/HDC...
We hebben pi4j bibliotheek voor java code gebruikt, de stappen te installeren pi4j op de raspberry pi is hier beschreven:
U kunt ook de code kopiëren vanaf hier, het wordt als volgt gegeven:
Gedistribueerd met een licentie van de vrije wil.
Gebruik het elke manier wilt u, op de winst of het gratis, mits het past in de licenties van de bijbehorende werken.
HDC1000
Deze code is ontworpen om te werken met de HDC1000_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.
https://www.controleverything.com/content/tempera...
importeren van com.pi4j.io.i2c.I2CBus;
importeren van com.pi4j.io.i2c.I2CDevice;
importeren van com.pi4j.io.i2c.I2CFactory;
importeren van java.io.IOException;
openbare klasse HDC1000
{
openbare statische nietige leiding (Koord args[]) gooit uitzondering
{
I2C bus maken
I2CBus Bus = I2CFactory.getInstance(I2CBus.BUS_1);
Krijg I2C apparaat, HDC1000 I2C adres is 0x40(64)
I2CDevice apparaat = Bus.getDevice(0x40);
Thread.Sleep(500);
Selecteer Configuratie register
Temperatuur, vochtigheid ingeschakeld, resolultion = 14-bits, kachel op
Device.write (0x02, (byte) 0x30);
Thread.Sleep(100);
Temp meting opdracht verzenden
Device.write((byte)0x00);
Thread.Sleep(500);
Lees 2 bytes aan gegevens
Temp msb, temp lsb
[] bytegegevens = nieuwe byte [2];
Device.Read (gegevens, 0, 2);
De gegevens converteren
int. temp = ((gegevens [0] & 0xFF) * 256 + (gegevens [1] & 0xFF));
dubbele cTemp = (temp / 65536.0) * 165,0-40;
dubbele fTemp = cTemp * 1.8 + 32;
Vochtigheid meting opdracht verzenden
Device.write((byte)0x01);
Thread.Sleep(500);
Lees 2 bytes aan gegevens
vochtigheid msb, vochtigheid lsb
Device.Read (gegevens, 0, 2);
De gegevens converteren
int hum = ((gegevens [0] & 0xFF) * 256 + (gegevens [1] & 0xFF));
dubbele vochtigheid = (brom / 65536.0) * 100.0;
Uitvoergegevens naar scherm
System.out.printf ("relatieve vochtigheid: %.2f %% RH %n", vocht);
System.out.printf ("temperatuur in Celsius: %.2f C %n", cTemp);
System.out.printf ("temperatuur in Farhenheit: %.2f F %n", fTemp);
}
}