| 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 | ||
Auteur
Annabelle | Dernière modification 2/04/2026 par Annabelle
Pas encore d'image
Couture, Arduino, Porte-Clé Creation
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
}
fr none 0 Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #