# Commande pour aspirateur copeaux (ouverture vannes)

**URL:** <https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155>\
**Category:** Français\
**Created:** [November 6, 2023, 7:58pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155 "2023-11-06T19:58:46Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 6, 2023, 7:58pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/1 "2023-11-06T19:58:46Z")

</div>

Bonjour,  
Je suis vraiment novice en informatique et j'aimerai commander des servos avec bouton poussoirs et/ou écran tactile pour commander l'ouverture de vannes d'un aspirateur de copeaux.  
L'écran commanderai un servo en s'assurant que les autres soient fermés. (un seul peut être ouvert).  
L'autre manière consisterai à l'aide de bouton poussoirs d'ouvrir un clapet, en allumant une diode verte ou rouge.  
Quelqu'un peut-il m'aider ?  
D'avance je vous remercie.  
Laurent

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 6, 2023, 8:30pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/2 "2023-11-06T20:30:49Z")

</div>

Bonjour log6330

> [@log6330](#):
>
> Je suis vraiment novice en informatique

As tu déjà installé l'environnement Arduino et as tu déjà fait quelques exemples?  
As tu déjà du matériel?

A+  
Cordialement  
jpbbricole

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 6, 2023, 8:38pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/3 "2023-11-06T20:38:34Z")

</div>

Bonjour,  
Installé environnement arduino, et déjà fait quelques exemples,, dont certains pas très concluant,,,  
J'ai tout le matériel pour faire le projet... mais pas assez de compétences  
Il faudrait en fait un écran tactile qui commande une ouverture dans un local et des simples boutons poussoirs (avec led rouge et verte pour signaler quelle trappe est ouverte) qui commandent la même chose à un autre endroit et qui interagissent entre-eux  
Voilà le projet  
Merci

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 6, 2023, 8:59pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/4 "2023-11-06T20:59:10Z")

</div>

Bonsoir log6330

