Menu
Microbots
0
  • Apprendre
  • Boutique
    • Modules et technologies
    • Maker-Packs
    • Outils et engrenages
    • Robots & Displays
    • Tous les produits
  • Communauté
    • Education
    • Software
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • français
  • Votre panier est vide
Microbots
  • Apprendre
  • Boutique
    • Modules et technologies
    • Maker-Packs
    • Outils et engrenages
    • Robots & Displays
    • Tous les produits
  • Communauté
    • Education
    • Software
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

CodeCell : atténuation automatique

Dans cette version, nous allons découvrir comment utiliser le CodeCell pour détecter la lumière blanche et ajuster automatiquement la luminosité des LED. Ce projet présente le capteur de lumière intégré du CodeCell , qui vous aide à créer des effets d'éclairage réactifs qui s'adaptent aux conditions d'éclairage changeantes.

Ce que vous apprendrez

  • Comment configurer le CodeCell
  • Comment écrire le code pour lire les niveaux de lumière et contrôler la luminosité des LED.
  • Comprendre le fonctionnement du capteur de lumière VCNL4040 de CodeCell .

À propos du capteur de lumière du CodeCell

Le CodeCell est doté d'un capteur VCNL4040 intégré qui peut mesurer à la fois les niveaux de lumière et la proximité jusqu'à 20 cm. Ce capteur utilise la communication I2C et communique avec l'ESP32 de la bibliothèque CodeCell , où le capteur est automatiquement initialisé pour optimiser sa résolution de détection. Cela simplifie la configuration, vous pouvez donc vous concentrer sur la construction de votre projet.

Détection de la lumière ambiante et détection de la lumière blanche

Le capteur VCNL4040 du CodeCell est capable de détecter à la fois la lumière ambiante et la lumière blanche, chacune servant à des fins distinctes :

  • Détection de la lumière ambiante : ce mode mesure l'intensité lumineuse globale de toutes les sources de l'environnement, y compris la lumière naturelle et artificielle. Il est idéal pour les applications qui nécessitent une compréhension générale des niveaux de lumière dans un espace, comme le réglage de la luminosité de l'écran ou l'activation du mode nuit sur les appareils.
  • Détection de lumière blanche : ce mode mesure spécifiquement l'intensité de la lumière blanche, ce qui est particulièrement utile lorsque l'objectif est d'évaluer des sources lumineuses qui ressemblent à la lumière du jour ou à l'éclairage LED. La détection de lumière blanche est utile dans les scénarios où vous souhaitez faire la distinction entre différentes conditions d'éclairage, par exemple pour séparer la lumière blanche des autres lumières colorées ou dans les situations où une température de couleur précise est importante.

Dans ce projet, nous utilisons la fonction de détection de lumière blanche pour influencer directement la luminosité des LED en fonction des niveaux de lumière blanche détectés, créant ainsi une réponse plus ciblée par rapport à la détection de lumière ambiante générale.

Aperçu du projet

Dans cet exemple, le CodeCell mesure en continu la lumière blanche ambiante et ajuste la luminosité d'une LED intégrée en fonction du niveau de lumière détecté. À mesure que la pièce s'assombrit, la LED s'atténue, offrant une transition en douceur que vous pouvez modifier et personnaliser pour vos propres projets d'éclairage.

Exemple de code

Vous trouverez ci-dessous un exemple de code pour vous aider à démarrer. Assurez-vous que votre CodeCell est correctement connecté et suivez les commentaires dans le code pour comprendre chaque étape.

 
#include <CodeCell.h>

 CodeCell myCodeCell;

 void setup() {
 Serial.begin(115200); // Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial. 
myCodeCell.Init(LIGHT); // Initialise la détection de lumière.
 }

 boucle vide() {
 delay(100); // Petit délai - Vous pouvez l'ajuster en conséquence

 // Lisez la lumière blanche du capteur et ajustez la luminosité pour 8 bits
 uint16_t luminosité = (myCodeCell.Light_WhiteRead()) >> 3;
 Serial.println(brightness); // Imprime la valeur de luminosité sur le moniteur série pour le débogage.

 // Limiter les valeurs du capteur à la plage de luminosité de la LED (1 à 254)
 si (luminosité == 0U) {
 luminosité = 1U; // Définir une luminosité minimale pour éviter d'éteindre complètement la LED
 } sinon si (luminosité > 254U) {
 luminosité = 254U; // Limitez la luminosité au niveau maximum de la LED
 }

 luminosité = 255U - luminosité ; // Inverser la luminosité pour que la LED diminue à mesure qu'elle devient plus lumineuse
 myCodeCell.LED(0, 0, luminosité); // Faites briller la LED RVB bleue intégrée avec la nouvelle luminosité ajustée
 }

Conseils de personnalisation

  • Ajuster la sensibilité de la luminosité : ajustez les limites de luminosité en fonction des niveaux de lumière de votre pièce.
  • Modifier les couleurs des LED : la fonction myCodeCell.LED() vous permet de spécifier des valeurs RVB. Essayez d'expérimenter différentes couleurs en fonction des niveaux de lumière.
  • Ajoutez plus de LED : connectez plus de LED ou même des NeoPixels pour plus d'effets d'éclairage et ajustez leur luminosité avec la même technique.
  • Ajouter un contrôle de proximité : ajoutez le capteur de proximité pour ajouter des effets plus interactifs, comme des gestes de profondeur pour agir comme une commutation.

Conclusion

Ce projet n'est que le point de départ pour exploiter les capacités de détection de lumière du CodeCell . Plongez dans le code, faites-en votre propre et illuminez votre prochain projet !

  • Partager:

Partage

Github

  • À propos
  • Software
  • Education
  • Contact
  • FAQ
  • Termes
  • Politique de remboursement
  • politique de confidentialité

Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !

© 2025 Microbots.