Liaison HF par modules 433MHz

Jnt000

Active member
Il est question ici de la “Liaison HF par modules 433MHz“ de la page oueb de l’incontournable Electromag1 alias MGU @ :
Ce montage me semble avoir un gros potentiel … il m'intéresse personnellement pour réaliser une télécommande par combinaison de boutons , ainsi avec 5 boutons on pourrait déjà commander une quinzaine d'ordres différents, et plus avec 6 boutons ... etc. Pour aller plus loin, rien n’empêcherait de mettre en œuvre les touches sensitives développées par MGU @ :
Suite à mes tests sur table, je constate par exemple : si on a les boutons A B C D E, correspondant aux ports C.0, C.1, etc .…
Côté émetteur, si appuis sur A b2 = 1, sur B b2 = 2, sur A+B b2= 3, etc… au repos b2=0 (%00000)
Par contre mystérieusement (à mon niveau) :
Côté récepteur, si appuis sur A b2 = 30, sur B b2 = 29, sur A+B b2= 28, etc… au repos b2=31 (%11111)

Pourquoi cette inversion et éventuellement comment retourner la bonne valeur ? Bon d’accord, côté récepteur il suffit de connaitre le bon code et enchainer les tests conditionnels qui vont bien.

Je constate également que le rôle du poussoir sur le port B.2, ne semble avoir aucune influence sur l’état de b2 en réception ? C’est pourquoi dans le montage que je propose, je réserve les ports B à un autre usage.

Concrètement mon besoin est simple : tant qu’on appuie sur des boutons, on émet. Si relâchement, on envoie b2 = 0, et ceci au moins 2 fois comme dans l’exemple de MGU. Ainsi l’émission en 433 MHz n’est pas permanente, mais juste le temps d’opérer la commande.
Pour quoi faire ? Il s’agit de manœuvrer en manuel un capteur solaire orientable, d’où les commandes de base : Est, Ouest haut et bas, donc ici 4 boutons suffisent. En plus j’ai besoin d’envoyer des ordres du genre : remise à l’heure de l’horloge, reset, réglage du n° de jour, allumage ou non du rétro éclairage de l’afficheur, position tempête, etc ... choses qu’il peu être souhaitable de faire à l’abri. D’où un cinquième bouton E, et même F, un sixième.
En maintenant appuyé le cinquième bouton, le E, et un des quatres premiers, nous avons déjà 4 autres commandes. Bien entendu rien n’empêche d’appuyer sur haut et bas en même temps, etc. etc.

Je vous soumets mon schéma et la façon dont j’ai modifié le code émetteur d’origine pour mes besoins.
Côté récepteur, j’ai un 14M2 dont il me reste le port C.3 disponible, donc à priori on a pas bsoin de le configurer en entrée.

Aux essais la portée est de l’ordre d’une vingtaine de metre à vue, un peu limite en fin de vie des piles.
Les réactions semblent un peu molles, ça cafouille, le bouton A ne fonctionne plus, y a t’il aussi un souci de rebond des inters ? La logique semble pourtant correcte.

Merci d’avance pour votre aide. Bien à vous
-
jnt000

++++++++++++++++++++++++++++++++

01 'origine : Emetteur WL102-341 433MHz source MM 19/05/2023
02 'Documents/PICAXE Editor/PICaxe proj/PIAX clavier_TS/clavier_seriel_Emet03.bas"
03 'Emetteur :
04 '142 est un identifiant reconnu par le recepteur pour securiser la transmission (necessaire)
05 'cinq boutons poussoirs sur les entrees C + 3 possibles sur les B
06 'L'emetteur est alimente par B.2
07 'envoi de b2 en cas de modification de la configuration des boutons, tant que maintenu tel que
08 'envoi de b2 = 0 au repos et attente en cas de modification de la configuration des boutons
09 'les entrees B.5, B.4, B.3 ne sont pas exploitees
10
11 #picaxe 14M2
12 #no_data
13 pullup %1111100111000 'pullup sur C.0 a C.4 et B.5, B.4, B.3
14 dirsB = %000111 'B.5, B.4, B.3 en entree les autres en sorties
15
16 DO 'boucle principale
17 b1 = pinsC 'etat des entrees C
18 if b1 <> 0 then 'si different de repos
19 b2 = pinsC 'il y a modif sur au moins une entree C
20 gosub emission 'SF emission
21 else 'sinon repos
22 b2 = 0
23 gosub emission 'SF emission
24 do 'boucle attente modif entrees
25 b1 = pinsC 'etat des entrees
26 loop while b1 = b2 'boucle tant que non modif
27 endif
28 LOOP
29
30 '********** SOUS FONCTIONS ***************************
31 emission:
32 high B.2 'alimentation emetteur
33 pause 100
34 rfout B.1,(142,b2,b2,b2,b2,b2,b2,b2)
35 pause 100
36 rfout B.1,(142,b2,b2,b2,b2,b2,b2,b2) 'on double, au cas ou...
37 low B.2 'coupure alim emetteur
38 return
39
++++++++++++++++++++++++++++++++

