まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

vendredi, 20 mai 2016

Un générateur de Scanlines hardware

Dans le cadre de la réalisation du bartop, celui-ci étant quasiment terminé, et après les premiers essais de jeux, ce que je craignais s'est révélé être très prégnant…
Utiliser un écran LCD, c'est vraiment le mal pour le jeux vidéo dit « rétro ».

  • Les pixels carrés affichés sur un tel moniteur, dénaturent les images du jeux.

indievsretro.pngAlors peut-être que ça ne dérange pas les jeunes joueurs où les gens habitués aux productions récentes aux look dit « rétro », mais qui ne ressemblent en rien à du rétro, car non, les pixels ne sont pas carrés, sur une Télévision cathodique, ils sont ronds, et le rendu est alors très différent ! Les graphismes des jeux d'époques ont d'ailleurs été développés sur des écrans cathodiques dans leur résolution native afin d'optimiser le graphisme en jouant sur le « mélange » des couleurs rendu par le pixel rond. Les développeurs indies l'ont peut-être oublié, ou simplement n'ont-il vu des jeux d'époque que via un émulateur sur un écran d'ordinateur ?
Dans le cas du bartop, d'accord on pourrait activer et triturer pendant des plombes des tas de filtres logiciels, que de toute manière la configuration matérielle ne supporterait pas, tant ils peuvent se révéler gourmand en ressource CPU et donc trop lourd…

L'alternative d'un filtre matériel parait alors ici bien plus adéquate !

Alors ça s’achète tout fait, par exemple un SLG3000, où alors un RetroVGA 2 sous licence CC-BY-SA, du coup bien plus intéressant…
Car on va pouvoir tester ce que ça donne avant d'envisager un achat où une fabrication maison !

Prototype :

  • J'ai donc téléchargé le schéma de Bruno Freita et après avoir récupéré quelques composants glanés par-ci par-la sur de vieilles cartes électroniques (oui, faut jamais jeter !), j'ai câblé le circuit sur une plaque à trou :

img_0283.jpg img_0285.jpg

Lire la suite...

vendredi, 5 juin 2015

G2N, un pistolet pour jeux vidéos -3-

Suite de l'étude précédente :

La barre infrarouge :

  • Une barre infrarouge type Wii Sensor Bar fera très bien l'affaire, cependant, il faut pouvoir l'alimenter, idéalement en 5V depuis un port USB par exemple.

Il sera alors nécessaire de la modifier, il existe pleins de tuto pour le faire, démerdez-vous :)

  • Sinon on peut bien sûr en fabriquer une, en calculant le câblage à l'aide de cet outil en ligne très pratique.

C'est ce que j'ai fait ici :
dsc00435.jpg dsc00437.jpg
L'écartement entre les deux trains de LED importe peu.
Il est d'environ 18 cm pour une bar officielle Nintendo, et sur mon proto la largeur est réglable jusqu'à 25 cm.
Par contre, il est important d'avoir deux LED inclinées à 45° sur chaque train, afin d'augmenter l'angle d'émission du faisceau Infra Rouge.

Les réglages informatiques et G2N :

  • Sur l'ordinateur,

- Pour les jeux émulés à la souris, il faudra passer par un logiciel type Joystick-To-Mouse, qui doit nécessairement disposer d'un mode absolu, sinon, rien ne fonctionnera.

