Bon, alors:
Il est possible de faire un régulateur à découpage soit même, un LM2575T5 donne du 5v, il faut un LM2575T-adj, une self, une diode, 2 condensateurs, un ajustable, une plaque...Le temps de régler tous les autres problèmes, il sera là ( il faut 15j à 3 semaines max, en général).
Je vais oublier cette possibilité, j'ai commandé ce matin 2 circuit en livraison standard (5€01) on verra bien...
J'ai fait quelques essais et vidéos les schémas proposés sont mis à jour (il n'y a plus de PNP BC327)
Pourquoi régler la luminosité avec un potentiomètre? Celui figurant sur le schéma règle la vitesse (je pense qu'il est nécessaire).
Autant pour moi, je pensais que le potentiometre permettait le reglage de la luminosité en parallele du bouton poussoir ( ce qui etait confus dans ma tete, cette question n'a plus lieu d'etre alors )
Il y a deux schémas un où la luminosité du cadre est une animation (toute personnelle).
Un autre où le PWM anime un autre circuit (Ex texte).
L'animation du cadre et celle de la luminosité sont indépendantes et gérées par deux programmes en temps partagé ,start0 et start1 (il pourrait y avoir 4 programmes en temps partagé).
View attachment 13389
Avec çà, on doit pouvoir adapter et faire ce que l'on veut, ce sont des exemples.
Le code a un peu changé d'aspect.
Il y a un programme principal "debut:" qui appelle la suite des sous programmes d'animation (des vrais cette fois), ils commencent par un étiquette et finissent par un return
Avantage: l'ordre des sous programmes est sans importance, la séquence est définie par l'ordre des gosub et on peut répéter l'anim1 entre la 6 et la 7 en ajoutant simplement un gosub.
Code:
#picaxe 20M2
start0:
symbol vitesse= w13
symbol suite = bit0
Debut:
Do
Gosub Anim1
Gosub Anim2
Gosub Anim3
Gosub Anim4
Gosub Anim5
Gosub Anim6
Gosub Anim7
Gosub Anim8
Gosub Anim9
Gosub Anim10
Gosub Anim11
Gosub Anim12
Loop
Anim1: 'chenillard simple aller'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.0
pause vitesse
low B.0
high B.1
pause vitesse
low B.1
high B.2
pause vitesse
low B.2
high B.3
pause vitesse
low B.3
high B.4
pause vitesse
low B.4
high B.5
pause vitesse
low B.5
high B.6
pause vitesse
low B.6
high B.7
pause vitesse
low B.7
if suite=1 then
exit
endif
loop
return
Anim2: 'chenillard simple retour'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.7
pause vitesse
low B.7
high B.6
pause vitesse
low B.6
high B.5
pause vitesse
low B.5
high B.4
pause vitesse
low B.4
high B.3
pause vitesse
low B.3
high B.2
pause vitesse
low B.2
high B.1
pause vitesse
low B.1
high B.0
pause vitesse
low B.0
if suite=1 then
exit
endif
loop
return
Anim3: 'chenillard simple aller-retour'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.0
pause vitesse
low B.0
high B.1
pause vitesse
low B.1
high B.2
pause vitesse
low B.2
high B.3
pause vitesse
low B.3
high B.4
pause vitesse
low B.4
high B.5
pause vitesse
low B.5
high B.6
pause vitesse
low B.6
high B.7
pause vitesse
low B.7
high B.6
pause vitesse
low B.6
high B.5
pause vitesse
low B.5
high B.4
pause vitesse
low B.4
high B.3
pause vitesse
low B.3
high B.2
pause vitesse
low B.2
high B.1
pause vitesse
low B.1
high B.0
pause vitesse
low B.0
if suite=1 then
exit
endif
loop
return
Anim4: 'chenillard double aller'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.0:high B.4
pause vitesse
low B.0:low B.4
high B.1:high B.5
pause vitesse
low B.1:low B.5
high B.2:high B.6
pause vitesse
low B.2:low B.6
high B.3:high B.7
pause vitesse
low B.3:low B.7
if suite=1 then
exit
endif
loop
return
Anim5: 'chenillard double retour'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.0:high B.4
pause vitesse
low B.0:low B.4
high B.3:high B.7
pause vitesse
low B.3:low B.7
high B.2:high B.6
pause vitesse
low B.2:low B.6
high B.1:high B.5
pause vitesse
low B.1:low B.5
if suite=1 then
exit
endif
loop
return
Anim6: 'chenillard double aller-retour'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.0:high B.4
pause vitesse
low B.0:low B.4
high B.1:high B.5
pause vitesse
low B.1:low B.5
high B.2:high B.6
pause vitesse
low B.2:low B.6
high B.3:high B.7
pause vitesse
low B.3:low B.7
high B.0:high B.4
pause vitesse
low B.0:low B.4
high B.3:high B.7
pause vitesse
low B.3:low B.7
high B.2:high B.6
pause vitesse
low B.2:low B.6
high B.1:high B.5
pause vitesse
low B.1:low B.5
if suite=1 then
exit
endif
loop
return
Anim7: 'allumage progressif aller'
suite=0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.6
pause vitesse
high B.5:high B.7
pause vitesse
high B.0:high B.4
pause vitesse
high B.1:high B.3
pause vitesse
high B.2
pause vitesse
low B.0:low B.1:low B.2:low B.3:low B.4:low B.5:low B.6:low B.7
if suite=1 then
exit
endif
loop
return
Anim8: 'allumage progressif retour'
suite=0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.2
pause vitesse
high B.1:high B.3
pause vitesse
high B.0:high B.4
pause vitesse
high B.7:high B.5
pause vitesse
high B.6
if suite=1 then
exit
endif
loop
return
Anim9: 'allumage progressif aller-retour haut'
suite=0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
vitesse=vitesse+100
high B.6
pause vitesse
high B.5:high B.7
pause vitesse
high B.0:high B.4
pause vitesse
high B.1:high B.3
pause vitesse
high B.2
pause vitesse
low B.2
pause vitesse
low B.1:low B.3
pause vitesse
low B.0:low B.4
pause vitesse
low B.7:low B.5
pause vitesse
low B.6
if suite=1 then
exit
endif
loop
return
Anim10:'allumage progressif aller-retour bas'
suite=0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
setint %00000010,%00000010 'sur C.1
high B.2
pause vitesse
high B.1:high B.3
pause vitesse
high B.0:high B.4
pause vitesse
high B.7:high B.5
pause vitesse
high B.6
pause vitesse
low B.6
pause vitesse
low B.7:low B.5
pause vitesse
low B.0:low B.4
pause vitesse
low B.1:low B.3
pause vitesse
low B.2
if suite=1 then
exit
endif
loop
return
Anim11:'allumage haut extinction bas'
suite =0
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
setint %00000010,%00000010 'sur C.1
high B.2
pause vitesse
high B.1:high B.3
pause vitesse
high B.0:high B.4
pause vitesse
high B.7:high B.5
pause vitesse
high B.6
pause vitesse
low B.2
pause vitesse
low B.1: low B.3
pause vitesse
low B.0:low B.4
pause vitesse
low B.7: low B.5
pause vitesse
low B.6
if suite=1 then
exit
endif
loop
return
Anim12:'allumage bas extinction haut'
suite =0
readadc c.3, vitesse
setint %00000010,%00000010 'sur C.1
Do
readadc c.3, vitesse
setint %00000010,%00000010 'sur C.1
high B.6
pause vitesse
high B.7:high B.5
pause vitesse
high B.0:high B.4
pause vitesse
high B.1:high B.3
pause vitesse
high B.2
pause vitesse
low B.6
pause vitesse
low B.7: low B.5
pause vitesse
low B.0:low B.4
pause vitesse
low B.1: low B.3
pause vitesse
low B.2
if suite=1 then
exit
endif
loop
return
interrupt:
suite =1
return
start1:
Do
w12=0
Do
pwmout pwmdiv16, C.2, 124, w12
inc w12
pause 10
loop while w12 <500
pause 500
pwmout C.2, off
low C.3
pause 200
high C.3
w12=500
Do
pwmout pwmdiv16, C.2, 124, w12
dec w12
pause 10
loop while w12 >0
pause 1000
loop
Je les mes en PJ, ces vidéos ?
OUI volontier!!!
MM