Ma réponse arrive peut-être un peu tard mais bon. Je ne pense pas que cela soit possible sans modif. du sketch.maitrje a écrit :Bonjour à tous,
Nouveau sur le forum même si je le parcours avec intérêt depuis plusieurs mois.
Je me suis équipé il y a environ 2 mois avec RPI 2 sur lequel j'ai installé Jeedom et tout se passe bien. Plusieurs détecteurs de fumée Fibaro connectés, des volets Somfy RTS avec un Rfxtrx433E, interfaçage avec un WES 2 pour récupérer la Téléinfo, la conso d'eau, les différentes temp de ma VMC double flux, etc, que du bonheur !
Je m'attaque maintenant à la récupération d'infos à partir d'un Arduino.
J'ai un montage à base d'Arduino Uno qui permet de récupérer la hauteur d'eau dans ma cuve de récupération grâce à un capteur à ultra-sons.
Tout fonctionne bien côté Arduino et j'affiche bien sur le LCD de l'Arduino la hauteur d'eau de ma cuve.
Forcément, je veux maintenant connecter l'Arduino à Jeedom pour récupérer cette info dans Jeedom et pouvoir m'en servir dans différents scénario.
J'ai donc installé le plugin Arduidom, chargé le sketch fournit avec et l'arduino est détecté.
Ma question porte sur la meilleure façon de parvenir à mes fins. En effet pour activer le capteur à ultrasons, j'ai besoin de 2 ports digitaux de l'arduino, le premier sur lequel j'envoie un signal trigger d'environ 10ms et le second sur lequel je lis la réponse sous la forme d'un signal dont la durée est proportionnelle au temps qu'a mis l'echo pour revenir (PWM), on en déduit la distance.
Peut-on faire directement ces actions à partir du plugin Arduidom ou faut-il mieux insérer le code qui pilote le capteur dans le sketch Arduidom et remonter le résultat à Jeedom à travers une CustomValue ?
Merci d'avance pour vos avis éclairés
Dans Le Skeck tu peux mettre ton code dans la méthode : customHook() si tu as besoin de temp réel pour faire ta mesure c'est peut-être bien de stopper la réception radio le temps de ta mesure comme cela (si tu as de la radio ) : J'imagine que tu n'a pas besoin de faire la mesure en permanance, dans ce cas il faudra mettre un timer cas la customHook est appelée à chaque tour de loop.
Code : Tout sélectionner
void customHook () {
// stop radio
mySwitch.disableReceive();
//// ton code
// start radio
if (RadioRXpin == 2) mySwitch.enableReceive(0);
if (RadioRXpin == 3) mySwitch.enableReceive(1);
#if defined(__AVR_ATmega168__) ||defined(__AVR_ATmega168P__) ||defined(__AVR_ATmega328P__) ||defined(__AVR_ATmega32U4__)
#else
if (RadioRXpin == 21) mySwitch.enableReceive(2);
if (RadioRXpin == 20) mySwitch.enableReceive(3);
if (RadioRXpin == 19) mySwitch.enableReceive(4);
if (RadioRXpin == 18) mySwitch.enableReceive(5);
#endif
}
bonne soirée,
chevalir