Go Down

Topic: Conception d'un nichoir connecté ! soucis de LED IR modulé ! (Read 2853 times) previous topic - next topic

fdufnews

Sur le TSSP40 il y a une résistance de tirage au + intégrée dans le composant donc le INPUT_PULLUP n'est pas indispensable.
Il n'y a pas besoin de PULLDOWN.
Tu complémentes les états dans ton code pour prendre en compte le changement de sens de l'état actif et c'est tout il n'y a pas d'autre problème à priori.

rer67

je m'enmèle les pinceaux ...

quand je coupe la barrière IR avec ma main la sortie "out" passe Vin donc 3v  c'est bien ca ?

or mon code est fait de façon a ce si j'ai 3v sur la PIN d'entrée alors la barrière n'est pas coupée !

al1fch

38 kHz présent  -> état bas en sortie du TSSP4038
38kHz absent   -> état haut       "   "
c'est ce que montre la doc


Quote
or mon code est fait de façon a ce si j'ai 3v sur la PIN d'entrée alors la barrière n'est pas coupée !
comme le dit fdufnews inverser la logique du  code !! (en oubliant  le pull up ou down)

rer67

38 kHz présent  -> état bas en sortie du TSSP4038
38kHz absent   -> état haut       "   "
c'est ce que montre la doc


le soucis c'est qu'il me faut l'inverse !!

al1fch

Quote
le soucis c'est qu'il me faut l'inverse !!
il est plus facile de changer le code que de changer le composant ou ajouter un inverseur en sortie du composant !!

Le 'il me faut l'inverse' sous-entend que le code est figé .... pourquoi ?

Qu'est ce qui empếche d'adapter les tests dans le code au comportement du TSSP4038 ?

plus haut dans ce fil de discussion on peut voir
Code: [Select]
if (IRval == HIGH) { // détection
mais cela ne correspond peut être plus au code actuel qui pose problème...



rer67

Bonjour,

Code: [Select]
//  pinMode(IRPinext, INPUT_PULLUP);  // PULLUP automatique; présent UNIQUEMENT pour les essais !
//  pinMode(IRPinint, INPUT_PULLUP);  // PULLUP automatique; présent UNIQUEMENT pour les essais !

les PULLUP étaient effectivement là uniquement pour les essais sur platine avec mes contacteurs NO branché au 0V car il me fallait au retour au 3v automatique.
je m'était un peu perdu .....
J'ai inversé le code et commenté les PULLUP, a priori cela devrait être ok !

Encore une interrogation sur l'EEPROM,
là j'écris dans 1 et 2 :
Code: [Select]
EEPROM.write(1, uint8_t(entree / 256));
EEPROM.write(2, uint8_t(entree % 256));
EEPROM.commit();

mais une fois les 100000 écritures faites environ j'ai compris que cela pouvait ne plus fonctionner ...
puis-je alors écrire dans 3 et 4 par exemple où es-ce toutes la zone EEPROM qui sera HS ?

MErci

al1fch

Non, pas tout à fait...
l'Usure vient de l'effacement qui précède l'écriture (cf messages  #75,  # 83, ... )
Cet effacement se fait par secteurs de 4096 octets,
L'usure est secteur par secteur
Après usure du premier secteur (de 0 à 4095) utiliser  le suivant (4096...8191)
Ceci concerne tous les usages de la mémoire Flash (téléchargement, SPIFFS, EEPROM....)
Il est question ici de l'usure  de la mémoire Flash externe , pas de l'usure de l'ESP8266.

Tu peux pratiquer une forme élémentaire de 'répartition d'usure' en déclarant une EEPROM de 8192 octets et en jouant sur deux secteurs :

Code: [Select]
EEPROM.write(1, uint8_t(entree / 256));
EEPROM.write(4096, uint8_t(entree % 256));


Les '100 000 mini' et '4096' sont propres au circuit intégré W25Q32 (Flash SPI de marque Winbond) référence qui accompagne généralement l'ESP8266 (sous le capot métallique du module s'il y en a un. Ci dessous un module ESP-12)


rer67

Re,
pour ce qui concerne l'eeprom, j'ai compris. Merci

J'ai découvert un autre bug :

Quand le sketch produit du 38Khz, l'indication de température et d'hygro sur ma page web indique parfois :

