[SCRIPT VB] ARDUINO & thermistance , conversion de valeur °C

La section pour partager vos scripts et demander de l'aide dans vos scénarios.

Modérateur: HoMIDoM

[SCRIPT VB] ARDUINO & thermistance , conversion de valeur °C

Messagede stain_less » 27 Jan 2015, 06:41

Bonjour,

Voici un petit script vb pour homidom que j'ai réaliser afin de convertir les données issue d'un pin analogique (driver arduino) en degrés celsius .

Le script se base sur la Relation de Steinhart-Hart (http://fr.wikipedia.org/wiki/Relation_de_Steinhart-Hart)

N'ayant pas trouver de prog tous fait en vb (la plus-part des script sont en c ou c++) je me suis baser sur une version c que j'ai adapter.

En espérant que ça vous sera utile ^^ :

Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Homidom
Imports System.Math <---- import de la bibliotheque pour les calcule

Namespace Dynam
Public Class DynamicCode

Public Function ExecuteCode(paramarray prmParameters() as object) as object
Dim Serveur as Homidom.Homidom.server
Dim IdSrv as String="123456789" 'ID du serveur
Dim Device as Homidom.Homidom.TemplateDevice 'représente le composant
Dim x As New HoMIDom.HoMIDom.DeviceAction

Serveur=prmParameters(0) 'Recupère le serveur

'Recupère le composant de type APPAREIL ayant pour ID: 7a8ca6c0-6d96-4760-bfd6-3d21ea0935bd
Device=Serveur.ReturnDeviceByID(IdSrv,"7b75b888-df7b-4028-9ba3-5462ecb59dea") ' -mettre l'id de son composant

If Device IsNot Nothing

'MessageBox.Show("Le composant " & Device.Name & " a pour valeur: " & Device.Value)

'log en info
Serveur.log(1, 2, "Le composant " & Device.Name , " a pour valeur: " & Device.Value)

'calculate from voltage divider, for 10k resistor
Dim resistance AS double = ((1024.0/Device.Value) - 1)
Dim Temp As double
Temp =( log(resistance))
Dim Temp2 As double
Dim Temp3 As double
Temp2 = 1 / (0.003354016 + 0.0002569850 * Temp + 0.000002620131 * Temp * Temp + 0.00000006383091 * Temp * Temp * Temp)
Temp3 = Temp2 - 273.15

Serveur.log(1, 2, "INFOS DEBUG VB " , "La temperature est de : " & temp3 & " °C")

End If

End Function

End Class

End Namespace
stain_less
Membre Actif
 
Messages: 18
Inscription: 23 Jan 2015, 08:59

Re: [SCRIPT VB] ARDUINO & thermistance , conversion de valeu

Messagede NĂ©o32 » 02 FĂ©v 2015, 18:12

Bonjour stain_less,

Merci pour le partage, j'ai juste une petite remarque, je vois que tu as un MessageBox dans ton code

il ne faut pas surtout pas utiliser des messages box !!! Homidom est fait pour tourner en service windows (donc sans affichage) et la console est la uniquement Ă  des fins de debug...

Les dév ont supprimé du serveur tout ce qui est graphique (interaction utilisateur, messagebox...) pour que le programme ne plante pas en mode service... souvent les messages box restent chargés mais non affichés et cela peut bloquer le programme...
et les logs marchent aussi bien en lançant en mode console (visualisation directe des logs) et une fois le script OK, on relance en service :)

Merci :D

Pascal
HoMIDoM- Le système complet et gratuit de domotique pour la maison
Avatar de l’utilisateur
NĂ©o32
Dieu de domotique
 
Messages: 680
Inscription: 07 Jan 2013, 08:09
Localisation: Charleroi (Belgique)


Retourner vers Scripts VB

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique