martes, 23 de octubre de 2018

Laboratorio 9

MICROCONTROLADORES

PROGRAMACION DE ARDUINO
UTILIZANDO MBLOCK

1.COMPETENCIA ESPECIFICA DE LA SESIÓN
  • Programar la tarjeta ARDUINO UNO utilizando un lenguaje gráfico y comparar con lenguaje
  • de texto.
  • Conocer el entorno de mBlock y todas sus posibilidades.
  • Realizar programación básica utilizando software mencionado.

Edinson Medina Torres
Demostrando el esquema del semáforo en mBlock







Demostrando el funcionamiento del programa en mBlock y en el arduino UNO
Realice el proyecto SEMÁFORO siguiendo el enlace:

https://catedu.gitbooks.io/programa-arduino-conechidna/content/tema_1_como_utilizar_echidna/12_como_se_programa_echidna_shield/12-programacion-grafica-con-mblock.html








EDINSON MEDINA TORRES

CONCLUSIONES:
1.   Se reconoció el funcionamiento y configuraciones del programa mBlock, en la que se puede interactuar con la tarjeta de arduino en una conexión gráfica.
2     Se realizó la conexión del programa del mBlock con el arduino UNO. Estableciéndolo en el Puerto (COM 5) y estableciendo que tipo de arduino es, para lograr la conexión  ACTUALIZAR FIRMWARE.
3   Se estableció en el mBlock una conexión de 3 pines (13-12-11) del arduino UNO, para cuando llegue el tiempo de cada led solo se encienda un Led que le corresponda con la opción fijar salida pin digital (ALTA) y los demás en BAJO. 

EDINSON MEDINA TORRES

OBSERVACIONES:

  1.       Si nos preguntamos que es un firmware es el programa que se graba y se ejecuta en una tarjeta para este caso sería el ARDUINO UNO.

    2.  Cuando se emplea  de una las opciones que tiene el programa mBlock, en la que sería ROBOTS – Programa de Arduino permite quitar la interacción grafica del ordenador con la tarjeta de arduino.

    3.  En el armado del protoboard se le coloco a cada Led una resistencia de 220 ohmios, porque un LED estándar soporta una intensidad de hasta 20mA. 
Alex Chuctaya Quispe

Demostrando el funcionamiento del programa en mBlock y en el arduino UNO



Alex Chuctaya Quispe

CONCLUSIONES:
-          Se trabajó con el programa arduino para la elaboración del laboratorio.
-          Se instaló el programa mBLOCK para simular un semáforo.
-          Se realizó un semáforo en físico con el arduino uno.

-          Al trabajar con el arduino se trabajó con el lenguaje C.

Alex Chuctaya Quispe

OBSERVACIONES:

  1. Tener en cuenta con que puerto se conecta el arduino.
  2. Al para que no haiga problemas al enlazar la escritura del arduino con el arduino físico tienes que actualizar el firmware.
  3. Tener en cuenta como es el protoboard si es en serie o en paralelo para la realización del semáforo.
                               Cristofer Nina Trelles

Cristofer Nina Trelles


CONCLUSIONES:

Cristofer Nina Trelles

OBSERVACIONES:

GRUPO DE MESA

Edinson Medina Torres
Alex Chuctaya Quispe
Cristofer Nina Trelles


miércoles, 10 de octubre de 2018

Laboratorio 7

MICROCONTROLADORES

 Manejo del Timer y las
Interrupciones

1.COMPETENCIA ESPECIFICA DE LA SESIÓN
  • 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.


Edinson Medina Torres
Demostrando la finalización del juego







Demostrando el funcionamiento en la ventana de código 

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 MINUTOS. el temporizador aún no debe estar contando el tiempo. (sirve para configurar tiempo de cuenta).
  2. Al presionar pulsador en D1, iniciar CUENTA REGRESIVA desde los minutos previamente configurados.
  3. Si la cuenta llega a 00:00, congelar la cuenta y sonar BIP 3 veces.

Para verificar que una variable de tiempo (digamos “minutos”) llegó a cero, hacerlo con la instrucción “if (minutos==-1)”



Resultado Mikroingenieria
EDINSON MEDINA TORRES


Lección 10. Controlando Interrupciones y Temporizadores


EDINSON MEDINA TORRES