01 'Recepteur WL101-241 433MHz, source MM
02 'identifiant envoi emetteur: b1=142, par securite
03 #picaxe 14M2
04 #no_data
05 ' dirsB =%111111 'B.0 a B5 en sortie (pour fonctionnement pinsB)
06 'inputtype %10000000000000 'pin C.4 en bascule de schmidt pour 5V si <1V=0 si>4V=1
07 inputtype %0100000000000 'pin C.3 en bascule de schmidt pour 5V si <1V=0 si>4V=1
08 DO
09 gosub reception:
10 'etc.
11 'etc.
12 LOOP
13
14 '****** SOUS-FONCTIONS ******************
15 reception:
16 rfin C.3,b1,b2,b2,b2,b2,b2,b2,b2 'lecture de la trame emetteur
17 if b1=142 AND b2 <> 31 then 'si identifiant 142 reconnu ET b2 hors repos alors
18 goto teleCdes: 'appel SF Cdes
19 endif
20 debug
21 return
22 teleCdes:
23 ' pinsB = b2 'position des inters emetteurs
24 do while b2 = 30 'faire tant que
25 high C.1 'retour moteur EST
26 gosub reception 'attente relachement
27 loop 'reboucle
28 low C.1 'raz
29 do while b2 = 29 '
30 high C.2 'faire moteur OUEST
31 gosub reception 'attente relachement
32 loop
33 low C.2
34 debug
35 return
 

Attachments

  • clav_serie01.dsn.jpg
    clav_serie01.dsn.jpg
    72.2 KB · Views: 10
Bonjour,
Je pense avoir compris la demande.
Côté émetteur, si il y a un problème d'usure de piles, on peut évidemment les remplacer par une alim genre usb réduite à 3,3V.
Pour le code, il faut faire un copier/coller sans les n° de ligne, parce qu'il faut ensuite les enlever
Je pense que tu as déjà réfléchi au pb, mais pour une poursuite solaire, il y a d'autres solutions que l'orientation manuelle.
Je ne comprends pas non plus la mise à l'heure d'une horloge. Quelle est cette horloge?
Pour les poussoirs, il faut sans doute abandonner le système de modification de configuration.
Je jette un œil sur le code...sans les n° de ligne...
MM
 
Bonjour MGU,

D'accord pour les n° de ligne, je ferais sans désormais.
La poursuite solaire est belle et bien asservie, soit par temps couvert avec une horloge TR et calcul via table de valeurs, soit optique si beau temps. L'optique est prioritaire, c'est à dire capable de mettre à jour l'horloge, car le temps solaire vrai, n'est vraiment vrai, que 4 jours dans l'année par rapport à l'heure civile. Voir équation solaire IMCCE observatoire de Paris https://www.imcce.fr/services/scar/ ou image en PJ.

Mon besoin consiste à effectuer les réglages pour la mise en route, la maintenance ou incidents … même si intempéries.
Autre avantage, pas de problème d'étanchéité, car le cerveau est un Picaxe 14M2 enfermé dans un boitier étanche au dos du capteur.

Bonne fin de journée
-
JNT

++++++++++++++++++++++++++++++++
'origine : Emetteur WL102-341 433MHz source MM 19/05/2023
'Documents/PICAXE Editor/PICaxe proj/PIAX clavier_TS/clavier_seriel_Emet03.bas"
'Emetteur :
'142 est un identifiant reconnu par le recepteur pour securiser la transmission (necessaire)
'cinq boutons poussoirs sur les entrees C + 3 possibles sur les B
'L'emetteur est alimente par B.2
'envoi de b2 en cas de modification de la configuration des boutons, tant que maintenu tel que
'envoi de b2 = 0 au repos et attente en cas de modification de la configuration des boutons
'les entrees B.5, B.4, B.3 ne sont pas exploitees

#picaxe 14M2
#no_data
pullup %1111100111000 'pullup sur C.0 a C.4 et B.5, B.4, B.3
dirsB = %000111 'B.5, B.4, B.3 en entree les autres en sorties

DO 'boucle principale
b1 = pinsC 'etat des entrees C
if b1 <> 0 then 'si different de repos
b2 = pinsC 'il y a modif sur au moins une entree C
gosub emission 'SF emission
else 'sinon repos
b2 = 0
gosub emission 'SF emission
do 'boucle attente modif entrees
b1 = pinsC 'etat des entrees
loop while b1 = b2 'boucle tant que non modif.
endif
LOOP

'********** SOUS FONCTIONS ***************************
emission:
high B.2 'alimentation emetteur
pause 100
rfout B.1,(142,b2,b2,b2,b2,b2,b2,b2)
pause 100
rfout B.1,(142,b2,b2,b2,b2,b2,b2,b2) 'on double, au cas ou...
low B.2 'coupure alim emetteur
return

++++++++++++++++++++++++++++++++
'Recepteur WL101-241 433MHz, source MM
'identifiant envoi emetteur: b1=142, par securite
#picaxe 14M2
#no_data
' dirsB =%111111 'B.0 a B5 en sortie (pour fonctionnement pinsB)
'inputtype %10000000000000 'pin C.4 en bascule de schmidt pour 5V si <1V=0 si>4V=1
inputtype %0100000000000 'pin C.3 en bascule de schmidt pour 5V si <1V=0 si>4V=1
DO
gosub reception:
'etc.
'etc.
LOOP

