Dans cette version, nous explorerons comment utiliser le capteur de proximité intégré du CodeCell pour détecter des objets.
Le CodeCell est équipé d'un capteur VCNL4040 capable de mesurer la proximité jusqu'à 20 cm. Ce capteur utilise la communication I2C et est automatiquement initialisé via la bibliothèque CodeCell , permettant une intégration transparente dans vos projets. Que vous cherchiez à ajouter un simple contrôle de la profondeur par gestes ou à détecter des objets à proximité, le VCNL4040 facilite l'ajout de la détection de proximité dans vos constructions.
Le capteur de proximité VCNL4040 utilise la lumière infrarouge pour détecter les objets à sa portée. Il mesure la réflexion de la lumière infrarouge émise pour évaluer la proximité d'un objet, ce qui vous permet de créer des comportements réactifs en fonction de la proximité. Cette fonctionnalité est particulièrement utile pour créer un éclairage interactif, des robots, des interrupteurs sans contact ou d'autres actions basées sur la proximité.
Dans cet exemple, le CodeCell surveille en permanence les données de proximité et allume une LED rouge lorsqu'un objet est détecté. Vous pouvez étendre cette fonctionnalité de base pour créer des interactions plus complexes, telles que la variation de la couleur ou de la luminosité de la LED en fonction de la distance, ou le déclenchement de différentes actions en fonction de la proximité.
Vous trouverez ci-dessous un exemple de code pour vous aider à démarrer. Assurez-vous que votre CodeCell est correctement connecté via USB-C 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, including proximity
}
void loop() {
if (myCodeCell.Run(10)) {
// S'exécute toutes les 100 ms pour vérifier la proximité
uint16_t proximité = myCodeCell.Light_ProximityRead();
// Vérifier si un objet est à portée
si (proximité > 100) {
myCodeCell.LED(0xFF, 0, 0); // Réglez la LED sur rouge lorsque la proximité est détectée
delay(1000); // Gardez la LED allumée pendant 1 seconde
} autre {
// Aucune action si l'objet est hors de portée
}
}
}
100
dans l'exemple) pour ajuster la sensibilité de la détection de proximité en fonction de votre application.myCodeCell.LED()
pour créer des réponses multicolores à la proximité.Ce projet présente les bases de l'utilisation de la détection de proximité avec CodeCell , ouvrant ainsi une gamme de possibilités interactives. Expérimentez avec le code, modifiez les paramètres et personnalisez-le !
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.
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.
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 :
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.
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.
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
}
myCodeCell.LED()
vous permet de spécifier des valeurs RVB. Essayez d'expérimenter différentes couleurs en fonction des niveaux de lumière.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 !
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2025 Microbots.