Doom en POS Verifone VX820
Port del juego DOOM a una terminal de pagos
Taller de introducción de emuladores
Taller que dicté en el que desarrollamos emuladores de CHIP-8
Taller de soldadura avanzada
Taller que dicté en el que soldamos y desoldamos componentes SMD
Ludum Dare 53 - Energy delivery
Juego desarrollado en 48 horas para la competencia Ludum Dare
Base de datos de juegos
Recopilación de datos de distintos juegos de mi infancia
Monitor de pulsaciones con Mi Band 6 (2022)
Muestra las pulsaciones cardíacas en un navegador, leyéndolas de un Mi Band 6 via Bluetooth.
Desarme de POS de tarjeta Naranja y MercadoPago
Fotos de alta resolución mostrando el interior de los lectores de tarjeta de Naranja y MercadoPago
Comprimiendo imágenes monocromáticas usando RLE (Run-length encoding)
Pequeña explicación y código en Java mostrando cómo funciona este tipo de compresión sin pérdida.
Compuertas lógicas en Java y Kotlin
Código en Java y Kotlin para representar compuertas lógicas y recalcular el estado de sus salidas.
Grid (2020)
Dibuja una estructura similar a una grilla/red. Soporta ajustar algunos de los parámetros de dibujo y animación.
Melex (2019)
Experimentos sencillos con canvas, enseñándole JavaScript y canvas a mi hermana.
Genico - Generador de íconos numéricos (2019)
Un generador de íconos numéricos, muy útil para trabajar con pantallas HMI tipo DGUS (DWIN) / SGUS / VGUS.
Schrod (2018)
Representación audiovisual de soluciones a las ecuaciones del calor y de Schrödinger.
Reconocimiento de habla para EDU-CIAA (2017)
Biblioteca liviana para realizar reconocimiento de palabras aisladas en microcontroladores ARM Cortex M4. Desarrollado como proyecto final para Seminario de Sistemas Embebidos. Se basa en la extracción de coeficientes MFCC y el reconocimiento usando el algoritmo de Viterbi para hallar la palabra más probable dadas las observaciones. Los modelos estadísticos fueron basados en cadenas ocultas de Markov (HMM), de primer orden, con probabilidades del tipo mezcla de Gaussianas.
Cortador de espuma (2017)
Un cortador de espuma usando un alambre de nicromo.
Visor de mapas de Half-Life (2016)
Este proyecto presenta una forma distinta de explorar el mundo del juego Half-Life. Permite el renderizado en tiempo real de todas las instalaciones de Black Mesa Research Facility.
Tamaños de rulemanes
Tabla con tamaños de diversos rulemanes que se consiguen localmente, muy útil a la hora de hacer un proyecto mecánico.
Reconocimiento de habla usando HTK (2016)
Reconocimiento distribuido con gramática finita, basado en el toolkit HTK. Desarrollado como parte de un proyecto final para Procesamiento del Habla. Usa JSRecorder y la API de Web Audio para capturar las señales de micrófono desde un navegador.
Radar (2016)
Muestra cómo usar la distancia a N puntos para localizar un objeto (similar a cómo funciona un radar).
Kalman (2016)
Representación visual de un filtro de Kalman, usado para estimar posición usando datos ruidosos de un acelerómetro.
Can't see (2016)
Reducir gradualmente el tamaño y peso de la tipografia permite obtener resultados interesantes. Extracto de Ensayo sobre la ceguera de José Saramago.
Utilidades para Sistemas Digitales (2015)
Programas desarrollados para TPs de Sistemas Digitales, permiten debuggear a través de simulación sistemas basados en FPGAs que usan salidas de video VGA.
Negocios de venta de componentes y módulos electrónicos de CABA
Listado con muchas casas de componentes y módulos electrónicos en la Ciudad Autónoma de Buenos Aires/Capital Federal en Argentina.
Finales de Algoritmos y Programación I (Kuhn)
Finales de Algoritmos y Programación I (Cátedra: Mónica Kuhn, FIUBA).
Mapa 3d de Buenos Aires (2014)
Mapa 3d de Buenos Aires usando datos provistos por el gobierno. Usa OpenGL para aceleración 3D y SDL para el manejo de ventanas y eventos.
Control domótico via infrarrojo y PC (2014)
Panel de control domótico para controlar luces de distintas habitaciones, permitiendo al usuario el cambio de intensidad a través de tres interfaces. Realizado para la materia Laboratorio de microcontroladores.
Tunnel (2013)
Pruebas de dibujar un efecto tunel hechas mientras estudiaba para un final de algoritmos (convertidas a canvas).
TestPattern (2013)
Patrones similares a los que dibujaba con lapicera cuando era chico. Puede quedarse trabado en algunos callejones sin salida, no implementé la lógica requerida para arreglarlo.
Modificación de cámara de video para ver luz infrarroja
Cómo modificar una cámara de video estándar para agrandar el espectro de luz que puede observar, permitiendo ver parte del infrarrojo cercano.
Matriz de LEDs con sensores de inclinación (2013)
Proyecto basado en una matriz bicolor de 8x8, controlada por PC via el puerto paralelo. También incluimos dos sensores de orientación caseros, que permiten detectar el ángulo de la matriz.
Mini consola de juegos con salida a TV (2012)
Aplicación de prueba para generar señales NTSC (blanco y negro) que pueden ser vistas en cualquier televisión con entrada de video compuesta. Basado en un microcontrolador 8052.
LCDTerminal (2012)
Pantalla alfanumérica controlada via UART. También puede ser usada con LCD Smartie para monitorear el uso de recursos de una PC.
Cerradura de combinación digital (2012)
Lógica digital que implementa una cerradura de combinación similar a la usada en hoteles.
CanvasDraw (2012)
Proceso Random walk con cambio de ángulos aleatorios (convertido a Canvas!).
Electroestimulador Muscular (2011)
Electroestimulador Muscular controlado por microcontrolador.
Calculadora de valor de capacitores
Dados los números presentes en un capacitor, calcula cual es la capacitancia, y su tolerancia.
Calculadora de tiempos con 555
Calcula cuanto es el tiempo que la señal de salida estará activa, en un circuito integrado 555 configurado como monoestable o astable.
Calculadora de resistencias para LEDs
Dados el tipo de LED y la tensión de la fuente, calcula la resistencia necesaria para conectarlo.
Calculadora de overflow de timer
Dada la configuración de un timer, calcula cada cuanto tiempo hace overflow.
Calculadora de filtro RC
Dados el valor de la resistencia y el capacitor, calcula cuanto es la frecuencia de corte en un filtro pasivo RC serie.
Calculadora de código de colores de resistencias
Dados los colores de una resistencia, calcula cuánto es su valor y tolerancia.
Calculador de regulador de tensión y corriente
Dados el valor de las dos resistencias y el modelo de regulador, calcula cuanto es la tensión o corriente de salida de un regulador lineal, configurado como regulador de tensión o corriente.
Calculador de divisor resistivo
Dadas dos resistencias y una tensión de entrada, calcula cual será la tensión de salida del divisor resistivo.
Utilización de un celular o modem GSM/GPRS con microcontroladores
Cómo usar un celular o módem para enviar y recibir mensajes de texto y llamadas desde un microcontrolador.
Utilización de módulos GPS con microcontroladores
Cómo usar un módulo GPS para obtener la posición, parseando las cadenas NMEA que envía.
Teclados de matriz, interfaz con microcontroladores
Formas fáciles para routear tact switches en formas de matriz.
Sensores de inclinación caseros
Cómo construir un pequeño sensor de dos estados para sensar la orientación en el espacio de una placa.
Pequeño motor físico (2010)
Basado en el paper Advanced Character Physics de Jakobsen. Desarrollado con HTML5 and Javascript based, solamente soporta círculos.
Memorias RAM externas en MCS51 (8051/8052)
Cómo conectar y usar una memoria externa (multiplexado de datos y dirección).
Matrices de LEDs, formas de manejo
Cómo controlar una matriz de LEDs desde un microcontrolador.
Listado de software utilizados en electrónica
Análisis de algunos programas de electrónica que utilizé en algún momento.
LCDs gráficos basados en KS0108
Cómo controlar un LCD gráfico de 128x64 (o 192x64) basado en KS0108, usando un microcontrolador y dos puertos de E/S.
LCDs alfanuméricos basados en HD44780
Cómo controlar un LCD alfanumérico inteligente desde un microcontrolador. Incluye Comandos y esquemáticos.
Juego de cartas de electrónica (2010)
Juego multijugador basado en la biblioteca SDL, hecho como proyecto final para una materia.
Introducción al protocolo I2C, lectura y escritura en memorias 24LC
Muy útiles, por ejemplo para guardar datos de configuración o mantener un registro de sensores.
Introducción a Shaders GLSL
Un pequeño artículo para personas que deseen entrar en el mundo de la programación de shaders gráficos.
Introducción a SDL2, desarrollando un editor simple de tipografías pixel
Pequeño tutorial para aprender a usar SDL2, en C++.
Introducción a microcontroladores PIC
Pequeño resumen introductorio sobre microcontroladores de 8 bit, en particular de la familia Microchip PIC16.
Expandir puertos de entrada y salida de un microcontrolador
Cómo agregar más entradas o salidas digitales a un controlador, usando registros de desplazamiento (shift registers).
Convertir una tensión en un valor digital, sin usar ADC
Cómo leer datos analógicos desde un microcontrolador que solamente tiene entradas/salidas digitales.
Control de motores de continua con puente H
Distintas formas de controlar motores de CC.
Compilación de programas con compiladores GNU
Cómo usar los compiladores libres de GNU para armar programas en C o C++.
Clon de Worms con SDL y OpenGL (2010)
Un clon sencillo del juego Worms, usando las bibliotecas mencionadas. Soporta varios jugadores en el mismo teclado.
AlephTrack - Rastreador usando GPS y GSM/GPRS (2010)
Permite el seguimiento y monitoreo a través de Internet un dispositivo, que puede ser instalado facilmente en un auto.
Uso del MAX232 para conversiones RS232-TTL
Un circuito muy sencillo, usado en casi cualquier lugar que se necesite conexión entre un microcontrolador y una computadora.
Plasma (2009)
Efecto plasma aleatorio. Originalmente usaba SDL, fue convertido a HTML5/Canvas. Se agregaron más fórmulas y paletas de colores.
Mini consola de juegos con matriz de LEDs (2009)
Consola con resolución 8x8, basada en un microcontrolador 8052, desarrollo en C compilado con SDCC.
Introducción a PLD (dispositivos lógicos programables)
Resumen de aplicaciones y programación de PLA, PAL, GAL y PLD.
Control remoto de 4 canales por RF, mediante HT12D/E
Cómo controlar cargas a distancias a través de un enlace de radiofrecuencia, usando módulos y ciruitos integrados de bajo costo.
Repeat (2008)
Pequeño juego cuyo objetivo es evitar que el tren se choque a sí mismo. Inspirado por Tron y Snake, pero con ángulos infinitos.
Matrix (2008)
Efecto tipo matrix (lluvia digital). Usa las funcionalidades de Bitmap de Flash 8 (sí!).
Cs_electronicaort (2008)
Mapa para Counter-Strike 1.6, inspirado en el piso de electrónica de la escuela ORT (sede Yatay).
Random (2005)
Generador ultra simple de formas aleatorias desarrollado cuando usaba Flash.