Está en la página 1de 6

Mobile: 0-82659680 0-90552583

Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil – Ecuador

PRACTICA #13

USO DE UN LDR Y LCD


OBJETIVOS

 Aprender hacer uso de un LDR y el ADC del microcontrolador.


 Mostrar los valores leídos por el ADC en el LCD.

DESCRIPCION:

El presente proyecto hace uso de un LDR y el LCD.

 Como primer paso se hace la lectura del LDR y este es almacenado en el microcontrolador.
 Se mostrara en el LCD el valor del puerto E al que previamente se le ha cargado el valor
leído por el ADC.

DESARROLLO:

Para realizar la práctica planteado es necesario ubicar algunos JUMPER de tal manera que permita
el uso de los componentes necesarios para esta práctica.

1. El módulo Desarrollo PIC16F887 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.
1/6 Página

:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology


Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil – Ecuador

2. En el módulo de desarrollo se dispone de un conector para colocar un LCD 2x16, a la vez


posee un potenciómetro que se utiliza para ajustar el contraste.

3. Para hacer uso del pin RB0 el JUMPER que esta alado de los botones debe estar en la
posición DS (Disable=deshabilitado) para ambos botones como se muestra en la figura. El
motivo es que estamos haciendo uso del pin RB0 del microcontrolador y al estar
conectado a los botones es susceptible a errores.

Adaptador de IDC a conexión tipo servo I&T: nos ayuda a tener disponibles más conexiones para
servos.

2/6 Página

:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology


Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil – Ecuador

Sensor de luz I&T: Nos permite medir la intensidad de la luz.

4. Circuito Implementado

3/6 Página

:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology


Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil – Ecuador

PROGRAMACION:

'*******************************************************************************
'******************* Ideas & Tecnología **************************
'******************* Módulo Desarrollo PIC16F887 I&T **************************
'******************* www.ideastechnology.com **************************
'
' * Nombre proyecto:
' LDR_LCD
' * Descripción:
' Hacemos el uso de la librería ADC de MikroBasic para convertir el dato
' analógico a digital de un LDR y mostrar este dato en un LCD 16x2
'' * Configuraciones:
' Microcontrolador: PIC16F887
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
' Compilador: MikroBasic 3.2
'*******************************************************************************
program LDR_LCD

' Asignamos los pins del pic a usar al lcd


dim LCD_RS as sbit at RB2_bit ' PORTB.2 asignado al PIN RS de la LCD
LCD_EN as sbit at RB3_bit ' PORTB.3 asignado al PIN EN de la LCD
LCD_D4 as sbit at RB4_bit ' PORTB.4 asignado al PIN D4 de la LCD
LCD_D5 as sbit at RB5_bit ' PORTB.5 asignado al PIN D5 de la LCD
LCD_D6 as sbit at RB6_bit ' PORTB.6 asignado al PIN D6 de la LCD
LCD_D7 as sbit at RB7_bit ' PORTB.7 asignado al PIN D7 de la LCD

LCD_RS_Direction as sbit at TRISB2_bit


LCD_EN_Direction as sbit at TRISB3_bit
LCD_D4_Direction as sbit at TRISB4_bit
LCD_D5_Direction as sbit at TRISB5_bit
LCD_D6_Direction as sbit at TRISB6_bit
4/6

LCD_D7_Direction as sbit at TRISB7_bit


Página

' Declaracion de variables


dim adc_ldr as word

:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology


Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil – Ecuador

dim text as string[6]


dim volt as float

main:
' Registro Oscilador de control
OSCCON = 0X75 ' Oscilador interno de 8mhz
' Registro PUERTO B
TRISB = 0X10 ' Todos los pins salida
PORTB = 0X00
' Registo PUERTO E
' PORTE.0 como entrada analogico
' PORTE.1 como entrada analogico
TRISE = 0X04
PORTE = 0X00
' Seleccion de registro analogico. 1 analogico, 0 digitales
' AN5 como entrada analogica, POT 1
' AN6 como entrada analogica, POT 2
ANSEL = %10000000 ' AN<7:0>
ANSELH = %00000000 ' AN<13:8>

delay_ms(250)
Lcd_Init() ' Inicializamos el uso de la pantalla lcd
Lcd_Cmd(_LCD_CLEAR)
Lcd_Cmd(_LCD_CURSOR_OFF)
Lcd_Out(1,1,"ideastechnology") ' Escribimos en la linea 1
Lcd_Out(2,1,"Porte.2 -> ") ' Escribimos en la linea 2, pot1
' Lcd_Out(2,1,"Porte.1 -> ") ' Escribimos en la linea 2, pot2

while true ' ciclo infinito


' Obtenemos el valor del ldr en resolucion de 10bits y lo
' depositamos en la variable "adc_ldr"
adc_ldr = Adc_Read(7) ' ldr
FloatToStr(adc_ldr,text) ' convertimos el float a string
' text = "2.50"
5/6

Lcd_Chr(2,15,text[3]) ' 0 = text[3]


Lcd_Chr(2,14,text[2]) ' 5 = text[2]
Página

Lcd_Chr(2,13,text[1]) ' . = text[1]


Lcd_Chr(2,12,text[0]) ' 2 = text[0]

:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology


Mobile: 0-82659680 0-90552583
Office: 0-45102623
Mail: info@ideastechnology.com
Guayaquil – Ecuador

'''''''''''''''''''''''''''''''
delay_ms(100)
wend

end.

NOTA: Para un mejor entendimiento del funcionamiento de la práctica se recomienda leer todos
los comentarios puestos durante la programación, ahí se explica de manera detallada todo el
proceso.

Contáctenos:

: youtube.com/ideastecnology

: ideastecnology@gmail.com

: facebook.com/ideastechnology

: twitter.com/ideastechnology

6/6 Página

:www.ideastechnology.com :Facebook.com/ideastechnology :twitter.com/ideastechnology : youtube.com/ideastecnology

También podría gustarte