Étape 6: Macros
La feuille Excel contient deux macros : l’une permet de nettoyer les
zone pour démarrer le processus d’écriture. Il appelé par « Ctrl + i » tels que définis lors de sa création.
La deuxième macro démarre automatiquement le processus de lecture à l’aide d’une boucle. Le nombre de points à lire et lire l’intervalle spécifié sur la même feuille, dans les cellules « L1 » et « L2 ». Le maximum de vitesse de lecture est environ un échantillon par seconde, même si je n’ai pas de preuve concluante et peut être apparemment 4 ou 5/seconde, mais cela dépend de l’environnement.
Le nombre maximum de points à lire est limité par les presque 32 000 paires qui peuvent être représentées graphiquement, mais dans les nouvelles versions d’Excel, ce nombre pourrait être plus grand. La carte est utile, être possible d’ajouter d’autres calculs utiles comme maximum et minimum et tout ce qui est jugé approprié dans la vitesse de fonctionnement. Un graphique de tableau de bord peut également être implémenté.
Démarrer la Macro :
« Raccourci clavier : Ctrl + i
Void start()
ActiveSheet.Range("D4:E32005"). ClearContents
End Sub
Macro qui se lit :
Void temper()
' Macro enregistrée le 20/06/2016 par c
« lire la valeur d’esp8266 web
« Raccourci clavier : Ctrl + t
Ligne = 4' rang initial des données lues
Finale = ActiveSheet.Range("L2"). Valeur + 3 ' nombre de valeurs à lire
Retardo = ActiveSheet.Range("L1"). Valeur ' environ délai entre lectures
L: Range("A1"). Sélectionnez ' zone holdiing la requête
On Error Resume Next
Selection.QueryTable.Refresh BackgroundQuery: = False
ActiveSheet.Range (« D » & CStr(Row)). Valeur = Worksheets(1). Range("D1"). Valeur
ActiveSheet.Range (« E » & CStr(Row)). Valeur = Worksheets(1). Range("E1"). Valeur
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + Retardo
waitTime = TimeSerial (newHour, newMinute, newSecond)
Application.Wait waitTime
Ligne = ligne + 1
Si (ligne < Final) Then GoTo l :
End Sub
Cette macro copie le contenu de « D1 : E1 » vers la zone d’écriture.
L’utilisation de structure dépassée GOTO est dû au fait apparent que, « tout en » boucles interagit mal avec l’opération « requête » et risquerait de « s’accrocher », mais je ne suis pas sûr. La clause ON ERROR est essentielle parce que la connexion entre ordinateurs n’est pas garantie. En cas de perte de la connectivité, la valeur précédente est répétée. Autres solutions sont possibles. Dans l’exemple, a été défini à une courbe de tendance qui lisse 30 lectures. Sensibilité du capteur ici est d’environ 1/3 degrés en raison de la résolution de l’ADC.