Inicio

Electrònica: Encent LEDs des del port paral·lel

Doncs avui m’he passat un munt d’hores fent electrònica, si nois si. Aquella assignatura que vaig repetir tants cops a la universitat. Resulta que havia de fer-li un feineta per un amic meu. Té una fàbrica de cartró i diverses màquines controlades per PCs amb Win9X, la qüestió és que a la feina li hem fet un aplicatiu de gestió per l’empresa i aquest aplicatiu és capaç de saber quins són els estats d’aquestes màquines. Així doncs aprofitant tot això el que es volia era encentre unes ‘balizas’ (llums de colors) sobre l’armari de controls de la màquina perquè a distància es pugui saber en quin estat es troba aquesta màquina.

Això que sembla tan complicat en realitat no ho és gens ni mica, simplement com dic jo té un problema: conflictes entre branques de coneixement. O sigui, electrònica, programació en Win9X, creació de .DLL i control de ports. En casos com aquests és quan entens perquè serveix la Telemàtica, ja que els informàtics em deien que ni idea de com fer el circuit, que com a molt controlar ports a alt nivell, res d’enviar bits a certs pins del port paral·lel i els electrònics em deien que de ports paral·lels ni idea que encendre i apagar ‘balizas’ tot el que vulgui: interruptors, temporitzadors, etc. però res de .dll’s i coses rares.

Així doncs, jo vaig pensar és impossible que a internet no ho trobi fet això. Només cal que recordi una mica el que sé d’electrònica, m’instal·li el Visual Studio i que compili 4 ratlles de codi que segur que trobo mig fetes i llestos. Aquí en teniu el resultat:

ledsparalel.jpg

L’esquema del circuit i els detalls de montatge els he tret d’aquesta web (local). Pel que fa al codi per construir la DLL que controla el port paral·lel l’he tret del mateix site, però una altre pàgina (local).

[ Descarrega la DLL i el Programa en VB6 ] Encara que al entrar a la pàgina us doni la sensació que és una pàgina que parla només de VB6 no es cert. Llegiu-ho bé i veureu que la DLL la programa en C++ de fet és molt bàsica, només és una mini-interficie que llegeix i escriu un byte a la direcció del port paral·lel que indiquem. Després el programa que hi ha en VB6 és només una GUI que ens permet control·lar de forma comode el nostre circuit quan fem proves. L’interessant d’això és que després puc entregar la DLL al equip de programadors de l’empresa i aquests només s’han de preocupar de saber quin digit han de passar segons les ‘balizas’ que volen activar.

Per exemple, si volen encendre la ‘baliza’ número 1 només han de passar el codi ASCII 128, en binari: 10000000. O sigui, encen la ‘baliza’ 1 i apaga la resta.

Pel que fa als electricistes de la fàbrica aquests només han de treure la resistència i el LED si volen una caiguda de 4-5V o agafar la senyal després del LED si volen una sortida de 2-3V. Llavors ells amb un transistor en cada sortida poden amplificar la caiguda de potència fins a 24V que és el que necessiten les ‘balizas’ que s’usen en aquests armaris de control per funcionar.

A continuació us comento algunes fotos que he fet durant el montatge per si us poden ajudar, de totes formes teniu totes les fotos que he fet al album de fotos.

Com que no tenia una font d’alimentació de 5V per alimentar el circuit he usat un pack de bateries que tinc d’un walkie talkie:

alimentacio.jpg

He estanyat les puntes del cable paral·lel per poder-les posar a la protoboard com a part del circuit:

cablepc.jpg

Connector DB25 que va directament al port paral·lel del PC, SOBRE TOT PAREU EL PC ABANS D’ENXUFAR-LO SI MAI PROVEU EL CIRCUIT!!!:

connectorpc.jpg

Foto general de tot el ‘tinglado’ connectat al PC:

tinglado.jpg

El meu primer portatil (necessitava un port paral·lel i no tenia res més), un Pentium a 133 amb el W98 instal·lat expressament per l’experiment controlant tot el tema amb l’aplicatiu de VB6 i la DLL corresponent:

controlpc.jpg

Captura de pantalla de l’aplicatiu fet en VB6 per controlar els LEDs:

controlpc.gif

L’esquema del circuit:

Pin-Up Toons: dibuixos de noies guapíssims

Pin-Up Toons: Tot navegant m’he topat amb una web on hi ha dibuixos de noies imaginaries. Les trobo guapíssimes, la veritat és que mai m’han agradat ni els còmics ni he estat fan d’aquest tipus d’art. Però aquesta web m’ha fascinat i no he pogut evitar mirar detingudament toes les galeries que té ja que m’han semblat guapíssimes. MOLT RECOMENABLE.

dibuix.jpg

L’artista en qüestió es diu Rion Vernons, i he capturat tot el treball publicat en la web per poder-lo veure millor si vosaltres ho voleu mirar podeu connectar a l’album de fotos.

Pista de Gel a BCN

Avui he anat a una reunió a Vodafone a la Diagonal de BCN i just darrera de l’edifici d’aquesta empresa, hi havia una pista de gel patrocinada per Movistar:

Shell scripts: eliminar extensió del nom d’un fitxer (bash)

Quan fem shell scripts tenim la necessitat d’extreure l’extensió dels fitxers i ens acostumem, almenys en el meu cas, a fer experiments amb l’ordre cut i d’altres similars intentant treure alguna solució que ens permeti fer això. El més dur és descobrir que sabies com fer-ho d’una forma ràpida i neta. Això és el que em va passar revisant un article que jo mateix havia referenciat: Shell Scripts.

Doncs bé anant al que interessa per extreure una extensió, per exemple .jpg l’únic que em de fer és això:

${FITXER%.jpg}

Perquè us quedi clar, ho pdriem usar en aquest exemple útil:

#!/bin/sh
for FITXER in `ls *gif`
do
        F=`echo ${FITXER%.gif}`
        echo convert $F.gif $F.jpg
done

Com segur que heu descovert el que ens permet fer aquest petit script és convertir tots els fitxers *.gif a *.jpg

Avui començo les classes de japonès

unagi.gifDoncs resulta que al final encomptes de fer el curs de caligrafia xinesa que ofereix la casa d’assia de Barcelona, faré un curs de 100hores gratuït de japonés. Com us podeu imaginar això són coses que troba la Daphne i com que era gratuït ens hem apuntat tots dos. Així doncs, els dimarts i dijous ja ens teniu a fer classes de japonés. Tot i que avui ella farà la primera campana perquè és a París. Així que estaré ‘solo ante el peligro’. De moment ja he apres una paraula: usagi, que si no m’han mentit vol dir conill. Si voleu saber com s’escriu ho teniu a la part dreta de l’article.

Siproxd – a masquerading SIP proxy

De ben segur que en la mesura que Movilpoint ho permeti em sentireu parlar molt de VoIP, ja que fa temps que en Xoli i jo hi remenem coses que amb el temps i una canya podrien arribar a ser grosses, mentrestant aquí teniu aquesta utlitat tan interessant: Siproxd

Siproxd is a proxy/masquerading daemon for the SIP protocol. It handles registrations of SIP clients on a private IP network and performs rewriting of the SIP message bodies to make SIP connections work via an masquerading firewall (NAT).

It allows SIP software clients (like kphone, linphone) or SIP hardware clients (Voice over IP phones which are SIP-compatible, such as those from Cisco, Grandstream or Snom) to work behind an IP masquerading firewall or NAT router.

SIP (Session Initiation Protocol, RFC3261) is the protocol of choice for most VoIP (Voice over IP) phones to initiate communication. By itself, SIP does not work via masquerading firewalls as the transfered data contains IP addresses and port numbers. There do exist other solutions to traverse NAT existing (like STUN, or SIP aware NAT routers), but such a solutions has its disadvantages or may not be applied to a given situation. Siproxd does not aim to be a replacement for these solutions, however in some situations siproxd may bring advantages.

Scroll to Top