Bonjour
Merci Pascal pour la confirmation. Les nouveaux PCB viennent d’arriver avec les petites façades alu de chez JLCPCB…
![]()
-----
Bonjour
Merci Pascal pour la confirmation. Les nouveaux PCB viennent d’arriver avec les petites façades alu de chez JLCPCB…
![]()
Bonjour
Belle réalisation..
Pour la grande classe en matériel embarqué, des capuchons étanches pour interrupteurs:
https://www.ebay.fr/itm/135708392968...Bk9SR_TQ4a3QZQ
https://www.ebay.fr/itm/333252878611...iew_item&gQT=1
j'ai utilisé ça pour mon détecteur de métaux.
Un film plastique au dessus de l'afficheur serait parfait ( entre l'afficheur et la face avant)
On sait jamais, une grosse déferlante !
cordialement
Voici pour la version: waterproof
Il y a un joint de Sika noir autour de la fenêtre de l’écran, que j’épaissirai pour la version qui embarquera. Même s’il est sensé être installé bien au sec dans le carré.
A propos l’afficheur qui avait grillé est réparé, il y a des modules back pack chez gotro qui correspondent à 100%
![]()
Bonjour à tous,
Belle réalisation, je n'avais pas pensé aux façades alu, le résultat est très réussi.
C'est vrai qu'il y a chez Gotro des LCD 1602 pas chèrs
MM
Dernière modification par mag1 ; 30/04/2025 à 09h16.
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Bonjour
Donc voici ce que donne le nouveau PCB. Comme pour les façades: c’est propre et net !
IMG_7895.jpeg
Avec les composants:
Tout me semble bien monté mais ça ne dois pas être le cas parce que le régulateur 5v chauffe comme s’il était en court circuit…
IMG_7898.jpeg
Et voici pour la version nº2 qui sera embarquée
IMG_7901.jpeg
IMG_7902.jpeg
Nouvel essai ce soir: le régulateur ne chauffe plus !
Différence de configuration par rapport au problème rencontré ce matin:
l’appareil était alimenté avec du fil de câblage composants (très fin). Mais pas non plus de puissance puisque j’utilise seulement deux petites led sur les 2 sorties pour les test
Une résistance 0Ω (juste posée et non soudée) faisait office de strap sur l’emplacement «*polyswitch*»
En tout cas visiblement ça marche et je ne vois pas d’autres explications…
Dernière modification par F0GED ; 13/05/2025 à 18h23.
Bonjour
J’ai trouvé la raison du problème de court circuit rencontré hier. Il y a une petite erreur sur le PCB au niveau de l’élément VAR / FIXE (permet le by pass de la sortie du picaxe pour de éclairage en continu)
Maintenant qu’on travaille avec le circuit + fermer le contact mets en court circuit
Ce qui va se modifier en grattant une piste et en faisant un strap
Connexion tout en bas à droite sur cette vue![]()
Dernière modification par F0GED ; 14/05/2025 à 21h02.
Bonjour,
Oui, un raté dans la modif. L'inter doit court-circuiter le mosfet (drain-source) et pas la sortie. Faut couper et faire une liaison
Désolé de cette erreur..
MM
Dernière modification par mag1 ; 14/05/2025 à 21h29.
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
C’est rectifié et ça fonctionne à merveille, merci ! Premiers essais en mer prévus courant Juin…
Merci pour cette info.
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Quel sera le courant max sur les sorties ? As tu mis un polyswitch ?
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Bonsoir
En consommateurs il y aura maxi 2,5 A sur les feux de position (circuit 1 «*leds*»)
Grand maxi 2A sur le feu en tête de mât ( circuit 2 «*flash*»)
Soit moins de 5A au total
J ai remarqué que le Polyswitch était judicieusement placé sur le PCB, plutôt que de mettre aux alim et sorties de PCB. J’ai préféré installer un porte fusibles 5x20mm sur le boîtier. Pour l’usage, je pense qu’un Polyswitch peut être problématique s’il se ré-enclenche automatiquement. Un fusible accessible permet de se rendre compte plus vite d’un défaut, en le contrôlant on sait tout de suite. Et il ne se ré-enclenche pas
C’est un point de vue «*utilisateur*» mais y aurait-il d’autres éléments à considérer du point de vue conception ?
Dernière modification par F0GED ; 15/05/2025 à 19h45.
Non, si il y a un fusible bien calibré, pas de soucis.Bonsoir
En consommateurs il y aura maxi 2,5 A sur les feux de position (circuit 1 «*leds*»)
Grand maxi 2A sur le feu en tête de mât ( circuit 2 «*flash*»)
Soit moins de 5A au total
J ai remarqué que le Polyswitch était judicieusement placé sur le PCB, plutôt que de mettre aux alim et sorties de PCB. J’ai préféré installer un porte fusibles 5x20mm sur le boîtier. Pour l’usage, je pense qu’un Polyswitch peut être problématique s’il se ré-enclenche automatiquement. Un fusible accessible permet de se rendre compte plus vite d’un défaut, en le contrôlant on sait tout de suite. Et il ne se ré-enclenche pas
C’est un point de vue «*utilisateur*» mais y aurait-il d’autres éléments à considérer du point de vue conception ?
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Ok merci, pour les test j’utilise du 2A (le banc test se compose de trois petites DEL)
A l’usage j’essayerai avec du 5A ou + si ça ne tiens pas
C’est tellement évident que j’aurai dû y penser plus tôt mais…: un mode d’éclairage SOS
Selon le code morse, soit un rythme de type … - - - …
L’idée d’utiliser le circuit PCB nommé «*option*» pour cette fonction, qui serait commandé par l’interrupteur nº2 (warning) remplacé par un inverseur 3 pôles est elle envisageable ? Peut on mettre deux conducteurs en commun sur le pôle commun inverseur et n’enclencher le mode que par l’un ou l’autre des ON de l’interrupteur ?
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Voici un code modifié, avec une commande 4 : SOS
Pour l'inter "warning" , il devrait être à 3 position avec neutre au centre: ON-OFF-ON , position central reliée au 0V , les deux autres positions reliées à "com2 et "option".
Il faudra sans doute modifier les tempos si trop rapides, trop lentes ou autre
Bon testCode:;Gestion éclairage MM 16/05/25 ;Commande 1 sur C.1 :éclats lumineux temporisés N éclats =1 à 5 ;tempo 3 à 60s ;Commande 2 sur C.2 :clignotant feux détresse 90/mn ;commande 3 sur C.3 :modulation avec ou sans flash ; modulation 20 à 100% de 3 à 20s ;commande 4 sur C.4 : signal SOS ;sélection paramètres par potars ;affichage paramètres sur LCD I2C 1602 ;sortie PWM sur C.0 ;sortie flash sur B.0 #picaxe 14M2 #no_data ;pas d' EEPROM setfreq M32 ;freq µC 32MHz symbol rsbit=bit0 symbol Necla=b1 ;nombre éclat symbol varb=b2 ;variable byte (8 bits) symbol car=b3 ;caractère symbol dat=b4 ;data I2C symbol cent=b5 ;centaines symbol diz=b6 ;dizaines symbol unit=b7 ;unités symbol Tecla=w13 ;temps entre séries éclats symbol Tmod=w12 ;temps modulation PWM symbol varw=w11 ;variable word (16 bits) symbol cpt=w10 ;compteur symbol affmod=w9 ;affichage modulation symbol flash= B.0 ;sortie flash symbol Npot=B.1 ;N éclats commandes 1 et 4 symbol TEpot=B.2 ;Tempsentre séries éclats 3 à 60s ;B.3 ;B.4 réservés I2C symbol Pmod=B.5 ;Temps de cycle RC symbol SPWM=C.0 ;sortie PWM symbol com1=pinC.1 symbol com2=pinC.2 symbol com3=pinC.3 ;commande 4 = commande 3 + flash symbol com4=pinC.4 pullup %1111000011000 ;pullup sur C.4 à C.1 et B.3,B.4 dirsC=%00000001 ; Initialisation I2C 4 bits , etc ******** hi2csetup i2cmaster,%01001110, i2cslow_32, i2cbyte ; Initialisation LCD ********* for cpt=0 to 5 lookup cpt,($33,$32,$28,$c,$6,$01),car gosub EnvoiByteCommInit next pause 100 ;temps init du LCD car=1 : gosub EnvoiByteComm ;raz LCD do ;lecture des pot et affichage des valeurs ;affichage ligne 1 car= 128 : gosub EnvoiByteComm 'curseur début ligne1 for cpt=0 to 15 lookup cpt,("Com Nec Tec Tmod"),car ;texte fixe ligne 1 gosub EnvoiByteData next gosub potar gosub affvar loop while pinC.1=0 and pinC.2=0 and pinC.3=0 and pinC.4=0 do ;un des inter est fermé ; affichage et lancement commande if com1=0 then car=192 : gosub EnvoiByteComm car="1" : gosub EnvoiByteData gosub command1 elseif com2=0 then car=192 : gosub EnvoiByteComm 'curseur début ligne1 car="2" : gosub EnvoiByteData gosub command2 elseif com3=0 then car=192 : gosub EnvoiByteComm car="3" :gosub EnvoiByteData gosub command3 elseif com4=0 then gosub command4 else car= 192 : gosub EnvoiByteComm 'curseur début ligne1 gosub potar gosub affvar endif loop potar: ;lit la positiondes potars readadc Npot,varb ;0 à 255 sur B.1 Necla= 5 * varb/250 ;0 à 5 ;N eclat readadc TEpot,varb ;0 à 255 sur B.2 Tecla= 57*varb/250 +3 ;3 à 60s ;T éclat readadc10 Pmod,varw ;0 à 255 sur B.5 Affmod= 20*varw/1023 +3 ;de 3 à 23 ;Modolation PWM return affvar: ;affiche les valeurs car= 192 : gosub EnvoiByteComm 'curseur début ligne1 car="?" : gosub EnvoiByteData car=196: gosub EnvoiByteComm bintoascii Necla,cent,diz,unit for cpt=0 to 2 lookup cpt,(cent,diz,unit),car gosub EnvoiByteData next car=200: gosub EnvoiByteComm bintoascii Tecla,cent,diz,unit for cpt=0 to 2 lookup cpt,(cent,diz,unit),car gosub EnvoiByteData next car=204: gosub EnvoiByteComm bintoascii Affmod,cent,diz,unit for cpt=0 to 2 lookup cpt,(cent,diz,unit),car gosub EnvoiByteData next return command1: ;éclats lumineux temporisés pwmout SPWM, off ;plus de PWM Tecla=Tecla * 2 ;time=0,5s à 32MHz do for cpt=1 to Necla high SPWM pause 2000 ;N éclats de 1s espacés de 3s low SPWM pause 2000 next time=0 ;RAZ time do loop while time<= Tecla and com1=0 ;temps de pause entre séries éclats loop while com1=0 return command2: ; 90 éclats / mn environ pwmout SPWM, off ;plus de PWM do if Necla=0 then high SPWM else high SPWM pause 4000 low SPWM pause 4000 endif loop while com2=0 low SPWM return command3: ;modulation avec ou sans flash pwmout SPWM, 250,0 ;PWM 3985Hz : RC=0 Tmod=Affmod *7 ; de 3000 à 23000 ms pour 500 pas: do for cpt=0 to 1000 step 2 ;il y a 500 RC de 0 à 1000 pwmduty SPWM, cpt pause Tmod ;temps de pause = Temps de modulation /400 next If Necla=0 then suit ;pas d'éclat, on saute for cpt=1 to Necla high flash pause 2000 low flash pause 2000 next suit: for cpt=1000 to 0 step -2 pwmduty SPWM,cpt pause Tmod next loop while com3=0 pwmout SPWM, OFF return command4: pwmout SPWM, off ;plus de PWM car=192 : gosub EnvoiByteComm for cpt=0 to 15 lookup cpt,("W SOS "),car ;texte fixe ligne 1 gosub EnvoiByteData next do for cpt=1 to 3 high flash pause 2000 low flash next pause 4000 for cpt=1 to 3 high flash pause 4000 low flash next pause 4000 for cpt=1 to 3 high flash pause 2000 low flash next pause 6000 loop while com4=0 return affich: ;Sub envoi vers LCD via I2C ************* EnvoiByteCommInit: pause 15 EnvoiByteComm: rsbit=0 EnvoiByteData: ;1ère moitié dat=car & $F0 | %1000 | rsbit ;%1000 pour l'?clairage hi2cout (dat) pause 2 dat=dat | %1100 hi2cout (dat) ;pulse sur E cad P2 pause 2 ;pause 2 pour 32 MHz dat=dat | %1000 ;fin pulse hi2cout (dat) pause 2 ;2ème moitié dat=car & $0F * 16 | %1000 | rsbit hi2cout (dat) pause 2 dat=dat | %1100 hi2cout (dat) pause 2 dat=dat | %1000 & %1011 hi2cout (dat) rsbit=1 return
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
bonjour
Mag1: en commande 4, on met pas un pause xx après chaque low flash,
sinon il va jamais s'éteindre ?
Ben si bien sûr...un oubli
Merci de corriger mes erreurs...Code:command4: pwmout SPWM, off ;plus de PWM car=192 : gosub EnvoiByteComm for cpt=0 to 15 lookup cpt,("W SOS "),car ;texte ligne 2 gosub EnvoiByteData next do for cpt=1 to 3 high flash pause 2000 low flash pause 2000 next pause 4000 for cpt=1 to 3 high flash pause 4000 low flash pause 2000 next pause 4000 for cpt=1 to 3 high flash pause 2000 low flash pause 2000 next pause 6000 loop while com4=0 return
MM
Dernière modification par mag1 ; 16/05/2025 à 18h29.
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Superbe Merci !
Et bonjour Bruno !
Le 0v se prendra bien sur celui de chaque emplacement (de option et com2) il n’y a pas nécessité de le repiquer ailleurs si je comprends bien ?
Pour la cadence du code normalement c’est 3points sur une période totale de 1s
Et 3 traits, trois signaux sur total 4s (rythme 1/3ts Et 1ts) mais sinon je bidouillerai, il faut bien que je m’y mette
Je chargerai le code après la confirmation de la question de Bruno
Merci à vous !
Vachement bien !
Le rythme est très bien
Je me demande si le signal ne devrai pas être sur tous les feux, ou bien au choix sélectionnable par inverseur ou via la programmation. Est ce techniquement possible ?
IMG_7922.jpeg
En m’excusant d’espérer que ça ne me serve jamais
IMG_7921.jpeg
Dernière modification par F0GED ; 16/05/2025 à 20h18.
Nouvelle MàJ, avec éclairage des deux feux et remède au pb d'affichage du S
Bon ou pas ?Code:command4: pwmout SPWM, off ;plus de PWM car=192 : gosub EnvoiByteComm for cpt=0 to 15 lookup cpt,("W SOS "),car ;texte fixe ligne 1 gosub EnvoiByteData next do for cpt=1 to 3 high flash,SPWM pause 2000 low flash,SPWM pause 2000 next pause 4000 for cpt=1 to 3 high flash,SPWM pause 4000 low flash,SPWM pause 2000 next pause 4000 for cpt=1 to 3 high flash,SPWM pause 2000 low flash,SPWM pause 2000 next pause 6000 loop while com4=0 return
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Bonjour, merci pour la modif, je pense que c’est mieux sur tous les feux, ça attire beaucoup + l’attention, donc pas besoin de sélecteur entre les deux circuits. J’ai trouvé des inverseurs on-off-on à 6 pattes, ça ira mieux, et un petit lettrage adhésif rouge H5mm avec les trois lettres sos à rajouter sur la façade
Voir la vidéo d’essai, j’en ferai une autre en conditions marines, quand l’appareil sera installé à bord
https://youtube.com/shorts/7Tj1jYIt3UU?feature=shared
Ca y est maintenant tout fonctionne parfaitement, je commence à être à court d’idées pour d’autres améliorations... Il m’en resterai peut-être une pour ce modèle: un poussoir on-off-on serait intéressant pour couper le mode 3 (modulation) en cours, mode que j’ai modifié pour durer jusqu’à 83s. Couper le cycle sans forcément devoir éteindre tout l’appareil serait un + est ce qu’en plaçant une coupure juste en amont de l’alim picaxe conviendrait ?
Je suis entièrement satisfait de l’appareil qui correspond totalement, et même nettement mieux que ce que j’avais envisagé au départ, pour sa qualité de fonctionnement, facilité d’utilisation, esthétique... Merci pour ces 5 mois de collaboration vraiment intéressante et sympa. Je suis aussi content de pouvoir progresser un peu en électronique, et de découvrir les micro circuits. C’est appréciable d’être bien accompagné, par des connaisseurs de talent, sur les chemins de la découverte. Merci de m’avoir permis d’aller jusqu’au bout de ce projet qui est une belle expérience et une belle réussite !
Dernière modification par F0GED ; 17/05/2025 à 11h10.
Bonjour,
"belle réussite"....tu parles, je vois encore un "S" qui n'est pas écrasé par le chiffre.
Je vais revoir ma copie en essayant, cette fois de cadrer le "SOS" au bon endroit.
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Ah non il faut pas casser la tête là dessus, j’ai bien SOS affiché comme le montre la première photo en #291.
Le S entre les chiffres, l’erreur pourrait être juste, car on est sur des valeurs en secondes, je pensais que c’était ça.
Mais.. cette photo en #293 est peut-être un bug: n’ayant pas d’inverseur pour l’instant permettant un OFF, je suis obligé de balader hasardeusement le levier du mécanisme sur le point de bascule pour sortir du cycle, Mais..je crois que ce n’est pas fiable et que ça crée des interférences. Je dois recevoir l’inverseur avec position OFF en début de semaine, on sera fixé
Non ce S est le dernier de SOS qui n'est pas écrasé par l'affichage du nombre.
Nouvel et dernier (j'espère) essai
MMCode:command4: pwmout SPWM, off ;plus de PWM car=192 : gosub EnvoiByteComm for cpt=0 to 15 lookup cpt,("W SOS "),car ;texte fixe ligne 1 gosub EnvoiByteData next do for cpt=1 to 3 high flash,SPWM pause 2000 low flash,SPWM pause 2000 next pause 4000 for cpt=1 to 3 high flash,SPWM pause 4000 low flash,SPWM pause 2000 next pause 4000 for cpt=1 to 3 high flash,SPWM pause 2000 low flash,SPWM pause 2000 next pause 6000 loop while com4=0 return
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
C'est pas fini.... Il m’en resterai peut-être une pour ce modèle: un poussoir on-off-on serait intéressant pour couper le mode 3 (modulation) en cours, mode que j’ai modifié pour durer jusqu’à 83s. Couper le cycle sans forcément devoir éteindre tout l’appareil serait un + est ce qu’en plaçant une coupure juste en amont de l’alim picaxe conviendrait ?
Petite modif pour écourter le cycle3 en cas de remise inter 3 au neutre:
Dis si il y a un pbCode:;Gestion éclairage MM 17/05/25 ;Commande 1 sur C.1 :éclats lumineux temporisés N éclats =1 à 5 ;tempo 3 à 60s ;Commande 2 sur C.2 :clignotant feux détresse 90/mn ;commande 3 sur C.3 :modulation avec ou sans flash ; modulation 20 à 100% de 3 à 20s ;commande 4 sur C.4 : signal SOS ;sélection paramètres par potars ;affichage paramètres sur LCD I2C 1602 ;sortie PWM sur C.0 ;sortie flash sur B.0 #picaxe 14M2 #no_data ;pas d' EEPROM setfreq M32 ;freq µC 32MHz symbol rsbit=bit0 symbol Necla=b1 ;nombre éclat symbol varb=b2 ;variable byte (8 bits) symbol car=b3 ;caractère symbol dat=b4 ;data I2C symbol cent=b5 ;centaines symbol diz=b6 ;dizaines symbol unit=b7 ;unités symbol Tecla=w13 ;temps entre séries éclats symbol Tmod=w12 ;temps modulation PWM symbol varw=w11 ;variable word (16 bits) symbol cpt=w10 ;compteur symbol affmod=w9 ;affichage modulation symbol flash= B.0 ;sortie flash symbol Npot=B.1 ;N éclats commandes 1 et 4 symbol TEpot=B.2 ;Tempsentre séries éclats 3 à 60s ;B.3 ;B.4 réservés I2C symbol Pmod=B.5 ;Temps de cycle RC symbol SPWM=C.0 ;sortie PWM symbol com1=pinC.1 symbol com2=pinC.2 symbol com3=pinC.3 ;commande 4 = commande 3 + flash symbol com4=pinC.4 pullup %1111000011000 ;pullup sur C.4 à C.1 et B.3,B.4 dirsC=%00000001 ; Initialisation I2C 4 bits , etc ******** hi2csetup i2cmaster,%01001110, i2cslow_32, i2cbyte ; Initialisation LCD ********* for cpt=0 to 5 lookup cpt,($33,$32,$28,$c,$6,$01),car gosub EnvoiByteCommInit next pause 100 ;temps init du LCD car=1 : gosub EnvoiByteComm ;raz LCD do ;lecture des pot et affichage des valeurs ;affichage ligne 1 car= 128 : gosub EnvoiByteComm 'curseur début ligne1 for cpt=0 to 15 lookup cpt,("Com Nec Tec Tmod"),car ;texte fixe ligne 1 gosub EnvoiByteData next gosub potar gosub affvar loop while pinC.1=0 and pinC.2=0 and pinC.3=0 and pinC.4=0 do ;un des inter est fermé ; affichage et lancement commande if com1=0 then car=192 : gosub EnvoiByteComm car="1" : gosub EnvoiByteData gosub command1 elseif com2=0 then car=192 : gosub EnvoiByteComm 'curseur début ligne1 car="2" : gosub EnvoiByteData gosub command2 elseif com3=0 then car=192 : gosub EnvoiByteComm car="3" :gosub EnvoiByteData gosub command3 elseif com4=0 then gosub command4 else car= 192 : gosub EnvoiByteComm 'curseur début ligne1 gosub potar gosub affvar endif loop potar: ;lit la positiondes potars readadc Npot,varb ;0 à 255 sur B.1 Necla= 5 * varb/250 ;0 à 5 ;N eclat readadc TEpot,varb ;0 à 255 sur B.2 Tecla= 57*varb/250 +3 ;3 à 60s ;T éclat readadc10 Pmod,varw ;0 à 255 sur B.5 Affmod= 20*varw/1023 +3 ;de 3 à 23 ;Modolation PWM return affvar: ;affiche les valeurs car= 192 : gosub EnvoiByteComm 'curseur début ligne1 car="?" : gosub EnvoiByteData car=196: gosub EnvoiByteComm bintoascii Necla,cent,diz,unit for cpt=0 to 2 lookup cpt,(cent,diz,unit),car gosub EnvoiByteData next car=200: gosub EnvoiByteComm bintoascii Tecla,cent,diz,unit for cpt=0 to 2 lookup cpt,(cent,diz,unit),car gosub EnvoiByteData next car=204: gosub EnvoiByteComm bintoascii Affmod,cent,diz,unit for cpt=0 to 2 lookup cpt,(cent,diz,unit),car gosub EnvoiByteData next return command1: ;éclats lumineux temporisés pwmout SPWM, off ;plus de PWM Tecla=Tecla * 2 ;time=0,5s à 32MHz do for cpt=1 to Necla high SPWM pause 2000 ;N éclats de 1s espacés de 3s low SPWM pause 2000 next time=0 ;RAZ time do loop while time<= Tecla and com1=0 ;temps de pause entre séries éclats loop while com1=0 return command2: ; 90 éclats / mn environ pwmout SPWM, off ;plus de PWM do if Necla=0 then high SPWM else high SPWM pause 4000 low SPWM pause 4000 endif loop while com2=0 low SPWM return command3: ;modulation avec ou sans flash pwmout SPWM, 250,0 ;PWM 3985Hz : RC=0 Tmod=Affmod *7 ; de 3000 à 23000 ms pour 500 pas: do for cpt=0 to 1000 step 2 ;il y a 500 RC de 0 à 1000 pwmduty SPWM, cpt pause Tmod ;temps de pause = Temps de modulation /400 if com3=1 then ;modif cycle court pwmout SPWM, off return endif next If Necla=0 then suit ;pas d'éclat, on saute for cpt=1 to Necla high flash pause 2000 low flash pause 2000 next suit: for cpt=1000 to 0 step -2 pwmduty SPWM,cpt pause Tmod if com3=1 then pwmout SPWM, off return endif next loop while com3=0 pwmout SPWM, OFF return command4: pwmout SPWM, off ;plus de PWM car=192 : gosub EnvoiByteComm for cpt=0 to 15 lookup cpt,("W SOS "),car ;texte fixe ligne 1 gosub EnvoiByteData next do for cpt=1 to 3 high flash,SPWM pause 2000 low flash,SPWM pause 2000 next pause 4000 for cpt=1 to 3 high flash,SPWM pause 4000 low flash,SPWM pause 2000 next pause 4000 for cpt=1 to 3 high flash,SPWM pause 2000 low flash,SPWM pause 2000 next pause 6000 loop while com4=0 return affich: ;Sub envoi vers LCD via I2C ************* EnvoiByteCommInit: pause 15 EnvoiByteComm: rsbit=0 EnvoiByteData: ;1ère moitié dat=car & $F0 | %1000 | rsbit ;%1000 pour l'?clairage hi2cout (dat) pause 2 dat=dat | %1100 hi2cout (dat) ;pulse sur E cad P2 pause 2 ;pause 2 pour 32 MHz dat=dat | %1000 ;fin pulse hi2cout (dat) pause 2 ;2ème moitié dat=car & $0F * 16 | %1000 | rsbit hi2cout (dat) pause 2 dat=dat | %1100 hi2cout (dat) pause 2 dat=dat | %1000 & %1011 hi2cout (dat) rsbit=1 return
L'inter 3 positions 2 circuits sera parfait
MM
Dernière modification par mag1 ; 17/05/2025 à 19h56.
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Bonjour
Erreur d'erreur... à annuler
MM
Dernière modification par mag1 ; 18/05/2025 à 10h09.
Bonjour
Plus de S intempestif, et le mode 3 se coupe bien dès qu’on coupe à l’inter. C’est parfait merci
Pièce jointe 508773
Voici déjà pour les essais au sec (bateau à terre)
https://youtube.com/shorts/O9x_J4_caBs?feature=shared
https://youtube.com/shorts/uM6x5vlp9oo?feature=shared
Bon Dimanche
Photo valide
![]()