et le moniteur :


et si je commente les lignes :
Code: [Select]
//      analogWriteFreq(38000);
//      analogWrite(D5, 200);


tout s'affiche correctement...?!
le 38khz ferait il des parasites?

j'ai essayer de changer le PIN de sortie du 38khz sur PIN D1 D3 D5 et D8 mais toujours identique ....


al1fch

Quote
le 38khz ferait il des parasites?
Possible.
rayonnement du 38 kHz et de ses harmoniques .....perturbant parfois le signal Data du DHT22

comment est le câblage vers le DHT22 et vers la DEL Infra Rouge ?
longueur des  fils ?

la valeur du rapport cyclique du 38kHz influe  sur le spectre.
En sortant un carré (50% , 512) ça pourrait peut être  améliorer un peu, le spectre serait moins chargé.

(Autre piste : creuser les librairies AnalogWrite() et dht() pour ESP8266 pour trouver une éventuelle interaction)

rer67

le DHT 22 est cablé en cable plat de 25cm. Rien d'autre de cablé sur le NodeMCU.

En mettant 512, j'ai moins de pertes de valeurs, cela n'affecte pas le signal de réception de mon TSSP4038 ?

J'ai également ce kit : kit
en utilisant seulement la platine emetteur tu penses que cela pourrais aller ? la broche "SIG" doit etre au 5v permanent c'est cela, je n'ai pas tout cerné ...

al1fch

Quote
En mettant 512, j'ai moins de pertes de valeurs, cela n'affecte pas le signal de réception de mon TSSP4038
pas en mal en tout cas  ! mettre 512 (50%) et si le besoin s'en fait sentir du côté de la portée augmenter pour que la valeur moyenne du courant soit plus élevée. (la valeur 200 de mon premier exemple est fortuite, oublions là)

Quote
le DHT 22 est cablé en cable plat de 25cm. Rien d'autre de cablé sur le NodeMCU.
et la liaison entre sortie 38kHz et DEL ?
Quote
'ai également ce kit : kit
en utilisant seulement la platine emetteur tu penses que cela pourrais aller ? la broche "SIG" doit etre au 5v permanent c'est cela, je n'ai pas tout cerné ...
Oui, SIG à +5V. Ce kit permettrait de décharger l'ESP8266 de la production du 38kHz et remplacerait la DEL IR
Voir ce que cela donne en présence du récepteur TSSP4038

Mais avec un peu de mise au point ça doit pouvoir fonctionner correctement sans module extérieur.
C'est un peu dommage de zapper d'une solution à une autre sans aller au bout des choses....

rer67

OK merci de tes retours...
J'ai grillé mon tssp4038. Il faut que j'attende demain. Pour en récupérer d'autres.
Merci en tout cas. Bon dimanche

al1fch

Oups !!

combien vaut la résistance de tirage (pull up) associée au DHT22 ?
une résistance trop élevée augmente la 'sensibilité' aux parasites; le fil de 25cm faisant office d'antenne réceptrice.

Sous 3,3v et à 25cm je verrai bien 1k Ohm voire 820 Ohm (la résistance de pull up interne de l'ESP8266 est trop élevée)

Doc pdf DHT22 : https://cdn-shop.adafruit.com/datasheets/Digital+humidity+and+temperature+sensor+AM2302.pdf

rer67

Oups !!

combien vaut la résistance de tirage (pull up) associée au DHT22 ?
une résistance trop élevée augmente la 'sensibilité' aux parasites; le fil de 25cm faisant office d'antenne réceptrice.

Sous 3,3v et à 25cm je verrai bien 1k Ohm voire 820 Ohm (la résistance de pull up interne de l'ESP8266 est trop élevée)

Doc pdf DHT22 : https://cdn-shop.adafruit.com/datasheets/Digital+humidity+and+temperature+sensor+AM2302.pdf

jai ce type de DHT22:

avec 472 ecris sur la resistance noire, la orange je ne sais pas ...
...

al1fch

4, 7, suivi de 2 zeros = 4700 Ohm
l'autre composant est un condensateur

tu n'as pas répondu sur le câblage (type, longueur) entre ESP8266 et DEL IR (TSAL6200) (c'est l'antenne qui emet les 'parasites')

Go Up