sábado, 16 de noviembre de 2019

L12-Manejo de Timer y las Interrupciones

LABORATORIO 12


Manejo de Timer y las Interrupciones


1. OBJETIVOS
  • Conocer el funcionamiento y la configuración de las Interrupciones
  • Conocer el funcionamiento y la configuración del Timer cero
  • Aplicar estos conocimientos en la realización de un cronómetro.
2. MARCO TEÓRICO

TIMER0  PIC 16F877A

El timer0 PIC es un temporizador contador de 8 bits, el registro TMR0 es el temporizador, es donde se guardan los valores del timer0 PIC, cuando es utilizado como temporizador sus valores aumentaran de uno en uno entre 0 y 255 con cada 4 ciclos de reloj, no olvidar que cada ciclo de instrucción del microcontrolador PIC es realizado en 4 ciclos de reloj, por ejemplo si el oscilador con el que está funcionando el microcontrolador PIC es de 4MHz, entonces el registro TMR0 aumentará una unidad en cada 1us, si el registro TMR0 se incrementa en 100 unidades habrán transcurrido 100us; cuando el timer0 PIC es utilizado como contador el registro TMR0 ya no aumenta su valor de uno en uno en cada 4 ciclos de reloj, sino que lo hará mediante el flanco de subida o el flanco de bajada de alguna señal que llegue a un pin especial del PIC conectado al timer0 PIC, este pin es identificado como T0CKI que en el PIC16F877A es el pin6 o RA4, esto puede variar de acuerdo al microcontrolador PIC utilizado, pero siempre se llamará T0CKI.

3. TAREAS REALIZADAS

a) Problema planteado:

A partir del código mostrado, realice los cambios necesarios para realizar un programa que CUENTE EN FORMA DESCENDENTE, (temporizador regresivo), bajo  las siguientes condiciones:

    1. Al presionar pulsador en D0, incrementar SEGUNDOS,  el temporizador aún no debe estar contando el tiempo. (sirve para configurar tiempo de cuenta).
    2. Al presionar pulsador en E0, incrementar  MINUTOS, el temporizador aún no debe estar contando el tiempo. (sirve para configurar tiempo de cuenta).
    3. Al presionar pulsador en D1, iniciar CUENTA REGRESIVA desde los minutos previamente configurados.
    4. Si la cuenta llega a 00:00, congelar la cuenta y sonar BIP 3 veces.


4.VIDEO







5. OBSERVACIONES
  • Durante el presente laboratorio se aprendió el correcto funcionamiento del Timer0 en el PIC 16F877A, así como los algoritmos necesarios en relación a la programación para su adecuado manejo.
  • Tanto en un temporizador ascendente como descendente la variable centena debe estar siempre incrementándose y no decrementándose, ya que esta variable realiza la operación de funcionamiento del temporizador ya sea para aumentar tiempo o quitar tiempo.
  • Se utilizó una “variable contador”, el cual me permite saber si el temporizador ya realizó la cuenta regresiva programada y de esa manera recién hacer sonar los bips correspondientes.
  • Se utilizó la función Bip en la programación, esto con la finalidad del funcionamiento de la bocina, ya que esta trabaja no con señal continua sino con alterna; y para simularlo se utilizó un bucle for que activa y desactiva el mismo.
6. CONCLUSIONES

  • En conclusión, para el desarrollo del problema propuesto en el laboratorio, se hizo uso de 3 pulsadores D0, E0, D1. Con el D0 y E0 podemos incrementar el cronometro en segundos y minutos respectivamente, y con el D1 podemos iniciar la cuenta regresiva de dicho temporizador.
  • Se concluye que se realizó un algoritmo de programación utilizando condicionales “if”, para poder limitar la subida ascendente de los segundos, ya que, al no realizarlo, aparecería en nuestro LCD 60, 61 a más segundos, lo cual sería incorrecto.
  • Se logró congelar el temporizador en cero minutos y ceros segundos se utilizó la relación condicional de que si minutos es igual a -1, se detenga el temporizador, ya que de lo contrario empezaría la cuenta otra vez en 255.
  • También se concluyó que se debe usar un delay después de presionar cada pulsador, esto con la finalidad de evitar falsos disparos y hacer que nuestra configuración de segundos y minutos sea lo más precisa posible ya que de lo contrario, al presionar un pulsador, este aumentaría desproporcionalmente.

