2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
SI7050 je digitálny snímač teploty, ktorý pracuje na komunikačnom protokole I2C a ponúka vysokú presnosť v celom rozsahu prevádzkového napätia a teploty. Táto vysoká presnosť senzora je pripisovaná novému spracovaniu signálu a analógovému dizajnu. Tieto snímače sú vybavené vstavanou pamäťou, ktorá ukladá kalibračné údaje, čo uľahčuje ich použitie v širokom rozsahu. Tu je jeho ukážka s Arduino Nano.
Krok 1: Čo potrebujete.. !
1. Arduino Nano
2. SI7050
3. Kábel I²C
4. I²C štít pre Arduino Nano
Krok 2: Pripojenie:
Vezmite štít I2C pre Arduino Nano a jemne ho zatlačte cez kolíky Nano.
Potom pripojte jeden koniec kábla I2C k senzoru SI7050 a druhý koniec k štítu I2C.
Pripojenia sú znázornené na obrázku vyššie.
Krok 3: Kód:
Arduino kód pre SI7050 si môžete stiahnuť z nášho úložiska github-DCUBE Store.
Tu je odkaz na to isté:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Ponúkame knižnicu Wire.h na uľahčenie komunikácie senzora I2c s doskou Arduino.
Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:
// Distribuované s licenciou slobodnej vôle.
// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.
// SI7050
// Tento kód je navrhnutý tak, aby pracoval s mini modulom SI7050_I2CS I2C
#zahrnúť
// Adresa SI7050 I2C je 0x40 (64)
#define Addr 0x40
neplatné nastavenie ()
{
// Inicializujte komunikáciu I2C ako MASTER
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (300);
}
prázdna slučka ()
{
int data bez znamienka [2];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Odoslanie príkazu na meranie teploty, ŽIADNY HOLD HASTER
Wire.write (0xF3);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (500);
// Požiadajte o 2 bajty údajov
Wire.requestFrom (Addr, 2);
// Prečítajte 2 bajty údajov
// temp msb, temp lsb
ak (Wire.available () == 2)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
}
// Previesť údaje
float temp = ((údaje [0] * 256,0) + údaje [1]);
float ctemp = ((175,72 * teplota) / 65536,0) - 46,85;
float ftemp = ctemp * 1,8 + 32;
// Výstup údajov na sériový monitor
Serial.print ("Teplota v stupňoch Celzia:");
Serial.print (ctemp);
Serial.println ("C");
Serial.print ("Teplota vo Fahrenheite:");
Serial.print (ftemp);
Serial.println ("F");
oneskorenie (500);
}
Krok 4: Aplikácie:
SI7050 môže byť začlenený do rôznych systémov vrátane počítačového vybavenia, prenosných spotrebných zariadení a zdravotníckych zariadení. Tento senzor je možné použiť v chladiarenských reťazcoch, sledovaní majetku a rôznych priemyselných riadiacich systémoch. Hrá tiež kľúčovú úlohu pri ochrane batérie.