Menu
Microbots
0
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Connexion
  • français
  • Votre panier est vide
Microbots
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

CodeCell : détection de luminosité

Dans ce guide, nous explorerons comment utiliser le CodeCell pour détecter la lumière blanche et ajuster automatiquement la luminosité d'une LED ou créer d'autres effets d'éclairage réactifs pour s'adapter aux conditions d'éclairage.

Comment détecte-t-il la lumière ?

Dans son boîtier compact, CodeCell intègre un VCNL4040 capable de mesurer précisément les niveaux de lumière ambiante grâce à sa photodiode intégrée. Cela lui permet de détecter les variations de luminosité, permettant ainsi des ajustements automatiques pour les systèmes d'éclairage économes en énergie ou des interactions sensibles à l'environnement.

Le capteur embarqué offre une détection de lumière haute résolution sur une large plage dynamique et communique via I2C, qui est géré de manière transparente par notre bibliothèque CodeCell.

Détection de lumière ambiante vs. détection de 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 lumière ambiante, y compris la lumière naturelle et artificielle. Il est idéal pour les applications nécessitant une compréhension globale des niveaux de luminosité d'un espace, comme le réglage de la luminosité d'un é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 pour évaluer des sources lumineuses similaires à la lumière du jour ou à l'éclairage LED. La détection de lumière blanche est utile pour distinguer 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 essentielle.

Exemple de code

Dans cet exemple, nous utilisons la détection de lumière blanche pour influencer directement la luminosité de la LED intégrée au CodeCell. Cette fonction est basée sur les niveaux de lumière blanche détectés, ce qui crée une réponse plus ciblée que la détection de la lumière ambiante générale. À mesure que la pièce s'assombrit, la LED s'atténue, offrant une transition fluide que vous pouvez ajuster et personnaliser pour vos propres projets d'éclairage.

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); // Initializes light sensing.
 }

 void loop() {
 delay(100); // Small delay - You can adjust it accordingly

 // Read white light from the sensor and adjust brightness for 8-bit
 uint16_t brightness = (myCodeCell.Light_WhiteRead()) >> 3;
 Serial.println(brightness); // Print the brightness value to the serial monitor for debugging.

 // Limit the sensor values to the LED's brightness range (1 to 254)
 if (brightness == 0U) {
 brightness = 1U; // Set a minimum brightness to avoid turning off the LED completely
 } else if (brightness > 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, brightness); // 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 différentes couleurs en fonction de la luminosité.
  • 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

Cet exemple n'est qu'un point de départ pour exploiter les capacités de détection de lumière de CodeCell . Plongez dans le code, personnalisez-le et consultez le dépôt GitHub de CodeCell pour plus d'exemples de code et de documentation technique !

  • Partager:

Partage

Github

  • À propos
  • Logiciel
  • Éducation
  • Contact
  • FAQ
  • Termes
  • Politique de remboursement
  • politique de confidentialité

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

© 2026 Microbots.

★ Reviews

Let customers speak for us

50 reviews
Write a review
84%
(42)
4%
(2)
2%
(1)
4%
(2)
6%
(3)
21
46
B
CodeCell C6 Drive
Brandon

Awesome product with great tutorials and example code

G
MotorCell
Gerald Kendrick

Very happy with my MotorCell. I'm incorporating it into a prototype project that will hopefully result in me needing a few more!

User picture
A
CodeCell C6 Drive
Anonymous

Great product! Having the IMU, motor driver, and battery management directly on the board is incredibly handy for quick prototyping. Love it!

Improvement ideas:
- using an ESP32 other than the C6 to get more cores. On a single-core chip, WiFi tasks often interfere with real-time applications.
- adding two more motor drivers (with a slightly higher current rating) would be awesome for drone projects!
- I know the compactness of the board is a huge selling point and really optimised, but exposing a few more pins would be great. With the motor drivers already occupying 4 pins, having only 4 GPIOs left can be tight for complex projects (though I’m nitpicking, I’m really pushing this board to its limits!).

A
CodeCell C6
Anonymous

I use CodeCell C6, like all the Features, and compactness. The remote Link to the iPhone with some Controls for 2 Motors is just perfect for the job.

O
CodeCell C6 Drive
Odd_Jayy

This is one of my Favorite finds, this board has everything you need to make a quick and small robot, easy to set up and install. Perfect for beginners or a person who needs to save room in their build.

User picture
123