Après avoir parcourus ce forum pas mal de temps à la recherche d'infos j'ai décidé d'apporter ma contribution

Objectif de base :
L'éclairage du marquee de ma jeutel me prenant la tête au bout d'un certain temps de jeu j'ai décidé de mettre un interrupteur pour l'éteindre.
Par contre ne souhaitant pas refaire de trou dans ma borne j'ai donc mis cet interrupteur à l’intérieur. Et vu que je suis faignant

Ayant déja pas mal manipuler l'arduino j'ai décider de réaliser un montage pour faire cela.
Au fur et a mesure de mon développement j'ai aussi donner d'autre application à ce montage.
Applications actuelles :
- On/Off de l'éclairage du marquee
- On/Off de l'éclairage de mes boutons lumineux selon le system (LED Blinky fait la même chose(en mieux
) mais le coût est largement au dessus de mon arduino )
- Allumage de l'écran au lancement de la session windows
- Un arduino MEGA ou NANO selon le nombre d'objet que vous voulez piloter(exemple de liens pour MEGA et NANO
- Des relais ou Transistors + résistances selon le type d'objet à piloter (pour moi c'est relais pour le marquee et l'écran et transistors + résistances pour les boutons). Les relais sont plus simple à mettre en ouvre mais coûte plus cher et font un léger bruit. Les transistors + résistance ne coute pas cher mais soont plus difficile à mettre en oeuvre (soudure, etc ...)
Exemple de relais :
[tab=30]Relais 5V standard (10A Max)
[tab=30]Relais 5V avec LED témoin (10A Max) - Un peu de fil, soudure, domino, etc pour le montage
Les fils rouges sont en 5 V, les rouges et blanc en 12 V. Le noir correspond à la masse. Attention la valeur des résistances est indicative mais ne sera surement pas valable pour votre montage ! Cela dépend de l'élément que vous allez piloter.

Logiciel nécéssaire:
- Le drivers USB-to-serial pour l'arduino (inclus dans l'ide Arduino ou en cherchant sur le web pour les arduino de chine !
)
- Le code pour l'arduino que j'ai écrit
- Un petit logiciel installé sur le PC capable de communiquer avec l'aduino. Après avoir essayer différente chose trouver sur le Web, le résultat étant peu convainquant j'ai décider d'en développer. je l'ai baptiser Com2Duino.exe

Com2Duino est donc un programme que j'ai développé en AutoIT

https://www.autoitscript.com/wiki/CommAPI
Ce programme est donc exécutable en ligne de commande afin de pouvoir l’exécuter de différent endroit simplement comme par exemple à partir d'un ahk.
Le programme est composé d'un fichier EXE et d'un fichier INI. Le fichier INI doit contenir les paramètres du port COM sur lequel l'arduino à été détecté par Windows.
Voici un exmple de fichier INI pour un arduino detecté sur le COM3 :
Code : Tout sélectionner
[COM]
SerialPort=3
BaudRate=9600
Parity=0
ByteSize=8
StopBits=1
XON=0
DSR=0
CTS=1
RTS=1
IDSR=0
De plus si vous souhaitez augmenter la vitesse de communication (ici 9600) il faudra le changer dans Windows mais aussi dans le programme de l'arduino à la ligne 11
Code : Tout sélectionner
Serial.begin(9600); //init connection série
A noter qu'avec 9600 les commandes sont déjà quasi instantanée !
Le programme accepte 2 paramètres :
- le premier est la liste des sortie à gérer avec l'action souhaité. La forme de se paramètre est la suivante :
numéro_de_sortie:action#numéro_de_sortie:action ...
numéro de sortie correspond à la sortie de l'arduino à piloter
action correspond à l'action souhaitée.Les actions disponibles sont on (on active la sortie) off (on désactive la sortie) reverse (on inverse l'état de la sortie on devient off ou off devient on).
Enfin le # permet de séparer chaque commande. - le deuxiéme est optionnel et permet de spécifier les paramètres du port COM en ligne de commande et donc de ne pas utiliser le fichier INI. J'ai ajouter cela dans le cas ou l'on veux gérer les paramètres du port COM de manière dynamique ou si l'on gère plusieurs arduino. Le format est le suivant :
Code : Tout sélectionner
"COM1: BAUD=9600 PARITY=N DATA=8 STOP=1 XON=OFF ODSR=OFF OCTS=ON DTR=ON RTS=ON IDSR=OFF"
En utilisant les paramètres COM du fichier INI:
Code : Tout sélectionner
com2duino.exe 3:on#4:on#5:on
Code : Tout sélectionner
com2duino.exe 3:on#4:on#5:on "COM3: BAUD=9600 PARITY=N DATA=8 STOP=1 XON=OFF ODSR=OFF OCTS=ON DTR=ON RTS=ON IDSR=OFF"
Fonctionnement:
On connecte l'arduino et On copie le soft Com2Duino sur le PC. On défini les paramètres du port COM de l'aduino dans le INI de Com2Duino.
Ensuite il suffit d’exécuter Com2Duino.exe avec les paramètre nécessaire en ligne de commande et le tour et joué !
Exemple:
J'ai un relais connecté sur le port 5 de l'aduino. Ce relais contrôle l'éclairage du marquee.
Je souhaite que le marquee s'allume au démarrage de Windows. Je vais donc ajouter dans le menu démarrer -> démarrage de Windows un raccourci vers Com2Duino avec les paramètres pour activer le port 5 de l'arduino qui alimentera le relais connecté sur ce port.
Voici la ligne de commande qui devra être exécuter pour faire cela :
Code : Tout sélectionner
com2duino.exe 5:on
Cette ligne de commande pourrait être éxecuer d'une wheel(ce que j'ai fait) ou d'un ahk

Com2duino est capable d'envoyer 32 paramètres simultanément ! pour cela il suffira de sépararé les paramètres par un #. Exemple:
Code : Tout sélectionner
com2duino.exe 5:on#6:on#7:off
Enfin l'arduino comprend donc les paramètres on et off mais aussi un autre qui est reverse. Ce dernier inverse l'état du port. Si le port est ON il passera à OFF et vice versa.
C'est ce paramètre que j'utilise pour piloter mon marquee depuis la wheel hyperspin. A chaque fois que je lance le programme cela inverse l'état du marquee (allumé ou éteint)
Voila j’espère avoir été à peu prêt clair !
J'ai volontairement pas détaillé tout le System car je ne sais pas si cela peu intéressé d'autre personne

Si il y a des intéressé, je me ferait un plaisir de compléter ce tuto.
Pour ceux qui souhaiterais tester :
Le code Arduino : com2duino.ino
Le soft Com2duino : com2duino.zip