Salut,
Encore du train miniature...
Cette fois-ci, un contrôleur d'aiguillage, pour systèmes électromagnétique à base d'électro-aimants ou moteurs.
La tension gérée importe peu, car il contrôle des interrupteurs électroniques à tension continue variable (jusqu'à 24-30v)
Une impulsion active l'aiguillage dans un sens, une autre le commute dans l'autre.
Ce montage, dans ca version de base peut gérer une sortie analogique en continue avec l'activation de deux bobines d'électro-aimants en courant continue (2 fils+un commun) Avec l'ajout d'un CD4066, il peut gérer un électro-aimant à inversion de polarités (2fils).
Le choix du temps d'activation se fait grâce à quatre résistances et deux condensateurs à calculer.
Le temps d'activation est contrôlé pour éviter la surchauffe des électro-aimants de l'aiguillage et de permettre un temps d'activation suffisant au moteur (si technologie utilisée) de finir le repositionnement des aiguilles.
Il est donc conseillé de tester le circuit à vide, utiliser temporairement un potentiomètre pour trouver le temps de transition optimal sur votre configuration matérielle. (τ = R × C (en secondes, avec R en ohms et C en farads) en théorie, mais la commutation ne se fera pas en pleine charge, plus dans les 1/4 de charge...Donc t/4)
En raison des différentes technologies disponibles, il sera peut-être délicat d'adapter le seuil optimal.
Mais ce montage, apporte une base à vos futurs projets.
Projet Kicad & Gerber:
http://zx81.ordi5.free.fr/brico/ZX81_Tr ... roller.zip
ZX81 France, les fichiers...
Modérateur : XavierSnp
Contrôleur d'aiguillage.[Kicad]
Abandon-Listings [XavSnap]: http://www.hebdogiciel.free.fr, http://abandonlistings.free.fr/ & http://abandon.pcbs.free.fr/
Nouveau Jeu: Course
Salut,
Nouveau jeu de Alain Henneuse, Course en BASIC.
Rapide et optimisé, ce petit jeu 16k est à télécharger au format P...
Nouveau jeu de Alain Henneuse, Course en BASIC.
Rapide et optimisé, ce petit jeu 16k est à télécharger au format P...
1 LET D$="0000183C7E7E240000070F7F7F7F700000E0F0FEFEFE0E000F1F18181F7FFFFFF0F81818F8FEFFFFFFFF7FF8F8707000FFFFFE1F1F0E0E0003060C183060C080C06030180C0603013C7EFFFFFFFF7E3C000000000000FFFFC06030180C06FFFF03060C183060FFFF"
2 FOR K=0 TO 103
3 POKE 7688+K+88*(K>79),16*CODE D$(2*K+1)+CODE D$(2*K+2)-476
4 NEXT K
5 LET W$=" "
6 FOR I=1 TO 5
7 LET W$=W$+W$
8 NEXT I
9 LET G$=CHR$ 8
10 LET H$=CHR$ 9
11 LET U$=CHR$ 10
12 LET Z$=CHR$ 22
13 LET K$=CHR$ 24
14 LET L$=CHR$ 23
15 LET T$=CHR$ 4+CHR$ 5
16 LET B$=CHR$ 6+CHR$ 7
17 LET D=PEEK 16396+256*PEEK 16397+1
18 GOTO 100
20 CLS
21 FOR I=0 TO 20
22 PRINT AT I,0;W$;
23 NEXT I
24 FOR I=0 TO 31
25 PRINT AT 6,I;Z$
26 NEXT I
27 PRINT AT 6,2;K$;AT 6,9;L$;AT 6,19;K$;AT 6,26;L$
28 PRINT AT 6,13;K$;AT 6,16;L$
29 PRINT AT 1,14;U$
30 FOR I=0 TO 2
31 PRINT AT 3+I,5-I;G$;AT 3+I,6+I;H$;AT 3+I,22-I;G$;AT 3+I,23+I;H$
32 IF I<1 THEN PRINT AT 5+I,14-I;G$;AT 5+I,15+I;H$
33 NEXT I
34 FOR R=7 TO 20
35 LET W=R-6
36 PRINT AT R,16-W;G$;AT R,16+W;H$
37 NEXT R
38 RETURN
100 CLS
102 PRINT AT 4,10;"COURSE ZX81"
104 PRINT AT 9,15;T$;AT 10,15;B$
106 PRINT AT 14,7;"PRESS KEY TO PLAY"
108 PRINT AT 18,7;"5=GAUCHE 8=DROITE"
110 IF INKEY$<>"" THEN GOTO 110
112 IF INKEY$="" THEN GOTO 112
114 RAND 0
120 DIM X(3)
122 DIM Y(3)
124 LET P=0
126 LET Q=0
128 LET S=0
130 LET T=5
132 GOSUB 20
134 PRINT AT 0,0;"SCORE:";AT 0,7;S
136 GOSUB 805
200 LET T=T+1
210 IF INKEY$="5" AND P>-1 THEN LET P=P-1
215 IF INKEY$="8" AND P<1 THEN LET P=P+1
220 IF P<>Q THEN GOSUB 800
225 FOR I=1 TO 3
230 IF X(I)=0 THEN GOTO 290
235 LET E=X(I)
240 LET L=Y(I)
245 GOSUB 600
250 LET E=E+1
255 GOSUB 650
260 IF E<20 THEN GOTO 285
265 IF L=P THEN GOTO 400
270 GOSUB 600
275 LET S=S+1
277 PRINT AT 0,7;S
280 LET E=0
285 LET X(I)=E
290 NEXT I
295 IF T<5 THEN GOTO 200
300 IF RND*10>6 THEN GOTO 200
305 LET N=1+(S>5)+(S>12)
310 FOR J=1 TO N
315 IF X(J)>0 THEN GOTO 340
320 LET X(J)=9
325 LET Y(J)=INT (RND*3)-1
330 LET T=0
335 GOTO 200
340 NEXT J
345 GOTO 200
400 PRINT AT 10,13;"CRASH"
402 PAUSE 100
404 CLS
406 PRINT AT 6,11;"GAME OVER"
408 PRINT AT 9,10;"SCORE: ";S
410 PRINT AT 13,5;"R: REJOUER Q: QUITTER"
412 IF INKEY$="R" THEN GOTO 120
414 IF INKEY$="Q" THEN GOTO 430
416 GOTO 412
430 CLS
432 PRINT AT 10,11;"A BIENTOT"
434 STOP
600 LET A=D+33*E+15+L*INT ((E-5)/2)
605 IF E>16 THEN GOTO 630
610 IF E>12 THEN GOTO 620
615 POKE A+1,0
617 RETURN
620 POKE A,0
622 POKE A+1,0
624 RETURN
630 POKE A,0
632 POKE A+1,0
634 POKE A-33,0
636 POKE A-32,0
638 RETURN
650 LET A=D+33*E+15+L*INT ((E-5)/2)
655 IF E>16 THEN GOTO 680
660 IF E>12 THEN GOTO 670
665 POKE A+1,1
667 RETURN
670 POKE A,2
672 POKE A+1,3
674 RETURN
680 POKE A-33,4
682 POKE A-32,5
684 POKE A,6
686 POKE A+1,7
690 RETURN
800 LET A=D+642+Q*7
801 POKE A,0
802 POKE A+1,0
803 POKE A+33,0
804 POKE A+34,0
805 LET A=D+642+P*7
806 POKE A,4
807 POKE A+1,5
808 POKE A+33,6
809 POKE A+34,7
820 LET Q=P
830 RETURN
Abandon-Listings [XavSnap]: http://www.hebdogiciel.free.fr, http://abandonlistings.free.fr/ & http://abandon.pcbs.free.fr/