> [@log6330](#):
>
> dont certains pas très concluant,,,

Lesquels et pourquoi?  
Comme tu as les servo, les as-tu déjà essayés, commandés avec un Arduino?

> [@log6330](#):
>
> J'ai tout le matériel pour faire le projet...

Y compris l'écran tactile?  
Quelle distance entre les 2 endroits de commande.

A+  
Cordialement  
jpbbricole

---

<div class="post-metadata">

**Author:** ![al1fch](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/al1fch/32/979602_2.png) [@al1fch](https://forum.arduino.cc/u/al1fch)\
**Post date:** [November 6, 2023, 9:02pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/5 "2023-11-06T21:02:59Z")

</div>

Bonsoir @log6330 et Bienvenue sur ce Forum !

En arrivant ici il est important de prendre le temps de consulter les [Bonnes Pratiques du Forum Francophone](https://forum.arduino.cc/t/les-bonnes-pratiques-du-forum-francophone/861014/) pour découvrir où et comment demander de l'aide

..... certainement pas dans le sous forum " destiné à la présentation de projets/réalisations complets et fonctionnels" ou tu a posté 😉

Je déplace donc ton message à l'endroit approprié.

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 7, 2023, 6:56am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/6 "2023-11-07T06:56:39Z")

</div>

Bonjour,

J'ai fait plusieurs montage avec les servos et cela fonctionnait.  
J'ai un arduino Mega et Uno, pour l'écran c'est un Nextion, l'interface graphique cela n'est pas un problème. Il y a environ 4m entre les 2 commandes (garage et cave)  
Il faudrait 4 commandes sur l'écran avec fermeture de toutes les vannes à la mise sous tension et dès que j'en commande une, les autres soient fermées. Pour le commande avec bouton poussoirs idem, avec led rouge et verte pour savoir la position du servo (ouvert ou fermé),  
Merci pour votre aide,  
Laurent

---

<div class="post-metadata">

**Author:** ![terwal](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/terwal/32/1098571_2.png) [@terwal](https://forum.arduino.cc/u/terwal)\
**Post date:** [November 7, 2023, 7:23am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/7 "2023-11-07T07:23:44Z")

</div>

Du coup que veux tu comme aide?

Si tu recherche des informations pour t'aider à écrire ton programme, il faut que tu pose des questions plus précise.  
Par exemple donne les tests que tu as fait en suivant ce qui est recommandé dans le post indiqué par @al1fch.

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 7, 2023, 7:32am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/8 "2023-11-07T07:32:04Z")

</div>

Bonjour log6330

> [@log6330](#):
>
> J'ai fait plusieurs montage avec les servos et cela fonctionnait.

C'est ok, combien de servo et de quel type, donnes un lien.  
Les boutons, c'est 2 boutons (ON et OFF) par servo ou 1 bouton (ON/OFF)?

Quelles sont tes connaissances en électronique.

Je n'ai malheureusement pas d'écran Nextion (mais je vais l'étudier), quand j'ai besoin d'un écran tactile, j'utilise un smartphone.

J'aurais certainement d'autres questions 😉

A+  
Cordialement  
jpbbricole

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 7, 2023, 7:51am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/9 "2023-11-07T07:51:08Z")

</div>

Bonjour,

C'est un bouton poussoir par servo, je ne peux malheureusement pas envoyer une photo...  
Mes connaissances sont minimes 🙂  
Mes servos sont des Hitec HS-485hb (4 au total)

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 7, 2023, 10:09am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/11 "2023-11-07T10:09:35Z")

</div>

Re Bonjour,  
Je pensais à de simple Led ronde (verte et rouge)  
L'écran c'est un Nextgen NX80487050  
J'ai un boitier avec Arduino nano et écran, 2 servos sont à proximités (environ 1m) avec led rouge et verte (fixées près de la vanne pour voir position), et un autre dans la cave à +/-3m avec led sur boitier et led près des vannes. Pour l'alimentation c'était prévu:)  
Je joint un croquis  
Merci  
Laurent  
[Commande CNC\_231107\_084241.pdf](https://forum.arduino.cc/uploads/short-url/8hdMAAqLrHFoHP7SP1fWr6Kvrq9.pdf) (648,5 Ko)

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 7, 2023, 10:48am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/12 "2023-11-07T10:48:46Z")

</div>

Bonjour log6330

Vu certaines longueur de fils, il sera nécessaire de mettre [des résistances de PULLUP](https://www.locoduino.org/spip.php?article122) sur les entrées des boutons, environ 2.2k, mais pas critique. Ces résistances sont nécessaires, dans un milieu perturbé, sans résistances, les fils des boutons vont faire antenne et capter des parasites.

Je vais faire une simulation de tout ça, mais uniquement avec des boutons, pour le moment.

A+  
Cordialement  
jpbbricole

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 7, 2023, 11:07am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/13 "2023-11-07T11:07:23Z")

</div>

Un tout grand merci  
Pour info j'utilise tinkercad  
Je m'occupe de l'écran  
Laurent

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 7, 2023, 11:13am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/14 "2023-11-07T11:13:15Z")

</div>

> [@log6330](#):
>
> Je m'occupe de l'écran

Super !

> [@log6330](#):
>
> Pour info j'utilise tinkercad

Moi, aussi 😉

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 7, 2023, 5:18pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/15 "2023-11-07T17:18:19Z")

</div>

> [@log6330](#):
>
> o j'utilise ti

Le tout début de la simulation, avec 2 servo, pour le moment:

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/c/4/e/c4e2eabb50150b9fb82f5b660d29fba05ed70379.png)

La version "en vrai" fonctionne.

Demain, la suite.

Bonne soirée  
jpbbricole

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 7, 2023, 6:28pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/16 "2023-11-07T18:28:16Z")

</div>

Bonsoir,  
Un tout grand merci...

---

<div class="post-metadata">

**Author:** ![jpbbricole](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/jpbbricole/32/606025_2.png) [@jpbbricole](https://forum.arduino.cc/u/jpbbricole)\
**Post date:** [November 8, 2023, 11:05am UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/17 "2023-11-08T11:05:16Z")

</div>

Bonjour log6330

Voici [la simulation Tinkercad, avec 4 servo](https://www.tinkercad.com/things/lucVz8vXAQ2):

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/c/3/4/c3461901485c2374c82df4e0ac6d6e65abcc1671.png)  
J'ai ajouté, en bas à droite, un bouton pour fermer toutes les vannes.

```arduino
// Retourne -2 si fonction reset (les 2 extrêmes pressés)

```

Le programme se paramètre pour ce qui concerne, les servo, les LED et les boutons, dans ce tableau:

```arduino
vanneParamDef vannesParam[] =
{
// Pin PWMmin PWMmax Ouvert led V ledR Bouton
	{2, 900, 2100, false, 6, 7, A0},
	{3, 900, 2100, false, 8, 9, A1},
	{4, 900, 2100, false, 10, 11, A2},
	{5, 900, 2100, false, 12, 13, A3},
};

```

Les pin A4 et A5 sont réservées pour l'écran.  
Le UNO est "plein"!

Plutôt qu'une longue description je préfère que tu découvres et poses un max de questions 😉

Le programme:

```arduino
/*
    Name: ARDFR_log6330_CommandeAspiraTinkercad.ino
    Created:	08.11.2023
    Author: jpbbricole/log6330
				
				Commande des 4 vannes de l'aspirateur au moyen de servo
				https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155
				https://www.tinkercad.com/things/lucVz8vXAQ2-ardfrcommandeaspirateur
*/

#include <Servo.h>

//------------------------------------ Vannes
struct vanneParamDef // Définition des paramètres des servo
{
	const int pwmPin; // Pin du signal PWM
	const int pwmFerme; // Impulsion minimum, position fermée
	const int pwmOuvert; // Impulsion maximum, position ouverte
	boolean siOuverte; // Si vanne ouverte
	const int ledVertePin; // Pin de la LED verte
	const int ledRougePin; // Pin de la LED rouge
	const int boutonPin; // Bouton On/Off
};
const int vanneLedEtatOn = LOW; // Etat pour allumer la LED
const int boutonEtatOn = LOW; // Etat du bouton pressé. PULLUP, un côté du bouton à GND
vanneParamDef vannesParam[] =
{
// Pin PWMmin PWMmax Ouvert led V ledR Bouton
	{2, 900, 2100, false, 6, 7, A0},
	{3, 900, 2100, false, 8, 9, A1},
	{4, 900, 2100, false, 10, 11, A2},
	{5, 900, 2100, false, 12, 13, A3},
};
const int vannesNombre = sizeof(vannesParam) / sizeof(vannesParam[0]); // Nombre de vannes

Servo vanneServo[vannesNombre]; // Création de l'objet vanneServo

void setup()
{
	Serial.begin(115200);

	for (int v = 0; v < vannesNombre; v ++) // Initialisation des servo
	{
		vanneServo[v].attach(vannesParam[v].pwmPin); // MIse en route du servo s
		
		pinMode(vannesParam[v].ledVertePin, OUTPUT);
		digitalWrite(vannesParam[v].ledVertePin, !vanneLedEtatOn); // Eteindre la LED
		
		pinMode(vannesParam[v].ledRougePin, OUTPUT);
		digitalWrite(vannesParam[v].ledRougePin, !vanneLedEtatOn); // Eteindre la LED

		pinMode(vannesParam[v].boutonPin, INPUT_PULLUP); // PULLUP, un côté du bouton à GND
	}
	
	vanneOuvrir(-1); // Tout fermer
}

void loop()
{
	int boutonPresse = boutonsLecture();
	if (boutonPresse != -1) // Si au moins 1 bouton pressé
	{
		Serial.println(boutonPresse);
		if (boutonPresse == -2) // Si reset
		{
			vanneOuvrir(-1); // Tout fermer
		} 
		else
		{
			vanneOuvrir(boutonPresse); // Ouvrir la vanne
		}
		Serial.println("OK");
		boutonPresse = -1;
	}
}

//------------------------------------- Ouverture de la vanne vanneNum
// vanneNum -1 = tout fermer
void vanneOuvrir(int vanneNum)
{
	for (int v = 0; v < vannesNombre; v ++)
	{
		Serial.print("Vanne" + String(v) + "\t");
		if (vanneNum != -1) // Si pas tout fermer
		{
			if (v == vanneNum) // Si c'est la bonne vanne, on ouvre
			{
				vanneServo[v].write(vannesParam[v].pwmOuvert);
				vannesParam[v].siOuverte = true;
				Serial.println("OUVRIR");
			} 
			else // Autrement on ferme
			{
				vanneServo[v].write(vannesParam[v].pwmFerme);
				vannesParam[v].siOuverte = false;
				Serial.println("FERMER");
			}
		} 
		else
		{
			vanneServo[v].write(vannesParam[v].pwmFerme); // On ferme tout
			vannesParam[v].siOuverte = false;
			Serial.println("FERMER*");
		}
	}
	vannesLedEtat();
}

//------------------------------------- Allumage des LED en fonction de l'état de la vanne
void vannesLedEtat()
{
	for (int v = 0; v < vannesNombre; v ++)
	{
		if (vannesParam[v].siOuverte)
		{
			digitalWrite(vannesParam[v].ledRougePin, vanneLedEtatOn); // Allumer la LED
			digitalWrite(vannesParam[v].ledVertePin, !vanneLedEtatOn); // Eteindre la LED
		} 
		else
		{
			digitalWrite(vannesParam[v].ledRougePin, !vanneLedEtatOn); // Allumer la LED
			digitalWrite(vannesParam[v].ledVertePin, vanneLedEtatOn); // Eteindre la LED
		}
	}
}

//------------------------------------- Retourne -1 si pas de bouton pressé
// Retourne -2 si fonction reset (les 2 extrêmes pressés)
int boutonsLecture()     
{
	if ((digitalRead(vannesParam[0].boutonPin) == boutonEtatOn) && (digitalRead(vannesParam[vannesNombre -1].boutonPin) == boutonEtatOn))
	{
		return -2; // Pour reset
	}

	for (int v = 0; v < vannesNombre; v ++)
	{
		if (digitalRead(vannesParam[v].boutonPin) == boutonEtatOn) // Si ce bouton est pressé
		{
			return v;
		}
	}

	return -1;
}

```

A+  
Bonne et belle journée  
jpbbricole

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 8, 2023, 1:21pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/18 "2023-11-08T13:21:50Z")

</div>

Bonjour,

Un tout grand merci pour le programme...  
Je ne suis pas à la maison pour l'instant, j'essaie cela dès que je rentre et je te tiens informé, ou si j'ai des questions  
Un tt grand merci:)  
Laurent

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 8, 2023, 1:22pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/19 "2023-11-08T13:22:50Z")

