Réception 433Mhz et utilisation écran OLED

Bonjour à tous,

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 ?!

Merci d'avance.

La bibliothèque VirtualWire n'est plus maintenue depuis longtemps et a été remplacée par RadioHead

utiliser RadioHead sur un attiny85 est difficile suivant ce que vous voulez faire.

Il y a des montages qui peuvent fonctionner (cf ATtiny85 radio controller 433MHz tutorial), vous pouvez aussi explorer TinyHead

il y a des solutions plus "modernes" que des modules 433Mhz (Lora, ESP-NOW, ...)

Bonjour

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.

Merci pour vos réponse.

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.

ça veut dire que vous utilisez les 3 entrées analogiques du ATtiny85?

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.

Problème avec 3 entrées analogique sur le 85 ?!

pas à ma connaissance , le problème surviendrait à 4 entrées analogiques

Désolé si je suis un peu lourd pour proposer une alternative ........

ce genre de carte mesure un peu moins de 4mm2 et comporte le microcontrolleur 32 bits ET sa radio WiFI et Bluetooth 5

ça se programme avec l'IDE Arduino, permet les 3 entrées analogiques désirées......

si ça entre dans le modèle réduit cela permet de transférer l'info vers une carte ESP32 + Afficheur... voir même vers un smartphone

promis , je n'y revient plus :wink:

non - ça ne laisse pas bcp de pins pour faire autre chose (autre type de radio par exemple)

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 :slight_smile:

un exemple : ESP32: ESP-NOW and Wi-Fi Web Server Dashboard (Arduino) | Random Nerd Tutorials

ESP-NOW entre un ESP32-C3 d'un côté et un ESP8266 de l'autre côté , il faut s'assurer de la faisabilité.

ESP-NOW + vrai WiFi en point d'accès+serveur , il me semble avoir vu des réalisations de ce type

EDIT : c'était chez Random Nerd comme mentionné ci-dessus, voici l'exemple sur ESP8266
https://randomnerdtutorials.com/esp8266-esp-now-wi-fi-web-server

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)

Parfait, merci, je vais étudier cela.

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 :wink:

Dans le cas de l'ESP32-C3 seule l'entrée ADC associée au GPIO5 est indisponible lorsque le WiFI est actif

Source https://docs.espressif.com/projects/esp-idf/en/v4.4/esp32c3/api-reference/peripherals/adc.html, voir également le paragraphe ADC Limitations

la carte Xiao ESP32-C3 offre donc bien 3 entrées analogiques disponibles quand la radio est activée, A0 , A1 et A2
image

Merci pour la correction

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.