'****** SOUS-FONCTIONS ******************
reception:
rfin C.3,b1,b2,b2,b2,b2,b2,b2,b2 'lecture de la trame emetteur
if b1=142 AND b2 <> 31 then 'si identifiant 142 reconnu ET b2 hors repos alors
goto teleCdes: 'appel SF Cdes
endif
debug
return
teleCdes:
' pinsB = b2 'position des inters emetteurs
do while b2 = 30 'C.0 = 30 faire tant que
high C.1 'retour moteur EST
gosub reception 'attente relachement
loop 'reboucle
low C.1 'raz
do while b2 = 29 'C.1 = 29
high C.2 'faire moteur OUEST
gosub reception 'attente relachement
loop
low C.2
debug
return
 

Attachments

  • Capture d’écran 2026-02-02 à 16.34.15.png
    Capture d’écran 2026-02-02 à 16.34.15.png
    104.8 KB · Views: 2
Ok, c'est du pilotage de panneau de niveau supérieur...
Est il utile d'activer plusieurs poussoirs en même temps ou un par un suffit ? Question de simplicité..

MM
 
Bonjour, Ayant participé à un projet industriel, il y a longtemps, pour plus de sûreté, les trames reçues étaient comparées. L'information reçue n'était prise en compte que si deux trames consécutives étaient identiques.
Votre programme émet deux trames mais n'exploite pas le double envoi.
 
Ok, c'est du pilotage de panneau de niveau supérieur...
Est il utile d'activer plusieurs poussoirs en même temps ou un par un suffit ? Question de simplicité..

MM
Bonsoir, non bien sûr, là je joue, faudra avoir la partition ou le mode d'emploi.
C'est juste pour dire qu'avec peu de boutons on peut faire beaucoup. C'est pourquoi dans mon schéma il y a 2 boutons secondaires E et F, ce qui fait déjà 3x4=12 commandes possibles, ça peut intéresser d'autres usagers ayant des besoins plus large.
Bonjour, Ayant participé à un projet industriel, il y a longtemps, pour plus de sûreté, les trames reçues étaient comparées. L'information reçue n'était prise en compte que si deux trames consécutives étaient identiques.
Votre programme émet deux trames mais n'exploite pas le double envoi.
Bonsoir, oui d'accord, la sécurité est meilleure.
 
Merci MGU et Technoman pour votre intervention.

Je m’interroge toujours pourquoi si j'envoie 0 je reçois 31 ? si j'envoie 1 je reçois 30, etc. ce qui reviendrai à faire systématiquement b2=31-b2 pour faire simple. Je n'ai pas fini de tester côté réception ...
Bonsoir à vous.
-
jnt
 
J'en déduis qu'alimenter le module sous 4,5 V ou 5 il fume ? :confused::(
Bonjour,
J'ai pas essayé, mais dans la datasheet le max est donné à 3,6 V
MM
Merci MGU et Technoman pour votre intervention.

Je m’interroge toujours pourquoi si j'envoie 0 je reçois 31 ? si j'envoie 1 je reçois 30, etc. ce qui reviendrai à faire systématiquement b2=31-b2 pour faire simple. Je n'ai pas fini de tester côté réception ...
Bonsoir à vous.
-
jnt
Comment lis tu cette valeur?
MM
Bonjour, Ayant participé à un projet industriel, il y a longtemps, pour plus de sûreté, les trames reçues étaient comparées. L'information reçue n'était prise en compte que si deux trames consécutives étaient identiques.
Votre programme émet deux trames mais n'exploite pas le double envoi.
Oui, c'est vrai, à la base, c'est pour en recevoir au moins une sur les deux, mais côté sécurité, en plus de l'identifiant, qui sera vérifier, on peut aussi confirmer les data reçues. On y va doucement...
MM
 
Bonjour, peut-être une info qui pourrait être "utile" à propos des modules émetteurs / récepteurs.
J'ai récemment rencontré des problèmes ayant pour origine les transmissions dans la bande des 400 Mhz (mon appli initiale téléinfo ENEDIS avec des modules AUREL). En effet, il y a beaucoup de systèmes qui emploient cette bande de fréquence (entre 430 et 460 Mhz), pour ma part en particulier les systèmes DIO de commande d'éclairage qui ne fonctionnait plus ou mal, aussi d'autres systèmes type sonnette ... Je suis passé en 800 Mhz / FM avec des modules Radiocontrolli (en principe de très bonnes portées dans cette bande).
Ils ont énormément de choix y compris en 400 Mhz ou 800Mhz et AM ou FM avec plusieurs choix de frquences en standard catalogue, éventuellement personnalisable ... Seul bémol, pas de distributeur France, modules autour de 8€, mais frais de port et emballage élevés.
 
Bonjour, peut-être une info qui pourrait être "utile" à propos des modules émetteurs / récepteurs.
J'ai récemment rencontré des problèmes ayant pour origine les transmissions dans la bande des 400 Mhz (mon appli initiale téléinfo ENEDIS avec des modules AUREL). En effet, il y a beaucoup de systèmes qui emploient cette bande de fréquence (entre 430 et 460 Mhz), pour ma part en particulier les systèmes DIO de commande d'éclairage qui ne fonctionnait plus ou mal, aussi d'autres systèmes type sonnette ... Je suis passé en 800 Mhz / FM avec des modules Radiocontrolli (en principe de très bonnes portées dans cette bande).
Ils ont énormément de choix y compris en 400 Mhz ou 800Mhz et AM ou FM avec plusieurs choix de frquences en standard catalogue, éventuellement personnalisable ... Seul bémol, pas de distributeur France, modules autour de 8€, mais frais de port et emballage élevés.
Bonjour,
Le 433 MHz est effectivement très pollué, cause de l'interdiction de l'émission permanente.
Faut peut être voir du côté des émetteurs pour modèles réduits genre drones, avec une portée très élevée, (et prix élevés aussi sans doute).
Il y a aussi les modules LoRa, je n'ai pas d'expérience.
Quelle est la distance nécessaire ?
Je ne peux faire aucun essais actuellement, cette histoire d'envoi de 1 et de réception 31 est ....curieuse.
MM
 
Last edited:
Il y a aussi les modules LoRa, je n'ai pas d'expérience.
Quelle est la distance nécessaire ?
Je ne peux faire aucun essais actuellement, cette histoire d'envoi de 1 et de réception 31 est ....curieuse.
MM
Bonjour MM,
D'abord merci pour le lien https://ozeki.hu/p_6034-information-about-433-mhz-modules.html
  • mains input voltage range: 2.0V-3.6V;
  • Launch distance : 20-100 meters
Je referais des essais, 20 m maxi pour moi.

J'ai fait de nouveaux essais hier en câblant 3 DELs sur la carte récepteur. Je constate 2 choses : les DELs s'allument correctement, bien que les réactions soient assez molles, par contre la fonction debug est bizarre. Si appui sur A ou B, b2 reste imperturbablement à 31, pourtant les DELs s'allument, si appui sur C ou D je reçois bien comme prévu b2= 27 ou 23 … ?
Parfois, mais rarement une DEL s'allument et ne s'éteint pas, il faut réappuyer sur un bouton pour l'éteindre.
Autre interrogation : j'ai pensé bien faire en configurant C.3 en bascule de Schmidt, mais est-ce utile vu que cette entrée est numérique par défaut. On pourrait même penser que ce peut être cause de trouble, faute de cette fonctionnalité ?
La dernière, est-il utile de présenter toute la trame ? On a besoin d'un seul b2

Voici le code :

'RECEPTEUR WL101-241 433MHz, source MM
'identifiant envoi emetteur: b1=142, par securite
#picaxe 14M2
#no_data
'dirsB =%111111 'B.0 a B5 en sortie (pour fonctionnement pinsB)
'inputtype %10000000000000 'pin C.4 en bascule de schmidt pour 5V si <1V=0 si>4V=1
inputtype %0100000000000 'pin C.3 en bascule de schmidt pour 5V si <1V=0 si>4V=1
DO
gosub reception:
'pilotage de la poursuite environ 400 lignes /1800 octets
LOOP

'****** SOUS-FONCTIONS ******************
reception:
   rfin C.3,b1,b2,b2,b2,b2,b2,b2,b2 'lecture de la trame emetteur
   if b1=142 AND b2 <> 31 then 'si identifiant 142 reconnu ET b2 hors repos alors
goto teleCdes: 'appel SF Cdes
   endif
debug
return

teleCdes:
' pinsB = b2 'position des inters emetteurs
do while b2 = 30 'emission 1 reception 30
high B.1 'C.1 retour moteur EST
gosub reception 'attente relachement
loop 'reboucle
    low B.1 'raz

do while b2 = 29 'emission 2 reception 29
      high B.2 'C.2 faire  oteur OUEST
      gosub reception 'attente relachement
loop 'reboucle
low B.2

if b2 = 27 then 'emission 4 reception 27
toggle B.3 'bascule pin B.3  retro-eclairage LCD
endif
debug
return

'b2 :
'emetteur C.0 =A =1, reception 30
'emetteur C.1 =B =2, reception 29
'emetteur C.2 =C =4, reception 27
'emetteur C.3 =D =8, reception 23
'emetteur C.4 =E =16, reception 15
 
Bonjour, peut-être une info qui pourrait être "utile" à propos des modules émetteurs / récepteurs.
J'ai récemment rencontré des problèmes ayant pour origine les transmissions dans la bande des 400 Mhz (mon appli initiale téléinfo ENEDIS avec des modules AUREL). En effet, il y a beaucoup de systèmes qui emploient cette bande de fréquence (entre 430 et 460 Mhz), pour ma part en particulier les systèmes DIO de commande d'éclairage qui ne fonctionnait plus ou mal, aussi d'autres systèmes type sonnette ... Je suis passé en 800 Mhz / FM avec des modules Radiocontrolli (en principe de très bonnes portées dans cette bande).
Ils ont énormément de choix y compris en 400 Mhz ou 800Mhz et AM ou FM avec plusieurs choix de frquences en standard catalogue, éventuellement personnalisable ... Seul bémol, pas de distributeur France, modules autour de 8€, mais frais de port et emballage élevés.
Bonjour,
Oui effectivement ils ont une énorme gamme, merci du tuyaux, par contre le port à 26€ ça calme.
 
Bonsoir,
Tu visualises les paramètres sur PC ?
Debug ralentit énormément la vitesse d'exécution. Pour visualiser, j'utilise des LCD série.
MM
 
Bonsoir,
Tu visualises les paramètres sur PC ?
Debug ralentit énormément la vitesse d'exécution. Pour visualiser, j'utilise des LCD série.
MM
Oui sur PC, merci MM je prends note pour la suite.
Mais depuis, je me suis rendu compte que le câblage sur ma planche contact était erroné, car l'alimentation du module émetteur était en continu sur un port "pullup". Je suis donc revenu sur votre code émetteur d'origine avec quelques modifs c'est-à-dire ici alimenté par B.4 :

'Emetteur WL102-341 433MHz MM19/05/23
'emetteur
'142 est un identifiant reconnu par le recepteur pour securiser la transmission (necessaire)
'5 poussoirs sur les entrees C
'2 poussoirs sur les entrees B
'envoi de la position en cas de modification de la configuration des inters
'l'emetteur est alimente par B.4
'les datas par B.1

#picaxe 14M2
#no_data
SetFreq m8 'frequence horloge 8 MHz
pullup %1111100100100 'pullup sur C.0 a C.4 et B.2, B.5
dirsB = %011011 'B.2 et B.5 en entree les autres en sorties
do
do
b1 = pinsC
loop while b1 = b2 'AND pinB.5 = 0 'on sort en cas de modif des inters
b2 = pinsC 'il y a modif sur au moins une entree C
high B.4 'alimentation emetteur
pause 100
rfout B.1,(142,b2,b2,b2,b2,b2,b2,b2)
pause 100
rfout B.1,(142,b2,b2,b2,b2,b2,b2,b2) 'on double, au cas ou...
low B.4
debug
loop

'memoire 56 de 2048 octets

'emetteur appui sur rien=repos b2=0, reception b2=31
'emetteur appui sur C.0=A b2=1, reception b2=30
'emetteur appui sur C.1=B b2=2, reception b2=29
'emetteur appui sur C.2=C b2=4, reception b2=27
'emetteur appui sur C.3=D b2=8, reception b2=23
'emetteur appui sur C.4=E b2=16, reception b2=15
'emetteur appui sur B.5=F b2=

Cette foi-ci j'ai vérifié à l'oscillo l'état du port B.4 : on a bien un créneau proche de 3 V en appuyant sur un bouton et le même créneau en le relâchant, donc TVB. Sur le terrain la portée semble être de l'ordre d'une trentaine de mètre. Les réactions sont toujours aussi molles, c'est pourquoi j'ai essayé de changer la vitesse d'horloge "SetFreq m8" ... sans résultat probant, j'ai réduit les pauses à 50, pareil ce n'est pas significatif. Quelqu'un a-t-il une idée ?

La question maintenant pourrait être d'avoir un 6ème bouton F sur le port B.5, comment faire ?

Merci de votre aide
-
jnt
 

Attachments

Bonsoir,
Les réactions molles sont probablement dues au debug. Autre solution , augmenter la vitesse avec setfreq M16
Pour les entrées C, il faut un dirsC pour valider pinsC. Les broches C désignées en entrée seront prisent en compte, pas les autres.
Mettre pinsB dans b3, par ex., et traiter comme pinsC
frout B.1,(,b2b2,b2,b3,b3,b3),
Je pourrai faire un test la semaine prochaine, probablement...
MM
 
Bonjour,
Voici un code émetteur correspondant au schéma émetteur en #1.
Le module émetteur est alimenté par B.2.
Les broches C en entrées, B.3 à B.5 en entrées.
Vitesse à 16MHz, voir si utile?
le debug est nuisible, mieux vaut regarder l'effet sur le récepteur, visualiser par des leds par ex.
A tester...
Code:
'Emetteur WL102-341 433MHz MM 11/02/26
'emetteur
'142 est un identifiant reconnu par le recepteur pour securiser la transmission (necessaire ?)
'5 poussoirs sur les entrees C
'3 poussoirs sur les entrees B
'envoi de la position en cas de modification de la configuration des inters
'l'emetteur est alimente par B.2
'les datas par B.1

#picaxe 14M2
#no_data
SetFreq M16   'frequence horloge 16 MHz
pullup %1111100111000 'pullup sur B.3, B.5 et C.0 à C.4 
dirsB = %000111     'B.0 à B.3 en sorties
dirsC = %0            ;tout en entrée     
    do
        do
            b1 = pinsC
            b3 = pinsB
        loop while b1=b2 and b3=b4
        b2 = pinsC 'il y a modif sur au moins une entree C
        b4 = pinsB
        high B.2 'alimentation emetteur
        pause 200
        rfout B.1,(142,b2,b2,b2,b2,b3,b3,b3)
        pause 200
        rfout B.1,(142,b2,b2,b2,b2,b3,b3,b3) 'on double, au cas ou...
        low B.2    
    loop
MM
 
Last edited:
Suite...
Code récepteur . Les sorties B récepteur correspondent aux entrées C émetteur (suite C.3 en entrée seulement)
Code:
'RECEPTEUR WL101-241 433MHz, source MM 11/02/26
'identifiant envoi emetteur: b1=142, par securite
;Sur émetteur, b2 correspondent à pinsC et b3 à pinsB
;C.3 ne peut pas être une sortie => on inverse les pinsB et C
;Les sorties B correspondront aux entrées C émetteur et sorties C aux entrées B
#picaxe 14M2
#no_data
dirsB =%111111 'B.0 a B5 en sortie (pour fonctionnement pinsB)
dirsC= %010111    ;C.3 ne peut être qu'une sortie
inputtype %0100000000000 'pin C.3 en bascule de schmidt pour 5V si <1V=0 si>4V=1

do
    do
       rfin C.3,b1,b2,b2,b2,b2,b3,b3,b3 'lecture de la trame emetteur
   loop while b1<>142    ;test identificateur   
    pinsB=b2        ;b2 = pinsC émetteur
    pinsC=b3        ;b3 = pinsB émetteur

    ;Voir ce que l'on peut faire avec les sorties B et C...tester
    ;ou visualiser sur LCD   
loop
MM
 
Bonsoir,
Petite modif du récepteur pour faire correspondre B.3 à B.5 émetteur avec C.0 à C.3 récepteur:
Code:
'RECEPTEUR WL101-241 433MHz, source MM 11/02/26
'identifiant envoi emetteur: b1=142, par securite
;Sur émetteur, b2 correspondent à pinsC et b3 à pinsB
;C.3 ne peut pas être une sortie => on inverse les pinsB et C
;Les sorties B correspondront aux entrées C émetteur et sorties C aux entrées B
;C.0 à C.4 => B.0 à B.4 et B.3 à B.5 => C.0 à C.2
#picaxe 14M2
#no_data
dirsB =%111111 'B.0 a B5 en sortie (pour fonctionnement pinsB)
dirsC= %010111    ;C.3 ne peut être qu'une sortie
inputtype %0100000000000 'pin C.3 en bascule de schmidt pour 5V si <1V=0 si>4V=1

do
    do
       rfin C.3,b1,b2,b2,b2,b2,b3,b3,b3 'lecture de la trame emetteu
   loop while b1<>142    ;test identificateur 
    ;b2=%00001101 ;test
    ;b3=%101000    ;test
    b3=b3/8        ;décalage 3 bigits à droite
    pinsB=b2        ;b2 = pinsC émetteur + décalage
    pinsC=b3        ;b3 = pinsB émetteur
    serout B.5,N2400,(254,1,254,128,"b2= ",#b2," ",254,192,"b3= ",#b3," ")

    ;Voir ce que l'on peut faire avec les sorties B et C...tester
    ;ou visualiser sur LCD 
loop

C'est un exemple. On peut modifier les correspondances
MM
 
Last edited:
Les réactions molles sont probablement dues au debug. Autre solution , augmenter la vitesse avec setfreq M16
Bonjour MGU,

Effectivement un setfreq à 16 MHz et bien sûr sans debug :rolleyes:, devient tout à fait réactif et exploitable pour mes besoins. En effet pour certains réglages, un appui bref permet un réglage plus fin.
Parfait (y)(y)(y)
Je vois aussi que vous avez envoyé du code à mâcher. Je vais regarder ça de près et tester.

Merci du coup de main et bonne fin de semaine.
-
JNT
 
Bonjour MM,
Je viens de tester, ça fonctionne au poil, c’est super :) et cerise sur le gâteau on peut afficher les valeurs reçues. Y’aura plus qu’à les affecter aux commandes voulues. Avec 8 poussoirs y’a de quoi télécommander un airbus miniature !
Je me pose encore une question : pourquoi avoir designer le port C.3 du récepteur en bascule de Schmidt ? je croyais que ce n’était possible que sur les entrées analogiques.
Et encore merci pour votre aide.
-
JNT
 
Bonjour MM,
Je viens de tester, ça fonctionne au poil, c’est super :) et cerise sur le gâteau on peut afficher les valeurs reçues. Y’aura plus qu’à les affecter aux commandes voulues. Avec 8 poussoirs y’a de quoi télécommander un airbus miniature !
Je me pose encore une question : pourquoi avoir designer le port C.3 du récepteur en bascule de Schmidt ? je croyais que ce n’était possible que sur les entrées analogiques.
Et encore merci pour votre aide.
-
JNT
 
Je me pose encore une question : pourquoi avoir designer le port C.3 du récepteur en bascule de Schmidt ? je croyais que ce n’était possible que sur les entrées analogiques.

Je pense que la définition entre 0 et 1 est surtout valable en numérique.
Je suis pas sûr qu'il y ait des picaxes dans un airbus (ce qui ne les met pas à l'abri des bugs :unsure:)
Je pense que la différence est surtout utile en numérique.
A 3V: ST V>2.4 =>1 et V<0.6 =>0
: en TTL V>1.5 =>1 et V<0.45 =>0
Au choix.
Mais il faudrait vérifier lequel donne les meilleurs résultats en signal bruité.
J'ai lu ton post à côté, mais avec quoi testes tu actuellement ?
MM
 
Je pense que la différence est surtout utile en numérique.
A 3V: ST V>2.4 =>1 et V<0.6 =>0
en TTL V>1.5 =>1 et V<0.45 =>0
Au choix.
Mais il faudrait vérifier lequel donne les meilleurs résultats en signal bruité.
J'ai lu ton post à côté, mais avec quoi testes tu actuellement ?
MM
Vu, autant pour moi, une idée toute faite erronée.
Pour le post d’à côté, lequel ?
 
s’il s’agit du PL2303, je pense avoir bien suivi les instructions du site, en outre ce PC w10 n’est jamais connecté…
Je verrais avec le nouveau PL2303HX commandé. À suivre…

