Conception d'un nichoir connecté ! soucis de LED IR modulé !

peut on envisager un algorithme d'égalisation usure générique , indépendant de la structure page/secteur des diverses Flash ? Il me semble qu'il faut gérer les secteurs et par conséquent tenir compte de leur taille

Oui, on peut :

mais , sur un esp, je profiterais du spiffs, plutôt que de lui chiper de l'espace dédié

sur un avr, s'il a une carte SD, j'utiliserais ladite carte SD (une entrée de fichier "ne mange pas de pain")

en post 80, j'ai envisagé... des records binaires fortran, où on peut detecter la fin du fichier: l'information utile est le dernier record pas vide, et on écrit après la fin du "fichier", garantissant une écriture uniforme si les données de configuration ne sont pas trop grosses ... mais je n'ai jamais testé, faute de besoin criant (pas de mésanges à gérer) .

al1fch: Endurance Flash : Concernant le nombre garanti de cycles d'effacement en mémoire Flash je trouve le nombre 100.000 et non 10.000 pour les puces Winbond 25Q32 très souvent utilisées dans les modules ESP12 ou autres

Ben voilà, j'ai appris quelque chose aujourd'hui. j'étais jamais allé voir et j'avais bêtement appliqué l'information relative au Arduino courants (UNO,...) directement à l'ESP sans vérifier.. (pas très scientifique !)

Je me coucherai plus savant ce soir :)

Bonsoir. Eh bien que de lecture ce soir.. A mon retour du boulot ! Le sujet a ses détracteurs et tout le monde a appris qq chose.... Pour ma part je vais tester ce week end la version du post 68 avec les recommandations du post 69 et je verrais bien quand les enregistrements ne se feront plus. J'ai très bien apprécié le montage condo diode. L'approche est géniale mais un peu trop compliqué à calculer pour mon esp. Merci à vous tous pour ce partage.

Ps dans mon cas il s'agit effectivement d'enregistrer la valeur du compteur pour que dans le cas d'une coupure de l'alimentation de mes caméras la valeur du compteur ne soit pas perdue et qu'au redémarrage cette valeur soit rechargée. C'est pour cela que je trouve le coup de la diode condo génial..... Bref je l'ai déjà dit.

Merci.

Bonjour,

J'ai réussi a travailler avec l'EEPROM !! le nombre d'entrée se sauvegarde bien (a chaque fois que 10 oiseaux sont passés) J'ai également ajouté un reset EEPROM sur ma page de serveur !

Par contre j'ai un gros soucis : LA BARRIERE IR EXTERIEURE !!!

En intérieur, la barrière fonction très bien, même avec l'éclairage LED intérieur allumé. Par contre en extérieur, la barrière IR ne fonctionne pas à cause de la lumière du jour. Ma barrière n'est pas modulée !

je voudrais donc ajouter un code pour générer du 38khz sur une led IR avec une résistance de 100ohm sur D3 (GPIO 00) de ma nodeMCU. et récupérer le signal via une LED 38KHZ que j'ai déjà.

Je ne trouve pas de code qui fonctionne sur ma nodeMCU pour générer le 38Khz. j'ai trouvé cela :

#include 

#define PIN_IR 3
#define PIN_DETECT 2
#define PIN_STATUS 13

IRsend irsend;
void setup()
{
  pinMode (PIN_DETECT, INPUT);
  pinMode (PIN_STATUS, OUTPUT);
  irsend.enableIROut (38);
  irsend.mark (0);
}

boucle vide () {
  digitalWrite (PIN_STATUS,! digitalRead (PIN_DETECT));
}

mais ne passe pas à la compilation, j'ai donc chargé la bibliothèque "IRremoteESP8266.h", la çà passe a la compilation mais pas de signal à la LED.

pourriez vous m'aiguiller ? merciii

avez vous envisagé de tester les modules pré-construits de détecteur d'obstacle à infra-rouges? |500x273 ils font à la fois émetteur récepteur et la "distance" de détection est réglable par un petit potentiomètre

5PCS IR Infrarouge Obstacle Avoidance -> vous en avez 5 pour moins d'un 1,5€

