-
Notifications
You must be signed in to change notification settings - Fork 83
Vídeo 7: Manipulando bits. Puerta NOT
Haz click en la imagen para ver el vídeo en Youtube
Los circuitos digitales realizan tres operaciones con los bits: transporte, almacenamiento y manipulación. Veremos un ejemplo de manipulación sencilla usando la puerta lógica NOT, con la que haremos que dos leds parpadeen alternativamente
Academia-Jedi-HW-07.zip: Colección para este tutorial. Descargar e instalar
- Todo es número
- Circuitos digitales
- Elementos de un circuito digital
- Manipulación de bits: Puerta NOT
- Ejemplo 1: Leds parpadeando a la vez
- Ejemplo 2: Leds parpadeando alternativamente
- Funcionamiento del circuito
- Tabla de verdad
- Bits imprimibles en 3D
- Ejercicios propuestos (11 Bitpoints)
- Ejercicios entregados
- Autor
- Licencia
- Créditos y agradecimientos
- Enlaces
- FAQs
Vivimos en un mundo digital: televisión digital, radio digital, circuitos digitales...Es la era digital ¿Pero esto qué significa? Simplemente que TODO son números. Toda la información que recibimos son números. Las imágenes que nos llegan por la televisión son en realidad números. Los sonidos que escuchamos son números. Las Apps que ejecutamos en nuestros móviles son números. Los documentos que enviamos por internet son ... ¡Números!
Pero es que además, gracias al segundo teorema de Nyquist, tenemos garantizado matemáticamente que cualquier señal analógica se puede convertir a números y posteriormente ser reconstruidas. De esta forma, tenemos garantizado que cualquier señal la podemos convertir a números ¡¡Los pitagóricos estarían orgullosos!! ¡¡Tenían razón!! :-)
Los circuitos digitales son los que trabajan con números. Y sólo con números. Sólo realizan tres operaciones con los números: Almacenar, transportar y manipular
Estos circuitos reciben números por sus entradas, realizan estas operaciones, y producen otros números como salida
Ahora bien, con la tecnología actual, los chips trabajan internamente con bits. Son elementos de información que sólo pueden estar en dos estados: 1 ó 0. Y se usan bits porque son muy fáciles de implementar a partir de transistores que se fabrican muy fácilmente y barato con silicio
Cualquier número se puede representar mediante dígitos binarios (bits). De esta forma podemos redefinir los chips digitales como: Aquellos componentes que almacenan, transportan y manipulan bits. Y sólo hacen eso
Por sus entradas llegan bits, que son manipulados, almacenados y transportados, y como resultado se obtienen más bits que se sacan por las salidas
Cualquier circuito digital, por muy complejo que sea, sólo está formado por tres elementos básicos: Los cables, para transportar bits, las puertas lógicas para manipularlos y los biestables para almacenarlos
Los cables ya los hemos utilizado para transportar los bits desde dentro del chip hasta sus patas de salida, para encender los leds o hacerlos parpadear. Lo siguiente será aprender a manipularlos
La manipulación más sencilla se realiza con la puerta NOT, que transforma un bit a 1 en 0, y al contrario, un bit 0 en 1
Esta puerta tiene una entrada por la izquierda, por donde entra un bit, y una salida por la derecha por donde aparece el bit invertido. En esta animación se muestra su funcionamiento
En la app circuit scramble, que vimos en el tutorial 1, la puerta not aparece a partir del nivel 5. El símbolo es diferente al usado típicamente, pero el funcionamiento es el mismo
Haremos primero un ejemplo de cómo hacer parpadear 2 leds a la vez. Lo haremos con los LEDs 0 y 7. Ya sabemos hacerlo, y se planteó como ejercicio en el tutorial 6. Lo resolveremos aquí y aprenderemos de paso a tirar varios cables desde la misma salida
Partimos del circuito que ya conocemos que hace parpadear un led a la velocidad de 1Hz (Lo podemos cargar rápidamente desde el menú Archivo/Ejemplos/1-Ejemplos/1-LED parpadeante)
Colocamos un bloque de salida asociado al LED 0:
Desde la salida de un bloque es posible sacar más de un cable. Nos colocamos en la salida del corazón de 1Hz hasta que el cursor se ponga en forma de cruz
Tiramos un cable como ya sabemos, pinchando con el botón izquierdo y arrastrando. Nos aparece un nuevo cable, unido al original
Nos situamos en la entrada del bloque de salida y soltamos el botón para fijar el cable
Así es como queda el circuito, con un corazón conectado a los leds para que parpadeen a la vez
El cable que acabamos de colocar se puede mover. Para ello nos situamos encima. Su aspecto cambia
Dejamos pulsado el botón izquierdo y movemos el cable hacia la izquierda
Soltamos el botón y ya tenemos el cable recolocado
Cargamos el circuito para probarlo. Los LEDs 0 y 7 parpadean a la vez
Vamos a utilizar la puerta NOT para crear una sirena luminosa haciendo que dos leds parpadeen alternativamente
Partimos del ejemplo creado anteriormente, al que también tenemos acceso desde el menú Archivo/Ejemplos/1-Ejemplos/2-Leds-parpadeantes-igual. Primero eliminamos el cable que conecta el corazón con el LED0. Para ello situamos el ratón encima del cable: nos aparece una X roja
Nos situamos sobre ella
y la apretamos, eliminando el cable
Colocaremos una puerta NOT. Nos vamos al menú Puertas/Not
Y colocamos la puerta a la izquierda del bloque de salida del LED 0
Ahora tiramos un cable desde el corazón a la entrada de la puerta y otro desde su salida al LED 0
Cargamos el circuito en la placa, para probarlo
Vemos cómo los leds parpadean alternativamente: primero uno y luego otro
El circuito de los leds alternantes funciona de la siguiente manera: Cuando el corazón bombea un bit a 1, se transmite por el cable al LED 7 y por el otro cable llega a la entrada de la puerta NOT. El bit se convierte a 0 y se saca por el LED 0. Por ello, el LED 7 se enciende y el LED 0 se apaga
Cuando el corazón bombea un bit 0 ocurre lo contrario. El 0 llega al LED 7, apagándolo, y por el otro cable llega a la puerta NOT, convirtiéndose en un 1 y encendiendo el LED 0
El funcionamiento completo se muestra en esta animación:
El funcionamiento del circuito queda descrito de manera más concisa usando una tabla de verdad, en la que se muestra el resultado de todas sus salidas segun el valor del bit bombeado por el corazón
En la columan de la izquierda están puestos los dos valores que puede tomar el corazón: 0 y 1. Y en las dos columnas de la derecha los valores que salen por las salidas y que llegan a los LEDs 7 y 0 respectivamente
Para realizar simulaciones de los circuitos lógicos se puede utilizar estas Monedas Bits imprimibles
Ver los detalles de los ejercicios y las entregas en el menú Archivos/Ejemplos/2-Ejercicios de la colección de este tutorial
Resumen:
-
Ejercicio 1 (Total 3 Bitpoints): Hacer un circuito digital que haga parpadear alternativamente los LEDs pares y los impares a una velocidad de una vez por segundo
-
Ejercicio 2 (Total 3 Bitpoints): Hacer un circuito digital que haga parpadear alternativamente los LEDs 3 y 4 a la velocidad de 4 veces por segundo. Los leds 0 y 1 parpadean a la vez, una vez por segundo y los leds 7 y 6 lo hacen también una vez por segundo pero alternativamente con los leds 0 y 1
-
Ejercicio 3 (Total 3 Bitpoints): Hacer el circuito indicado en el enunciado de la colección, probarlo en la placa y obtener su tabla de verdad
-
Ejercicio 4 (2 Bitpoints). Ejercicio Libre. Premiar la creatividad. Entregar por redes sociales o github: Pantallazos, enlaces, vídeos, etc...
- Juan González-Gómez (Obijuan)
- ¿Dónde puedo conseguir la placa Icezum Alhambra?
Pueden conseguir una desde Alhambrabits
- ¿Cómo aprendo a manejar github?
Hay mucha información en internet. En su momento hice este Tutorial: Github y FreeCAD para enseñar a manejarlo. Los ejemplos están hechos con ficheros de FreeCAD, sin embargo, lo que se enseña es genérico. También vale para las entregas de los ejercicios del tutorial de Electrónica digital para makers
- Electrónica digital para todos
- Poniendo en marcha Icestudio
- La Icezum Alhambra y otras placas con FPGAs libres
- Mi primer circuito. Encendiendo un led
- Colecciones en Icestudio
- Bombeando bits
- Manipulando bits: Puerta NOT
- Pines y LEDs externos
- Pulsadores y entradas
- ServoBit
- Puertas AND. Habilitando circuitos
- Interruptores y pulsadores externos
- Periféricos: Leds externos y zumbadores
- Mezclando circuitos: Multiplexor
- Servos de rotación continua
- Sensores de Infrarrojos
- Puertas Lógicas: OR
- Bloques con parámetros
- Circuitos combinacionales
- Buses y Números
- Mi primer bloque
- Circuitos combinacionales con varias salidas
- Mi primera colección
- Display de 7 segmentos
- Biestables y notificaciones
- Tiempo, tics y temporizadores
- Contando eventos
- Biestables de datos y cambio
- Registros y comparadores
- Puerto serie
- Despedida de la Temporada I