Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Horloge LED | |
| | Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Horloge LED Mar 17 Nov 2020 - 23:45 | |
| Bonjour à tous ! Voici la reproduction tout en Panoramic d’une horloge LED. Elle est synchronisée sur l’horloge du PC. Un clic droit sur l’horloge vous donnera accès au menu : - Choix de la couleur des LEDs - Présentation avec ou sans le bandeau de la fenêtre - Quitter le programmeVoici un lien avec l’exécutable et le code source. https://mon-partage.fr/f/UgxLttGc/ - Code:
-
' Horloge 2 ' Marc - novembre 2020 dim r%, v%, b%, s1%, s2%, m1%, m2%, h1%, h2%, flash%, couleur%, c%, t%
label quitter, bandeau, dimensions, couleur, synchro
interfaceUtilisateur()
dessinerHorloge()
timer 40 timer_interval 40,500 on_timer 40,synchro
end synchro: s1% = time_second m1% = 10 * frac(time_minute / 10) m2% = int(time_minute / 10) h1% = 10 * frac(time_hour / 10) h2% = int(time_hour / 10)
defilementSecondes(s1%) clignotementSecondes()
d1(m1%) d2(m2%) d3(h1%) d4(h2%) return
sub defilementSecondes(secondes%) dim_local i%,x%,y% 2d_target_is 20 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b%
' effacement couronne des secondes if secondes% = 0 2d_fill_color 0,0,0 2d_pen_color 0,0,0 FOR i% = 180 to -180 step -6 X%=95*SIN(i%)+135 y%=95*COS(i%)+135 2D_circle x%,y%,2 next i% end_if
secondes% = 29 - secondes%
2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b%
X%=95*SIN(secondes%*6)+135 y%=95*COS(secondes%*6)+135 2D_circle x%,y%,2
' variation de la couleur d'affichage if c% = 1 :' flag couleurs : fixes ou variation t% = t% + 1 :' compteur pour changer la couleur toutes les x(t) (t=500ms) if t% > 30 :' changer de couleur toutes les 15 secondes couleur% = couleur% + 1 if couleur% > 256 couleur% = 0 end_if t% = 0 end_if couleurVariableAffichage() couronneExterieure() end_if
end_sub
sub clignotementSecondes() ' 2d_target_is 20
if flash% = 0 flash% = 1 2d_fill_color 0,0,0 2d_pen_color 0,0,0 2d_circle 137,126,2 2d_circle 133,144,2 else flash% = 0 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% 2d_circle 137,126,2 2d_circle 133,144,2 end_if end_sub
sub d1(chiffre%) 2d_target_is 31 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub d2(chiffre%) 2d_target_is 32 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub d3(chiffre%) 2d_target_is 33 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub d4(chiffre%) 2d_target_is 34 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub dessinerHorloge() dim_local i%,x%,y% degrees
couronneExterieure() ' afficheur 4 digits afficheur1() afficheur2() afficheur3() afficheur4() clignotementSecondes() end_sub
sub couronneExterieure() dim_local i%, x%, y% 2d_target_is 20 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% for i% = 0 to 359 step 30 X%=100*SIN(i%)+135 y%=100*COS(i%)+135 2D_circle x%,y%,2 next i% end_sub
sub afficheur1() picture 31 width 31,36 height 31,52 top 31,109 left 31,180 color 31,0,0,0 end_sub
sub afficheur2() picture 32 width 32,36 height 32,52 top 32,109 left 32,145 color 32,0,0,0 end_sub
sub afficheur3() picture 33 width 33,36 height 33,52 top 33,109 left 33,90 color 33,0,0,0 end_sub
sub afficheur4() picture 34 width 34,36 height 34,52 top 34,109 left 34,54 color 34,0,0,0 end_sub
sub interfaceUtilisateur() border_hide 0 width 0,width(0) - width_client(0) + 270 height 0,height(0) - height_client(0) + 270 top 0,20 left 0,screen_x - 290 caption 0,"" on_resize 0,dimensions hint 0," Clic droit : menu "
picture 20 full_space 20 color 20,0,0,0 2d_target_is 20
menuContextuel()
' couleur par défaut des LEDs r%=255 v%=0 b%=0
' sélection du mode Couleur Variable par défaut au démarrage c% = 1 mark_on 10
end_sub
sub menuContextuel() main_menu_pop 1
sub_menu 2 parent 2,1 caption 2,"Couleur LEDs"
sub_menu 3 parent 3,2 caption 3,"Rouge" on_click 3,couleur
sub_menu 4 parent 4,2 caption 4,"Vert" on_click 4,couleur
sub_menu 5 parent 5,2 caption 5,"Jaune" on_click 5,couleur
sub_menu 6 parent 6,2 caption 6,"Bleu" on_click 6,couleur
sub_menu 7 parent 7,2 caption 7,"Blanc" on_click 7,couleur
sub_menu 8 parent 8,1 caption 8,"Bande&au" mark_off 8 on_click 8,bandeau
sub_menu 9 parent 9,1 caption 9,"Quitter" on_click 9,quitter
sub_menu 10 parent 10,2 caption 10,"Variable" on_click 10,couleur
end_sub
couleur: select number_click case 3 c% = 0 r% = 255 v% = 0 b% = 0 mark_off 4 mark_off 5 mark_off 6 mark_off 7 mark_off 10 mark_on 3 case 4 c% = 0 r% = 0 v% = 255 b% = 0 mark_off 3 mark_off 5 mark_off 6 mark_off 7 mark_off 10 mark_on 4 case 5 c% = 0 r% = 255 v% = 255 b% = 0 mark_off 4 mark_off 3 mark_off 6 mark_off 7 mark_off 10 mark_on 5 case 6 c% = 0 r% = 0 v% = 0 b% = 255 mark_off 4 mark_off 5 mark_off 3 mark_off 7 mark_off 10 mark_on 6 case 7 c% = 0 r% = 255 v% = 255 b% = 255 mark_off 4 mark_off 5 mark_off 6 mark_off 3 mark_off 10 mark_on 7
case 10 c% = 1 mark_off 4 mark_off 5 mark_off 6 mark_off 7 mark_off 3 mark_on 10
end_select couronneExterieure() return sub couleurVariableAffichage()
if couleur% => 0 and couleur% < 42 r%= 255 v%= couleur%*6 b%= 0 end_if
if couleur% > 41 and couleur% < 85 r%= 255-((couleur%-42)*6) v%= 255 b%= 0 end_if
if couleur% > 84 and couleur% < 128 r%= 0 v%= 255 b%= (couleur%-85)*6 end_if
if couleur% > 127 and couleur% < 171 r%= ((couleur%-128)*6) v%= 255 b%= 255 end_if
if couleur% > 170 and couleur% < 214 r%= 255 - (couleur%-171)*6 v%= 255 - (couleur%-171)*6 b%= 255 end_if
IF couleur% > 213 and couleur% < 257 r%= ((couleur%-214)*6) v%= 0 b%= 255-((couleur%-214)*6) end_if
end_sub
sub un() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 end_sub
sub deux() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 end_sub
sub trois() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 end_sub
sub quatre() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 end_sub
sub cinq() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 end_sub
sub six() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 end_sub
sub sept() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
end_sub
sub huit() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 end_sub
sub neuf() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 end_sub
sub zero() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 end_sub
bandeau: if caption$(8) = "Bande&au" mark_on 8 caption 8,"Bandea&u" border_small 0 else caption 8,"Bande&au" mark_off 8 border_hide 0 end_if return
dimensions: inactive 0 width 0,width(0) - width_client(0) + 270 height 0,height(0) - height_client(0) + 270 active 0 return
quitter: terminate return
A bientôt !
Dernière édition par Marc le Lun 23 Nov 2020 - 19:42, édité 2 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Horloge LED Mer 18 Nov 2020 - 0:58 | |
| Très joli, Marc ! Et le code est propre, bien construit et facile à comprendre. Du beau travail. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Horloge LED Mer 18 Nov 2020 - 7:32 | |
| Bonjour Marc ! Félicitation pour cette belle réalisation. Et c'est vrai que ton code est impeccable. Bravo !
Dernière édition par Minibug le Mer 18 Nov 2020 - 12:28, édité 1 fois | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Horloge LED Mer 18 Nov 2020 - 11:51 | |
| Oui, magnifique utilitaire ! Bravo ! | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Horloge LED Lun 23 Nov 2020 - 17:08 | |
| Merci à tous pour vos gentils commentaires.
Je vais ajouter à cette horloge une option "Couleur variable". Je pense à une variation très lente des couleurs qui passeraient par différentes teintes.
A suivre…
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Horloge LED Lun 23 Nov 2020 - 19:32 | |
| Voici la nouvelle version de l’horloge à LEDs. Elle intègre une nouvelle option couleur " Variable". Tout en douceur, les LEDs vont changer de teinte. J’ai programmé 256 couleurs différentes avec une variation toutes les 15 secondes. Si vous souhaitez voir défiler toutes les couleurs, il faudra rester devant l’horloge pendant un peu plus d’une heure, sans vous endormir ! Le fonctionnement n’a pas changé : clic droit sur l’horloge pour afficher le menu. Si vous souhaitez déplacer l’horloge, il faudra afficher le Bandeau via le menu. Les fichiers horloge.bas et horloge.exe sont disponibles dans le fichier horloge.zip, dans mon WebDAV et via ce lien : https://mon-partage.fr/f/UgxLttGc/ - Code:
-
' Horloge 2 ' Marc - novembre 2020 dim r%, v%, b%, s1%, s2%, m1%, m2%, h1%, h2%, flash%, couleur%, c%, t%
label quitter, bandeau, dimensions, couleur, synchro
interfaceUtilisateur()
dessinerHorloge()
timer 40 timer_interval 40,500 on_timer 40,synchro
end synchro: s1% = time_second m1% = 10 * frac(time_minute / 10) m2% = int(time_minute / 10) h1% = 10 * frac(time_hour / 10) h2% = int(time_hour / 10)
defilementSecondes(s1%) clignotementSecondes()
d1(m1%) d2(m2%) d3(h1%) d4(h2%) return
sub defilementSecondes(secondes%) dim_local i%,x%,y% 2d_target_is 20 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b%
' effacement couronne des secondes if secondes% = 0 2d_fill_color 0,0,0 2d_pen_color 0,0,0 FOR i% = 180 to -180 step -6 X%=95*SIN(i%)+135 y%=95*COS(i%)+135 2D_circle x%,y%,2 next i% end_if
secondes% = 29 - secondes%
2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b%
X%=95*SIN(secondes%*6)+135 y%=95*COS(secondes%*6)+135 2D_circle x%,y%,2
' variation de la couleur d'affichage if c% = 1 :' flag couleurs : fixes ou variation t% = t% + 1 :' compteur pour changer la couleur toutes les x(t) (t=500ms) if t% > 30 :' changer de couleur toutes les 15 secondes couleur% = couleur% + 1 if couleur% > 256 couleur% = 0 end_if t% = 0 end_if couleurVariableAffichage() couronneExterieure() end_if
end_sub
sub clignotementSecondes() ' 2d_target_is 20
if flash% = 0 flash% = 1 2d_fill_color 0,0,0 2d_pen_color 0,0,0 2d_circle 137,126,2 2d_circle 133,144,2 else flash% = 0 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% 2d_circle 137,126,2 2d_circle 133,144,2 end_if end_sub
sub d1(chiffre%) 2d_target_is 31 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub d2(chiffre%) 2d_target_is 32 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub d3(chiffre%) 2d_target_is 33 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub d4(chiffre%) 2d_target_is 34 select chiffre% case 0 zero() case 1 un() case 2 deux() case 3 trois() case 4 quatre() case 5 cinq() case 6 six() case 7 sept() case 8 huit() case 9 neuf() end_select end_sub
sub dessinerHorloge() dim_local i%,x%,y% degrees
couronneExterieure() ' afficheur 4 digits afficheur1() afficheur2() afficheur3() afficheur4() clignotementSecondes() end_sub
sub couronneExterieure() dim_local i%, x%, y% 2d_target_is 20 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% for i% = 0 to 359 step 30 X%=100*SIN(i%)+135 y%=100*COS(i%)+135 2D_circle x%,y%,2 next i% end_sub
sub afficheur1() picture 31 width 31,36 height 31,52 top 31,109 left 31,180 color 31,0,0,0 end_sub
sub afficheur2() picture 32 width 32,36 height 32,52 top 32,109 left 32,145 color 32,0,0,0 end_sub
sub afficheur3() picture 33 width 33,36 height 33,52 top 33,109 left 33,90 color 33,0,0,0 end_sub
sub afficheur4() picture 34 width 34,36 height 34,52 top 34,109 left 34,54 color 34,0,0,0 end_sub
sub interfaceUtilisateur() border_hide 0 width 0,width(0) - width_client(0) + 270 height 0,height(0) - height_client(0) + 270 top 0,20 left 0,screen_x - 290 caption 0,"" on_resize 0,dimensions hint 0," Clic droit : menu "
picture 20 full_space 20 color 20,0,0,0 2d_target_is 20
menuContextuel()
' couleur par défaut des LEDs r%=255 v%=0 b%=0
' sélection du mode Couleur Variable par défaut au démarrage c% = 1 mark_on 10
end_sub
sub menuContextuel() main_menu_pop 1
sub_menu 2 parent 2,1 caption 2,"Couleur LEDs"
sub_menu 3 parent 3,2 caption 3,"Rouge" on_click 3,couleur
sub_menu 4 parent 4,2 caption 4,"Vert" on_click 4,couleur
sub_menu 5 parent 5,2 caption 5,"Jaune" on_click 5,couleur
sub_menu 6 parent 6,2 caption 6,"Bleu" on_click 6,couleur
sub_menu 7 parent 7,2 caption 7,"Blanc" on_click 7,couleur
sub_menu 8 parent 8,1 caption 8,"Bande&au" mark_off 8 on_click 8,bandeau
sub_menu 9 parent 9,1 caption 9,"Quitter" on_click 9,quitter
sub_menu 10 parent 10,2 caption 10,"Variable" on_click 10,couleur
end_sub
couleur: select number_click case 3 c% = 0 r% = 255 v% = 0 b% = 0 mark_off 4 mark_off 5 mark_off 6 mark_off 7 mark_off 10 mark_on 3 case 4 c% = 0 r% = 0 v% = 255 b% = 0 mark_off 3 mark_off 5 mark_off 6 mark_off 7 mark_off 10 mark_on 4 case 5 c% = 0 r% = 255 v% = 255 b% = 0 mark_off 4 mark_off 3 mark_off 6 mark_off 7 mark_off 10 mark_on 5 case 6 c% = 0 r% = 0 v% = 0 b% = 255 mark_off 4 mark_off 5 mark_off 3 mark_off 7 mark_off 10 mark_on 6 case 7 c% = 0 r% = 255 v% = 255 b% = 255 mark_off 4 mark_off 5 mark_off 6 mark_off 3 mark_off 10 mark_on 7
case 10 c% = 1 mark_off 4 mark_off 5 mark_off 6 mark_off 7 mark_off 3 mark_on 10
end_select couronneExterieure() return sub couleurVariableAffichage()
if couleur% => 0 and couleur% < 42 r%= 255 v%= couleur%*6 b%= 0 end_if
if couleur% > 41 and couleur% < 85 r%= 255-((couleur%-42)*6) v%= 255 b%= 0 end_if
if couleur% > 84 and couleur% < 128 r%= 0 v%= 255 b%= (couleur%-85)*6 end_if
if couleur% > 127 and couleur% < 171 r%= ((couleur%-128)*6) v%= 255 b%= 255 end_if
if couleur% > 170 and couleur% < 214 r%= 255 - (couleur%-171)*6 v%= 255 - (couleur%-171)*6 b%= 255 end_if
IF couleur% > 213 and couleur% < 257 r%= ((couleur%-214)*6) v%= 0 b%= 255-((couleur%-214)*6) end_if
end_sub
sub un() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 end_sub
sub deux() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 end_sub
sub trois() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 end_sub
sub quatre() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 end_sub
sub cinq() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 end_sub
sub six() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 end_sub
sub sept() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
end_sub
sub huit() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 end_sub
sub neuf() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 end_sub
sub zero() ' segments allumés 2d_fill_color r%,v%,b% 2d_pen_color r%,v%,b% ' segment a 2d_circle 15,3,2 2d_circle 20,3,2 2d_circle 25,3,2 2d_circle 30,3,2 ' segment b 2d_circle 33,7,2 2d_circle 32,12,2 2d_circle 31,17,2 2d_circle 30,22,2 ' segment c 2d_circle 28,30,2 2d_circle 27,35,2 2d_circle 26,40,2 2d_circle 25,45,2 ' segment d 2d_circle 6,49,2 2d_circle 11,49,2 2d_circle 16,49,2 2d_circle 21,49,2 ' segment e 2d_circle 6,30,2 2d_circle 5,35,2 2d_circle 4,40,2 2d_circle 3,45,2 ' segment f 2d_circle 11,7,2 2d_circle 10,12,2 2d_circle 9,17,2 2d_circle 8,22,2
' segments éteints 2d_fill_color 0,0,0 2d_pen_color 0,0,0 ' segment g 2d_circle 11,26,2 2d_circle 16,26,2 2d_circle 21,26,2 2d_circle 26,26,2 end_sub
bandeau: if caption$(8) = "Bande&au" mark_on 8 caption 8,"Bandea&u" border_small 0 else caption 8,"Bande&au" mark_off 8 border_hide 0 end_if return
dimensions: inactive 0 width 0,width(0) - width_client(0) + 270 height 0,height(0) - height_client(0) + 270 active 0 return
quitter: terminate return
Bonne soirée à tous ! | |
| | | Contenu sponsorisé
| Sujet: Re: Horloge LED | |
| |
| | | | Horloge LED | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |