Menu
Microbots
0
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • Modules Maker
    • Packs de création
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • français
  • Votre panier est vide
Microbots
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • Modules Maker
    • Packs de création
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

MotorCell - Impulsion d'un spin

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.

Pourquoi pulser un moteur ?

  • Installations d'art cinétique : créez des rotations individuelles chronométrées pour former des motifs et des illusions uniques.
  • Efficacité : Faire fonctionner le moteur uniquement lorsque cela est nécessaire réduit la consommation d'énergie.
  • Retour tactile : de courtes rafales de mouvement peuvent simuler retour haptique.

Exemple de moteur pulsé

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;
 }
 }

Comment cela fonctionne

  1. La variable motor_num suit quel moteur est actuellement actif.
  2. La boucle incrémente motor_num et sélectionne le moteur correspondant.
  3. La fonction Pulse(IN_pinX, pulse_ms) permet d'activer chaque moteur pendant 2 secondes avant de passer au suivant.
  4. La séquence se réinitialise, répétant l'effet en boucle.

Développer l'effet

  • Modifier la durée d'impulsion : modifiez pulse_ms pour ajuster le temps de rotation de chaque moteur.
  • Ajouter plus de moteurs : développez la structure du boîtier pour inclure des moteurs supplémentaires.
  • Variez le timing : introduisez des délais aléatoires ou des durées d'impulsion différentes pour chaque moteur.
  • Utiliser les entrées de capteur : Déclencher des impulsions de moteur en fonction des données des capteurs pour des installations interactives. La proximité du CodeCell rend cette expérience très ludique !

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 !

  • Partager:

Partage

Github

  • À propos
  • Logiciel
  • Éducation
  • Contact
  • FAQ
  • Termes
  • Politique de remboursement
  • politique de confidentialité

Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !

© 2025 Microbots.