Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Le SI7050 est un capteur de température numérique qui fonctionne sur le protocole de communication I2C et offre une grande précision sur toute la plage de tension de fonctionnement et de température. Cette haute précision du capteur est attribuée au nouveau traitement du signal et à la conception analogique. Ces capteurs sont intégrés à une mémoire sur puce qui stocke les données d'étalonnage, ce qui facilite son utilisation sur une large plage. Voici sa démonstration avec Arduino Nano.
Étape 1: Ce dont vous avez besoin.
1. Arduino Nano
2. SI7050
3. Câble I²C
4. Bouclier I²C pour Arduino Nano
Étape 2: Connexion:
Prenez un shield I2C pour Arduino Nano et poussez-le doucement sur les broches de Nano.
Connectez ensuite l'une des extrémités du câble I2C au capteur SI7050 et l'autre extrémité au blindage I2C.
Les connexions sont montrées dans l'image ci-dessus.
Étape 3: Coder:
Le code arduino pour SI7050 peut être téléchargé depuis notre dépôt github-DCUBE Store.
Voici le lien pour le même:
github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino
Nous incluons la bibliothèque Wire.h pour faciliter la communication I2c du capteur avec la carte Arduino.
Vous pouvez également copier le code d'ici, il est donné comme suit:
// Distribué avec une licence libre-arbitre.
// Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il rentre dans les licences de ses œuvres associées.
// SI7050
// Ce code est conçu pour fonctionner avec le mini module SI7050_I2CS I2C
#comprendre
// L'adresse I2C SI7050 est 0x40(64)
#define Adr 0x40
void setup()
{
// Initialiser la communication I2C en tant que MASTER
Fil.begin();
// Initialiser la communication série, définir le débit en bauds = 9600
Serial.begin(9600);
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (300);
}
boucle vide()
{
données int non signées[2];
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Envoi commande de mesure de température, NO HOLD MASTER
Wire.write(0xF3);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (500);
// Demande 2 octets de données
Wire.requestFrom(Adr, 2);
// Lecture de 2 octets de données
// temp msb, temp lsb
if(Fil.disponible() == 2)
{
data[0] = Wire.read();
données[1] = Wire.read();
}
// Convertir les données
float temp = ((data[0] * 256.0) + data[1]);
float ctemp = ((175.72 * temp) / 65536.0) - 46.85;
flottant ftemp = ctemp * 1,8 + 32;
// Sortie des données vers le moniteur série
Serial.print("Température en Celsius: ");
Serial.print(ctemp);
Serial.println("C");
Serial.print("Température en Fahrenheit: ");
Serial.print(ftemp);
Serial.println(" F");
retard (500);
}
Étape 4: Candidatures:
Le SI7050 peut être incorporé dans divers systèmes, notamment des équipements informatiques, des appareils portables grand public et des équipements médicaux. Ce capteur peut être utilisé dans les chaînes de stockage à froid, le suivi des actifs ainsi que divers systèmes de contrôle industriels. Il joue également un rôle central dans la protection de la batterie.