Circuito Esquemático Y PCB


Aprendizajes Obtenidos Al Termino De La Practica

  • Con esta practica hemos aprendido a que desde nuestro Arduino podemos enviar voltajes, al igual que recibir, procesar y controlar mediante lineas de comando.
  • He aprendido que el método setup(); se usa para definir ordenes que Arduino debe cargar al inicio o cada vez que se reinicie.
  • El método loop();  sirve para programar todo lo que queramos que haga nuestro Arduino, el cual funcionara de forma cíclica mientras el Arduino se mantenga encendido.

Dudas acerca del Articulo y el Circuito

  • La palabra void que se encuentra enseguida de cada método, como por ejemplo setup, loop, regreso y vuelta.
  • A que hace referencia la letra "i", después de cada int.
  • Que funcionalidad tienen los "++" o los "--" al final de la "i"(Se adjunta imagen para mejor entendimiento).

¿Que es la Electrónica Digital?

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.

¿Que es la Tecnología TTL?

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: 

  • Su tensión de alimentación característica se halla comprendida entre los 4,75V y los 5,25V (como se ve, un rango muy estrecho). Normalmente TTL trabaja con 5V.
  • Los niveles lógicos vienen definidos por el rango de tensión comprendida entre 0,0V y 0,8V para el estado L (bajo) y los 2,2V y Vcc para el estado H (alto).
  • La velocidad de transmisión entre los estados lógicos es su mejor base, si bien esta característica le hace aumentar su consumo siendo su mayor enemigo. Motivo por el cual han aparecido diferentes versiones de TTL como FAST, LS, S, etc y últimamente los CMOS: HC, HCT y HCTLS. En algunos casos puede alcanzar poco más de los 400 MHz.
  • Las señales de salida TTL se degradan rápidamente si no se transmiten a través de circuitos adicionales de transmisión (no pueden viajar más de 2 m por cable sin graves pérdidas).       

¿Que es la Tecnología CMOS?

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:

  •  Utilización conjunta de transistores de tipo pMOS y tipo nMOS, los cuales están configurados de forma en que en estado de reposo, el consumo de energía es únicamente el debido a las corrientes parásitas, colocado en la placa base.
  • Otra característica importante de los circuitos CMOS es que son “regenerativos”: una señal degradada que acometa una puerta lógica CMOS se verá restaurada a su valor lógico inicial 0 o 1, siempre que aún esté dentro de los márgenes de ruido que el circuito pueda tolerar.

¿Que son las Compuertas Lógicas?

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.

  • Q=A+B

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.

  • Q=A*B

Compuerta NOT

En la compuerta NOT, el estado de la salida es inversa a la entrada. Osea una negación.

  • Q=´Q

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.

  • Q=(A*B)

 

 

 

 

 

 

 

Compuerta Lógica OR

 

 

 

 

 

 

 

Compuerta Lógica NOT

 

 

 

 

 

 

 

 

Compuerta Lógica NAND

 

 

 

 

 

 

 

 

Compuerta Lógica AND

Algoritmia y Programación

¿Que es un Algoritmo?

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

Partes de un Algoritmo

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.

 

Características de un Algoritmo

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.

 

 

¿Que es un Pseudocódigo?

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.

 

 

Ejemplo de Algoritmo

Ejemplo de Algoritmo en Pseudocodigo

Ejemplo de un Algoritmo en Lenguaje C.

Partes del Algoritmo de la Ruleta con Arduino

Dentro del algoritmo de la ruleta con arduino identificamos distintas partes, estas son:

  • Void Setup
  • Void Loop
  • Ciclo for
  • Void Regreso
  • Void Vuelta
  • Variable llamada tiempo

Ejercicio Algoritmo

Algoritmo para cambiar un bombillo.

  1. Comprar el bombillo.
  2. Ubicar elemento para alcanzar el lugar donde se hará el cambio del bombillo.
  3. Subir por la escalera. 
  4. Girar el bombillo en dirección contraria a las manecillas del reloj.
  5. Cambiar la bombilla defectuosa por la nueva.
  6. Girar el bombillo nuevo en dirección a las manecillas del reloj.
  7. Bajar por las escaleras.
  8. Encender el interruptor para verificar si el cambio fue exitoso.

Definición De Variable

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.

Tipos de Variables

Los tipos de variables en la programación son los siguientes:

  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double
  • Char
  • Boolean

¿Que es una Estructura de Decisión?

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 de la Estructura If, Lenguaje C

Sintaxis:

 if (condition) {

//statement(s) }

Sintaxis de la Estructura Else, Lenguaje C

Sintaxis:

if (condition1) {

// do Thing A } else if (condition2) { // do Thing B } else { // do Thing C }

Sintaxis de la Estructura Switch Case, Lenguaje C

Sintaxis:

 switch (var) {

case label1: // statements break; case label2: // statements break; default: // statements break; }

Sintaxis de la Estructura If...Else, Lenguaje C

Sintaxis:

if (condición)
   {
       Set de instrucciones    //PARTE VERDADERA
   }
else
   {
       Set de instrucciones 2  //Parte FALSA
   }

Estructura de Repetición

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>)