Colección de placas electrónicas de máquinas Arcade

Para quienes puedan tener interés o curiosidad por la “prehistoria” de los videojuegos, presento la siguiente colección de placas electrónicas. Eran el “cerebro” de aquellas máquinas recreativas que se encontraban en Salones de Juego Recreativos de los años 80 y 90. Lo que hoy se conoce como Arcade Retro.

MaquinasRecreativasArcade.jpg

Técnicamente, se trata de Electrónica Digital clásica, propia de la época, con gran cantidad de circuitos integrados perfectamente alineados: Microprocesadores, memorias RAM y EPROM, puertas lógicas, convertidores D/A y A/D, etc. Y todo ello, siempre en enormes placas PCB de color verde. La mayoría de estas placas aún funcionan, o se las puede hacer funcionar con pequeños arreglos.

Pulsa sobre la fotografía para ampliarla en una nueva ventana, y sobre el título de videojuego para ver cual era su resultado. Se encuentran ordenadas por año de lanzamiento al mercado de las placas, con lo que también podemos observar la evolución de esta industria electrónica a los largo de esos años.


Namco - Galaxian (Space - 1979)
Galaxian  |  Compañía: Namco  |  Género: Space  |  Año: 1979

Midway Manufacturing Co. - Pac-Man (Labyrinth-Maze 1980)
Pac-Man  |  Compañía: Midway Manufacturing Co.  |  Género: Labyrinth/Maze  |  Año: 1980

Sigue leyendo

Anuncios

Diseño de un microprocesador básico de 4 bits

Si piensas que un microprocesador es una especie de caja negra que funciona de un modo misterioso ejecutando programas escritos en lenguajes de alto nivel como C, Pascal, BASIC, etc., o en el mejor de los casos, te has atrevido a programar algún microcontrolador en lenguaje ensamblador, tal vez ha llegado el momento en que debas dar un “gran paso” en su conocimiento. Para ello, te propongo que, usando componentes electrónicos digitales sencillos (circuitos integrados compuestos por puertas lógicas), algunas resistencias y diodos, aprendas a diseñar de manera práctica un microprocesador básico y experimental de 4 bits.

Circuito - Computadora 4 Bits V2
Microprocesador básico de 4 bits simulado en Proteus.

Conocer el funcionamiento básico del hardware que existe dentro de cualquier microprocesador o microcontrolador puede que cambie de manera drástica el modo en que los ves y programas. Puedes llegar a entender conceptos que hasta ahora aplicas de una manera mecánica, porque lo has leído o sabes que funciona, pero sin conocer el por qué de ciertas limitaciones o diferentes formas de funcionar de esta evolución en la electrónica digital, desde simples sistemas secuenciales que permitieron ejecutar una sucesión de instrucciones, hasta el moderno microprocesador de 64 bits que posiblemente estés usando para leer este texto.

Sigue leyendo

Aprende ensamblador ARM de manera sencilla y VisUAL

Aprender, o al menos conocer, el lenguaje ensamblaje es muy importante si se desea tener una idea muy clara de cómo funciona realmente cualquier sistema informático o de control electrónico programable. VisUAL es un emulador muy indicado para aprender, de una manera muy práctica y sencilla, el lenguaje ensamblador de CPUs diseñadas con arquitectura ARM.

Además de admitir un gran subconjunto de instrucciones ARM, la CPU se emula a través de una serie de animaciones que ayudan a visualizar el flujo de datos en el microprocesador o microcontrolador emulado, incluyendo animaciones muy útiles para comprender algunas de las instrucciones más difíciles de entender, como los cambios y la manipulación de la pila de datos.

Al estar diseñado específicamente para utilizarse como herramienta de enseñanza en el Imperial College London, su Interface Gráfica de Usuario (GUI) es muy amigable, se destacan claramente todos los errores de sintaxis y se muestran ejemplos de la sintaxis correcta.

GUI probando una simple instrucción ADD con dos números.

Además, cuenta con todo aquello que se puede esperar de un emulador, como la ejecución paso a paso de instrucciones, visualización de datos o registros en diferentes ventanas, establecer puntos de interrupción, etc. Incluso advierte de la ejecución de posibles bucles infinitos.

En resumen, una excelente herramienta si deseas iniciarte en el fantástico mundo de los microcontroladores ARM.

 

Resistencias Pull Up y Pull Down en Circuitos Digitales

Las resistencias denominadas Pull up y Pull down, muy empleadas en circuitos electrónicos digitales, no son ningún tipo de resistencia o componente electrónico especial por su construcción, se trata de resistencias comunes que reciben este nombre por su cometido dentro del circuito. Estos nombres son una forma de referirse a ellas de manera corta, a lo que tan aficionado es el mundo técnico y especialmente si se habla en inglés.

¿Qué son las resistencias Pull Up?

Las resistencias Pull-up son utilizadas en circuitos digitales para asegurar en cualquier circunstancia un nivel lógico seguro y definido en una determinada entrada o pin digital. Cabe recordar que en electrónica digital existen tres estados lógicos:

  • Alto (High): Representa la presencia de voltaje eléctrico, también llamado Uno Lógico.
  • Bajo (Low): Representa la ausencia de voltaje eléctrico, también llamado Cero Lógico.
  • Flotante (Floating): Estado de Alta Impedancia (Hi-Z). Desconectado del resto del circuito electrónico.

Sigue leyendo

Principios de Funcionamiento de Sistemas Digitales y su Programación a Bajo Nivel

Se añaden a nuestra Biblioteca dos libros de distribución gratuita con los que comprender los principios en que se basa cualquier sistema digital programable. O qué es realmente lo que mueve nuestro mundo digital al margen de las abstracciones utilizadas por los programadores informáticos, que utilizando lenguajes de alto nivel pueden programarlos sin necesidad de conocer los complejos fundamentos electrónicos con que a bajo nivel se está trabajando.

