MotorCell ne se limite pas aux mouvements continus : il peut également être pulsé pour de courtes séquences de mouvements. Ceci est particulièrement utile pour les projets d'art cinétique, où des mouvements contrôlés et rythmés peuvent créer des effets visuels saisissants. En pulsant le moteur pendant quelques millisecondes à la fois, vous pouvez obtenir des effets de rotation coordonnés sur plusieurs moteurs.
Cet exemple montre comment pulser six moteurs pendant 2 000 millisecondes (2 secondes) chacun, créant ainsi un effet de rotation séquentielle. La fonction Pulse(IN_pinX, pulse_ms)
active chaque moteur pendant une durée définie avant de passer au suivant.
#include <MotorCell.h>
#define IN_pin1 1
#define IN_pin2 2
#define IN_pin3 3
#define IN_pin5 5
#define IN_pin6 6
#define IN_pin7 7
#define pulse_ms 2000
int motor_num = 0;
MotorCell myMotorCell(1,2,3);
void setup() {
}
void loop() {
delay(100);
motor_num++;
switch (motor_num) {
case 1:
myMotorCell.Pulse(IN_pin1, pulse_ms); /* Pulse motor 1 for 2000ms */
break;
case 2:
myMotorCell.Pulse(IN_pin2, pulse_ms); /* Pulse motor 2 for 2000ms */
break;
case 3:
myMotorCell.Pulse(IN_pin3, pulse_ms); /* Pulse motor 3 for 2000ms */
break;
case 5:
myMotorCell.Pulse(IN_pin5, pulse_ms); /* Pulse motor 5 for 2000ms */
break;
case 6:
myMotorCell.Pulse(IN_pin6, pulse_ms); /* Pulse motor 6 for 2000ms */
break;
case 7:
myMotorCell.Pulse(IN_pin7, pulse_ms); /* Pulse motor 7 for 2000ms */
motor_num = 0; /* Reset the sequence */
break;
}
}
motor_num
suit quel moteur est actuellement actif.motor_num
et sélectionne le moteur correspondant.Pulse(IN_pinX, pulse_ms)
permet d'activer chaque moteur pendant 2 secondes avant de passer au suivant.pulse_ms
pour ajuster le temps de rotation de chaque moteur.Prêt à expérimenter ? Procurez-vous un MotorCell dès aujourd'hui et consultez le dépôt GitHub MotorCell 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.