IR.png|974x644

J-M-L: avez vous envisagé de tester les modules pré-construits de détecteur d'obstacle à infra-rouges? |500x273 ils font à la fois émetteur récepteur et la "distance" de détection est réglable par un petit potentiomètre

5PCS IR Infrarouge Obstacle Avoidance -> vous en avez 5 pour moins d'un 1,5€

salut JML !

oui, j'ai essaye exactement ce modele + 2-3 autres mais aucun n'est modulé et donc ne fonctionne pas à la lumière du jour .... !

il faut que j'utilise une barrière modulée .... tu peux m’aiguiller ?

Bonjour

je voudrais donc ajouter un code pour générer du 38khz sur une led IR avec une résistance de 100ohm sur D3 (GPIO 00) de ma nodeMCU. et récupérer le signal via une LED 38KHZ que j'ai déjà.

Essayez (avec un ESP8266 pour lequel on peut définir la fréquence du PWM)

analogWriteFreq(38000);
analogWrite(D3, 200);

Ajustez la fréquence demandée en fonction de la fréquence réelle obtenue J'ai eu ça (pin D2 d'un Wemos D1 Mini) (sur mon exemplaire on plafonne à 40kHz en sortie)

|500x145

38k.png|700x204

re,

J'ai mis le code suivant :

void setup() {
  // put your setup code here, to run once:
pinMode(D3, OUTPUT);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
analogWriteFreq(38000);
analogWrite(D3, 200);


}

Le code fonctionne, cependant :

A la sortie de ma led réceptrice le 0V reste quelques ms .... puis le 3v reviens. Je pense qu'en fait il faut que j'envoie des "salves" de trames à 38Mhz non ? pour que la sortie de la led réceptrice reste toujours à 0V. PEut-on changer le code ainsi ?

Merci

rer67: oui, j'ai essaye exactement ce modele + 2-3 autres mais aucun n'est modulé et donc ne fonctionne pas à la lumière du jour .... !

La modulation est bien sûr une exploration possible, mais avez vous simplement essayé de mettre les 2 diodes dans un petit bout de tuyau pour éviter l’exposition directe au soleil ?

Il y’a longtemps j’avais eu un souci similaire avec un petit robot pour l'extérieur et un simple cache (je crois que j’avais mis de la gaine thermo autour de la carte débordant sur un petit bout de tuyau pvc pour solidariser le tout et mon problème de jour avait été réglé.

Si vous montez cela un peu en diagonale au dessus de l’entrée (donc en pointant vers le sol) la luminosité ambiante sera encore moindre

À voir