CONCLUSIONES:

  1. Se reconoció el funcionamiento del temporizador TIMER, en el cual es un registro de 8 bit.
  2. Se reconoció el funcionamiento y la configuración de las Interrupciones, logrando determinar el periodo en el tiempo que se va a desbordar con el tiempo establecido.
  3. Se agrego una variable int habilitador=0; para que así solo sonará una vez que presionaste la cuenta regresiva y no comienza a sonar desde el inicio del programa.
  4. Se programo adecuadamente de acuerdo a los requerimientos solicitados por el laboratorio Nº 7 para su desarrollo se emplearon las librerías 16f877a.h lcd.c para la utilización de la pantalla LCD. 
  5. Se realizo el reconocimiento y se empleo del código set_timer0 (61), para que inicie no en 0 sino en 61.
  6. Se realizo las diferentes modificaciones al programa dado por el profesor, para que nos muestren en el LCD en tiempo 00:00 y puede incrementarse con un pulsador y otro para que cuente de forma regresiva para que llegando a tiempo suene 3 bip.

EDINSON MEDINA TORRES

OBSERVACIONES:

  1. En los códigos programados para el programa nos muestra enable_interrupts (INT_TIMER0); que nos permitirá habilitar el programa del timer pero para que inicio se necesitara habilitar también  enable_interrupts (GLOBAL) para que puedan ser activados todas las interrupciones. 
  2. También para declarar la sintaxis set_timer0 (61)  se le puede cambiar por el código set_rtcc (value) ya que son lo mismo.
  3. El timer0 funciona en paralelo con el VOID MAN(), ya que este trabaja en segundo plano mientras que el VOID MAN(), es la que se ejecuta en el plano principal de la ejecución, ya que dentro del sistema se ejecuta a solo mili-segundos.


Alex Chuctaya Quispe

Demostrando la finalización del juego


Demostrando el funcionamiento en la ventana de código 





Alex Chuctaya Quispe

CONCLUSIONES:

  1. Aprendimos el uso correcto de las interrupciones en el temporizador con el programa PIC C compiler.
  2. Hemos creado una función de void BIP() el cual nos permite hacer que une tres pitidos con la condición BIP () , el repetimos tres veces.
  3. Para trabajar con un tiempo descendente se tuvo que cambiar segundos de 0 a 59 y para que la cuenta vaya correctamente los minutos se cambió a -1


OBSERVACIONES:

  1. Se observó que al trabajar dentro del comando VOID MAIN () este traía problemas con el con el comando VOID BIP (), ya que asi que traía inconvenientes con los tres pitidos.
  2. Se observó que la condición disable_interrupts (GLOBAL), asi que el cronometro se detuviera en 0.
  3.  Se utilizó una condición “int apagado = 0”, el cual te permite utilizar en el comando “if(minutos==0 && segundos==0 && apagado==1)” para que al sonar los tres  este debería parar de sonar.

BENAVENTE QUISPE, ANDRES ANTONIO

CRONÓMETRO EN PIC

BLOCKY GAMES TERMINADO


          
           Ricardo Tenorio Bustinza
BLOCKY GAMES TERMINADO


Conclusiones:
  1. ·      Se concluye que los Timer para los PICs tiene una amplia gama de aplicaciones en la práctica. Sólo unos pocos programas no lo utilizan de alguna forma. Es muy conveniente y fácil de utilizar en programas o subrutinas para generar pulsos de duración arbitraria, en medir tiempo o en contar los pulsos externos (eventos) casi sin limitaciones.
  2.  ·         El registro TMR0 del timer0 en el PIC está formado por 8 bits por lo que se puede contar desde 0 hasta 255.
  3.  ·         El circuito utilizado para el ejemplo del uso del Timer como contador.


GRUPO DE MESA

Andres Benavente Quispe
Edinson Medina Torres
Alex Chuctaya Quispe
Ricardo Tenorio Bustinza

jueves, 4 de octubre de 2018

Laboratorio 6

MICROCONTROLADORES

 Lectura de Entradas Analógicas y
Sensor de temperatura.

1.COMPETENCIA ESPECIFICA DE LA SESIÓN
  •  Lecturas analógicas de un canal del PIC
  •  Configuración de un Sensor de Temperatura
  •  Lectura analógica en una pantalla LCD


Edinson Medina Torres
Demostrando la finalización del juego







Demostrando el funcionamiento en la ventana de código 

