FlatFlap est un actionneur compact capable de générer des mouvements de battement organiques. Cependant, ce guide se concentre sur la création d'une impulsion courte : un battement unique ne durant que quelques millisecondes avant de s'arrêter. Cette méthode est utile pour les actions rapides et les applications nécessitant un mouvement bref.
Pour générer du mouvement, FlatFlap utilise un courant électrique traversant sa bobine, créant ainsi un champ magnétique. En appliquant une courte impulsion, nous induisons un champ magnétique rapide qui repousse instantanément l'aimant.
Pour générer manuellement une impulsion, vous pouvez utiliser les commandes digitalWrite de base :
#define FLAP_PIN1 2
#define FLAP_PIN2 3
void setup() {
pinMode(FLAP_PIN1, OUTPUT);
pinMode(FLAP_PIN2, OUTPUT);
}
void loop() {
digitalWrite(FLAP_PIN1, HIGH);
digitalWrite(FLAP_PIN2, LOW);
delay(500); // Pulse duration in milliseconds
digitalWrite(FLAP_PIN1, LOW);
digitalWrite(FLAP_PIN2, LOW); // Stop motion
delay(3000); // Stop for 3 sec
}
Ce code simple envoie une impulsion de 500 millisecondes à FlatFlap, provoquant un bref mouvement avant de s'arrêter.
Au lieu d'une impulsion ON/OFF brutale, la modulation de largeur d'impulsion (PWM) permet de contrôler progressivement l'intensité, réduisant ainsi les contraintes mécaniques et améliorant les performances. DriveCell gère automatiquement cette fonction :
#include <drivecell.h>
#define IN1_pin1 2
#define IN1_pin2 3
DriveCell FlatFlap1(IN1_pin1, IN1_pin2);
void setup() {
FlatFlap1.Init();
}
void loop() {
FlatFlap1.Pulse(true, 10); // Pulse forward for 10ms
delay(500); // Wait before the next pulse
}
Si vous utilisez notre bibliothèque DriveCell, vous pouvez directement utiliser la fonction Pulse pour implémenter ceci :
#include <drivecell.h>
#define IN1_pin1 2
#define IN1_pin2 3
DriveCell FlatFlap1(IN1_pin1, IN1_pin2);
void setup() {
FlatFlap1.Init();
}
void loop() {
FlatFlap1.Pulse(true, 100); // Pulse for 100ms
delay(3000); // Wait before the next pulse
FlatFlap1.Pulse(true, 1000); // Pulse for 1000ms
delay(3000); // Wait before the next pulse
FlatFlap1.Pulse(true, 500); // Pulse for 500ms
delay(3000); // Attendre avant la prochaine impulsion
}
Comprendre la fonction :
Pulse(bool direction, uint8_t ms_duration)
direction : true
(nord) / false
(sud)
ms_duration : Durée de l'impulsion en millisecondes
Grâce à de courtes impulsions, vous pouvez contrôler FlatFlap pour des applications à actionnement rapide. Consultez le dépôt GitHub DriveCell 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.