Festa Arcade a ARAG

13/06/2019

Ara fa dies que no escrivia en el bloc, i és que aquest trimestre ha estat molt frenètic i cansat amb tot el canvi de pis. Per si no era poc, el dia abans del trasllat tenia emparaulat portar unes màquines per la festa social de l’asseguradora ARAG.

S’ho van passar d’allò més bé amb tres màquines bartop i un pinball que els vaig portar amb la furgoneta. Després, a la nit, a recollir-ho tot, quan els més marxosos encara estaven a la discoteca.

Ràdio-enllaç Morse

26/02/2019

Sorry, this entry is only available in Español.

He estat fent dos pinballs en paral·lel, amb les mateixes dimensions, i amb plunger analògic. El primer basat en el tema d’Avengers de Marvel; i el segon basat en Jacks Open, tema que ja havia fet. Al contrari de la primera vegada, on vaig fer servir pintura i màscares per pintar amb spray, aquesta vegada se m’ha complicat molt aquesta tècnica i finalment he encarregat els vinils, molt millor.

En un anterior article ja vam explicar la construcció del tirador de molla analògic. Ara he volgut acabar-ho d’explicar i fer un petit video.

A continuació es detalla les connexions dels botons, el potenciòmetro (A0) i l’aceleròmetre (SDA, SCL) a l’Arduino Pro Mini:

    Arduino Pro Micro
    (plunger, acceleròmetre, i 6 botons)

			*	*
			*	* GND
			*	*
			*	* VCC
		    SDA	*	*
 		    SCL	*	*
	  4: Left. BUT0	*	*
         5: Right. BUT1	*	* A0 (Pot)
          6: Exit. BUT2	*	*
         7: Start. BUT3	*	*
          8: Coin. BUT4	*	*
         9: Enter. BUT5	*	*

Finalment, s’ha de carregar el firmware a l’Arduino, que incorpora la lllibrería Joystick. L’aceleròmetre, que detecta la força lateral exercida sobre el moble, a partir d’un llindar de força simula el disparo d’un botó joystick. Totes les accions dels botons del joystick HDI s’associen a pressions del teclat gràcies al software JoyToKey, que corre en background. L’associació de tecles és la típica de Visual Pinball (l’emulador). Per exemple, COIN està associat a la tecla 5, i la funció Tilt/nudge dispara lrs teclrs Z/X.

Tenia por que un potenciòmetre lliscant es deteriorés amb el temps, i hagués preferit utilitzar algun sensor no mecànic. He de dir, però, que de moment, el funcionament és molt estable.

He construït dues màquines en paral·lel, una basada en el tema del Jacks Open, i l’altre basada en el tema de Avengers. En una de les màquines el funcionament no va molt fi, i he de veure encara quina és la causa: l’ordinador, la RAM, la tarja de video o el plunger.

Finalment he acabat el pinball dels Avengers. He estat fent dos pinballs en paral·lel, amb les mateixes dimensions, i amb plunger analògic.

He trigat bastant de temps de repassar les 200 taules per tal d’adaptar-les a plunger i tilt analògics. Vam publicar aquest article explicant la solució final de la construcció del tirador de molla, basat en Arduino.

Estic fent un parell de pinballs, i aquesta vegada sí que vull incloure un plunger analògic. Això és bastanta feina, doncs significa construir un tirador de molla fiable, i configurar/repassar les 200 taules amb les que treballo. A més del tirador analògic també inclouré la funció de TILT, és a dir, quan doni un cop lateral al moble vull que la trajectòria de la bola canvïi, i així s’evita que la bola caigui en el drain.

Faré servir un Arduino Pro Micro, que em farà de joystick/gamepad a través del port USB. Per tal de què el sistema operatiu el reconegui com a HID (Human Interface Device), el firmware de l’Arduino ha d’incloure la llibreria joystick. L’arduino té entrades digitals/analògiques i sortides digitals per tal de connectar els sensors i els botons necessaris. De fet, amb l’ús de l’arduino ja no caldrà utilitzar la interfície I-PAC que es fa servir en aquest tipus de projectes.

En la foto es pot veure el segon prototip de plunger analògic, que ja és funcional. Com a sensor faré servir finalment un potenciòmetre linial lliscant. De moment la molla que faig servir és una mica forta. N’estic buscant una que sigui més fluixa, però que m’asseguri el retorn del potenciòmetre a la seva posició inicial. Ja sé que utilitzar un potenciòmetre (element mecànic) no és la millor solució, però de moment m’està funcionant sense problemes. Altres opcions a considerar com a sensors són un rotary encoder (que també és mecànic), i dos solucions que no són mecàniques (llarga vida) però que són més difícils i cares i que he vist per Internet: utilitzar un CCD linear sensor array (TAOS TSL 1410R); i utilitzar un sensor de distància LVDT (és car, però un se’l pot construir).

Com a conclusió, donaré una oportunitat al potenciòmetre linial lliscant, i el seu valor es llegirà en una entrada analògica de l’Arduino.

Per a la funció tilt necessito un acceleròmetre. Faré servir el MPU-6050 GY-521, que és un acceleròmetre de tres eixos i giroscopi (només necessito llegir l’acceleració en un eix). Fa servir el bus I2C per connectar-se a l’Arduino (entrades digitals). A més, la resta de botons (en principi 4 botons frontals i els dos botons laterals dels flippers) també utilitzaran entrades digitals de l’Arduino.

El que porta més feina és repassar les 200 taules i modificar-les per tal de què el plunger analògic funcioni correctament. Hi ha diverses maneres d’implementar el tirador, unes taules més fàcils que d’altres. Com sempre, moltes gràciess a la comunitat de Visual Pinball i a la gent que ha importat totes les taules per tal de què tothom les pugui disfrutar.

Ara ja tinc la feina quasi acabada, però fins que no tingui acabat el moble i munti el plunger en la seva posició final no podré fer les proves definitives ni la versió final del firmware. Ara ja falta poquet. Quan hagi acabat el projecte faré un video.

Si a algú li interessa la meva solució final, que em contacti i en parlem.

Referències:

Amb aquest post enceto una sèrie d’escrits i comentaris a lectures amb els que vull homenatjar, des d’ara fins el juliol del 2019, el 50è aniversari de la missió Apollo XI i l’arribada de l’home a la Lluna. Comencem per un clàssic, una lectura que crec que és interessant per afrontar aquesta efemèride.

El 1865 Juli Verne va publicar De la Terra a la Lluna. En aquest llibre. el president del Gun-Club, el senyor Barbicane, proposa d’enviar un projectil a la Lluna. I per resoldre dubtes, es posa en contacte amb l’Observatori de Cambridge (Massachussets), i els planteja una sèrie de preguntes. La primera: Est-il possible d’envoyer un projectile dans la Lune?.

En el capítol IV tenim la resposta de Cambridge:

Oui, il est possible d’envoyer un projectile dans la Lune, si l’on parvient à animer ce projectile d’une vitesse initiale de douze mille yards par seconde.

Anem a repassar d’on surt aquest valor.

Per calcular la velocitat d’escapament, la velocitat que hem d’imprimir al coet serà aquella que venci tot el camp gravitatori de la Terra, que anirà disminuint a mesura que el projectil s’enfili cap amunt. L’energia gravitatòria o potencial que hem de vèncer és la diferència entre l’energia potencial a la superfície de la Terra, menys l’energia potencial fora del camp gravitatori (a l’infinit) que valdrà 0. I aquesta energia potencial que hem de vèncer ha de ser igual que l’energia cinètica que hem d’imprimir (conservació de l’energia). Veure la imatge amb les fórmules.

Per tant, la velocitat d’escapament no depèn de la massa del projectil, i tampoc depèn de la direcció de llançament, com hem vist fent un raonament purament energètic.

La velocitat d’escapament de la Terra és doncs ve = sqrt(2 x 9,81 x 6371000) = 11180 m/s = 11,2Km/s = 40320 Km/h. I com que una yarda són 1 yd = 0.9144 m, ve = 12226 yd/s, que és precisament la velocitat que es comenta en el llibre.

M’ha semblat que aquest senzill càlcul és una bona manera de començar aquest homenatge als homes que van trepitjar la Lluna el 20 de juliol de 1968, i als científics i enginyers que ho van fer possible.

Enllaços:

Participo en l’edició d’enguany del World Data Viz Challenge 2018 Barcelona-Kobe. Entre el catàleg de dades obertes que publica l’Ajuntament de Barcelona, he triat les dades de l’atur en el període 2011-2018. La meva aplicació de visualització la pots veure a http://aturbcn.joanillo.org/. Es presenten les dades desglossades per barris i per districtes, i es pot veure l’evolució de l’atur a través dels anys, o a través dels mesos.

He utiltizat la API de Open Street Map, que és una novetat per mi doncs sempre havia utilitzat l’API de Google Maps. Les dades originals estaven en format xls, i s’han introduït a una base de dades MySQL per tal de poder explotar les dades directament amb SQL.

La idea de participar va venir pel fet que, a l’institut, volem participar en una altra convocatòria: Repte Barcelona Dades Obertes, segona edició 2019 (http://opendata-ajuntament.barcelona.cat/ca/repte-barcelona-dades-obertes). S’ha de veure com, dins de l’assignatura de Javascript (Cicle Formatiu de Desenvolupament d’Aplicacions Web), podem fer alguna visualització per presentar-la a aquesta convocatòria.

Referències:

Page 1 of 1712345»...Last »