Stap 3: Code:
De deeltjes code voor ADT75 kan worden gedownload van onze github archief-ControlEverythingCommunity
Hier is de link voor hetzelfde:
https://github.com/ControlEverythingCommunity/ADT7...
Het gegevensblad van ADT75 kan hier worden gevonden:
https://S3.amazonaws.com/controleverything.Media/c...
Wij hebben twee bibliotheken gebruikt voor particle code, die application.h en spark_wiring_i2c.h. Spark_wiring_i2c bibliotheek is vereist om de I2C communicatie met de sensor.
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.
ADT75
Deze code is ontworpen om te werken met de ADT75_I2CS I2C Mini Module beschikbaar vanaf ControlEverything.com.
https://www.controleverything.com/content/tempera...
#include < application.h >
#include < spark_wiring_i2c.h >
ADT75 I2C adres is 0x48(72)
#define Addr 0x48
zweven cTemp = 0,0, fTemp = 0,0;
int. temp = 0;
VOID Setup
{
Variabele instellen
Particle.variable ("i2cdevice", "ADT75");
Particle.variable ("cTemp", cTemp);
I2C communicatie als Master initialiseren
Wire.begin();
Initialiseren van seriële communicatie, set baud-rate = 9600
Serial.begin(9600);
delay(300);
}
void loop
{
unsigned int gegevens [2];
I2C-overdracht starten
Wire.beginTransmission(Addr);
Selecteer gegevens registreren
Wire.write(0x00);
Stop I2C transmissie
Wire.endTransmission();
Verzoek 2 byte van de gegevens
Wire.requestFrom (Addr, 2);
Lees 2 bytes aan gegevens
Temp msb, temp lsb
Als (Wire.available() == 2)
{
gegevens [0] = Wire.read();
gegevens [1] = Wire.read();
}
De gegevens converteren naar 12 bits
Temp = ((gegevens [0] * 256) + data[1]) / 16;
if(temp > 2047)
{
Temp-= 4096;
}
cTemp = temp * 0.0625;
fTemp = (cTemp * 1.8) + 32;
Uitvoergegevens naar dashboard
Particle.publish ("temperatuur in Celsius:", String(cTemp));
Particle.publish ("temperatuur in Fahrenheit:", String(fTemp));
delay(1000);
}