Malgré, pas mal de recherches je ne parvient pas à trouver de solution claire qui me convienne.
Je viens vers vous car je souhaiterais utiliser un capteur de distance (qui est un capteur à ultrasons pour l'instant mais qui est voué à évoluer vers un capteur laser).
Le capteur se trouverais à une distance comprise entre 10 et 30m de mon Arduino principal. Mais voila je ne sais pas comment faire pour transmettre les informations à mon Arduino
Je précise que j'ai penser à utiliser un module 2.4ghz type NRF24L01 mais je préfère écarter cette solution dans un premier temps car cela complexifierais le projet du point du vue de l'utilisation.
Pour l'alimentation du capteur je compte utilise une alimentation 12v que j'abaisserais par la suite afin de ne pas avoir à se soucier des problèmes de chute de tension, mais qu'en est il des signaux ? J'ai lu qu'il existait des amplificateur, est-ce une solution viable ? Comment la mettre en place ?...
Je suis évidement ouvert à d'autres propositions.
Ok ok, après un peu de réflexion je me dit que ça serait pas mal de partir sur un petit microcontrôleur au niveau de mon capteur qui s'occuperais de faire les petits calculs nécessaires et qui enverrais la mesure de la distance directement via communication série à mon Arduino
Ce qui permettrais en plus de limiter le nombre de fils dans mon câble entre le capteur et l'Arduino (et donc le cout du câble)...
En quoi cela complexifierai l'utilisation?
Pour des distances de 10 à 30 mètres, ce serai même une très bonne solution. Bien sûre, il y a quelques lignes de code supplémentaire.
Tu a raison cela ne complexifie pas en soit le projet, c'est plutôt que je préfère limiter l'électronique au niveau de mon capteur au stricte minimum, car il se situera dans un endroit plutôt difficile d'accès donc si il y'a des problèmes c'est pas super...
D'autant plus que quoi qu'il arrive le câble qui alimente mon capteur devra passer par mon Arduino principal, je trouve donc dommage le fait qu'il faille passer un câble et quand même devoir utiliser une connexion sans fil
Après l'analyse que j'en fait est purement subjective, et de toutes façons si je ne trouve pas d'alternative c'est ce que je devrais faire, c'est juste que ça m'embête un peu
Ne trouves-tu pas que parler moyen de communication sans rien connaitre du capteur qui sera utilisé, c'est un peu parler du sexe des anges ?
Ne trouves-tu pas qu'il serait bon de commencer par établir la liste des capteurs existants qui conviennent à ton application en listant avantages et inconvénients ?
Il dit que l'alim du capteur devra venir de l'arduino (je ne sais pas pourquoi mais c'est son affirmation)
S'il a une ligne 5V et GND qui vont jusqu'au capteur, je ne vois pas pourquoi il ne pourrait pas avoir 2 câbles en plus (en direct si ça passe, en R485 si besoin d'un boost, ...)
mon dernier montage (en cours d'installation) ressemble à cela
on peut voir sur l'écran du Core2 dans l'abri de jardin des infos sur la hauteur d'eau dans la cuve (et d'autres trucs concernant les arrosages, la gestion de la pompe etc).
La liaison avec le capteur étanche se fait en RS485
Les informations ou commandes sont relayées vers un autre core 2 qui est dans la maison en LoRa et ce module est rendu accessible via internet en Wi-Fi ce qui me permet de voir les infos directement dans HomeKit sur mon iPhone / iPad / Mac (il y a un RPi en plus sur le réseau dans la maison qui fait bridge) avec une interface web de commande.
que l'alimentation passe par l'arduino de la station principale
que comme il y a déjà un câble d'alimentation, pourquoi ne pas faire passer la communication par ce même câble
Ce serait intéressant de connaitre l'interface du capteur s'il faut limiter au maximum le matériel coté capteur mais bon sur 30m il faut quand même quelque chose d'un peu robuste.
Donc on pourrait proposer une liaison RS422 (ou RS485) + alimentation dans du fil de téléphone ou du câble réseau. Ces câbles sont relativement bon marché surtout le fil de téléphone mais il est un peu moins bon dans le sens ou il n'est pas blindé. Ces types de câble possèdent 4 paires donc si on réserve une paire pour l'alimentation il reste trois paires pour la communication ce qui restreint le choix de l'interface électrique entre le capteur et la station principale.
Pour la liaison, si elle est unidirectionnelle le RS422 ou RS485 sont très robustes et faciles à mettre en œuvre.
Si la liaison est bidirectionnelle le RS485 peut être un peut plus délicat puisqu'il faut gérer le basculement émission/réception.
Ces 2 standards fonctionnent en 5V et on trouve facilement des modules d'interface dans le commerce.
j'ai fait valider le look du prototype (ici purement en UART. la liaison finale passe dans un câble ethernet cat 6 où les paires inutilisées sont à GND et il y a des modules RS485 pour la partie transport des deux côtés)
tous les câbles bien sûr passent dans une gaine d'électricien.
le Core2 est monté sur un module Lora + M5GO Battery Bottom2 et il y a une "Battery Bottom Charging Base" enfin au bout.
cette base comporte l'alimentation USB-C qui recharge la batterie qui alimente le système
elle est vissée sur le mur de l'abri de jardin et comme le Battery Bottom2 est magnétique on peut venir simplement poser le système dessus. C'est ce Battery Bottom2 qui comporte sur le port C la sortie Serial2 qui me sert à aller vers le capteur de distance
Quand je disais "la même à la maison" je pensais à mon épouse favorite qui fait les mêmes remarques
Retour au sujet.
Je suis un peu tétu et j'insiste, la solution pour un HC-SR04, qui est un cas particulier, ne sera pas la même si le capteur est optique (I2C ? SPI ?).
J'ai vu qu'il existe des convertisseurs I2C/RS485, SPI je ne sais pas. C'est dans une autre gamme de prix qu'aliexpress.
Il est dit dans le premier message que l'évolution vers un capteur optique est d'ores et déjà prévue.
Il faudrait que @dorianarduino soit un plus précis sur ses intentions a plus long terme.
Edit : Autre remarque : Tension d'alimentation.
En fonction du diamètre du fil et du courant qui circule dans le fil il n'est pas assuré qu'au bout de 30 m il n'y aura pas de perte de tension.
Si on a le diamètre du fil, sa longueur et le courant max qui y circule, cette donnée peut être estimée.
Sans objet je n'avais pas tlté sur le fait que le 12 V était justement pour palier à cet inconvénient
Merci pour toutes vos réponses, après quelques recherches supplémentaires par rapport aux axes de réflexions que vous m'avez donner je vais partir sur un petit convertisseur RS485, qui devrait parfaitement correspondre à ce que je recherche.
Pour préciser un peu par rapport à vos interrogations :
Le projet se base pour l'instant sur un capteur à ultrasons pour mesurer la distance, sauf que dans le futur j'aurais surement deux ou trois autres exemplaires à faire, le problème étant que pour ces futurs exemplaires il faudra mesurer des distances qui n'entrent pas dans la plage du HC-SR04 il faudra donc changer de capteur.
Pour simplifier le fonctionnement j'ai donc pris la décision de mettre un petit microcontrôleur au niveau du capteur afin d'avoir juste la partie "récupération" de la distance à changer lorsque je changerais de capteur
Dans tous les cas merci encore pour vos réponses qui m'on bien aguillées !