2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
SI7050 është një sensor dixhital i temperaturës i cili punon në protokollin e komunikimit I2C dhe ofron saktësi të lartë në të gjithë gamën e tensionit dhe temperaturës së funksionimit. Kjo saktësi e lartë e sensorit i atribuohet përpunimit të ri të sinjalit dhe modelit analog. Këta sensorë janë të ngulitur me një memorie në çip e cila ruan të dhënat e kalibrimit të cilat lehtësojnë përdorimin e saj në një gamë të gjerë. Këtu është demonstrimi i tij me Arduino Nano.
Hapi 1: Ajo që ju nevojitet.. !
1. Arduino Nano
2. SI7050
3. Kabllo I²C
4. Mburoja I²C për Arduino Nano
Hapi 2: Lidhja:
Merrni një mburojë I2C për Arduino Nano dhe shtyjeni butësisht mbi kunjat e Nanos.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin SI7050 dhe skajin tjetër me mburojën I2C.
Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi:
Kodi arduino për SI7050 mund të shkarkohet nga depoja jonë github-Dyqani DCUBE.
Këtu është lidhja për të njëjtën gjë:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Ne përfshijmë bibliotekën Wire.h për të lehtësuar komunikimin I2c të sensorit me bordin Arduino.
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
// Shpërndarë me një licencë me vullnet të lirë.
// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
// SI7050
// Ky kod është krijuar për të punuar me Mini Modulin SI7050_I2CS I2C
#përfshi
// Adresa SI7050 I2C është 0x40 (64)
#përcaktoni Addr 0x40
void setup ()
{
// Filloni komunikimin I2C si MASTER
Wire.begin ();
// Filloni komunikimin serik, vendosur normën e baudit = 9600
Serial.filloj (9600);
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesë (300);
}
lak void ()
{
të dhëna int të panënshkruara [2];
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Dërgo komandën e matjes së temperaturës, JO HOLD MASTER
Wire.write (0xF3);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesë (500);
// Kërkoni 2 bajt të dhëna
Tela. Kërkohet Nga (Addr, 2);
// Lexoni 2 bajt të dhëna
// temp msb, temp lsb
nëse (Wire. në dispozicion () == 2)
{
të dhëna [0] = Wire.read ();
të dhëna [1] = Wire.read ();
}
// Shndërroni të dhënat
float temp = ((të dhënat [0] * 256.0) + të dhënat [1]);
noton ctemp = ((175.72 * temp) / 65536.0) - 46.85;
float ftemp = ctemp * 1.8 + 32;
// Dalja e të dhënave në monitorin serik
Serial.print ("Temperatura në Celsius:");
Serial.print (ctemp);
Serial.println ("C");
Serial.print ("Temperatura në Fahrenheit:");
Serial.print (ftemp);
Serial.println ("F");
vonesë (500);
}
Hapi 4: Aplikimet:
SI7050 mund të përfshihet në sisteme të ndryshme duke përfshirë pajisjet kompjuterike, pajisjet portative të konsumit dhe pajisjet mjekësore. Ky sensor mund të përdoret në zinxhirët e magazinimit të ftohtë, gjurmimin e aseteve si dhe sisteme të ndryshme të kontrollit industrial. Ajo gjithashtu luan një rol kryesor në mbrojtjen e baterisë.