La electrónica digital es aquella rama de la electrónica mas moderna y que evoluciona mas rápidamente, esta se encarga de sistemas electrónicos en donde la información esta codificada en estados discretos, el cual se diferencia de los sistemas analógicos donde la información toma un rango continuo de valores. En la mayoría de estos sistemas digitales. el numero de estados discretos es 2, y se le denomina niveles lógicos.
Algunas características de la Electrónica Digital es que su tensión se halla comprendida entre los 4,75v y los 5,25v, debido a esto, los niveles lógicos vienen definidos por el rango de tensión comprendida entre 0,2v y 0,8v para el estado L y los 2,4v y Vcc para el estado H. La velocidad de transmisión entre los estados lógicos es su fuerte, pero a su vez es algo a tener en cuenta ya que aumenta el consumo.
La tecnología TTL, sus siglas en ingles significan transistor-transistor logic, en español, lógica transistor-transistor.Es una tecnología de construcción de circuitos integrados electrónicos digitales basada en el uso de transistores bipolares (es característico el uso de transistores multiemisores. Las tecnologías TTL, llego después de las tecnologías RTL(lógica resistencia-transistor) y DTL(lógica diodo-transistor).
Sus características son:
La tecnología CMOS, significa semiconductor complementario de oxido metálico, y es una de las familias lógicas empleadas en la fabricación de circuitos integrados.
Algunas características de esta tecnología son:
Las compuertas lógicas son circuitos electrónicos diseñados para obtener resultados booleanos(0,1), los cuales se obtienen de operación lógicas binarias(suma y multiplicación). Dichas compuertas son AND, OR, NOT, NAND, NOR, XOR, XNOR.
Compuerta OR
En la compuerta OR, la salida estará en estado alto cuando cualquier entrada o ambas estén en estado alto. De tal manera que sea una suma lógica.
Compuerta AND
En la compuerta AND, la salida estará en estado alto de tal manera que solo si las dos entradas se encuentran en estado alto. Por esta razón podemos considerar que es una multiplicación binaria.
Compuerta NOT
En la compuerta NOT, el estado de la salida es inversa a la entrada. Osea una negación.
Compuerta NAND
En la compuerta NAND, cuando las dos entradas estén en estado alto la salida estará en estado bajo. Como resultado genera una negación de una AND.
Compuerta Lógica OR
Compuerta Lógica NOT
Compuerta Lógica NAND
Compuerta Lógica AND
Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un problema o cumplir con un objetivo.
Los algoritmos deben ser precisos e indicar el orden lógico de realización de cada uno de los pasos, debe ser definido y esto quiere decir que si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo resultado, también debe ser finito o sea debe iniciar con una acción y terminar con un resultado o solución de un problema
Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida.
Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.
Proceso: Pasos necesarios para obtener la solución del problema o la situación planteada.
Salida: Resultados arrojados por el proceso como solución.
Las características que debe tener un algoritmo son las siguientes:
Precisión: Indica el orden de realización de cada paso dentro del proceso.
Definición: Indica la exactitud y consistencia de los pasos descritos en el proceso, si el algoritmo se prueba dos veces, en estas dos pruebas, se debe obtener el mismo resultado.
Finitud: Indica el número razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir un resultado en un tiempo finito.
El pseudocódigo (o falso lenguaje) es comúnmente utilizado por los programadores para omitir
secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere decir que el pseudocódigo no es programable sino facilita la
programación.
El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se
utilizará para la codificación del mismo
El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación), tales como star,begin, end, stop, if-then-else, while, repeat-until….etc
Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.
Dentro del algoritmo de la ruleta con arduino identificamos distintas partes, estas son:
Algoritmo para cambiar un bombillo.
Una variable dentro del contexto de la programación, se define como un espacio en sistema de almacenaje y un nombre simbólico el cual se asocia a dicho espacio de almacenaje.
Los tipos de variables en la programación son los siguientes:
Las estructuras de decisión se definen como estructuras de control que realizan una pregunta la cual retorna verdadero o falso (evalúa una condición) y selecciona la siguiente instrucción a ejecutar dependiendo la respuesta o resultado. Sus estructuras son:
If: Es un estamento que se utiliza para probar si una determinada condición se ha alcanzado, como por ejemplo averiguar si un valor analógico está por encima de un cierto número, y ejecutar una serie de declaraciones (operaciones) que se escriben dentro de llaves, si es verdad. Si es falso (la condición no se cumple) el programa salta y no ejecuta las operaciones que están dentro de las llaves.
If...Else: Viene a ser un estructura que se ejecuta en respuesta a la idea “si esto no se cumple haz esto otro”. Por ejemplo, si se desea probar una entrada digital, y hacer una cosa si la entrada fue alto o hacer otra cosa si la entrada es baja.
Else: Puede ir precedido de otra condición de manera que se pueden establecer varias estructuras condicionales de tipo unas dentro de las otras (anidamiento) de forma que sean mutuamente excluyentes pudiéndose ejecutar a la vez. Es incluso posible tener un número ilimitado de estos condicionales. Recuerde sin embargo que sólo un conjunto de declaraciones se llevará a cabo dependiendo de la condición probada.
Switch...Case: Al igual que if, switch..case controla el flujo del programa especificando en el programa que código se debe ejecutar en función de unas variables. En este caso en la instrucción switch se compara el valor de una variable sobre los valores especificados en la instrucción case.
Sintaxis:
if (condition) {
//statement(s) }
Sintaxis:
if (condition1) {
// do Thing A } else if (condition2) { // do Thing B } else { // do Thing C }
Sintaxis:
switch (var) {
case label1: // statements break; case label2: // statements break; default: // statements break; }
Sintaxis:
if (condición) { Set de instrucciones //PARTE VERDADERA } else { Set de instrucciones 2 //Parte FALSA }
La estructura de repetición o bucle hace posible la ejecución repetida de una o más
instrucciones.Las estructuras de repetición nos permiten ejecutar varias veces unas mismas líneas
de código.
Estas estructuras describen procesos que se repiten varias veces en la solución del
problema.
El conjunto de acciones que se repiten conforman el cuerpo del bucle y cada ejecución del
cuerpo del bucle se denomina iteración.
Estructura de Repetición For
La estructura de repetición for manera de manera automática todos los detalles de la repetición controlada por contador.
Ejemplo
for(int i = 0;i <= 10;i++) cout <<”hola”;
Sintaxis
for (<inicio;final;contador>)
Estructura de Repetición While
La estructura de repetición While ejecuta un ciclo que se repetirá mientras que la condición sea verdadera.
Ejemplo
while (a <= 10)
Sintaxis
while (<condición>)
Estructura de Repetición Do/While
La estructura do/while es similar a la estructura while. En la while, la condición de continuación de ciclo se prueba al principio del ciclo, antes de ejecutarse el cuerpo del mismo. La estructura do/while prueba la condición de continuación del ciclo repetitivo, después de ejecutar el cuerpo del ciclo, por lo tanto, el cuerpo del ciclo repetitivo se ejecutará por lo menos una vez.
Cuando termina do/while, la ejecución continuará con el enunciado que aparezca después de la cláusula while. No es necesario utilizar llaves.
Ejemplo
do { cout <<"entre la nota"; cin>>nota; i++; } while(i <=10);
Sintaxis
do Sentencias while (<condicion>)