Concernant les tests de clavier, l’émetteur est câblé sur une planche à pain et le récepteur sur une AXE117 avec afficheur 2x16 oled.
 
s’il s’agit du PL2303, je pense avoir bien suivi les instructions du site, en outre ce PC w10 n’est jamais connecté…
Je verrais avec le nouveau PL2303HX commandé. À suivre…

Concernant les tests de clavier, l’émetteur est câblé sur une planche à pain et le récepteur sur une AXE117 avec afficheur 2x16 oled.
Bonjour,
Oui, mais je veux dire que pour faire tes essais, tu charges bien le picaxe. Je ne comprends pas...
MM
 
Bonjour,
Oui, mais je veux dire que pour faire tes essais, tu charges bien le picaxe. Je ne comprends pas...
MM
Bonsoir MGU,
Pour le code émetteur j'ai chargé tel que le code du #17 ; pour la réception le second, celui du #19 avec toutefois des modifs au niveau affichage. J'aime bien présenter le n° de version au démarrage pour ne pas me planter si j'y reviens plus tard, pb de mémoire à mon âge.

Par contre côté réception j'avoue une certaine incompréhension concernant ces 3 lignes :
;C.3 ne peut pas être une sortie => on inverse les pinsB et C
;Les sorties B correspondront aux entrées C émetteur et sorties C aux entrées B
;C.0 à C.4 => B.0 à B.4 et B.3 à B.5 => C.0 à C.2
Sans doute s'agit-il d'allumer des DEL ? Il est probable que d'autres picaxeurs seront intéressés par cet aspect. Pour mon usage présent, seules les valeurs de b2 et b3 sont pertinentes, car tous les autres ports sont affectés sans exception à : des commandes de moteur, vérin et mesures encodeurs/potars, LDRs, afficheur … pour piloter le capteur.