- Configurer le clic-droit de la souris dans Joystick-To-Mouse (puisque l'émulateur Sega utilise ce bouton pour le reload du pistolet) sur le bouton correspondant de la manette.
Pour ne pas avoir la fenêtre du jeu qui se réduit si elle reçoit trop de clics sur les bords de l'écran il faut s'assurer d'avoir le tir assigné sur UN SEUL bouton du joystick.

- Sur un ordi il n'y a qu'un seul curseur de souris…
Donc par exemple pour le cas émulation Sega Model2 (House of the Dead, VirtuaCop…), avec Joystick-To-Mouse c'est un seul joueur obligé !!
Sur Mame, en mode joystik analogique donc, deux joueurs ça fonctionne !

  • Sur le menu du G2N,

- Il faut y indiquer la taille de l'écran.

- Pour le paramètre de largeur de la barre, il faut indiquer la mesure de la distance entre le centre des deux trains de led IR.

En cas de problème avec la visée, il peut-être nécessaire de gruger un peu ces réglages, dans le cas où, depuis le centre de l'écran, le curseur se décale trop par rapport à la ligne de visée, de manière proportionnelle dans toutes les directions (le curseur est en avance et touche les bords de l'écran avant que la visée au pistolet n'atteigne le bord).
Donc soit en grugeant la valeur de la barre (diminuer dans mon cas), soit la taille de l'écran.

- Mettre le jumper du reload sur la « main board » pour activer la recharge du flingue lorsqu'on sort sa ligne de visée de l'écran.

Petite démo vidéo :


Conclusions des tests :

En dessous de 2m10 de distance entre le bout de flingue et l'écran, quoique je fasse, la visée est déviée.
Au dessus de 2m10, la ligne de visée est juste.
En fait, plus l'écran est grand plus il faut reculer, phénomène lié au fonctionnement intrinsèque de la wiiimote me dit-on.

Prochaines étapes :

- Confectionner un Addon à la « mainboard » pour intégrer un joystick analogique, et ne plus être obligé de bidouiller une manette.
- Tester la nouvelle version du G2N, Version 7, qui permet de bénéficier d'un recul par rapport à l'écran plus réduit, par l'inclinaison à 30° de la caméra dans le canon du pistolet.

 À suivre…

samedi, 27 décembre 2014

WebRadioRéveilWifi -3-

Suite de l'étude précédente :

  • Cette fois on va concevoir l'amplificateur audio qui sera branché en sortie du Raspberry-Pi.

Pas besoin d'une puissance énorme pour l'utiliser avec de petits haut-parleurs récupérés dans des carcasses d'ordinateurs.
dsc09786.jpg dsc09783.jpg C'est donc un ampli à base d'un bon vieux LM386 qu'on va opérer, le même que dans le petit haut parleur portatif pour baladeur qu'on avait fabriqué en cour d'EMT (techno au collège), mon premier contact avec l'électronique, il y a heu… trop longtemps @_@
C'est plus précisément le LM386N-3 que j'utilise car il présente une puissance correcte pour une plage d'alimentation très large.
On pourra donc utiliser le 5V de l'alimentation générale du projet WebRadioRéveil.

  • La datasheet indique quelques montages typiques, et c'est en effectuant de nombreux tests empiriques (c'est à dire, à l'oreille) que j'ai arrêté le choix des composants à adjoindre au circuit en fonction des enceintes choisies.

Voici le schéma du prototype:

AmpliAudioProto.png

Explications:

  • Cet ampli étant mono, il faut deux circuits identiques si on veut avoir deux haut-parleurs.
  • Ceux-ci peuvent être d'impédance diverse, et le LM386 saura s'en accommoder, du moment qu'on ajuste le condensateur de sortie C3.

dsc00381.jpg L'audio c'est compliqué, vraiment, et tout ce que j'en ai compris c'est que pour cet ampli, il est d'usage de régler une fréquence de coupure dans les graves.
Par le calcul suivant, fc=1/2piRC, R étant l'impédance du haut-parleur, C l'inconnue, et fc environ 90Hz.
Ce qui donne C=220µF pour un haut-parleur de 8Ω.
Ou encore C=470µF pour un haut-parleur de 4Ω, comme c'est le cas ici.

  • Le couple R1 et C2 (entre les pattes 1 et 8 du LM386) est fixé ici pour obtenir un gain de 50, c'est à dire 34db.
  • Le couple RV2 et C4 (entre les pattes 1 et 5 du LM386) sont là pour booster les son de basse.

En effet, les petits haut-parleurs de ce genre donnent un son relativement aigu et pouvoir faire ressortir les basses est alors très intéressant.
Seulement cela se fait au détriment du volume général qui se voit alors réduit.
De plus en fonction du niveau du volume, trop de basse peut-nuire à la qualité sonore, et c'est pourquoi j'ai utilisé un potentiomètre RV2, afin de pouvoir effectuer le réglage à la demande, dans la plage de valeurs allant de 2 à 10kΩ, pour plus ou moins de basse, sachant qu'à 10kΩ elles sont déjà un peu présentes.

  • Le condensateur C5 (relié à la patte 7 du LM386 et à la masse), essentiel, sert à réduire fortement les parasites engendrés par l'alimentation électrique.

Voilà pour les particularités du schéma, facile à adapter aux haut-parleurs utilisés.

À noter qu'il existe pour les feignants, des modules pas cher du tout, du genre « LM386 Audio Amplifier Module Board 5V-12V », mais que du coup la qualité du son ne sera pas personnalisable…

À suivre…

Ressources :

http://www.sonelec-musique.com/electronique_realisations_ampli_bf_003.html
http://jmdefais.pagesperso-orange.fr/techn_jm/cir386.htm
http://www.homecinema-fr.com/forum/general-f1472/frequence-de-coupure-t29910209.html

mercredi, 30 juillet 2014

WebRadioRéveilWifi -2-

Suite de l'étude précédente :

Nouveau billet d'étape, cette fois-ci concernant l'horloge, et je me rend compte que je n'ai pas encore présenté le projet complet, oups !
Bon je verrais ça plus tard avec un billet N° zero…

  • Donc après les quelques tests réalisés sur le Raspberry pi pour la partie WebRadio, on va s'occuper ici de la partie horloge.

Au départ je voulais la faire avec un µC Atmega, et puis comme ça sans trop réfléchir, je me suis procuré un Arduino.
Je n'avais jusqu'alors pas essayé, considérant que l’utilisation d'un µC était finalement la même chose, en bas niveau il s'entend.
Sauf que j'avais tord ! Pas sur le fond, puisque c'est bel et bien le cas, mais sur la forme. En effet programmer un AVR n'a rien de sexy, et lorsqu'on connaît mal le composant, il faut beaucoup de temps et de persévérance avant de savoir ce qu'il est possible de faire et d'en appréhender le fonctionnement, notamment le plus complexe pour moi qui ne suis pas codeur, la programmation.
Je me voyais donc mal barré, et s'il y a bien une chose fondamentale que j'ai apprise, c'est qu'il faut avant tout se faire plaisir pour avancer.
Il me fallait donc emprunter une voie différente, et de découvrir l'Arduino et son langage simplifié aura débloqué la situation.
J'ai donc été très surpris de parvenir à faire fonctionner mon horloge en à peine un week-end, fort des nombreux exemples et réalisations documentées en ligne.
j'aurais dû essayer Arduino plus tôt ^^;
J'ai ensuite pris plaisir à continuer de perfectionner mon système pour y ajouter des fonctionnalités, que je vais détailler ici.


Premiers essais, premières erreurs :

  • Le système d'affichage repose sur des registres à décalages. J'avais d'abord entrepris les 74HC164, car j'en avais sous la main.

Sauf que, voici le résultat :

Lire la suite...

- page 1 de 5