Arduino Nano - SI7050 temperatur Sensor handledning (3 / 4 steg)
Steg 3: kod:
Arduino koden för SI7050 kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/SI70...
Databladet för SI7050 kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi inkluderar bibliotek Wire.h att underlätta I2c kommunikationen av sensorn med Arduino styrelsen.
Du kan också kopiera koden från här, det ges enligt följande:
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.
SI7050
Denna kod är utformad att fungera med SI7050_I2CS I2C Mini modulen tillgänglig från ControlEverything.com.
https://www.controleverything.com/content/tempera...
#include < Wire.h >
SI7050 I2C adress är 0x40(64)
#define Addr 0x40
void setup()
{
Initialisera I2C kommunikation som MASTER
Wire.BEGIN();
Initialisera seriell kommunikation, ange baudvärde = 9600
Serial.BEGIN(9600);
Starta I2C-överföring
Wire.beginTransmission(Addr);
Stoppa I2C sändningen
Wire.endTransmission();
Delay(300);
}
void loop()
{
unsigned int data [2].
Starta I2C-överföring
Wire.beginTransmission(Addr);
Skicka temperatur mätning kommando, nr hålla MASTER
Wire.write(0xF3);
Stoppa I2C sändningen
Wire.endTransmission();
Delay(500);
Begäran 2 byte data
Wire.requestFrom (Addr, 2);
Läs 2 byte data
Temp msb, temp lsb
IF(Wire.available() == 2)
{
data [0] = Wire.read();
data [1] = Wire.read();
}
Konvertera data
float temp = ((data [0] * 256,0) + data[1]);
flyta ctemp = ((175.72 * temp) / 65536.0) - 46.85;
flyta ftemp = ctemp * 1,8 + 32.
Utdata till seriell monitor
Serial.Print ("temperaturen i Celsius:");
Serial.Print(CTemp);
Serial.println ("C").
Serial.Print ("temperaturen i Fahrenheit:");
Serial.Print(ftemp);
Serial.println "F".
Delay(500);
}