a. Donde dice “#device adc=8” cambie por “#device adc=10”; convierta la variable “lectura”en entero de 16 bits y la línea printf cambie “%4u” por “%4lu”. ¿Cuál es el cambio mostrado en la pantalla LCD? ¿por qué?.


b. Convierta el valor leído en valor de voltaje de 0 a 5 voltios. Para esto cambie la variable “lectura” a variable tipo float y configure su forma de mostrarse en el LCD. Luego, en la función While(true), añada la instrucción “lectura = lectura / 204.6”. Cambie las instrucciones para que en la pantalla del LCD aparezca algo así “Tension: 3.456 v”.

c. Finalmente agregue una condición IF para que si el valor de voltaje supera 4.5 voltios,mostrar el mensaje “WARNING” en la primera línea del LCD.



Resultado Mikroingenieria
Edinson Medina Torres

TEMA 6:  Controlando el módulo Analógico Digital



EDINSON MEDINA TORRES

CONCLUSIONES:

  1. Se reconoció el funcionamiento de la variable FLOAT, para que pueda ser usado los de tipo decimales.
  2. Se empleo el cambio de bit de 8 a 10, para la resolución de lectura (1023).
  3. Se programo adecuadamente de acuerdo a los requerimientos solicitados por el laboratorio Nº 6 para su desarrollo se emplearon las librerías 16f877a.h y lcd.c para la utilización de la pantalla LCD. 
  4. Se realizo el reconocimiento y se empleo del código printf (lcd_putc, "Puerto A3: %4u", lectura), para cuando se emplea f(para la declaración de los decimales).
  5. Se realizo las diferentes modificaciones al programa dado por el profesor para que nos muestren en el LCD a mas de 4.5V " WARNING " y en menores LECTURA ANALÓGICA.


OBSERVACIONES:

  1. En los códigos programados para el programa nos muestra un rango de voltaje entre 0 a 5 . Empleando diferentes comandos para que puedan ser visualizados en el pantalla  "printf (lcd_putc, "\fLECTURA ANALOGICA") o printf (lcd_putc, "\  WARNING")
  2. Para la empleacion del setup_adc_ports (AN0_AN1_AN3); se vio en la libreria <16f877a.h>, y ver que combinaciones se puede emplear para el uso de los analogicos.
  3. Para este laboratorio se empleo un IF y ELSE para emplear solo una condición cuando sea mayor o igual a 4.5V.
Alex Chuctaya Quispe

Demostrando la finalización 


Demostrando el funcionamiento en la ventana de código 




            
* Conclusiones 
  1.  Se conoció el funcionamiento de un Display LCD en la tarjeta PIC16F877A.
  2.  Se analizó la programación donde debemos se ingresar librería para que llamen a la función de LCD.
  3. Se determinó la comunicación de los 16 pines con eficiencia al LCD con relación al código fuente.


* Observaciones 

  • Se observó que debemos de conocer el Datasheet del PIC para poder colocar un LCD, en caso contrario se podría quemar.
  •  Se observó que la momento de mostrar texto por pantalla del Display, el LCD trabaja con dos ejes derecho e izquierdo dando un lugar determino para ver lo que ingresamos al Display.
  • El LCD es un dispositivo electrónico que sirve para mostrar información que deseamos ver.

   Andres Benavente Quispe



DEMOSTRACIÓN DEL AVANCE DEL JUEGO


DEMOSTRACIÓN DEL CÓDIGO COMPILADO PARA UNA LECTURA ANALÓGICA


OBSERVACIONES

  1. Para la lectura de 0 a 5 V tendremos que dividir nuestra "lectura" entre 204.6 puesto que los bits llegan a 1024, de esta forma obtendremos los valores de 0 a 5 V.
  2. Para que la palabra WARNING aparezca en la pantalla usaremos el comando IF cuando la lectura llega a 4.5.

CONCLUSIONES

  1. El microcontrolador se puede usar para control de procesos y diversas aplicaciones tanto eléctricas como electrónicas.
  2. Desarrollamos un programa el cual tiene la facilidad de cambiar diversos datos, y adaptar nuestro PIC a las necesidades del usuario.

GRUPO DE MESA

Andres Benavente Quispe
Edinson Medina Torres
Alex Chuctaya Quispe
Ricardo Tenorio Bustinza