jueves, 7 de noviembre de 2019

L11-Programación de una Pantalla LCD

LABORATORIO 11


Programación de una Pantalla  LCD


1. OBJETIVOS
  • Conocer el Display LCD y su funcionamiento
  • Programar eficientemente el LCD
  • Programar HMI para proyecto actual.

2. MARCO TEÓRICO

El LCD(Liquid Crystal Dysplay) o pantalla de cristal líquido es un dispositivo empleado para la visualización de contenidos o información de una forma gráfica, mediante caracteres, símbolos o pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el cual dirige todo su funcionamiento.

En el presente laboratorio se usó un LCD de 16x2, esto quiere decir que dispone de 2 filas de 16 caracteres cada una. Los píxeles de cada símbolo o carácter, varían en función de cada modelo.

Conexión del LCD:


Pines de alimentación:

Vss: Gnd
Vdd: +5 voltios.
Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K conectado a Vdd.


Pines de control:

RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos(1).
RW: Corresponde al pin de Escritura(0) o de Lectura(1). Nos permite escribir un dato en la pantalla o leer un dato desde la pantalla.
E: Corresponde al pin Enable o de habilitación. Si E(0) esto quiere decir que el LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y podemos escribir o leer desde el LCD.


Pines de Bus de datos:
El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la comunicación con el LCD podemos hacerlo utilizando los 8 bits del bus de datos(D0 a D7) o  empleando los 4 bits mas significativos del bus de datos(D4 a D7).

En este caso empleamos la librería "lcd.c”, en la cual podemos encontrar funciones como :

lcd_init: inicializa el lcd.
lcd_gotoxy: establece la posicion de escritura en el lcd.
lcd_putc: nos muestra un dato en la siguiente posición del lcd, podemos emplear funciones como \f para limpiar el display, \n cambio a la segunda línea, \b mueve una posición atrás.
lcd_getc(x,y): devuelve caracteres a la posición x,y.



3. TAREAS REALIZADAS

a) Problema planteado:

Se dispone de una pantalla LCD. Elaborar un programa que INCREMENTE un número en 150 unidades cada vez que se presione un pulsador y DECREMENTE dicho número en 25 unidades cada vez que se presione otro pulsador.

Si el valor del número supera 1000 unidades, mostrar en la pantalla LCD en la primera línea: “FULL”, además debe sonar un BIP por tres veces . Si el valor llega a ser menor o igual a -100, mostrar “VALOR MINIMO” y debe sonar BIP indefinidamente. En ambos casos el valor del número no debe incrementarse ni decrementarse.

Agregar un tercer pulsador para Habilitar o deshabilitar la cuenta. En caso que esté desahabilitado, deberá mostrar en la pantalla LCD “DESHABILITADO”


4.VIDEO






