In dieser Anleitung erfahren Sie, wie Sie den integrierten Bewegungssensor von CodeCell zur Erkennung von Berührungen nutzen. Dieses Projekt demonstriert die Verwendung der Berührungserkennung für interaktive Steuerelemente und eignet sich perfekt für die Erstellung reaktionsfähiger Aktionen durch einfaches Tippen auf das Gerät.
CodeCell ist mit einem BNO085-Bewegungssensor ausgestattet, der die Daten eines Beschleunigungsmessers, Gyroskops und Magnetometers zusammenführt, um bestimmte Bewegungsmuster zu verfolgen und festzustellen, ob ein Tippvorgang ausgeführt wurde. Dadurch eignet es sich ideal für interaktive Steuerungen wie das Ein- und Ausschalten von Lichtern, das Auslösen von Soundeffekten oder andere Aktionen, die auf einer einfachen Tippgeste basieren.
Im ersten Beispiel richten wir unsere CodeCell so ein, dass sie kontinuierlich auf ein Tippen prüft. Wenn ein Tippen erkannt wird, leuchtet die integrierte LED eine Sekunde lang gelb. Sie können diese grundlegende Funktionalität erweitern, um komplexere Interaktionen zu ermöglichen, beispielsweise die Steuerung mehrerer LEDs, Motoren oder anderer angeschlossener Geräte basierend auf Tippeingaben.
Stellen Sie sicher, dass Ihre CodeCell ordnungsgemäß über USB-C verbunden ist, und folgen Sie den Kommentaren im Code, um jeden Schritt zu verstehen.
#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(MOTION_TAP_DETECTOR); // Initializes tap detection sensing
}
void loop() {
if (myCodeCell.Run(10)) {
// Runs every 100ms to check for taps
if (myCodeCell.Motion_TapRead()) {
// Wenn ein Tippen erkannt wird, leuchtet die LED 1 Sekunde lang gelb
myCodeCell.LED(0xA0, 0x60, 0x00); // LED auf gelb setzen
delay(1000); // LED 1 Sekunde lang anlassen
}
}
}
Im nächsten Beispiel verwenden wir eine CoilCell, um ihre Polarität umzukehren und einen Flip-Dot zu aktivieren. Dies erweitert die Interaktivität durch die Nutzung der Tipperkennung zur Steuerung externer Geräte und sorgt so für eine dynamischere Reaktion.
#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); // Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial.
myCodeCell.Init(MOTION_TAP_DETECTOR); // Initializes tap detection sensing.
myCoilCell.Init(); // Initializes the CoilCell.
myCoilCell.Tone(); // Plays a tone to confirm initialization.
}
void loop() {
if (myCodeCell.Run(10)) {
// Wird alle 100 ms ausgeführt, um nach Taps zu suchen.
if (myCodeCell.Motion_TapRead()) {
// Wenn ein Tippen erkannt wird, leuchtet die LED gelb und die Polarität der CoilCell wird umgekehrt.
myCodeCell.LED(0xA0, 0x60, 0x00); // LED auf Gelb setzen.
myCoilCell.Toggle(100); // Schaltet die Polarität der CoilCell um.
Verzögerung (1000); // Verzögerung, um die LED 1 Sekunde lang eingeschaltet und die Polarität umgekehrt zu lassen.
}
}
}
Experimentieren Sie mit dem Code, passen Sie die Antworten an und sehen Sie sich das CodeCell GitHub Repository für weitere Codebeispiele und technische Dokumentation an!
Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!
© 2025 Microbots.