Ronronthérapie : Différence entre versions

Ligne 17 : Ligne 17 :
 
|Material=<translate></translate>
 
|Material=<translate></translate>
 
|Tools=<translate></translate>
 
|Tools=<translate></translate>
 +
}}
 +
{{Tuto Step
 +
|Step_Title=<translate>Arduino</translate>
 +
|Step_Content=<translate>const int MOTEUR_PIN1 = 3;                         // Broche du premier moteur
 +
 +
const int MOTEUR_PIN2 = 5;                         // Broche du deuxieme moteur
 +
 +
const int VAL_MIN = 115;                                 // Intensité minimale de vibration
 +
 +
const int VAL_MAX = 225;                               // Intensité maximale de vibration
 +
 +
const int INC = 5;                                                   // Valeur ajoutée ou retirée à chaque étape
 +
 +
const int DELAI_CHANGEMENT = 130;     // Délai entre chaque changement (en millisecondes)
 +
 +
int incrementActuel = 0;
 +
 +
int incrementMax = VAL_MAX - VAL_MIN;
 +
 +
bool augmentation = true;                                    // Cette variable sert de sens de direction
 +
 +
                                             
 +
 +
void setup() {                                                               // Démarre les moteurs
 +
 +
 pinMode(MOTEUR_PIN1, OUTPUT);                
 +
 +
 pinMode(MOTEUR_PIN2, OUTPUT);                
 +
 +
}
 +
 +
                                             
 +
 +
void loop() {                                                                  // Se répète en boucle pour faire vibrer les moteurs en continue
 +
 +
 vibrerMoteurs(incrementActuel);
 +
 +
 +
 if (augmentation) {                                                // Si on augmente
 +
 +
   incrementActuel += INC;                              // Augmente la puissance progressivement de INC donc de 5 (On peut l'écrire : incrementActuel + INC = incrementActuel)
 +
 +
   if (incrementActuel >= incrementMax) {
 +
 +
     augmentation = false;                                        // Arrivé au maximum, on change de sens
 +
 +
     incrementActuel = incrementMax;
 +
 +
   }
 +
 +
 } else {                            // Sinon on diminue
 +
 +
   incrementActuel -= INC;                                  // On diminue donc progressivement la puissance
 +
 +
   if (incrementActuel <= 0) {
 +
 +
     augmentation = true;
 +
 +
     incrementActuel = 0;
 +
 +
   }
 +
 +
 }
 +
 +
 
 +
 +
}
 +
 +
// Les moteurs changent de sens
 +
 +
void vibrerMoteurs(int increment) {
 +
 +
 analogWrite(MOTEUR_PIN1, VAL_MIN + increment);   // Le moteur 1 devient plus puissant progressivement
 +
 +
 analogWrite(MOTEUR_PIN2, VAL_MAX - increment);   // Le moteur 2 devient moins puissant progressivement
 +
 +
 delay(DELAI_CHANGEMENT);                                                    // Pause avant le prochain changement
 +
 +
}</translate>
 +
}}
 +
{{Tuto Step
 +
|Step_Title=<translate></translate>
 +
|Step_Content=<translate></translate>
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step

Version du 2 avril 2026 à 14:26

Auteur avatarAnnabelle | Dernière modification 2/04/2026 par Annabelle

Pas encore d'image

Peluche en forme de chat pour faire de la ronronthérapie
Difficulté
Moyen
Durée
6 heure(s)
Catégories
Électronique, Bien-être & Santé, Machines & Outils
Coût
80 EUR (€)
Licence : Attribution (CC BY)

Matériaux

Outils

Étape 1 - Arduino

const int MOTEUR_PIN1 = 3;            // Broche du premier moteur

const int MOTEUR_PIN2 = 5;            // Broche du deuxieme moteur

const int VAL_MIN = 115;              // Intensité minimale de vibration

const int VAL_MAX = 225;              // Intensité maximale de vibration

const int INC = 5;                    // Valeur ajoutée ou retirée à chaque étape

const int DELAI_CHANGEMENT = 130;     // Délai entre chaque changement (en millisecondes)

int incrementActuel = 0;

int incrementMax = VAL_MAX - VAL_MIN;

bool augmentation = true;             // Cette variable sert de sens de direction

                                             

void setup() {                        // Démarre les moteurs

 pinMode(MOTEUR_PIN1, OUTPUT);                

 pinMode(MOTEUR_PIN2, OUTPUT);                

}

                                             

void loop() {                         // Se répète en boucle pour faire vibrer les moteurs en continue

 vibrerMoteurs(incrementActuel);


 if (augmentation) {                 // Si on augmente

   incrementActuel += INC;           // Augmente la puissance progressivement de INC donc de 5 (On peut l'écrire : incrementActuel + INC = incrementActuel)

   if (incrementActuel >= incrementMax) {

     augmentation = false;           // Arrivé au maximum, on change de sens

     incrementActuel = incrementMax;

   }

 } else {                            // Sinon on diminue

   incrementActuel -= INC;           // On diminue donc progressivement la puissance

   if (incrementActuel <= 0) {

     augmentation = true;

     incrementActuel = 0;

   }

 }

 

}

// Les moteurs changent de sens

void vibrerMoteurs(int increment) {

 analogWrite(MOTEUR_PIN1, VAL_MIN + increment);   // Le moteur 1 devient plus puissant progressivement

 analogWrite(MOTEUR_PIN2, VAL_MAX - increment);   // Le moteur 2 devient moins puissant progressivement

 delay(DELAI_CHANGEMENT);                         // Pause avant le prochain changement

}

Étape 2 -

Étape 3 -

Commentaires

Draft