5. OBSERVACIONES

  • El entrenador brindado en el laboratorio inicialmente no funcionaba, por lo que se tuvo que volver a colocar los jumpers adecuadamente tomando como guía otro entrenador en óptimas condiciones.
  • Al momento de compilar el código de programa en el CCS C compiler nos daba un error, para lo cual se optó  por copiar el archivo 16F877A ubicado dentro de la ruta del programa instalado hacia la carpeta en donde se estaba trabajando el proyecto.
  • En el programa CCS Compiler se debe incluir la librería “lcd.c” para poder trabajar con dicho display de “16x2”, también es muy importante copiar dicho archivo a la carpeta en la cual estamos trabajando para no obtener errores al momento de la compilación.
  • Al momento de simular el código de programación en el Proteus, se debe seleccionar el archivo “.cof”, ya que de lo contrario la simulación no sería la correcta debido a la presencia de fallas y errores.
  • Es muy importante que después de cada instrucción en el CCS COMPILER se coloque el punto y coma, para de esa manera evitar errores en el momento de la compilación.
  • Durante el código de programación una vez ya incluida la librería, se debe hacer uso de la función  “lcd_init ()”, con el cual inicializamos el lcd, ya que de lo contrario no podríamos trabajar con el mismo.
  • Es muy importante trabajar con un bucle while para evitar los anti rebotes ocasionados al presionar el pulsador, el contenido dentro de este bucle while debe ser vacío.
  • Se tuvo que crear una función bip, con el cual lograremos el funcionamiento de la bocina, ya que este funciona  con corriente alterna, y para ello debemos activar y desactivar el PIN correspondiente.
6. CONCLUSIONES

  • En conclusión, se realizó adecuadamente la programación para el funcionamiento de una pantalla LCD con el PIC 16F877A, y para esto es muy importante conocer el data sheet del LCD para una adecuada conexión de sus terminales con el  micro-controlador.
  • Se concluye que en el código de programación se debe usar el comando “lcd_gotoxy”, para poder establecer la posición de escritura del LCD, ya sea este en la primera fila (1,1) o en la segunda fila (1,2).
  • Se logró para la resolución del ejercicio planteado, se usó comandos condicionales, esto con la finalidad de limitar el conteo tanto cuando llegue a su máximo valor, como cuando llegue a su mínimo valor
  • También se concluyó que para poder lograr que el parlante suene indefinidamente al llegar a su valor mínimo, se usó un bucle for, el cual sólo se detenía si presionábamos el pulsador que aumentaba la suma del contador.

jueves, 31 de octubre de 2019

L10-Programación con Display de 7 segmentos

LABORATORIO 10


Programación con Display de 7 segmentos


1. OBJETIVOS
  • Conocer el Display de 7 segmentos y su funcionamiento
  • Conocer las técnicas de multiplexación
  • Programar HMI para juego de encestar.

2. MARCO TEÓRICO

Descripción de los tipodvariables en el CCS COMPILER:

En cuanto a los tipos de variables, los más habituales en C los expondremos a continuación:


Descripción:

Char :  Guarda caracteres del codigo ASCII.

Int : Guarda numeros enteros.

Float: Guarda numeros decimales con precisión de 6 digitos decimales.

Short: Guarda numeros enteros con menor capacidad de almacenamiento(y rango) que int..

Double: Igual que Float pero con mayor precisión (hasta 15 digitos decimales) y mayor rango.

Long: Guarda números enteros con mayor capacidad de almacenamiento que int.

Long double: Mucho mayor precisión en calculo decimal, incluso mayor que double (hasta 19 digitos decimales).

3. TAREAS REALIZADAS

a) Problema planteado:


Se tiene un sistema con 2 pulsadores (D0, D1) de entrada y 3 displays de salida, además de un zumbador en el pin E1.
Programe según lo siguiente:
a.  Al empezar el programa, se debe mostrar el número 500.
b.  Al presionar D0, el número mostrado se debe incrementar en 5 unidades, además debe zonar un pitido.
c.   Al presionar D1, el número mostrado debe disminuir 5 unidades pero de  1 en 1 cada segundo.
d.  Si el número llega a ser mayor a 600, debe sonar 3 pitidos.

4.VIDEO





