Résolu sur le forum : spots GU10 sous laine de verre, boites DCL ou dérivation Wago accessible depuis les comblesMa panne diagnostiquée — réponse sous 48 h29 €
Le forum du club

Inès Dameron

259sujets
1 058réponses
87membres

Inès Dameron

Toutes mes réponses sur les forums

0 réponsedu plus ancien au plus récent
Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #4

Le pourquoi est bien celui indiqué plus haut : ton RTC doit fournir une référence continue, sinon le retour d’une heure crée des instants ambigus. Avec RTClib, où dimanche vaut 0, tu peux calculer les transitions européennes ainsi :
bool eteEurope(DateTime u) {
DateTime m(u.year(), 3, 31, 1, 0, 0);
DateTime o(u.year(), 10, 31, 1, 0, 0);
uint32_t debut = m.unixtime() – m.dayOfTheWeek() * 86400UL;
uint32_t fin = o.unixtime() – o.dayOfTheWeek() * 86400UL;
return u.unixtime() >= debut && u.unixtime() < fin;
}

Puis construis l’heure locale avec DateTime locale(u.unixtime() + (eteEurope(u) ? 7200UL : 3600UL));. Supprime tes deux anciennes corrections et n’appelle pas rtc.adjust() dans la boucle. Pour la porte, compare heure et minute, mais ajoute un verrou mémorisant la date de la dernière ouverture.

Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #8

Un relais peut convenir, mais je ne suivrais pas cette piste avant de connaître le courant de blocage et d’ajouter un interverrouillage matériel : deux relais actifs simultanément peuvent eux aussi court-circuiter le 12 V. Ici, les 1,8 V mesurés pendant le démarrage de l’Arduino expliquent déjà une commande indéterminée. Remplace les deux IRLZ44N de la branche, garde 68 Ω en série et 10 kΩ grille-source, puis impose 20 µs de temps mort dans le code. Mesure également le moteur bloqué moins de 500 ms ; si tu dépasses 6 A, la LRS-75-12 est sous-dimensionnée et une LRS-150-12, donnée pour 12,5 A, sera plus cohérente. Un module BTS7960 bon marché n’est pas automatiquement une solution : beaucoup supportent nettement moins que les 43 A imprimés.

Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #2

Clara a raison sur la chute de tension : le flash ajoute un appel de courant bref, simultané aux pointes de l’ESP32 et de la caméra. Le condensateur de 1 000 µF ne compense pas une résistance excessive du câble ; vérifie aussi qu’il est bien sur l’entrée 5 V, et non sur le rail 3,3 V. Je te conseille deux fils de 0,5 mm² de moins de 30 cm, le 1 000 µF avec une tension nominale d’au moins 6,3 V, plus un céramique de 100 nF directement entre 5V et GND. Mesure également le 3,3 V : s’il descend sous environ 3,0 V au switch du flash, le brownout explique le reboot. Ne désactive pas le détecteur logiciellement ; teste d’abord avec une alimentation réglée à 5,1 V et limitée à 1,5 A. Ton câble coupé contient-il des conducteurs très fins, type 28 AWG ?

Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #8

Je précise un point pour éviter une fausse manipulation : remplacer seulement #include <LoRa.h> par #include <RadioLib.h> ne suffit pas, car les API sont différentes. Dans RadioLib, une initialisation cohérente pour cette carte est radio.begin(868.0, 125.0, 9, 7, 0x12, 10, 8, 1.8), puis il faut vérifier le code de retour ; zéro signifie que l’initialisation a réussi. Active aussi la compilation détaillée dans les préférences : les lignes commençant par « -I » montreront immédiatement quelles bibliothèques l’IDE 2.3.4 utilise réellement.

Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #7

Il y a deux problèmes distincts. L’erreur actuelle signifie uniquement que le compilateur ne voit pas le fichier demandé ; la carte et le câble USB n’interviennent pas encore. Ensuite, même en restaurant LoRa.h, la bibliothèque de Sandeep Mistry ne pilote pas le SX1262 de la Heltec V3. Avec RadioLib, le câblage intégré se déclare ainsi :
#include <RadioLib.h>
SX1262 radio = new Module(8, 14, 12, 13);

Pour un premier essai en Bretagne, utilise 868,0 MHz, une bande passante de 125,0 kHz, SF9, CR 4/7 et une puissance de 10 dBm. Il faudra également activer le switch RF sur DIO2 et fournir 1,8 V au TCXO. Commence par compiler un exemple SX1262 vierge avant de reporter ton suivi de cuve.

Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #12

Puisque le moteur se verrouille, la puissance et SLEEP fonctionnent désormais. Avec AccelStepper en mode DRIVER, vérifie surtout que run() est appelé à chaque passage dans loop() : AccelStepper moteur(AccelStepper::DRIVER, 3, 2);, puis setMaxSpeed(400); setAcceleration(200); moveTo(800); dans setup, et uniquement moteur.run(); dans loop. Évite tout delay() dans cette boucle. Si le test manuel ne produit rien non plus, déplace STEP sur une autre sortie numérique et mesure les impulsions par rapport à la masse commune.

Portrait de Inès Dameron
Inès Dameron
modérateur
auteur du sujet #8

Le point bloquant est probablement déjà trouvé : RESET et SLEEP reliés uniquement entre eux restent au niveau bas à cause du rappel interne de SLEEP. Relie leur jonction au 5 V de l’Arduino, avec toutes les masses communes. Pour un test sans AccelStepper, fixe DIR puis envoie 200 impulsions sur STEP, chacune avec digitalWrite(STEP,HIGH); delayMicroseconds(1000); digitalWrite(STEP,LOW); delayMicroseconds(1000);. Si le moteur se verrouille mais ne tourne toujours pas, mesure ensuite les deux paires de bobines hors tension.