Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Ang SI7050 ay isang digital temperatura sensor na gumagana sa I2C komunikasyon protocol at nag-aalok ng mataas na kawastuhan sa buong boltahe ng operating at saklaw ng temperatura. Ang mataas na kawastuhan ng sensor na ito ay maiugnay ng nobelang pagpoproseso ng signal at disenyo ng analog. Ang mga sensor na ito ay naka-embed na may isang on-chip memory na nag-iimbak ng data ng callibration na nagpapadali sa paggamit nito sa isang malawak na saklaw. Narito ang pagpapakita nito kasama si Arduino Nano.
Hakbang 1: Ano ang Kailangan Mo.. !
1. Arduino Nano
2. SI7050
3. I²C Cable
4. I²C Shield para sa Arduino Nano
Hakbang 2: Koneksyon:
Kumuha ng isang kalasag I2C para sa Arduino Nano at dahan-dahang itulak ito sa mga pin ng Nano.
Pagkatapos ikonekta ang isang dulo ng I2C cable sa SI7050 sensor at ang iba pang mga dulo sa I2C kalasag.
Ang mga koneksyon ay ipinapakita sa larawan sa itaas.
Hakbang 3: Code:
Ang arduino code para sa SI7050 ay maaaring ma-download mula sa aming github repository-DCUBE Store.
Narito ang link para sa pareho:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Isinasama namin ang library Wire.h upang mapabilis ang komunikasyon ng I2c ng sensor gamit ang Arduino board.
Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:
// Ipinamamahagi ng isang lisensyang malaya ang kalooban.
// Gumamit nito sa anumang paraan na nais mo, kumita o libre, naibigay na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.
// SI7050
// Ang code na ito ay dinisenyo upang gumana sa SI7050_I2CS I2C Mini Module
# isama
// SI7050 I2C address ay 0x40 (64)
# tukuyin ang Addr 0x40
walang bisa ang pag-setup ()
{
// Initialise I2C na komunikasyon bilang MASTER
Wire.begin ();
// Initialise serial communication, itakda ang baud rate = 9600
Serial.begin (9600);
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [2];
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Magpadala ng utos ng pagsukat ng temperatura, WALANG HOLD MASTER
Wire.write (0xF3);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (500);
// Humiling ng 2 byte ng data
Wire.requestFrom (Addr, 2);
// Basahin ang 2 bytes ng data
// temp msb, temp lsb
kung (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// I-convert ang data
float temp = ((data [0] * 256.0) + data [1]);
float ctemp = (((175.72 * temp) / 65536.0) - 46.85;
float ftemp = ctemp * 1.8 + 32;
// Output data sa serial monitor
Serial.print ("Temperatura sa Celsius:");
Serial.print (ctemp);
Serial.println ("C");
Serial.print ("Temperatura sa Fahrenheit:");
Serial.print (ftemp);
Serial.println ("F");
pagkaantala (500);
}
Hakbang 4: Mga Aplikasyon:
Ang SI7050 ay maaaring isama sa iba't ibang mga sistema kabilang ang mga kagamitan sa computer, portable na aparato ng consumer at mga kagamitan sa medisina. Ang sensor na ito ay maaaring gamitin sa mga cold chain ng imbakan, pagsubaybay sa asset pati na rin ang iba't ibang mga sistemang pang-industriya control. Ginagampanan nito ang isang mahalagang papel sa proteksyon ng baterya din.