Je suis actuellement sur un petit projet qui consiste à communiquer entre deux Arduino via des modules 433Mhz.
Le but étant d'envoyer des données, puis de les afficher sur un écran OLED type SSD1306/SH1106.
Ma configuration actuelle pour les essais :
2 cartes arduino
module rx et tx 433Mhz bon marché (FS1000A)
écran 1.30" driver SH1106
Ma configuration à terme :
1 attiny85 pour la transmission des données
1 esp8266 pour la réception et affichage des données
--> ceci en utilisant les mêmes modules 433mhz et écran
Pour la transmission et réception des données j'utilise la bibliothèque virtualwire.
Cependant, dés que j'essai d'ajouter l'écran en I2C, le programme ne tourne plus du tout.
Je pense qu'il doit y avoir une interférence entre la bibliothèque virtualwire (utilisation de timer ???) et l'utilisation I2C.
J'ai également essayer d'utiliser un écran en SPI mais cela ne fonctionne pas mieux.
Auriez-vous des idées, autre bibliothèque à utiliser pour ce projet ?!
Eux aussi autour de 433MHz, les petits modules HC12 remplaceraient avantageusement, dans la réalisation décrite les modules 433,92MHZ en modulation OOK ou ASK qui ont fait leur temps. En 40 ans la technologie a évolué.......
Ceci dit la distance de la liaison radio et la nature son environnement sont à prendre en compte.
Le choix des modules de communication est certes discutable, mais ils constituaient pour moi la meilleur solution technique/encombrement.
Avant tout, le but de ce projet est de concevoir un petit module de télémétrie pour voiture RC.
Envoyer des données de tension batterie (entrée ANA), température moteur (entrée ANA), adresse du module (entrée ANA dip switch avec pont diviseur pour sélectionner 4 adresses différente), et vitesse (encore à définir, mais utilisera certainement une entrée TOR).
Ce module se doit petit pour être facilement installé dans le modèle réduit, c'est pour cela que je me suis tourner vers un ATtiny85, ainsi que les modules 433Mhz car utilisant uniquement une sortie/entrée TOR pour le fonctionnement.
Les solutions que vous me proposez, je les avais déjà consultées, mais m'implique l'utilisation d'un contrôleur bien plus encombrant.
Au final, la distance de la liaison radio m'importe peu, car lors de mes tests je me suis rendu compte de la faible portée de ces modules, revoyant ainsi mes exigence du projet : pas grave s'il n'y a pas de réception de données toute les x secondes, je peu très bien imaginer rapprocher le modèle réduit dans la zone de réception pour mettre à jour les données.
Oui, ceci dit pour le moment aucun ATtiny de testé a l'heure actuelle.
Je fais mes essais sur des cartes arduino car plus simple pour brancher, tester etc.
Pas trop mal cette carte, je vais regarder cela de plus prêt.
Cela semble remplir les conditions avec peu être une communication ESP-NOW.
Est-il possible d'associer une com ESP-NOW + serveur web (accès via smartphone) sur l'ESP8266 qui réceptionne des données ?
A l'origine du projet, l'utilisation de l'ESP8266 est simplement de profiter du serveur web pour configurer le module simplement : type de batterie utiliser pour mise à l'échelle tension/capacité, enregistrer configuration de chaque modèle etc. ... voir à terme enregistrement de donnée avec courbe, mais là, c'est plutôt le coté inutile et amusement qui parle
Les ESP32 diversifiés remplacent avantageusement les ESP8266 (non recommandés par Espressif pour de nouvelles réalisations d'après la Data Sheet actuelle)
Juste un petit point d'inquiétude sur la tension d'utilisation 3,3V.
J'utilise un pont diviseur de tension pour lire la tension des batteries LIPO (allant de 8.4V à 16.8V en fonction du type de batterie utilisée, 2S/3S/4S).
Pont diviseur calibré pour la tension max de 16.80V. Avec une référence de 3.3V au lieu de 5V je crains perdre en précision sur des petites batterie.
vous voulez dire que vous transformiez 16.80V en 5V avec le pont ?
l'ADC du ESP32-C3 est sur 12 bits
cela dit attention si vous utilisez le WiFi sur votre ESP32-C3, à moins que je ne me trompe, vous n'aurez pas accès aux 4 pin "analogiques" - il me semble qu'il y en a 2 gérées par ADC2 et qui ne fonctionneront pas avec le WiFi activé ➜ à prendre en compte ou vérifier
La batterie 4S, fournissant jusqu’à 16.80V alimente le variateur.
Ce dernier fournit une sortie entre 6 et 7v pour alimenter les servos et récepteur du modèle réduit.
J'utilise cette tension pour alimenter mon module de télémétrie via un régulateur de tension type 78L05 (qui d’ailleurs sera remplacé par en entrée avec 6V je n'ai pas 5V en sortie ...)
Le pont diviseur est la uniquement pour mettre à l'échelle la tension batterie 16.80V vers 5V exploitable pour l'entrée analogique. Les masses étant commune.
EDIT :
Si seulement 2 entrées analogique dispo, je peux m'en sortir avec les autres entrée TOR libre en basculant mes dip switch dessus. J'ai utiliser un pont diviseur avec le dip switch pour utiliser qu'une entrée et avoir 4 adresses différente en fonction de la valeur de l'entrée analog
cela dit attention si vous utilisez le WiFi sur votre ESP32-C3, à moins que je ne me trompe, vous n'aurez pas accès aux 4 pin "analogiques" - il me semble qu'il y en a 2 gérées par ADC2 et qui ne fonctionneront pas avec le WiFi activé ➜ à prendre en compte ou vérifier
@J-M-L On se perd très facilement avec la diversification continue des cartes ESP32x
Dans le cas de l'ESP32-C3 seule l'entrée ADC associée au GPIO5 est indisponible lorsque le WiFI est actif