Faisceau IR modulé : Il faudrait en savoir plus sur le recepteur infrarouge utilisé, celui qui attend un signal modulé (référence ? TSOP.xxxx?) c'est plus qu'une photodiode, il y a également un démodulateur inrégré (pas évident qu'il faille lui envoyer des salves et non un signal 38kHz permanent)

S'il faut moduler le signal 38KHz (salves) et si des salves de 2,5mS toutes les 20mS sont acceptées par le récepteur IR , Il y a une piste 'opportuniste' à [u]tenter[/u] :

-signal carré(porteuse) 38KHz par AnalogWrite sur une sortie -signal rectangulaire (signal modulant) 50Hz, salves de 2,5ms, par Servo.write sur une autre sortie +Combiner les deux signaux par exemple en mettant la del IR et sa résistance série entre les deux sorties (courant compatible avec les intensités maximlales entrantes et sortantes d'une pin)

Exemple de code à tester :

#include 
#define porteuse D2
#define ServoPin  D3

Servo myservo;

void setup() {
  pinMode(porteuse, OUTPUT);

  // en D2 : signal carré de fréquence 38kHz
  analogWriteFreq(38000);
  analogWrite(porteuse, 512); // signal carré 38KHz en D2

  // en D3 : signal rectangulaire 50Hz, état haut 2,5ms
  myservo.attach(ServoPin);
  myservo.write(180);  
}

void loop() {
}

bonsoir,

la led réceptrice est une VS1838.

j'ai lu sur un autre forum anglais qu'il serait intéressant d'utiliser une led de réception : TSSP58038 qui elle peut recevoir en continue du signal 38Khz ....

Est- ce plus facile avec cette LED ? lien datasheet : https://docs-emea.rs-online.com/webdocs/1724/0900766b8172451c.pdf

un point de vocabulaire : une LED , DEL en français emet de la lumière

pour recevoir il faut une [u]photodiode/u

les VS1838 ,TSOPxx, TSSPxxx ont une structure de ce type : photodiode + amplification + filtre de bande +circuit de démodulation + circuit de sortie Il faut regarder de près les docs pour tenter d'en déduire le comportement en réception d'un signal 38kHz continu

La notice du récepteur TSSP58038 évoque des salves (bursts) La figure 1 donne une valeur minimale de tpi (durée d'une salve), mais pas de valeur maximale Le composant a été testé et spécifié avec des salves de 600µs(fig 3) On n'en sait pas plus il me semble

recepteur IR.png|404x213

OK. Je prends note du vocabulaire. Ma photodiode vs1838 ne permet pas de réception continue à priori. Est-ce que le photodiode tssp4038 pourrait fonctionner ? Si tu veux bien regarder la datashet stp ? Merci

Mon but est un peu comme celui ci mais pas avec la même exploitation du signal : https://community.home-assistant.io/t/occupancy-detection-and-people-counting-sensor/19143

Merci de ta patience !

Tout comme le TSSP8038 -(voir au dessus) la doc du TSSP4038 évoque des salves mais ne donne pas la durée maximale d'une salve.... donc rien me parait permettre de conclure sur le comportement en 'permanent' tant que l'essai n'a pas été fait

Dans l'exemple cité l'emetteur utilise une librairie, IRremote, qui produit des salves, le récepteur IR n'y est donc pas exposé à un signal 38kHz permanent

Pour info : LIbrairie IRremote pour ESP8266 https://github.com/crankyoldgit/IRremoteESP8266

Oui. Cette histoire de bibliothèque que l'ai vu mais elle n'est pas compatible avec l'esp8266 et en mettant comme bibliothèque irremoteesp8266.h la fonction irsend n'est pas reconnue. Tu aurais une idée pour faire cette émission en salves avec l'esp8266 ?

Tu aurais une idée pour faire cette émission en salves avec l'esp8266 ?

Deux :

1) j'ai proposé plus haut (#97) une bidouille combinant AnalogWrite et Servo -AnalogWrite pour le 38kHz (c'est possible avec l'ESP8266) -Servo pour l'enveloppe des salves (une salve de 2,5ms toutes les 20ms) ....le tout lancé une fois pour toutes dans le Setup()

2) j'ai proposé ci dessus (#101) une version de la librairie IRremote [u]adaptée à l'ESP8266/u

OK. J'essaierais demain la version du post. 97 Avec la bibliothèque je ne comprends pas comment lancer l'émission ( code à mettre dans mon sketch)!......

Avec la bibliothèque je ne comprends pas comment lancer l'émission ( code à mettre dans mon sketch)!......

S'inspirer du code de l'émetteur dans l'exemple cité au message #100 :

un IRsend quelquechose pour envoyer une salve et immédiatement après lire l'état de sortie du réepteur IR

Sans modulation : pourquoi ne pas tester la proposition de J-M-L au message #96 ?

al1fch: Deux :

1) j'ai proposé plus haut (#97) une bidouille combinant AnalogWrite et Serv -AnalogWrite pour le 38kHz (c'est possible avec l'ESP8266) -Servo pour l'enveloppe des salves ....le tout lancé une fois pour toutes dans le Setup()

2) j'ai proposé ci dessus (#101) une version de la librairie IRremote [u]adaptée à l'ESP8266/u

Bonsoir al1 Je pense qu'il serait bon déjà de voir/regarder ce que donne en sortie le "recepteur/demodulateur" TSSOP38 utilisé avec une rupture (simulation entrée des piafs :grin: )de l'illumination continue à 38KHz" généré simplement par l'esp Si de l'info en sortie du TTSOP est visible/exploitable , le probléme est/sera quasi réglé