Un técnico electrónico no es un programador… y debe conocer qué es realmente lo que se mueve a nivel binario.

Pero un técnico electrónico no es un programador, y aunque también programe utilizando lenguajes de alto nivel, su enfoque debe ser muy distinto, y debe conocer qué es realmente lo que se mueve a nivel binario dentro del sistema electrónico digital programable que está diseñando o utilizando.

Sigue leyendo

Arduino Programming Notebook (Edición española) – Brian W. Evans

Añado este libro de distribución gratuita a la modesta Biblioteca de TallerElectronica.com, considerándolo el primer manual de contacto de cualquiera que, sin conocimientos previos, desee iniciarse en el maravilloso mundo de la programación de dispositivos electrónicos usando placas de desarrollo rápido tipo Arduino.

El propósito del autor de este libro fue crear un pequeño manual de consulta rápida sobre los comandos básicos y la sintaxis del lenguaje de programación de Arduino. Para entrar en los contenidos con mayor profundidad se pueden consultar otras páginas web, libros o cursos. Esta decisión hizo que quedaran fuera de su contenido tipos de datos complejos como los arrays o modos avanzados de comunicación serie.

Comenzando con la estructura básica del lenguaje C del que deriva la programación de Arduino, este libro de notas continua con la descripción de los comandos más usuales e ilustra su uso con ejemplos de código.

Arduino_Programing_Notebook_ESDescarga: https://mega.nz/#!n8ImBTAQ!NNX3BgQu

Controlar grandes cargas eléctricas con Arduino

Un modo sencillo de controlar grandes cargas eléctricas con Arduino (o, en general, con cualquier sistema electrónico digital) es mediante el uso de transistores MOSFET.

Veamosló con un ejemplo práctico: Esta sería una forma sencilla de controlar un motor de corriente continua mediante el uso del transistor TIP120, capaz de soportar tensiones de hasta 60 Voltios y corrientes de hasta 5 Amperios.

tip120_dc.png

Del mismo modo, en lugar del motor, se podría haber conectado un relé (relevador) o un contactor de potencia, capaces de controlar cualquier tipo de cargar eléctrica aplicando una pequeña corriente eléctrica a su bobina de activación.

La resistencia de 2.2 KΩ, limita la corriente de la salida digital a algo menos de 2 mA., valor seguro para la placa Arduino, y suficiente para poner en modo conducción el transistor. El diodo (1N4007) conectado entre los bornes del motor, protege al transistor de sobretensiones transitorias producidas durante los cortes bruscos de alimentación eléctrica en cargas inductivas (motores, relés, contactores, y en general, cualquier carga que conste básicamente de un inductor o bobina).

Un ejemplo sencillo de programa para controlar esta carga con la placa Arduino sería:

int TIP120Pin = 9;
void setup()
{
    pinMode(TIP120Pin, OUTPUT);      // Configura puerto como salida.
}

void loop()
{
    digitalWrite(TIP120Pin, HIGH);   // Activa salida.
    delay (5000);                    // Espera durante 5 segundos.
    digitalWrite(TIP120Pin, LOW);    // Deactiva salida.
    delay (5000);                    // Espera durante 5 segundos.
}

En el ejemplo práctico que estamos usando, el motor está controlado por una salida digital del tipo PWM, por lo que además contamos con la posibilidad de variar su velocidad de rotación de un modo tan sencillo como este:

int TIP120Pin = 9;
void setup()
{
    pinMode(TIP120Pin, OUTPUT);      // Configura puerto como salida.
}

void loop()
{
    analogWrite(TIP120Pin, 255);     // Ponemos el motor al 100%
    delay (5000);                    // Espera durante 5 segundos.
    analogWrite(TIP120Pin, 175);     // Reducimos la velociadad del motor.
    delay (5000);                    // Espera durante 5 segundos.
    analogWrite(TIP120Pin, 0);       // Paramos el motor.
    delay (5000);                    // Espera durante 5 segundos.
}

Problemas Resueltos de Electrónica Digital

Para practicar, afianzar o evaluar tus conocimientos, te recomiento el siguiente Manual de Problemas Resueltos de Electrónica Digital del Profesor Felipe Machado.

En este manual se han recopilado algunos de los problemas propuestos en clase y en exámenes de la asignatura Electrónica Digital I de la titulación de Ingeniería de Telecomunicación de la Universidad Rey Juan Carlos (URJC).

Los problemas tratan sobre:

  • Aritmética Binaria.
  • Sistemas de numeración  y codificación.
  • El álgebra de Boole.
  • Diseño de circuitos con puertas lógicas y bloques combinacionales.
  • Diseño de contadores.
  • Análisis de circuitos digitales sencillos.
Problemas Resueltos de Electronica Digital - Machado_Descarga:  https://mega.nz/#!XtBw0bKa

Guía de uso del Algoritmo de Control PID en Arduino

El algoritmo PID (Proporcional Integral Derivativo), es un elemento ampliamente utilizado en Sistemas Autómaticos de Control, cobrando especial importancia en las funciones de realimentación para la corrección de errores o desviación entre el valor medido y el deseado. Además, su uso y correcto ajuste, da lugar a que la respuesta del sistema sea mucho más suave y rápida ante fluctuaciones originadas por los cambios en las condiciones externas que modifican el valor a controlar.

En la siguiente guía se explica su uso práctico utilizando la placa electrónica de desarrollo Arduino.

Guia-de-uso-PID-para-Arduino-OpenLibra-350x459Descarga: https://mega.nz/#!SlpTQL7Q