Dans cette version, nous allons découvrir comment utiliser le capteur de mouvement à 9 axes intégré du CodeCell pour détecter les appuis. Ce projet montre comment utiliser la détection d'appui pour les commandes interactives, ce qui la rend parfaite pour créer des actions réactives avec un simple appui sur l'appareil.
Le CodeCell est équipé d'un capteur de mouvement BNO085, qui offre une variété de capacités de détection, notamment la détection des appuis. Cette fonction utilise les données de l'accéléromètre pour détecter les appuis, ce qui la rend idéale pour les commandes interactives telles que l'activation et la désactivation de lumières, le déclenchement d'effets sonores ou d'autres actions basées sur un simple geste d'appui.
Le capteur de mouvement BNO085 détecte les appuis en surveillant les accélérations soudaines le long de ses axes. Lorsqu'un appui est détecté, le capteur enregistre l'événement, ce qui vous permet de déclencher des actions telles que l'allumage d'une LED ou le basculement d'autres appareils. Cette fonctionnalité est particulièrement utile pour créer des interactions tactiles sans avoir recours à des boutons mécaniques.
Dans cet exemple, le CodeCell surveille en permanence les appuis. Lorsqu'un appui est détecté, la LED intégrée s'allume en jaune pendant une seconde. Vous pouvez étendre cette fonctionnalité de base pour créer des interactions plus complexes, telles que le contrôle de plusieurs LED, moteurs ou autres appareils connectés en fonction des entrées d'appui.
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); // Définissez le débit en bauds série sur 115200. Assurez-vous que Tools/USB_CDC_On_Boot est activé si vous utilisez Serial
myCodeCell.Init(MOTION_TAP_DETECTOR); // Initialise la détection de pression
}
boucle vide() {
si (myCodeCell.Run()) {
// S'exécute toutes les 100 ms pour vérifier les robinets
si (myCodeCell.Motion_TapRead()) {
// Si un tapotement est détecté, la LED s'allume en jaune pendant 1 seconde
myCodeCell.LED(0xA0, 0x60, 0x00); // Définir la LED sur jaune
delay(1000); // Gardez la LED allumée pendant 1 seconde
}
}
}
Dans l'exemple suivant, nous utilisons une CoilCell pour inverser sa polarité et actionner un point de retournement. Cela étend l'interactivité en utilisant la détection de tapotement pour contrôler les appareils externes, créant ainsi une réponse plus dynamique.
#include <CoilCell.h>
#include <CodeCell.h>
#define IN1_pin1 5
#define IN1_pin2 6
CoilCell myCoilCell(IN1_pin1, IN1_pin2);
CodeCell myCodeCell;
void setup() {
Serial.begin(115200); // Définissez le débit en bauds série sur 115 200. Assurez-vous que Tools/USB_CDC_On_Boot est activé si vous utilisez Serial.
myCodeCell.Init(MOTION_TAP_DETECTOR); // Initialise la détection de pression.
myCoilCell.Init(); // Initialise le CoilCell.
myCoilCell.Tone(); // Joue une tonalité pour confirmer l'initialisation.
}
boucle vide() {
si (myCodeCell.Run()) {
// S'exécute toutes les 100 ms pour vérifier les robinets.
si (myCodeCell.Motion_TapRead()) {
// Si un tapotement est détecté, faites briller la LED en jaune et inversez la polarité de la CoilCell.
myCodeCell.LED(0xA0, 0x60, 0x00); // Définir la LED sur jaune.
myCoilCell.Toggle(100); // Basculer la polarité de la CoilCell.
delay(1000); // Délai pour maintenir la LED allumée et la polarité inversée pendant 1 seconde.
}
}
}
Ce projet présente les bases de l'utilisation de la détection de tapotement avec CodeCell . Expérimentez avec le code, personnalisez les réponses et explorez le potentiel de la détection de tapotement dans votre prochain projet !
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2024 Microbots.