samedi 22 décembre 2007
RadioClock
Ca fait un bout de temps que je voulais m'acheter une horloge de studio, genre radio, bien visible, bien grosse. Je comptais me l'offrir pour noël, mais vu le manque de temps, d'argent, et l'absence d'internet @home. Je l'ai un peu zappée...
Du coup je me suis mis à en programmer une en java, à partir de mes maigres connaissances en maths...
Voici donc comment j'ai fait mon écran de veille 'horloge de studio' ...
Du coup je me suis mis à en programmer une en java, à partir de mes maigres connaissances en maths...
Voici donc comment j'ai fait mon écran de veille 'horloge de studio' ...
Un midi de partiel j'ai eu l'idée de faire cette horloge sur pc, tout de suite, le premier problème rencontré après avoir fait les images c'est :
Comment afficher un cercle de diodes ?
Allez c'est parti pour un peu de maths...
Vous vous souvenez des cours de trigonométrie ?
cos, sin, tan tout ca ? relou hein...
Ben finalement c'est plutot utile quand on veut afficher 60 diodes sur un cercle de 360°(ou 2*PI)...Sachant que les coordonnées x et y des diodes sur le cercle peuvent être définies via un angle, on commence notre parcours à PI/2
et on ajoute à chaque fois... attention....
360/60=6° soit un angle de PI/30, bravo les enfants...
Ce qui nous donne, avec un peu de java (simplifié pour les néophytes) par dessus :
//angle de decalage entre chaque seconde
//angle variable pour faire le tour, initialisé à midi (pi/2)
//calcul des coordonnées
//affichage de l'image en (x,y) si i est inférieur à la seconde actuelle
}
Odec = (6*PI)/180;//angle variable pour faire le tour, initialisé à midi (pi/2)
Ovar = -(PI/2);for(int i=0;i<60;i++){//on répète 60x//calcul des coordonnées
x=rayon*cos(Ovar);y=rayon*sin(Ovar);//affichage de l'image en (x,y) si i est inférieur à la seconde actuelle
Ovar = 0var+0dec;}
Au final je suis plutot content de moi, parfois je m'étonne même, j'ai eu l'idée jeudi midi, j'y ai passé 30min directement (dont 10 pour créer les images) et en a peine 1h30 le soir même, c'était fini.
La position des éléments est proportionnelle à la résolution d'écran (ca passe même bien en 800x600), les images sont pas trop moches, ca fonctionne sans ramer...
Ca à beau être un projet tout con, je suis de plus en plus rapide à mettre en oeuvre mes idées, c'est pareil pour mes thèmes, plus ca va, moins je perds de temps...
Voici donc au final avec mes petites images :
Le deuxième truc c'est :
Comment en faire un écran de veille ?
J'ai utilisé un petit utilitaire pour en faire un écran de veille sous windows, il s'agit de ScreenSaverExec que j'ai trouvé ici
il vous suffit ensuite, après avoir placé le ScreenSaverExec.scr dans C:\Windows\ et extrait le répertoire RadioClock ou vous voulez, (dans program files par exemple) , d'indiquer dans les paramètres de cet écran de veille, l'adresse du fichier radioclock.bat.
Il vous faudra bien sûr une machine virtuelle Java d'installée...
Voili voilou, sur ce , Joyeux Noël à tous...
Commentaires
Salut, ton horloge est sublime :o!
Je m'en suis inspiré pour y coller une binaire du coup, mes collègues bavent devant mon screensaver ^^ Merci monsieur!
salut man je me permet de poster car voila je suis bien embété car je n'arrive pas a faire fonctioner ton horloge .. j'ai suivis a la lettre tes éxplication mais quand ScreenSaverExec s'ouvre l'écran reste noir ! j'ai juste 1 doute sur les parametres a cocher ou pas et aussi l'adresse du fichier dans le quel ce trouve "radioclock.bat" quand tu parle de l'adresse tu veux bien dire le chemin d'accés ? (C:\Program Files\***) sinon je posede bien java et mis a jour . voila si tu peux me venir en aide cela serait super sympa de ta part car je suis 1 peux paumé la ... lol ! c dommage car ta vraiment assuré gros ! elle est trop classe cette horloge !!! hésite pas a m'envoyé 1 mail si tu as une idée sur le probleme, merci by
Salut.
J'ai essayer ton écran de veille et elle fonctionne bien sous windows XP. Cependant, malheureusement j'ai dû l'effacer car 2 petit bugs faisaient que ca ne fonctionnais pas toujours: Premièrement, si on se connecte en remote sur le PC qui fais rouler le screensaver, il change l'écran en noir et on ne voit plus les chiffres du tout. Deuxièmement, du moment que tu fait jouer un DVD, le screensaver ne veut plus démarrer du tout même si le dvd est terminer et enlever du lecteur, la seule manière est de redémarrer le pc... très ennuyeux!
Si jamais une mise a jour est faite pour cela, je serais ravi d'en être averti.
Merci
Comment on fait pour "indiquer dans les paramètres de cet écran de veille, l'adresse du fichier radioclock.bat" ?
Merci d'expliquer plus pour les néophites.
Go for someone who makes you smile because it takes only a smile to make a dark day seem bright.