✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
2. • Introducción a los microcontroladores
• Características técnicas PIC16f886
• Entradas / Salidas digitales
• Entradas analógicas
• Salidas PWM
• Revisión del kit IDETEC
• Sensores
• Actuadores
• Periféricos
• Introducción a programación de microcontroladores en módulos PIC16F886
• IDE desarrollo
• Creación de un nuevo proyecto
• Librerías y Sentencias
• Prácticas
Contenido
vasanza
3. Prácticas1. Entradas y Salidas Digitales
2. Uso Del Adc y Led
3. Uso Display y Botón
4. Uso Display_2dig y Botón
5. Uso Teclado y Display
6. Módulo Lcd
7. Tacómetro_uart
8. Disparador de Relay
9. Buzzer y Teclado
10. Control de Servo Motor
11. Uso Ultrasonico Hy-srf05
12. Control de Servo Motor Con Teclado
13. Control de Servo Motor por Teclado y Visualizacion de Grados en Display 7 Segmentos
14. Ldr y Led
15. Led Rgb
16. Uso Ultrasonico Hy-srf05 y Lcd
17. Modulo Lcd y Uart
18. Sensor Temperatura Ds18b20 y Display
19. SENSOR TEMPERATURA DS18B20 y LCD
20. SENSOR TEMPERATURA DS18B20 y UART
21. LDR y LCD
22. LDR y UARTvasanza
4. Planificación
Sesión Prácticas Sesión Prácticas
1 1. Entradas y Salidas Digitales
2. Uso Del Adc y Led
6 11. Uso Ultrasonico Hy-srf05
12. Control de Servo Motor Con Teclado
2 3. Uso Display y Botón
4. Uso Display_2dig y Botón
7 13. Control de Servo Motor por Teclado y Visualizacion de
Grados en Display 7 Segmentos
14. Ldr y Led
3 5. Uso Teclado y Display
6. Módulo Lcd
8 15. Led Rgb
16. Uso Ultrasonico Hy-srf05 y Lcd
17. Modulo Lcd y Uart
4 7. Tacómetro_uart
8. Disparador de Relay
9 18. Sensor Temperatura Ds18b20 y Display
19. SENSOR TEMPERATURA DS18B20 y LCD
5 9. Buzzer y Teclado
10. Control de Servo Motor
10 20. SENSOR TEMPERATURA DS18B20 y UART
21. LDR y LCD
22. LDR y UART
vasanza
6. Práctica: Uso de LCD
Objetivo
• Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
• Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
Duración
• 30min
Materiales
• Módulo de desarrollo PIC16F886
• Módulo adaptador ICD LCD 2X16
Descripción
• El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
• Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se
visualizará las cadenas de caracteres programadas.
vasanza
7. Desarrollo
Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso
de los componentes necesarios para esta práctica.
1. El módulo Entrenamiento PIC16F886 puede utilizar una de dos fuentes de alimentación.
• Fuente de alimentación USB desde PC a través del cable USB.
• Fuente de alimentación EXT desde un Jack DC.
2. Para hacer uso del módulo LCD debe saber el funcionamiento tanto del módulo como las librería
correspondiente para poder utilizarlo de manera correcta, además debe saber como setear los pines
donde van los datos para aquello revisar los manuales de ambos módulos.
vasanza
Práctica: Uso de LCD
8. 3. Conectar el módulo LCD con el módulo de desarrollo PIC16F886, utilizando el bus de datos ICD 2X16.
vasanza
Conexión
Circuito
Práctica: Uso de LCD
9. Código
'**********************************************************
'*********************** IDETEC ****************************
'*************Módulo Entrenamiento PIC16F886 ****************
'**********************************************************
'
' * Nombre proyecto: MODULO LCD
'
' * Descripción:
' El proyecto se basa en el manejo del módulo lCD 16x02, además
' conocer el las librerías a utilizar y su funcionamiento correcto.
' * Configuraciones:
' Microcontrolador: PIC16F886
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
' Compilador: mikroBasic Pro for PC 3.2
'**********************************************************
program LCD
' ***********CONEXIONES PARA EL MODULO LCD*****************
dim LCD_RS as sbit at RB1_bit
LCD_EN as sbit at RA3_bit
LCD_D4 as sbit at RC2_bit
LCD_D5 as sbit at RA4_bit
LCD_D6 as sbit at RC1_bit
LCD_D7 as sbit at RA2_bit
vasanza
LCD_RS_Direction as sbit at TRISB1_bit
LCD_EN_Direction as sbit at TRISA3_bit
LCD_D4_Direction as sbit at TRISC2_bit
LCD_D5_Direction as sbit at TRISA4_bit
LCD_D6_Direction as sbit at TRISC1_bit
LCD_D7_Direction as sbit at TRISA2_bit
' ********VARIABLES Y CADENAS DE CARACTERES A UTILIZAR********
dim txt2 as char[16]
txt3 as char[16]
txt4 as char[16]
i as byte
' *****************FUNCION DE RETARDO**********************
sub procedure Move_Delay()
Delay_ms(500)
end sub
' *************** DECLARACION DE PUERTOS *******************
main:
' Registro Oscilador de control
OSCCON = 0X75 ' Oscilador interno de 8mhz
' Registro PUERTO A
TRISA = 0X00 ' PORTA.0 Entrada
PORTA = 0X00
' Registro PUERTO B
TRISB = 0X0F ' PORTB salidas
PORTB = 0X00
Práctica: Uso de LCD
10. vasanza
' *****************MOVIMIENTO DE PANTALLA*********************
for i=0 to 3 ' Mueve la cadena hacia la derecha 4 veces
Lcd_Cmd(_LCD_SHIFT_RIGHT)
Move_Delay()
next i
while TRUE
for i=0 to 7 ' Mueve la cadena hacia la izquierda 8 veces
Lcd_Cmd(_LCD_SHIFT_LEFT)
Move_Delay()
next i
for i=0 to 7 ' Mueve la cadena hacia la derecha 8 veces
Lcd_Cmd(_LCD_SHIFT_RIGHT)
Move_Delay()
next i
wend
end.
Práctica: Uso de LCD
Código
' Registro PUERTO C
TRISC = 0X00 ' PORTC salidas
PORTC = 0X00
' Registro PUERTO E
TRISE = 0X00 ' PORTE como salidas digital
PORTE = 0X00
' Selección de registro analógico. 1 analógico, 0 digitales
ANSEL = 0X00 ' AN<7:0>
ANSELH = 0X00 ' AN<13:8>
' ********************CADENAS DE CARACTERES**********************
txt2 = "IDEAS Y TECNOLOGIAS"
txt3 = " PIC16F886"
txt4 = "PRACTICA LCD"
Lcd_Init() ' Inicialización Lcd
Lcd_Cmd(_LCD_CLEAR) ' encera display
Lcd_Cmd(_LCD_CURSOR_OFF) ' Cursor off
Lcd_Out(1,4,txt3) ' escribe la cadena en la primera fila
Lcd_Out(2,4,txt4) ' escribe la cadena en la segunda fila
Delay_ms(2000)
Lcd_Cmd(_LCD_CLEAR) ' Limpiar display
Lcd_Out(1,4,txt3) ' escribe la cadena en la primera fila
Lcd_Out(2,1,txt2) ' escribe la cadena en la primera fila
Delay_ms(500)
Archivos
https://drive.google.com/open?id=1mm6zbJNj
Qr6mAZ5ZTkzGbsF2hRZbp9m0
12. Fuente de alimentación
• Alimentación desde (5 - 25) VDC en el EXT (VIN 9V)
• Interruptor ON/OFF para energizar o des energizar al módulo de entrenamiento.
• Jumper (USB/ EXT) permite seleccionar la fuente que va alimentar al módulo la cual puede ser mediante el EXT (VIN 9V) o USB
que es la energía que se obtiene a través del puerto USB.
Módulo PIC16F886
vasanza
13. Microcontrolador PIC16F886
• 25/24 Pines Entradas/Salidas.
• Puertos (PORT A, B, C, E).
• Oscilador interno seleccionable entre (31KHZ – 8MHZ).
• Rango de voltaje de Operación (2 – 5.5) VDC
• 11 entradas analógicas con 10 bit de resolución.
• 3 Timers (Timer0 8bits, Timer1, 2 16bits).
• 2 PWM (CCP) de 10bits, frecuencia máx. 20KHZ
• Comunicaciones seriales sincrónicas MSSP (SPI (4 modos), I2C)
• Módulo USART (RS-485, RS-232 and LIN 2.0)
Reset (MCLR)
• Este botón posee un resistor pull up y está conectado al PIN MCLR.
• Para utilizar este botón es necesario que se lo habilite mediante software.
Módulo PIC16F886
vasanza
14. ICSP (Programación serial en circuito)
• Este conector IDC 3X2 se lo utiliza para cargar el código en el
microcontrolador usando cualquier programador con terminales ICSP.
Entradas/Salidas en Puertos A, B, C
Cada puerto tiene 8 pines correspondientes a los 8 bits, a cada bit se
denomina Señal I/O acompañada de pines de +Vcc y Gnd, donde Vcc puede
ser seleccionable es decir utilizar el voltaje interno del modulo entrenamiento
o externo mediante el Jack VDD.
• PORTA (0,1,2,3,4,5,6,7)
• PORTB (0,1,2,3,4,5,6,7)
• PORTC (0,1,2,3,4,5,6,7)22,4+3,95+0,8
Entradas Analógicas
AN0=RA0, AN1=RA1, AN2=RA2, AN3=RA3, AN4=RA5, AN8=RB2, AN9=RB3,
AN10=RB1
AN11=RB4, AN12=RB0, AN13=RB5
Módulo PIC16F886
vasanza
15. Led en PORTB
• Para utilizar los led del PORTB, debemos setear los pines de este puerto como
salidas, además debemos de habilitar el jumper LED (EN/DS). De esta manera
quedan habilitados todos los indicadores led del módulo de entrenamiento.
• Conexiones: LED0-> RB0 LED7-> RB7
• Jumper Led: EN Habilita todos los led conectándolos a GND.
• Jumper Led: DS Deshabilita todos los led.
Potenciómetro en PORTA
Para utilizar el potenciómetro del módulo de entrenamiento se debe colocar el
Jumper POT (EN/DS) tal como se indica en la figura de esta manera, el cual
permite conectar el Pin RA0 del PIC con el potenciómetro.
Mediante la variación del POT se producirá un voltaje analógico entre (0 – 5VDC)
el cual será enviado al PIN A0.
Módulo PIC16F886
vasanza
16. Control de motores DC
• El módulo de entrenamiento M.E I&T 04 permite controlar la dirección y
velocidad de motores DC.
• Para aquello se agregado un conector IDC de 5X2 compatible eléctricamente
con los módulos Puente H para motores DC.
• DIR1: RA2 NDIR1: RA4 DIR2: RA3
• NDIR2: RA5 PWM1: RC1 PWM2: RC2
• ADCISENA: RB1 ADCISENB: RB2
Control de Servomotor
Podemos conectar hasta 24 servomotores, debido a que a cada puerto se le
agrego pines de +Vcc y Gnd según el estándar de los servomotores los cuales
poseen 3 señales.
• Señal: Este pin necesita una señal PPM
• VDD/5V: Alimentación atraves del jack VDD si se requiere más corriente o se
utiliza el voltaje del modulo de entrenamiento 5V.
• GND: Tierra (0 VDC)
• Jumper VDD/5V: Permite seleccionar la fuente de alimentación para los
servomotores la cual puede ser la del módulo de entrenamiento o una externa
a través de JACK VDD.
Módulo PIC16F886
vasanza
17. Comunicación Serial UART/USB/FSK
Este módulo nos permite realizar varias aplicaciones con comunicación serial
por este motivo se le incorporo un modulo de comunicación UART-USB y de
radiofrecuencia UART-FSK. Mediante el Jumper USB-PIC-FSK podemos
realizar varias selecciones para diferentes configuraciones .
• PIC TX: Pin RC6 de transmisión de datos seriales UART
• PIC RX: Pin RC7 de recepción de datos seriales UART
Módulo PIC16F886
vasanza