5. OBSERVACIONES
  • El entrenador brindado en el laboratorio inicialmente no funcionaba, por lo que se tuvo que volver a colocar los jumpers adecuadamente tomando como guía otro entrenador en óptimas condiciones.
  • Al momento de compilar el código de programa en el CCS C compiler nos daba un error, para lo cual se optó  por copiar el archivo 16F877A ubicado dentro de la ruta del programa instalado hacia la carpeta en donde se estaba trabajando el proyecto.
  • Durante el laboratorio para poder encender el speaker o bocina, fue necesario utilizar un bucle for, esto con la finalidad de generar un pulso cuadrado, ya que dicho dispositivo sólo funciona con corriente alterna y no con continua. posteriormente en la simulación con Isis Proteus
  • Al momento de simular el código de programación en el Proteus, se debe seleccionar el archivo “.cof”, ya que de lo contrario la simulación no sería la correcta debido a la presencia de fallas y errores.
  • Es muy importante que después de cada instrucción en el CCS COMPILER se coloque el punto y coma, para de esa manera evitar errores en el momento de la compilación.
  • Para el funcionamiento de los displays se utilizó compuertas NOT; pero lo real es utilizar transistores NPN en conjunto con resistencias para la conexión.
  • Se debe tener bastante cuidado el declarar variables en la programación, ya que estas siempre deben estar indicadas como que tipo de dato van a trabajar, ya sea entera, flotante, etc.
6. CONCLUSIONES
  • En conclusión, se aprendió la forma correcta de poder conectar y programar un display de 7 segementos cátodo común con el PIC 16F877A, esto  partir de la técnica de multiplexado.
  • Se concluye que en el código de programación se aplicó un algoritmo de división y resta , para de esa manera poder determinar el valor de las centenas, decenas y unidades, las cuales posteriormente en conjunto con el vector “tabBCD”, poder obtener un número binario y poderlo visualizar.
  • Se logró realizar la simulación del funcionamiento del PIC 16F877A y la correcta verificación del código mediante el Isis Proteus.
  • También se concluyó que para poder grabar nuestra programación hecha en el PIC físico, se debe usar el programa PICKIT 2 e importar el archivo “.hex” generado por el CCS compiler.
  • se concluye que conoció los bucles más comunes en la programación en C, los cuales son "For", "While","If-else"; reconociendo la sintaxis de cada de una de ellas.

sábado, 26 de octubre de 2019

L09-Programación básica con bucles de control

LABORATORIO 09


Programación básica con bucles de control


1. OBJETIVOS
  • Manejo de puertos de forma grupal e independiente para manejo de luces
  • Programación de sonidos mediante subrutinas
  • Creación de Subrutinas mediante funciones.
  • Declaración de variables enteras.

2. MARCO TEÓRICO

El Microcontrolador es un circuito integrado que es el componente principal de una aplicación embebida. Es como una pequeña computadora que incluye sistemas para controlar elementos de entrada/salida. También incluye a un procesador y por supuesto memoria que puede guardar el programa y sus variables (flash y RAM).  Funciona como una mini PC. Su función es la de automatizar procesos y procesar información.



       Un microcontrolador al menos tendrá:
                    -  Microprocesador.
                    -  Periféricos (unidades de entrada/salida).
                    - Memoria.
Ciclo while:
 La sintáxis del ciclo while es como sigue:

while(condition) {
//loop body
statements;
 } 
  
  •      Como puede ver la condición es evaluada al principio, antes de ejecutar el cuerpo del ciclo.
  •      Al evaluar la condición, si ésta es cierta, se ejecuta el cuerpo del ciclo y si es falsa, se procede a la siguiente instrucción después de todo
  •     Decimos que un while se ejecuta de 0 a n veces ya que cabe la posibilidad que la primera vez la condición sea falsa y el ciclo no se ejecute ni siquiera una vez.


Sentencia if - else:
La estructura condicional   “ if – else “ es la que nos permite tomar decisiones que pueden depender de los datos que introduzca el usuario, de si se ha producido algún error o de cualquier otra cosa. Traducida literalmente del inglés, se la podría llamar la estructura "si...si no", es decir, "si se cumple la condición, haz esto, y si no, haz esto otro"