Bonne soirée
-
JNT

P.S. : Ah oui, pour la ligne : b3=b3/8 ;décalage 3 digits à droite
par exemple au repos au lieu d'avoir b3=3 sur le bouton F, en désactivant cette ligne on a 24.
Ça me parle vaguement, j'ai sûrement dû voir çà quelque part le siècle dernier, ça fait quoi déjà vite fait en binaire ? Pardon pour ma nullité 😬
 
Par contre côté réception j'avoue une certaine incompréhension concernant ces 3 lignes :
;C.3 ne peut pas être une sortie => on inverse les pinsB et C
;Les sorties B correspondront aux entrées C émetteur et sorties C aux entrées B
;C.0 à C.4 => B.0 à B.4 et B.3 à B.5 => C.0 à C.2
Sans doute s'agit-il d'allumer des DEL ? Il est probable que d'autres picaxeurs seront intéressés par cet aspect. Pour mon usage présent, seules les valeurs de b2 et b3 sont pertinentes, car tous les autres ports sont affectés sans exception à : des commandes de moteur, vérin et mesures encodeurs/potars, LDRs, afficheur … pour piloter le capteur.
P.S. : Ah oui, pour la ligne : b3=b3/8 ;décalage 3 digits à droite
par exemple au repos au lieu d'avoir b3=3 sur le bouton F, en désactivant cette ligne on a 24.
Ça me parle vaguement, j'ai sûrement dû voir çà quelque part le siècle dernier, ça fait quoi déjà vite fait en binaire ? Pardon pour ma nullité 😬
On a un émetteur et un récepteur. sur l'émetteur, C.3 est une entrée, ok mais on ne peut pas le faire correspondre à C.3 du récepteur qui ne pas être une sortie. J'ai donc bidouillé les pinsC et B côté récepteur pour que les broches restent contigües.
Après, tu branches ce que tu veux côté récepteur (leds, moteurs, vérins, etc), le principal est que l'action émetteur corresponde à ce que tu veux faire.
Maintenant, pour 20ct de plus, le 20M2, est peut être mieux adapté à ton projet
MM
 
