Go Down

Topic: Ajouter un module ESP8266 à un Arduino ou utiliser un nodeMCU ? (Read 471 times) previous topic - next topic

jcd21

Bonjour.
J'utilise un arduino uno pour réaliser un dispositif qui permet de fermer une fenêtre à une heure donnée:
- j'ai un moteur pas à pas qui fait un tour toutes les 24h avec ce driver:
driver moteur Le moteur a une alimentation à part.
- j'ai un module RTC DS1307 qui permet d'avoir l'heure
- un bouton poussoir qui permet d'allumer une diode pour éclairer quand il fait nuit

Tout fonctionne mais j'aimerais maintenant pouvoir régler l'heure de déclenchement sur un PC ou un smartphone en wifi. J'utiliserais un module ESP8266 comme serveur pour créer des pages web dynamiques envoyées au PC ou au smartphone.
Je ne m'y connais pas trop en hardware et j'aimerais savoir quelle est la solution la plus simple:
- garder l'arduino et ajouter le module ESP8266  (mais vu la doc que j'ai trouvée, ça a l'air d'être un peu une usine à gaz ?)
- remplacer l'arduino par un module nodeMCU ESP8266 mais il va y avoir un problème de tension avec le module RTC et peut-être aussi avec le driver de moteur?
C'est sûr que je préférerais la deuxième solution mais je risque de bloquer au niveau du hardware: comment gérer la tension du nodeMCU et les tensions de 5V, y a-t-il des tutos bien expliqués (je n'ai pas trouvé d'explications satisfaisantes) ?
Merci pour les réponses.

Zlika

Boujour,

Pour le driver moteur, pas de problème. Il fonctionne en 3,3V.
Pour la RTC, votre lien indique qu'il ne fonctionne pas en dessous de 4,5V.
Mais pas de panique, vous pouvez utiliser le RTC DS3231 compatible 3,3V et bien plus précis dans le temps.

Il ne reste plus qu'à recompiler le programme pour le nodeMCU après avoir modifié le choix des pins en fonction de leurs fonctions.

Une fois que cela fonctionne à nouveau, il ne reste plus qu'à ajouter la partie serveur Web.

Édit: vous pouvez faire un premier test de compilation avec l'IDE arduino pour voir si votre programme compile pour un nodeMCU. ;). Mais en dehors des broches et de la bibliothèque du RTC, je pense que ça ne posera pas de problème.
Si ça coince, forcez. Si ça casse, ça devait probablement être réparé, de toute façon.

CelticLord

Apparemment ton driver peut etre alimenté de 3 a 5.5v
Il paraît que le ds1307 peut fonctionner en 3.3v mais j ai un sérieux doute
A confirmer...
Tu peux aussi relier ton arduino en série avec un diviseur de tension sur tx, pas besoin sur rx
Ou mieux un module port serie radio hc-12 de chaque côté Arduino et esp et la plus de problème de tension

hbachetti

Besoin d'un RTC avec un ESP8266 ?

Utilise plutôt NTP.

Et surtout vire l'ARDUINO. Le NodeMCU peut tout faire à sa place.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Zlika

L'utilisation du NTP nécessite d'être connecté sus un réseau relié à internet. Si c'est possible, pourquoi pas...

Édit : personnellement, je garderai le RTC pour rendre le montage insensible à l'absence de connexion internet.
Je garderai néanmoins le NTP pour le réglage automatique de l'heure.
Si ça coince, forcez. Si ça casse, ça devait probablement être réparé, de toute façon.

jcd21

Merci pour vos réponses.
Je vais donc m'orienter vers un module nodeMCU à la place de l'Arduino, avec un module RTC DS3231 et aussi utiliser un serveur de temps pour régler l'heure de temps en temps (mon réseau wifi est connecté à internet, donc c'est bon...).

J'ai encore une question: le driver de moteur est branché sur ce support.

L'alimentation est de 5V, c'est bien précisé sur le circuit imprimé. Est-ce que ça peut poser un problème si je branche du 3,3V ?

D'après ce que j'ai lu sur le premier message de Zlika, les bibliothèques que j'utilise avec l'Arduino seront compatibles avec le module nodeMCU (à part les pins, etc...), c'est bien ça ?

Edit: je viens de compiler mon code (qui marche avec Arduino) pour le nodeMCU 1.0 et il y a un souci avec la bibliothèque DS1307RTC.cpp (ça tombe bien, je ne vais pas l'utiliser). J'espère que les bibliothèques dont j'ai besoin sont compatibles avec le nodeMCU ;)

hbachetti

Quote
Je garderai néanmoins le NTP pour le réglage automatique de l'heure.
Pourquoi pas ?

Dans un système digne de ce nom :
- heure système : l'oscillateur du microcontrôleur
- un RTC
- NTP pour mettre à l'heure les deux précédents régulièrement

Quote
L'alimentation est de 5V, c'est bien précisé sur le circuit imprimé. Est-ce que ça peut poser un problème si je branche du 3,3V ?
Avec un schéma, ce serait mieux.

Mais tu peux alimenter le NodeMCU en 5V sur VIN. Il a son petit régulateur.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Zlika

Le support est juste une plaque pour vous faciliter la connexion entre votre driver, votre carte de commande, votre alimentation pour le moteur et votre moteur. En prime, des switchs pour choisir le pas du moteur.
Dans la mesure où votre driver supporte le 3,3V, vous devrez appliquer cette tension sur la broche marquée 5V. c'est juste une indication pour dissocier l'alimentation partie logique de la partie puissance moteur (marqué 9V mais votre drivers support de 8V à 35V).



Vous remarquerez que le condensateur de 100 μF est sur votre support.
Le mieux et de tirer le 3,3V et le GND disponibles sur le nodeMCU.

Pour la bibliothèque RTC, il sera nécessaire d'indiquer le type de composant utilisé (ds3231 à la place de ds1307) si elle est compatible.

Edit : le ds3231 dispose d'une broche qui peut servir à déclencher une interruption sur le nodeMCU grâce à 2 alarmes programmables. Cela évite de regarder en permanence l'heure ;).
Si ça coince, forcez. Si ça casse, ça devait probablement être réparé, de toute façon.

jcd21

Merci bien pour la réponse :)
Pouvez-vous me conseiller une bibliothèque pour le DS3231 qui soit compatible avec le nodeMCU ?

kamill


jcd21

Merci à tous pour vos réponses.
Je repasserai quand j'aurai acheté le matériel... ;)

jcd21

Bonsoir. J'ai encore une question au sujet de l'alimentation.
Je compte acheter ce nodeMCU que je vais alimenter par le port micro USB.
Il n'y a pas d'indication sur la consommation.
Je vais brancher dessus une diode (pour éclairer), un module RTC et un driver de moteur pas à pas (le moteur a sa propre alimentation, donc il ne faut pas le compter ?).
Est-ce que 1A ça suffira ou il faut prévoir plus ?

lesept

Si tu peux attendre un mois pour la livraison, tu trouveras sur Aliexpress des NodeMCU autour de 2 euros, prends la v3, et des RTC DS3231 à moins d'un euro...
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

hbachetti

NodeMCU consomme < 500mA pendant la connexion WIFI.
Le reste est négligeable (hors conso moteur).
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

jcd21

OK, je vais prendre 1A et je vais jeter un coup d'œil sur Aliexpress.
Merci bien.

Go Up