</div>

Je vais essayer d'y intégrer l'écran maintenant,,,  
A mon avis cela va pas être simple...

---

<div class="post-metadata">

**Author:** ![log6330](https://avatars.discourse-cdn.com/v4/letter/l/ce73a5/32.png) [@log6330](https://forum.arduino.cc/u/log6330)\
**Post date:** [November 8, 2023, 2:52pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/20 "2023-11-08T14:52:09Z")

</div>

Re Bonjour,  
Désolé, mais je ne connais pas ton prénom...  
Je suis rentré en vitesse pour essayer cela 🙂  
J'ai refais le schéma chez moi sur tinkercad, voir photo  
L'écran se branche en Tx et Rx soit 0 et 1, j'ai fait l'interface graphique, je vais essayer le code...  
Pourquoi des diodes en 330Ohm et pas 220Ohm ?

Il faudra juste régler la position des servos, car quand plus de courant, ils se mettent à une position bizarre... ou c'est juste à cause de la simulation ?

Dois-je prévoir une autre alimentation pour l'écran, je suppose que c'est préférable.  
Je peux utiliser du câble d'alarme pour câbler le tout, ou la section est trop fine ?  
Je vais modéliser tout ca sur une platine d'essai et essayer.  
Encore un tout grand merci, je ne sais que faire pour te remercier  
Merci  
Laurent

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/a/c/9/ac95bed91ad2c7c59d323f2ec0777b466da0c0c6.png)

---

<div class="post-metadata">

**Author:** ![terwal](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/terwal/32/1098571_2.png) [@terwal](https://forum.arduino.cc/u/terwal)\
**Post date:** [November 8, 2023, 3:00pm UTC](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155/21 "2023-11-08T15:00:11Z")

</div>

> [@log6330](#):
>
> Désolé, mais je ne connais pas ton prénom...

J'aurais dit au hasard JP ??? 🙂

[Next page](https://forum.arduino.cc/t/commande-pour-aspirateur-copeaux-ouverture-vannes/1186155.md?page=2)
