Blog | Archivo | Contacto | Administración |
Hace tiempo, navegando por Internet, vi una Web en la que hacían un medidor de radioactividad casero muy simple, usando una cámara iónica de fabricación casera y un transistor Darlington. Me apunté el esquema.
Hoy decidí hacer algo parecido.
Lo primero fue el detector. Como llevo MESES esperando a tener un bote de metal decente, he decidido no esperar más y hacerlo con la carcasa de un condensador electrolítico gordo, debidamente vaciado. No fue fácil; es difícil vaciarlo, la soldadura no agarra y encima el plástico derretido ese de pistola funde antes que el estaño. Menudo show. En cualquier caso, no es más que un bote con un electrodo (cacho alambre) dentro, y cubierto con albal para que quede cerrado. El propio aire será el gas a ionizar (CO2, neón o algo así hubiese sido mejor, pero pasando).
Por supuesto es un sensor pequeño, comparado con uno hecho con un bote. Al haber menor distancia y volumen, el aire se ionizará antes y el sensor será mucho más sensible (demasiado, como veremos).
En el circuito, al no encontrarse por estas latitudes el MPSW45A, le he puesto un BC517, que amplifica 30.000 en vez de 25.000. Y por si fuera poco, la resistencia interna de mi multímetro cutrillo no es 10MOhm, sino bastante menor, no la pone ni en el manual (sospecho que es 1KOhm).
Al ponerlo en marcha, alcanzaba su valor (se estabilizaba) rápido, pero parecía que a la mínima oscilaba demasiado sin venir a cuento. Creía que sufría de histéresis del transitorio de encendido el Darlington por la construcción del sensor...
...Y me equivoqué. Lo dejé puesto mientras chateaba, y al girar la cabeza vi que estaba quieto. Así un buen rato. Al levantarme se movió. Entonces entendí; me quedé quieto y él también. Y al moverme, volvió a cambiar.
Estaba detectando la perturbación de mi campo eléctrico en la habitación. La polla. No quiero imaginarme que lecturas dará esto con una muestra radioactiva de verdad. Por supuesto, puedo cambiar de escala y/o cambiar las resistencias, pero esto me ha llegado.
Y hoy va de imágenes; subí la del monigote.
Querido diario:
[...]
Por fín me llegó ese programador de PICs desde Argentina, que es el lugar donde se marchó la madre de Marco para no verle nunca más. Menudo coñazo de niño y de serie; sin embargo la de Heidi, que no era mucho mejor, me la vi casi entera.
Un bonito sobre marrón, con un sello automático por valor de 15,75$ el envío... Si me costó 21€... ya se sabe el resto. Dentro del sobre, otro sobre protector acolchado, y dentro de este último, por fín, un plástico con el grabador y un CD de regalo en su fundita rígida que ya miraré mañana.
A la vuelta de la cena, sobre las 22:15, empiezo a jugar; pruebo a leer el 16F84A que tenía preparado; todo 0, perfecto. Es hora de hacer un programa.
Con el manual en pdf de ese modelo para mirar como es su ensamblador y el IDE de MicroChip, escribo esto:
;Esto es una prueba para el puto pic 16F84A
list p=16f84a
include <p16f84a.inc>
ContadorP equ 0x20
ContadorG equ 0x21
org 0x00
goto Inicio
org 0x04
retfie
PausaPeque:
clrf ContadorP
BucleP:
decfsz ContadorP, F
goto BucleP
return
PausaGrande:
movlw 0x82
movwf ContadorG
BucleG:
call PausaPeque
decfsz ContadorG, F
goto BucleG
return
Inicio:
bsf STATUS, RP0
clrf TRISB
movlw B'01010101'
bcf STATUS, RP0
movwf PORTB
Bucle:
call PausaGrande
movlw 0xFF
xorwf PORTB, F
goto Bucle
END
Al principio no me ensambla, porque puse una directiva res en una sección udata. No genero código objeto y el ensamblador es un poco tocahuevos, así que lo cambio por equ, y compila a la primera. El debugger integrado es simple, pero eficiente, y compruebo que el programa funciona perfectamente en el emulador. ¡Es hora de grabarlo en el PIC!
Ahora toca construir el circuito. Descubro que no tengo resistencias de 330 ni de 220 Ohmnios para el LED. En fin... uso una de 470, porque por debajo lo más cercano que tengo es de 68. Estabilizo el cristal de 4 Mhz con dos condensadores cerámicos de 22 pF (no tengo de 27, y para esto da igual), alimento por VDD y MCLR, pongo masas y el LED.
También funciona a la primera. Justo a tiempo, son las 23:05, hay que sacar al perro.
[...]
Es tarde, pasan de la una y cuarto. Subo este post y el video, me despido de Z, y me voy a dormir. Mañana subiré alguna foto del monigote siniestro de masilla epóxica. Pero ahora toca soñar con Nu.
Adiós, querido diario. Hasta mañana.
Hay gente que disfruta yendo de compras. Comprarse ropa, cacharritos electrónicos modernos o chucherías. Yo no, será que soy muy utilitarista en esos sentidos.
Con lo que disfruto es yendo a tiendas de componentes electrónicos. Me gusta coger yo mismo las resistencias y condensadores, y al final volverme tan feliz con una bolsita de componentes, como si fuesen los regalices, gominolas y nubes que me compraba de pequeño.
Aunque creo que disfruto más con las conversaciones con los dependientes, pidiéndoles integrados simples de los que no han oído hablar en la vida ni pueden encontrar equivalentes, o simplemente preguntándome porqué trabajan ahí. Por ejemplo, cuando fui a comprar más LEDs para mi foco IR:
Habi dice: Hola... quería unos LEDs infrarrojos, como los que me llevé el otro día. Eran de 5mm, en torno a los 940nm...
Infraser dice: Euuu... infrarrojos... pero... ¿emisores o receptores?
Habi piensa: LED = light EMITTING diode. ¿Qué parte no ha entendido? ¿Cree que le estoy pidiendo un fototransistor, una LDR o algo así?
Habi dice: Emisor, con E de LED.
O mi preferida, la de hoy:
Habi dice: Buenos días... [...] También quiero un potenciómetro lineal de 10k, tipo trimmer...
Lechón dice: ¿Eh? ¿Trimmer? Pero... ¿lineal?
Habi dice: Sí.
Lechón dice: ¿Como este?
Lechón le enseña a Habi un potenciómetro de toda la vida, no un trimmer.
Habi dice: No, uno de tipo trimmer, de esos que no tienen eje, sino que se ajustan con destornillador.
Lechón dice: ¿De esos multirrosca azules?
Habi dice: ¿Multirrosca?
Lechón dice: ¿De cuanto era?
Habi dice: De 10k...
Lechón se va a por algo y Habi piensa: ¿Multirrosca? ¿Habrá querido decir multivuelta? ¿Y azules? ¿Los identifica por el color del plástico de fuera? O_o
Lechón vuelve con un trimmer (azulito) y dice: Estos se llaman de multirrosca, no... ¿como has dicho? ¿Trimmer?.
Habi mira el trimmer, lee lo que está escrito, hace una foto y la pone en el blog:
También me he comprado lo de la foto anterior a esta. Para las malpensadas diré que no es un consolador, sino una bomba de vacío. Esto me recuerda a la historia de una compañera de instituto y un botellín que al final hubo que romper. Pero me estoy desviando. Esto es para desoldar; tenía una punta de pera medio caducada que me regalaron, pero la goma estaba hecha polvo y no me la chupaba bien (la soldadura). Así que me he modernizado.
Hoy también he cogido unos conectores USB para el foquito IR, y un regulador lineal (el 7805 de arriba). A disfrutar de ellos.
Otra revelación... Irmiá quiere ser libre, aunque no le gusta la idea de ser visitado por hordas...
En cualquier caso, Habi Hablóg está abierto al público, como bien podéis ver en http://www.habisoft.com/.
También me he decidido a levantar el veto a arañas y bots, por eso he puesto también un sistema de validación para comentarios.
Antes de que lo preguntéis, también permito que este blog sea linkado desde donde sea.
Volvamos atrás unos cuantos años. Uno podía encontrarse con un montón de plataformas distintas; CPCs, PCWs, Spectrums, Commodores, MSXs y algunos otros casi desconocidos por estas latitudes, como los BBC Micro, Apple II, Altair, IMSAI 8080, …
Un gran número de plataformas, sí. Cada una diferente de la otra, sí. Con sus características incompatibles, sí. Cada una con una versión de BASIC (o algo peor) distinta, sí.
Como no tenían demasiada potencia, el portar un juego a varias plataformas era un trabajo de chinos, pues se debía optimizar para cada plataforma, y eso lo sabían los Programadores (sí, con mayúsculas). Pero también es cierto que para ciertas aplicaciones no hacía falta más que un modo de texto, o con gráficos llamados desde de una interfaz común. ¿Por qué no hacer algo común para todos?
Y así fue como que en medio de ese caos surgió el CP/M. Un sistema operativo para gobernarlos a todos, un sistema operativo para encontrarlos, un sistema operativo para atraerlos a todos y atarlos en las tinieblas.
Los únicos requisitos: 80 columnas (o apaño equivalente), unidad de disco (idem) y tener un Z80 (8080) para ejecutar código. Commodore creó el Commodore 128 con un Z80 como coprocesador sólo para poder ejecutar el CP/M, y de igual manera se crearon extensiones para el Apple II y similares que tenían arquitectura Motorola (650x). Incluso el Spectrum +3, con unidad de disco, tuvo su versión.
Un mismo programa, una vez optimizado se ejecutaba en todos los ordenadores. Pues todos tenían el mismo sistema operativo, el mismo formato de ejecutable y un procesador compatible. Y todos se regocijaron.
Además, traía el Mallard BASIC, que era un intérprete de BASIC igual para todo el mundo. Un gran adelanto, sin duda. Aplicaciones como WordStar o dBase surgieron para CP/M. Hubo incluso compiladores de Pascal de Borland. Después todos ellos se portaron a DOS, pero eso es otra historia.
El fin de los 8 bits fue rápido y silencioso.
Hoy en día la situación es justo la inversa. Se tiende a una sola plataforma, el PC (bastante chapucera, el contar sus miserias se merece otro post). Sin embargo, nos encontramos que hay una infinitud de sistemas operativos.
Desde la humilde familia DOS (basado en CP/M) y sus variantes, la familia Windows y OS/2, la infinitud de distribuciones de Linux y núcleos BSD hasta cosas más exóticas como TriOS, DragonFly BSD, ReactOS, Plan 9, MenuetOS, y antiguallas como Xenix, Amiga OS o HP-UX. Incluso ahora se tiene el Mac OS, pues la arquitectura PPC ha caído (impío Apple despiadado; adios 6502, adios 680x0, adios PPC, ...). Aunque que se usen, el Windows, Linux (y sus 12.000 manejadores de ventanas incompatibles entre sí), Mac OS, FreeBSD / OpenBSD y poco más.
Una sola plataforma, multitud de sistemas operativos, multitud al cuadrado por lo tanto de formatos binarios y linkados dinámicos cuando el hardware que subyace es el mismo. Hacer hoy en día un programa realmente portable implica que ha de ser intrínsecamente lento. Por las tremendas capas de emulación necesarias para proporcionar un entorno lo más abstracto posible (y la gran cantidad de recursos que consumen), por el mínimo común múltiplo de los puntos fuertes de cada sistema operativo y por el máximo común divisor de los débiles. Es independiente de lo que optimice el compilador.
Tener competencia en el hardware haría bajar los precios del mismo (sobre todo en marcas), lo que beneficia a los usuarios. El que haya un sólo sistema operativo hace no sólo que todo esté más optimizado, sino más accesible, pues se da el caso actualmente de aplicaciones y juegos existentes para algunos siestemas operativos y no para otros. Esta unicidad también beneficiaría al usuario.
Dejando eso a un lado, lo peor es el desarrollo. Donde antes había un Programador, ahora hay 10 infraseres que no valen apenas 1/10 del Programador y les cuestan a la empresa 1/10 del mismo (¡en conjunto!); o aunque no sean infraseres, se les obliga a serlo, quitándoles el diseño, la iniciativa y el sueldo. Y se autoengañan creyendo que metiendo más gente se desarrollará mejor y antes. Es como pretender ganar una carrera a un coche de fórmula 1 con un Smart, y al ver que no se puede, poner más Smarts a correr; al final se consigue, pero trivialmente porque hay tantos coches en el circuito que ninguno puede moverse.
Knuth se quejaba del gran daño que produjo el BASIC a los futuros programadores. Yo creo que es más profundo, que el arte de programar se jodió en cuanto se convirtió en un puto marketing, como todo.
Hoy cambiaré mi sesión de Prukogi por otro mantra igualmente poderoso, del maestro Nicklaus Wirth: “Software gets slower faster than hardware gets faster”. Repeat with me, please...
Qué gran verdad. Y qué triste.
Estaba un poco intrigado con el juego este del Animal Crossing, porque casi toda la gente que conozco que juega a esto se acaba viciando. Es un juego sin final u objetivos, de aspecto infantiloide, (por no decir gay) y que transcurre siempre en el mismo sitio. Sonaba a peñazo.
En fin… nos bajamos las ROMs para DS, y vemos que... ¡no hay emuladores de DS dignos! Perfecto.
Así que reculamos a la GameCube, el Animal Crossing original (Animal Forest+ en Japonlandia). Después de desquiciarme con los emuladores de la GameCube, y encontrar las combinaciones de opciones del emulador y del Windows (PXE) que hacen que todo funcione, empieza la aventura. Como la versión PAL europea no rula, pues con la de USA.
A posteriori y hackeando un poco fui capaz de extraer todos los “ficheros” de la imagen del disco. Alentado por este resultado, empecé a trabajar sobre la versión europea, para descubrir que realmente era un cargador con imágenes virtuales de las distintas versiones según el idioma. Extrayendo la imagen en castellano, recortando cabeceras, y parcheando para que fuese como un disco original, pude hacer que el emulador ejecutase la versión en castellano. Digno de ser comentado en algún foro, si no fuera porque soy alérgico a esas cosas.
La versión europea se nota que es posterior. Ligeramente más rápida, cuatro overlays de código en vez de dos, un mapa distinto y algunos cambios menores.
El juego empieza con esos grafiquitos de animalitos hiperpoligonalizados cabezones que ya había visto en fotos. Al darle al Start sale un perro cantautor (Totakeke, también conocido como K.K.; ciertamente le pega) que me dice, básicamente, que quiere que le meta la tarjeta de memoria, que me la quiere formatear, y de paso ponerme un piso en Chueca (bueno, esto último no, pero se lee entre líneas).
Después de eso, empieza el juego. Y empieza en un tren, donde un gato (Rover en inglés, Fran en Castellano) te hace preguntas para determinar tu nombre, el del pueblo y tu sexo (algo que nunca está claro en este juego). Y todo esto para finalmente darme un monigote vestido de rosa (aleatorio, se supone) y con unos cuernos que no le caben por la puerta. Sin embargo, en la versión española me salió con un traje a cuadros rojos y amarillos, muy patriótico; y también con los cuernos del toro de Osborne.
Cuando llegas al pueblucho, ves que unos monos tienen el monopolio del único medio de transporte del pueblo. Pero eso no es nada; el puto amo del pueblo no es ni más ni menos que Tom Nook, un mapache fumado que tiene la única tienda (legal) del pueblo, que controla el sector inmobiliario y el de la construcción, que tiene un logo sospechosamente similar al de Apple, y que sólo va vestido con un mandil. Personaje turbio donde los haya.
Este mismo personaje te vende una chabola de unos 15m2, con su hipoteca, y encima te hace darle todo lo que tienes y trabajar para él (no es que suene mafioso, es que lo es) haciendo recados. Hasta ahora es un simulador cojonudo de la vida real, como bien podéis ver.
Qué más puedo decir de este juego... a los animalitos les gusta escribirse cartas, pescar, buscar fósiles, decir gilipolleces, cazar insectos y agacharse a recoger conchas en la playa cuando tienen a otros vecinos a sus espaldas. Hay un montón de objetos decorativos (léase: inútiles) para poner en la casa, posibilidades de ampliar la misma, diseñarte la ropa (atentos a la sombrilla de pollitos), y todas esas cosas que les gustan a las niñas japonesas de doce años.
Resumiendo: Teniendo en cuenta el potencial corruptor de este juego y el detalle adictivo de que no se puede morir, y de que va en tiempo real, lo guardaré con cuidado con el resto de armas biológicas para cuando los chinos nos invadan.
Creía que a los niños que se portaban mal los Reyes Magos les traían carbón (silicio / germanio en mi caso), pero me equivocaba. A los niños que se portan bien les traen juguetes, a los que se portan mal carbón, y a los cabrones de verdad cosas frikis.
Y es que últimamente me regalan sólo cosas frikis, y eso me preocupa. ¿Qué concepto tiene de mí la gente?
En cualquier caso, menos en el caso Urquijo, creía que era insuperable el robot sacapuntas; lo mismo pensaba de la chapita de Mazinger Z; y lo mismo de esos cigarrillos de chicle con sabor a canela "Death Row" y "Black Lung"; y aún más lo pensaba del muñeco articulado de Einstein y de la oveja hinchable. Me equivoqué.
Juzguen si no el pack de la foto:
En efecto. Papiroflexia serda, llamémosla orgasmi. Animalitos follando, pollas, y todo un surtido de perversiones bidimensionales homeomorfas al cuadrado unidad.
También ha caído un vale a canjear por una prenda de ropa de las rebajas (ahora no, en rebajas, que conste), unos calzoncillos - radiografía chulos y otras frikadas varias.
No se por qué, me lo esperaba.
Cayendo sin fin
más allá de donde la vista abarca.
Una fecha se autocompensará
o no o sí o no o sí o no
pero no será igual.
Dormir...
...azur y sable...
...y su nombre era Zoot.
Hoy, queridos niños, vamos a ver en clase de plástica como hacer un foco de luz infrarroja. ¡Biiiieeeeen!
Usaremos para ellos unos LEDs infrarrojos (940nm), debido a que son monocromáticos, eficientes, baratos, de bajo consumo, larga duración y casi nulo calentamiento. Los alimentaremos con unos 20mA ~ 1,2V a una tensión de fuente de 5V, así podremos enchufarlos por dentro de la fuente del ordenador, un puerto USB o casi cualquier dispositivo que tenga niveles TTL.
Bajo 5V podemos poner 3 seguidos, y nos queda 5 - (3 x 1,2)=1,4V. Bajo 20mA tenemos que poner una resistencia de 1,4 / 0,02=70Ohm. Pondremos una de 68, que es la más cercana. 0,02 x 1,4=0,028W, y eso es menor que el 1/4 de vatio de una resistencia química normal, así que nos vale. Cada fila nos consume 0,02 x 5 = 0,1W; como usaremos 3 filas (3x3 LEDs), tendremos 3 x 0,1=0,3W. Teniendo en cuenta la cantidad de luz que da, es un lujo.
Como me aburría, le hice estos gráficos en Corel:
|
Estos son los elementos que usaremos. Aquí podemos ver un LED visto de frente y de lado, y una resistencia de 68 Ohm. Azul, gris y negro son sus colores, con banda de oro (5% de precisión). Las resistencias no tienen polaridad, lógicamente, pero los LEDs, al ser diodos, sí. En el primer dibujo tenemos el ánodo (pata +) a la izquierda y el cátodo (pata -) a la derecha. El ánodo normalmente es más largo que el cátodo, tanto en LEDs como condensadores electrolíticos y demás componentes polarizados de 2 patas. |
|
Como nos interesa que nuestra matriz de LEDs sea lo más compacta posible, soldaremos todo entre sí. Empezaremos doblando las patas de los LEDs tal que así. |
|
Soldamos y recortamos los componentes de cada fila, tantas veces como filas queramos hacer. En este caso lo haremos con 3, como se verá en el siguiente dibujo, para que nos quede un foco de 3x3 LEDs. Cada fila montada queda como el dibujo de aquí al lado. |
|
Ahora vemos de lado las 3 filas puestas en idem. Soldamos por un lado todos los cátodos, de tal manera que sólo quede el del medio (por ejemplo). |
|
Y lo mismo con los ánodos, eso sí, después de la resistencia. Alimentando el sistema por las dos patitas que nos quedan, la matriz 3x3 completa luce que da gusto en IR. |
Para terminar, podemos hacer un cucurucho de cartulina forrada con papel albal y meter dentro nuestro foquito, para aprovechar mejor la luz que se emite. Aquí vienen algunas fotillos, no es plan de que ocupen sitio en la galería.
En el próximo episodio veremos como hacer chorradas con PICs. ¡Adios, amiguitos!