Como se ve en el ejemplo, la estructura de un condicional es bastante simple:

            if (condición) {
                        sentencias_si_verdadero;
            } else {
                        sentencias_si_falso;
            }.

Sentencia If 
Es igual al funcionamiento de la sentencia “if –  else”, con la diferencia de que este último no se utiliza. La sintaxis es la siguiente:

          if (condición)
       {
       ejecuta esto sólo si la condición es verdadera
       };

La condición siempre debe devolver un valor de verdad o falsedad, y sólo en el caso de que fuera verdad se ejecutará las sentencias.

Ciclo For
El bucle for es un bucle muy flexible  y su forma de implementarlo tradicionalmente es la siguiente:

        for (/* inicialización */; /* condición */; /* incremento */) {
            /* código a ejecutar */
        }

  • Inicialización: en esta parte se inicia la variable que controla el bucle y es la primera sentencia que ejecuta el bucle. Sólo se ejecuta una vez ya que solo se necesita al principio del bucle.
  • Expresión condicional: al igual que en el bucle while, esta expresión determina si el bucle continuará ejecutándose o no.
  • Incremento: es una sentencia que ejecuta al final de cada iteración del bucle. Por lo general, se utiliza para incrementar la variable con que se inició el ciclo. Luego de ejecutar el incremento, el bucle revisa nuevamente la condición, si es verdadera tiene lugar una ejecución más del cuerpo del ciclo, si es falsa se termina el ciclo y así.
3. TAREAS REALIZADAS

a) Problema planteado:
Se tiene un sistema con 3 pulsadores (A5, D0, D1) de entrada y 8 leds de salida (Puerto C): Programar para que se comporte de la siguiente manera:
a. Al iniciar el programa todos los leds deben permanecer apagados.
b. Al presionar A5, debe encender C0, al volver a presionar, debe encender C1 y así sucesivamente.
c. Al presionar D0, los deben encender sucesivamente pero en sentido inverso.

d. La entrada D1 debe funcionar como un habilitador, es decir, por defecto el sistema está habilitado y funcionará como lo antes mencionado. Si presiono D1, el sistema quedará “congelado” y nada funcionará. Si vuelvo a presionar D1, el sistema nuevamente queda habilitado.

4.VIDEO





4. OBSERVACIONES
  • El entrenador brindado en el laboratorio inicialmente no funcionaba, por lo que se tuvo que volver a colocar los jumpers adecuadamente tomando como guía otro entrenador en óptimas condiciones.
  • Al momento de compilar el código de programa en el CCS C compiler nos daba un error, para lo cual se optó  por copiar el archivo 16F877A ubicado dentro de la ruta del programa instalado hacia la carpeta en donde se estaba trabajando el proyecto.
  • Durante el laboratorio se logró el funcionamiento del problema planteado, con la deficiencia de que sólo al inicio, el salto de uno lógico se daba hasta el puerto C1, corregidiendose posteriormente en la simulación con Isis Proteus
  • Al momento de simular el código de programación en el Proteus, se debe seleccionar el archivo “.cof”, ya que de lo contrario la simulación no sería la correcta debido a la presencia de fallas y errores.
  • Es muy importante que después de cada instrucción en el CCS COMPILER se coloque el punto y coma, para de esa manera evitar errores en el momento de la compilación.
5. CONCLUSIONES
  • En conclusión, se aprendió el correcto manejo de la sentencia IF en la programa CCS COMPILER, la cual nos permite cumplir ciertas sentencias siempre en cuando se cumpla la condición a ser evaluada.
  • Se concluye se logró las condición usadas dentro de la sentencia If, no necesariamente tiene que ser sólo una; sino que se puede concatenar mas de 2 condiciones, en este caso se hizo de la función lógica  "&&", la cual indica que ambas condiciones deben cumplirse en la sentencia If.
  • Se logró realizar la simulación del funcionamiento del PIC 16F877A y la correcta verificación del código mediante el Isis Proteus.
  • También se concluyó que para poder grabar nuestra programación hecha en el PIC físico, se debe usar el programa PICKIT 2 e importar el archivo “.hex” generado por el CCS compiler.
  • se concluye que conoció los bucles más comunes en la programación en C, los cuales son "For", "While","If-else"; reconociendo la sintaxis de cada de una de ellas.

sábado, 19 de octubre de 2019

L08-Herramientas de Programación Hardware y Software

LABORATORIO 08


Herramientas de Programación Hardware y Software


1. OBJETIVOS
  • Listar las partes internas generales de un microcontrolador.
  • Identificar las funciones generales de un microcontrolador
  • Introducción a la programación en PIC C Compiler
  • Cómo utilizar el Entrenador

2. MARCO TEÓRICO

El Microcontrolador es un circuito integrado que es el componente principal de una aplicación embebida. Es como una pequeña computadora que incluye sistemas para controlar elementos de entrada/salida. También incluye a un procesador y por supuesto memoria que puede guardar el programa y sus variables (flash y RAM).  Funciona como una mini PC. Su función es la de automatizar procesos y procesar información.



       Un microcontrolador al menos tendrá:
                    -  Microprocesador.
                    -  Periféricos (unidades de entrada/salida).
                    - Memoria.
Diferencia entre un microprocesador frente a microcontrolador
La diferencia clave entre ambos términos es la presencia de periféricos. A diferencia de los microcontroladores, los microprocesadores no tienen memoria incorporada, ROM, puertos serie, temporizadores y otros periféricos que constituyen un sistema. Se requiere un bus externo para interactuar con los periféricos. Un microcontrolador, por otro lado, tiene todos los periféricos, como procesador, RAM, ROM e IO, todos integrados en un solo chip. Tiene un bus de control interno que no está disponible para el diseñador. Como todos los componentes están empacados en un solo chip, es compacto lo que lo hace ideal para aplicaciones industriales a gran escala. El microprocesador es el corazón del sistema informático y el microcontrolador es el cerebro.

Descripción del PIC 16F877A:
Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, su consumo de potencia es muy bajo y además es completamente estatico capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales y del control y comunicación digital de diferentes dispositivos.

Ø  Memoria ROM: 8Kb
Ø  Memoria RAM: 368 x 8 bytes
Ø  Pines I/O: 33
Ø  Frecuencia: 20 Mhz con cristal externo
Ø  Permite programación ICSP



3. VIDEO




4. OBSERVACIONES
  • Al momento de conectar nuestro módulo de entrenamiento a la Pc,  ya que se trabaja con máquina virtual, es muy importante que éste sea reconocido por dicha máquina, ya que de lo contrario nunca sería reconocido por el grabador PICKIT 2, para eso se tiene que ir a la opción dispositivos del VM-Ware y habilitar dicho componente.
  • Al momento de compilar el código de programa en el CCS C compiler nos daba un error, para lo cual se optó  por copiar el archivo 16F877A ubicado dentro de la ruta del programa instalado hacia la carpeta en donde se estaba trabajando el proyecto.
  • Una vez ya grabada la programación en el PIC, se tuvo el inconveniente de que el led no prendía, esto debido a que faltaba prender el pequeño interruptor que habilitaba la columna N°3 de la matriz de los leds en el módulo.
  • Al momento de simular el código de programación en el Proteus, se debe seleccionar el archivo “.cof”, ya que de lo contrario la simulación no sería la correcta debido a la presencia de fallas y errores.
5. CONCLUSIONES
  • En conclusión, se aprendió la correcta diferencia entre un microprocesador y un microcontrolador, siendo la segunda un dispositivo que ya tiene dentro de sí un microprocesador y periféricos internos a comparación de la primera, cuyos periféricos son externos.
  • Se concluye se logró aprender que la arquitectura de los microprocesadores es VON NEUMANN y la arquitectura de los microcontroladores es la de  HARVARD, teniendo ventajas y desventajas cada una de ellas.
  • Se logró realizar la simulación del funcionamiento del PIC 16F877A y la correcta verificación del código mediante el Isis Proteus.
  • También se concluyó que para poder grabar nuestra programación hecha en el PIC físico, se debe usar el programa PICKIT 2 e importar el archivo “.hex” generado por el CCS compiler.

