DRO Arduino vers Excel et retour

  • Auteur de la discussion jpbbricole
  • Date de début
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 248
Corsier-sur-Vevey (Vaud)
  • Auteur de la discussion
  • #1
Bonjour à tout les mordus d’Arduino.

Ce petit exercice pour démontrer que faire du traditionnel et très utile Serial.println(blabla) autre que l’afficher dans la console de l’IDE Arduino. Pour cela j’ai pris :

1 pied à coulisse électronique PAC (chinois à 6,5$)
upload_2016-6-3_21-40-35.png

équipé d’un connecteur
upload_2016-6-3_21-41-17.png

ainsi que d’une touche sensor
upload_2016-6-3_21-42-2.png

L’arduino Pro Micro (Leonardo en miniature)
upload_2016-6-3_21-42-32.png

Equipé d’une LED tricolore

Du côté du PC il y a au choix:

Un programme terminal
upload_2016-6-3_21-43-59.png

Ou une feuille Excel
upload_2016-6-3_21-45-2.png

Qui permet de traiter les valeurs lues sur le PAC et d’en déduire des actions à renvoyer à l’arduino.

Pour faire dialoguer tout ce petit monde, j’ai défini un petit langage qui passe par la communication série, il est pour le moment assez succint, mais peut facilement évoluer.


Les ordres Arduino vers PC sont :
XLS,VAL,0,2207
XLS = destinataire
VAL = je transmet une valeur
0 = reserve
2207 pour 22.07 mm

XLS,KEY,0,0
KEY = indication de touche sensor pressés.

Les ordres PC vers Arduino sont :
ALERTE,ROUGE,77
ALERTE = fonction décodé dans l’Arduino comme allumage de la LED tricolore
ROUGE ou VERT ou BLEU = couleur de la dite LED
NOIR éteind la LED Tricolore
77 = intensité de la couleur (0-255)

Ainsi, quand, dans le cas Excel, la valeur reçue est testée entre les valeurs minimum et maximum on peut envoyer, en écho, la coloration résultante du test et de par là créer la réaction désirée dans l’Arduino.

Cette feuille Excel est dérivée de l’excellent travail de Roberto Valgolio, un Grand Merci à lui.

En effet, autant il est facile d’envoyer des données sur le port série avec VBA Excel, autant c’est difficile d’en recevoir.
La manipulation de la feuille Excel, si vous désirez modifier les test ou autre, nécessite des connaissances en VBA. Les valeurs Minimum et Maximum se changent sans autre.

ATTENTION, avant tout si vous travaillez sur la feuille Excel ou sur le Terminal, si l’IDE Arduino est ouvert, désactivez le moniteur série.

Un façon plus simple de « manipuler » l’Arduino est avec le programme Terminal.
Le répertoire de ce programme est dans le Zip et il suffit de le copier.

Sélectionnez le port et la vitesse 28800
upload_2016-6-3_21-48-2.png

Activez, si nécessaire le DTR
upload_2016-6-3_21-48-27.png

Cliquez Connect.Cliquez sur Set Macro
upload_2016-6-3_21-48-57.png

Si cela ne ressemble pas à ceci, chargez le fichier de paramètres DigitalCaliper.tmf livré dans le Zip
Cliquez le boutons M1,M2… pour envoyer les commandes. $0A est un code interne pour envoyer le code ASCII Nouvelle ligne ou 10 en décimal.

Du côté du programme Arduino, il n’est pas nécessaire d’utiliser un PAC, toute valeur à transmettre au PC (que soit un potentiomètre, un temps etc) doît être transmise sous la forme XLS,VAL,0,12345
Pour que Excel « encolonne » cette valeur, il faut envoyer XLS,KEY,0,0

Ouf !

Actuellement tout n’est pas absolument prêt.
Dans le Zip attaché, vous trouverez le programme Arduino (Pour PAC) ainsi que les librairies CapacitiveSensor et NeoPixel dans le dossier libraries et le programme Terminal.
Vous pourez déjà jouer avec cela.
Je vais préparer un version Arduino UNO pour potentiomètre qui sera plus facile d’emploi.
Ainsi que le schéma.

Et pour terminer, une petite vidéo.
Voir la pièce jointe DigitalCaliperKit.zip
 
Dernière édition:
wika58
wika58
Compagnon
17 Déc 2006
13 109
FR-54560 Lorraine
Très prometteur tout cela :smt038
 
pinou29
pinou29
Compagnon
18 Mar 2009
2 877
Toulon ( Var )
Bonjour.
Je suis, bien entendu.
Merci.
Bernard.
 
wika58
wika58
Compagnon
17 Déc 2006
13 109
FR-54560 Lorraine
@jpbbricole,
Qu'utilises-tu comme interface électrique entre l'Arduino et le PAC (Pied à coulisse (F) = Calibre (CH)... :-D)?
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 248
Corsier-sur-Vevey (Vaud)
  • Auteur de la discussion
  • #5
@wika58
C'est très simple
upload_2016-6-4_6-18-7.png

et dans le programme
upload_2016-6-4_6-18-28.png

Le branchement
upload_2016-6-4_6-19-0.png


Je fournirai, prochaînement, le schéma au format Eagle
Bonne journée
 
Haut