Ce guide explique comment le CoilCell peut générer des vibrations, comment la fréquence et la polarité affectent son mouvement et comment créer ses signaux d'entraînement.
Pour faire vibrer CoilCell, un courant électrique est appliqué à sa bobine, générant un champ magnétique. En inversant la polarité à une fréquence définie, on crée un mouvement de va-et-vient répétitif qui provoque des vibrations.
La fréquence de vibration peut être contrôlée entre 1 Hz et 25 Hz, ce qui signifie que CoilCell peut osciller entre 1 et 25 fois par seconde selon le signal d'entrée. Il peut atteindre des fréquences plus élevées, mais l'aimant n'aura généralement pas le temps de réagir.
Si vous l'attachez à quelque chose, vous pouvez l'ajuster pour qu'il corresponde à sa nouvelle fréquence de résonance et faire trembler l'ensemble.
Un signal carré est nécessaire pour faire vibrer le CoilCell. Contrairement au CoilPad, le CoilCell intègre un pilote en pont en H ; aucun pilote externe comme DriveCell n'est donc nécessaire. Les signaux d'entrée du signal carré peuvent être générés à l'aide de simples commandes digitalWrite()
dans Arduino :
#define VIB_PIN1 2
#define VIB_PIN2 3
void setup() {
pinMode(VIB_PIN1, OUTPUT);
pinMode(VIB_PIN2, OUTPUT);
}
void loop() {
digitalWrite(VIB_PIN1, HIGH);
digitalWrite(VIB_PIN2, LOW);
delay(100); // Adjust delay for desired vibration speed
digitalWrite(VIB_PIN1, LOW);
digitalWrite(VIB_PIN2, HAUT);
delay(100); // Ajustez le délai pour la vitesse de vibration souhaitée
}
Ce code simple crée une oscillation carrée, faisant vibrer la CoilCell en continu. Vous pouvez ajuster le temps de retard pour modifier la fréquence de vibration.
L'exemple de code ci-dessus génère une onde carrée basique qui entraîne la bobine de manière brusque. À basses fréquences, cela peut être indésirable. Pour atténuer ce phénomène, nous pouvons utiliser la modulation de largeur d'impulsion (MLI) sur les deux sorties. Cette méthode modifie progressivement l'intensité du champ magnétique, réduisant ainsi les contraintes mécaniques sur la bobine.
Cette fonction est gérée automatiquement dans notre bibliothèque CoilCell :
#include <coilcell.h>
#define COIL_PIN1 2
#define COIL_PIN2 3
CoilCell myCoilCell(COIL_PIN1, COIL_PIN2);
uint16_t vibration_counter = 0;
void setup() {
myCoilCell.Init();
myCoilCell.Tone();
}
void loop() {
delay(1);
vibration_counter++;
if (vibration_counter < 2000U) {
myCoilCell.Vibrate(0, 100, 100); // Mode onde carrée
}
sinon si (compteur_vibrations < 8000U) {
myCoilCell.Vibrate(1, 100, 1000); // Mode d'onde PWM lisse
} autre {
compteur_vibrations = 0U;
}
}
Init()
→ Initialise CoilCell et configure les broches d'entrée.Vibrate(smooth, power, speed_ms)
→ Fait osciller la CoilCell soit dans une onde carrée, soit dans une onde PWM plus douce.
smooth
→ 1 (onde PWM) / 0 (onde carrée)power
→ Intensité du champ magnétique (0 à 100 %)speed_ms
→ Vitesse de vibration en millisecondes ⚠ Remarque : la fonction Run()
utilise un minuteur PWM haute vitesse, ce qui la rend compatible uniquement avec les appareils CodeCell et ESP32.
Grâce à ces techniques, vous pouvez commencer à utiliser CoilCell pour vibrer. Consultez le dépôt GitHub CoilCell pour plus d'exemples de code et de documentation technique !
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2025 Microbots.