DRO Arduino vers Excel et retour

  • Auteur de la discussion jpbbricole
  • Date de début
J

jpbbricole

Compagnon
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$)

équipé d’un connecteur

ainsi que d’une touche sensor

L’arduino Pro Micro (Leonardo en miniature)

Equipé d’une LED tricolore

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

Un programme terminal

Ou une feuille Excel

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

Activez, si nécessaire le DTR
Cliquez Connect.Cliquez sur Set Macro

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:
P

pinou29

Compagnon
Bonjour.
Je suis, bien entendu.
Merci.
Bernard.
 
W

wika58

Compagnon
@jpbbricole,
Qu'utilises-tu comme interface électrique entre l'Arduino et le PAC (Pied à coulisse (F) = Calibre (CH)... )?
 
J

jpbbricole

Compagnon
@wika58
C'est très simple

et dans le programme

Le branchement


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

Sujets similaires

R
Réponses
55
Affichages
54 092
jacounet
Réponses
14
Affichages
37 062
osiver
S
Réponses
11
Affichages
14 584
midodiy
Réponses
150
Affichages
23 928
speedjf37
S
J
Réponses
265
Affichages
14 514
FLCV71
F
Réponses
7
Affichages
38 060
M1M1HRC10
Réponses
11
Affichages
2 374
wika58
W
D
Réponses
20
Affichages
15 019
demdandeinfos
D
J
Réponses
6
Affichages
4 489
lion10
J
Réponses
113
Affichages
23 750
sabeldom
S
J
Réponses
4
Affichages
3 854
bipbip30
W
Réponses
31
Affichages
9 308
jpbbricole
J
J
Réponses
1
Affichages
1 845
pinou29
P