…/…J'ai donc bidouillé les pinsC et B côté récepteur pour que les broches restent contigües.
Après, tu branches ce que tu veux côté récepteur
Compris

Maintenant, pour 20ct de plus, le 20M2, est peut être mieux adapté à ton projet
MM
Oh que oui, surtout côté espace mémoire et nombre de variables. En monture azimutale je suis au taquet à 2000 et quelques octets sur les 2048. J’ai d’ailleurs hautement apprécié les 3 sorties supplémentaires octroyées par l’adaptateur série // electromag ;)

Mais j’y pense, faudra redessiner une carte, on verra pour la prochaine fois.

Merci pour la pédagogie, à bientôt
-
JNT000
 
Bonjour,
Attention, ne pas confondre avec le 20X2, que Gotronic ne commercialise plus ou sur commande. idem pour le 28X2 ou 40X2.
J'ai rarement atteint la capacité mémoire des M2, pour le nombre de variables, il y a la possibilité de se servir de la RAM (peek, poke).
Je ne connais pas la capacité des l'arduino, mais en cas de problème, c'est peut être une solution.
Il y a aussi peut être des modif à faire sur le code complet, publie le si tu veux.
Il y a sur le forum Futura un projet pour la poursuite solaire d'un panneau thermique, j'ai un peu de mal à comprendre la complexité de ton projet...
MM
 
Attention, ne pas confondre avec le 20X2, que Gotronic ne commercialise plus ou sur commande. idem pour le 28X2 ou 40X2.
En effet pour les 2 derniers, par contre le 20X2 est toujours disponible. On oublie pour commander outre manche, frais de douane prohibitif !
J'ai rarement atteint la capacité mémoire des M2, pour le nombre de variables, il y a la possibilité de se servir de la RAM (peek, poke).
Ici il s'agit d'un cas particulier avec un 14M2, avec un pilotage par calcul trigo d'une poursuite azimutale. Vu que les fonctions cos sin et asin sont absentes, les tables ad hoc prennent beaucoup de mémoire. Quant aux variables nommables-opérables je pense gagner en confort en utilisant les s_w1 à s_w6. Si j'ai bien compris peek, poke permettent juste de rappeler une valeur de la RAM dans une variable. Y'a aussi read et write pour l'EEPROM. Malheureusement j'ai besoin de beaucoup de variables nommables et opérables.
Conclusion le 20M2 va s'imposer naturellement.
Je ne connais pas la capacité des l'arduino, mais en cas de problème, c'est peut être une solution.
Je n'ai rien trouvé concernant le langage basic sur Arduino et je n'ai guère d'appétence pour le C. Déjà pour me remettre au basic … bien oublié depuis 90.
Il y a aussi peut être des modif à faire sur le code complet, publie le si tu veux.
Il y a sur le forum Futura un projet pour la poursuite solaire d'un panneau thermique, j'ai un peu de mal à comprendre la complexité de ton projet...
MM
Oui je peux envoyer le code de ce développement lorsque j'aurais avancé. Le projet consiste à publier les diverses méthode de poursuite. Il y a en une 15zaine répartie en 3 familles. Seuls certains sont décrit les autres sont des hybridations. Certains sont opérationnels depuis plusieurs années d'autres en test.
Bonne journée
JNT
 
Oui je peux envoyer le code de ce développement lorsque j'aurais avancé. Le projet consiste à publier les diverses méthode de poursuite. Il y a en une 15zaine répartie en 3 familles. Seuls certains sont décrit les autres sont des hybridations. Certains sont opérationnels depuis plusieurs années d'autres en test.
Bonjour,
Merci pour l'info, mais quel est l'avantage par apport à un système de poursuite automatique par capteurs?
Comme ici :https://forums.futura-sciences.com/electronique/962251-suivi-solaire-simple.html
MM
 
Merci pour l'info, mais quel est l'avantage par apport à un système de poursuite automatique par capteurs?
Comme ici :https://forums.futura-sciences.com/electronique/962251-suivi-solaire-simple.html
MM
Bonjour MM,
J'ai parcouru rapidement ce forum. Je vais mettre sur la discussion "suivi solaire patrick63730" le code d'un des systèmes de pilotage optique que j'utilise pour faire de la poursuite. J'ai bidouillé celui-ci à usage de test, d'où les nombreuses variables sans doute inutiles.

Par ailleurs souviens-toi, début d'année denière nous avons échangé par couriel à propos de mon bouquin sur les systèmes de poursuite, notamment ton accord pour publier l'aide apportée à propos de l'adaptateur série // maison et l'horloge DS1307. Il me semble même t'avoir envoyé mon clavuscrit en PDF ...? J'avais mis en ligne une page pour expliquer mon travail, malheureusement en fin d'année je me suis rendu à l'évidence vu la taille + de 300 pages, d'avoir à publier 2 tomes. Donc tout est à reprendre.

Néanmoins pour information voici la page en question : http://www.jnthi.org/auteurs/its/il_tourne_seul.html
À la suite de la table des matières, il y a le paragraphe : "Les différents types de poursuites" qui explique ma démarche.

Voili voilà, si ça peut aider. Bonne journée
-
JNT
 
Back
Top