viernes, 4 de octubre de 2019

L07-Coursera - Retos para el Pastillero en Arduino

LABORATORIO 07


Coursera -  Retos para el Pastillero en Arduino


1. OBJETIVOS
  • Implementar la simulación de circuitos con Arduino
  • Realizar programas con el IDE de Arduino.
  • Comprender el funcionamiento como hacer los retos presentados por el docente.

2. MARCO TEÓRICO
Arduino

Resultado de imagen para arduino
Arduino es una compañía de desarrollo de software y hardware de fuente abierta, así como una comunidad internacional que diseña y manufactura placas de desarrollo de hardware para construir dispositivos digitales y dispositivos interactivos que puedan detectar y controlar objetos del mundo real.

Resultado de imagen para arduino

El entorno de desarrollo integrado (IDE) de Arduino es una aplicación multiplataforma (para Windows, macOS, Linux ) que está escrita en el lenguaje de programación Java. Se utiliza para escribir y cargar programas en placas compatibles con Arduino, pero también, con la ayuda de núcleos de terceros, se puede usar con placas de desarrollo de otros proveedores.

Tinkercad

Resultado de imagen para tinkercad

Tinkercad es un software gratuito online creado por la empresa Autodesk, una de las empresas punteras en el software de diseño 3D de la mano de su programa estrella para tal fin, Inventor.


Pantalla LCD
Resultado de imagen para pantalla lcd 16x2 gif animado
Una pantalla de cristal líquido o LCD (sigla del inglés Liquid Crystal Display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía eléctrica.
Cada píxel de un LCD típicamente consiste en una capa de moléculas alineadas entre dos electrodos transparentes, y dos filtros de polarización, los ejes de transmisión de cada uno que están (en la mayoría de los casos) perpendiculares entre sí. Sin cristal líquido entre el filtro polarizante, la luz que pasa por el primer filtro sería bloqueada por el segundo (cruzando) polarizador.

Motor DC.


El motor de corriente continua, denominado también motor de corriente directa, motor CC o motor DC (por las iniciales en inglés direct current), es una máquina que convierte energía eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la acción de un campo magnético.


3. VIDEO



4. OBSERVACIONES
  • Se observo que en clase de laboratorio se quiso implementar la parte de semana del curso de Coursera, logrando la realización de los códigos establecidos.
  • Se aprecio que en Tinkercad debíamos establecer bien nuestra programación se aprecia que el tiempo no es el mismo que se tiene con un reloj sino que el tiempo en el tinkercad es mas lento.
  • Para poder establecer hacer que el tiempo pueda acelarar mas rápido se multiplica el tiempo para poder lograr ello y poder visualizar de mejor manera lo tiempo que se tenían en nuestra programación.
5. CONCLUSIONES
  • En conclusión, el importante comprender la estructura del lenguaje de programación en C, empleando el software Arduino IDE para poder hacer la respectiva programación.
  • Se concluye que sobre los vídeos del curso Coursera que se llevo a cabo en el laboratorio nos ayuda a poder poner en practica nuestra habilidad de conocimiento y capacidad para resolver retener información que se vio, así como también nuestra manera de trabajar en el hecho de analizar las sugerencias que dieron.
  • Se lograron emplear los conocimientos sobre programación de Arduino adquiridos hasta el momento, para así crear un programa que permitiese realizar las acciones descritas por el docente.
  • También se concluyó que Arduino presenta las suficientes prestaciones con su software IDE para poder resolver cualquier tipo de problema relacionado con la automatización de manera simple