Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Le TSL45315 est un capteur numérique de lumière ambiante. Il se rapproche de la réponse de l'œil humain dans diverses conditions d'éclairage. Les appareils ont trois temps d'intégration sélectionnables et fournissent une sortie lux directe de 16 bits via une interface de bus I2C. L'appareil contient un réseau de photodiodes, un convertisseur analogique-numérique (ADC) intégré, un circuit de traitement du signal, une logique de calcul en lux et une interface série I2C sur un seul circuit intégré CMOS pour fournir des données en lux. Voici sa démonstration avec arduino nano.
Étape 1: Ce dont vous avez besoin.
1. Arduino Nano
2. TSL45315
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 TSL45315 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 TSL45315 peut être téléchargé depuis notre référentiel GitHub-Dcube Store.
Voici le lien pour le même:
github.com/DcubeTechVentures/TSL45315…
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.
// TSL45315
// Ce code est conçu pour fonctionner avec le mini module TSl45315_I2CS I2C disponible dans Dcube Store.
#comprendre
// L'adresse I2C TSL45315 est 0x29(41)
#define Adr 0x29
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);
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de contrôle
Wire.write(0x80);
// Fonctionnement normal
Wire.write(0x03);
// Arrêter la transmission I2C
Wire.endTransmission();
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de configuration
Wire.write(0x81);
// Multiplicateur 1x, Teinte: 400ms
Wire.write(0x00);
// Arrêter la transmission I2C
Wire.endTransmission();
retard (300);
}
boucle vide()
{
données int non signées[2];
// Démarrer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de données
Wire.write(0x84);
// Arrêter la transmission I2C
Wire.endTransmission();
// Demande 2 octets de données
Wire.requestFrom(Adr, 2);
// Lecture de 2 octets de données
// luminance lsb, luminance msb
if(Fil.disponible() == 2)
{
data[0] = Wire.read();
données[1] = Wire.read();
}
// Convertir les données
luminance flottante = données[1] * 256 + données[0];
// Sortie des données vers Serial Monitor
Serial.print("Luminosité ambiante:");
Serial.print(luminance);
Serial.println("lux");
retard (300);
}
Étape 4: Candidatures:
La large plage dynamique du capteur de lumière ambiante le rend particulièrement utile dans les applications extérieures où il est exposé à la lumière directe du soleil. L'appareil est idéal pour une utilisation dans le contrôle automatique des lampadaires et de la sécurité, des panneaux d'affichage et de l'éclairage automobile. Les appareils TSL45315 peuvent également être utilisés dans l'éclairage à semi-conducteurs et général pour le contrôle automatique et la récupération de la lumière du jour afin de maximiser la conservation de l'énergie. D'autres applications incluent le contrôle du rétroéclairage de l'écran pour prolonger la durée de vie de la batterie et optimiser la visibilité sur les téléphones portables, les tablettes et les ordinateurs portables.