Arxiu de la categoria: Joanillo Productions

Plunger analògic per a virtual pinball

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:

Encuentros en la Tercera Fase, tema del Pocket pinball

He volgut fer el tema del pinball el més similar possible a l’orginal de Gottlieb, sense obsessionar-me. Per fer-ho he pintat una base de groc en el moble, i amb la CNC unes quantes plantilles per sobreposar els colors blau i blanc. El resultat m’ha agradat bastant, encara que tinc marge de millora. Però crec que el propòsit estigui força aconseguit.

Per tal de què la màquina sigui realment un Close Encounters, vull suprimir la pantalla blava de presentació del Windows, i que quan arrenqui el PinballX obri directament aquesta taula.

Pocket Virtual Pinball: ja falta poc

Després de construir el Jacks Open Mini Pinball, em van quedar ganes de construir la versió més mínima possible d’un pinball. Bàsicament un model de moble que pugui transportar fàcilment i ficar-lo dins el cotxe. Aquest model l’anomenaré Pocket Pinball, i ja he decidit que estarà basat en el tema de Encuentros en la Tercera Fase (Close Encounters of the Third Kink), la pel·lícula del Steven Spielberg que recordo haver vist quan tenia 7 o 8 anys. O sigui que aquesta petita gran màquina l’anomenaré Close Encounters Pocket Pinball

El primer va ser elegir l’ordinador, que havia de ser un barebone. Vaig aconseguir per 75 euros un Barebone AOpen, PCB Zotac GF9300/E5700. 2,5GHz + 2GB DDR2 + 160 GB bSATA + DVD. Ja sé que aquest ordinador no és molt potent, però volia veure si era capaç de moure les taules del Visual Pinball, que és l’emulador que faig servir. La conclusió és que mou bé les taules antigues en general, i es queda curt amb les taules que tenen DMD. Això es nota sobre tot en el moviment del flipper, que no és fluiïd i es pot arribar a encallar.

La sortida de video de la placa ITX té sortides HDMI, DVI i VGA, però només se’n poden fer servir dues a l’hora. Els 2 monitors que he elegit per fer la màquina són:

  • Pantalla principal (playfield): ACER AL1603W monitor TFT 15,5. (VGA) 1366×768. Format 16:9
  • pantalla secundària (backglass). És la pantalla reciclada d’un IPad 10. Model 32V3H-H6A. HDMI. 1280×720 (nadiu)· Vaig comprar el controlador per eBay (25 euros). Va ser difícil extreure la pantalla del IPad, però al final ho vaig aconseguir sense trencar la pantalla 🙂

Les mides de la màquina són 50 cm de llarg x 35cm ample x ? cm d’alt (comprovar), i realment ha sigut difícil ficar tots els components a dins: placa base, font d’alimentació, disc dur, amplificador audio, altaveus, transformador TV, controladora TV, mòdul IPAC, botons i cablejat vari.

Per acabar la màquina em basaré en les arts originals de la màquina de Gottlieb(https://www.pinrescue.com/games/images/closeencounters/DSCF1958.JPG). Haurem de fer les plantilles per fer les màscares de colors groc, blanc i blau. Encara que aquesta màquina es pot posar directament sobre la taula, crec que és una bona idea posar-hi unes potes per mantenir la idea i proporcions de la màquina original.

Referències:

script cncboxparam: tall làser de caixes de fusta

El novembre passat li vaig regalar a la Maria una caixeta de llum per il·luminar l’habitació [1]. Estic content del resultat, però es pot millorar tant en la part de construcció de la capsa, com en la part de l’electrònica (un timer 555 que fa apagar la llum després de 20 minuts).

Aquí va el script cncboxparam per automatitzar la creació de capses (amb un text a la cara frontal). Genera un fitxer que es pot enviar directament a una màquina de tall làser. La idea que em persegueix de fa temps és fer aquesta mena de capses minimitzant els costos i el temps. Seria una prova de concepte de disseny industrial i fabricació digital, fins a quin punt amb pocs recursos es pot automatitzar fins a fer rendible un petit procés industrial. El curs vinent m’agradaria adquirir una màquina de tall làser, però ja em faig a la idea de què haurà de ser de les màquines xines més petites.

La part de l’electròncia també l’hauria de millorar de cara el curs vinent. La idea és dissenyar una nova placa PCB i utilitzar només components SMD, però això ja és un altre tema.

El script està programat amb C++ i compila sense cap llibreria especial. Per tal de generar el text s’ha de tenir instal.lat la utilitat truetype-tracer-dxf. Les proves les he fet amb LibreCAD, que és el programa de CAD que utilitzo habitualment.

Enllaços:

Projecte CNC: script per a un joc de taula Abalone

Abalone Bord Game and hexagonal gridL’Abalone és un joc de taula dissenyat per Michel Lalet i Laurent Lévi el 1987. És un taulell amb forats on col.loquem 14 caniques per bàndol, i es tracta de fer fora sis caniques del contrincant. De fet, mai hi he jugat, però de moment construirem un taulell.

El problema consisteix bàsicament en fer una xarxa en format rusc d’abelles, que de fet són hexàgons i triangles equilàters. Per disposar els punts sobre un programa de CAD (jo utilitzo LibreCAD), de seguida necessitem el cos(60) i el sin(60). Partint d’una graella ortogonal no és fàcil fer aquesta graella. El millor és crear un script i generar els punts de forma automàtica.

Partim d’un fitxer buit de LibreCAD, creem la capa punts, i fico tres punts de prova. Obrim amb un editor de text (els fitxers de CAD tenen un format de text pla) i localitzem els punts de referència. Ara ja sabem el format que ha de tenir els punts que volem generar programàticament.

Mostrem el tros de codi més representatiu que genera la geometria de la meva graella, script bee_grid.cpp:

...
\tfor (j=0; j
El script genera un fitxer de text amb les línies que podem inserir en el nostre fitxer original, i el resultat el podem veure a la foto. És una graella de punts per al joc de l'Abalone. L'altra foto, la del joc de l'Abalone, no és meva (l'he trobat per Internet), però aquest és el meu objectiu: construir un taulell d'Abalone. Per fer-ho ja tinc el fitxer de CAD, després hauré de generar el G-Code, i finalment fresar tots els punts sobre una fusta. Ja ensenyaré el resultat quan ho hagi acabat.

Enllaços:

update 21/06/2018: aquest és el resultat final. He aprofitat una fusta de cuina, que estava molt marcada, però el resultat final m'agrada.

Jacks Open Mini Pinball

Jacks Open Mini Pinball

Jacks Open Mini Pinball

Finalment ja hem acabat el Mini Virtual Pinball que he estat construint i configurant els darrers mesos (juntament amb altres projectes que he hagut d’anar empenyent en paral.lel). El pinball està basat en el el Jacks Open de Gottlieb de l’any 1977.

El treball de pintura és molt millorable, tot i que la idea d’utilitzar màscares i spray m’ha agradat molt, i si perfecciono la tècnica, es poden fer coses molt xul·les.

He ficat 200 taules de diferents fabricants i diferents èpoques. A mi particularment m’agraden més les taules senzilles i electromecàniques dels anys 60 i 70, que no pas la sofisticació plena de llums i sons de les taules d’estat sòlid.

Per a la següent màquina que hagi de construir hi ha bastantes coses a millorar. Estaria bé que les potes es puguin treure, i que el backglass es pugui plegar cap endavant. En aquesta ocasió no ho he fet per falta de temps, i ara em trobo que tinc un moble que no el puc ficar dins dels cotxe. També hauria d’afegir un plunger/tirador analògic, i implementar el tilt/nudge analògic amb un acceleròmetre i arduino.

Ja tinc un nou pinball a la vista. Com que aquest no el puc transportar en cotxe, m’agradaria fer una versió mínima de pinball a dues pantalles (B2S), basat en una placa d’ordinador Mini-ITX (tipus barebone). És el que s’anomena un pocket pinball. Començaré a recopilar el material, ja explicaré com sempre els avenços.

Presento dos videos d’aquesta màquina. El primer és un video de presentació; i el segon és un video del procés de construcció. En els videos he ficat les cançons d’un grup de música que estan triomfant molt entre els sagals: els Buhos, música canyera en català.

Pinball B2S, ja falta poc

Per fer la primera màquina B2S (2 pantalles: el playfield i el backglass) he escollit el tema del pinball Jacks Open de Gottlieb (1977). L’original és un pinball electro-mecànic, i provant-lo amb el Visual Pinball m’ha agradat especialment. De fet, m’agraden força tots els pinballs d’aquesta època, sense massa floritures.

M’he decantat pel disseny del Jacks Open perquè no és un disseny massa difícil i vull provar, més que imprimir vinils, fer un treball de pintura i pintant amb spray les màscares per fer la transferència del disseny. Com es pot apreciar, només s’utilitza els colors vermell i negre (a part del blanc de fons). He reproduït els diferents motius del dibuix en el Inkscape, i he utilitzat una talladora de vinils (la Silhouette Cameo) que tenien sense utilitzar en el MOB de Barcelona. És la primera vegada que utilitzava aquesta màquina, i amb més temps i paciència hauria aconseguit un millor resultat. Per ser la primera vegada que faig un treball de pintura amb màscara estic content, però hi ha bastantes coses que puc millorar, i de fet hauré de repassar amb pinzell alguns acabats.

Ja he avançat bastant amb la màquina, i espero poder acabar-la i disfrutar-la ara el mes de juny. Finalment el plunger analògic, i l’acceleròmetre per detectar el tilt, hauran d’esperar. El backglass i les potes són fixes, i això vol dir que difícilment podré ficar aquesta màquina en el cotxe. Són aspectes que hauré de millorar de cara a una segona màquina.

Enllaços: