PIC18F25K83 & XC8: Uso del ADC - Encender LEDs dependiendo del valor en el pin analogico ANB4

Saludos! Aprovechando que tenia montado el circuito del post "Multiplexing outputs (Parte B) - Controlar 12 LEDs con 4 salidas" decidi agregarle un potenciometro a un pin analogico para abordar el tema del ADC, asi que en este ejemplo estare configurando una forma basica de este periferico para poder leer el voltaje presente en ANB4.

Como siempre explicare alguna informacion breve sobre la configuracion de este periferico, si se desea conocer a detalle todo el modulo recomiento el capitulo "ANALOG-TO-DIGITAL CONVERTER WITH COMPUTATION (ADC2) MODULE" del datashhet.

Configuración del ADC:

  • El resultado justificado a la derecha. Bit FM de ADCON0.
  • Modo basico de lectura, bits MD<2:0> del registro ADCON2.
  • El clock = FOSC/2, bits CS<5:0> del registro ADCLK.
  • Referencia de voltaje VSS y VDD, bits NREF y PREF del registro ADREF.
  • Etiqueta "#define channel_ANB4_voltagePotentiometer_GetValue() 0b001100" para seleccion del pin ANB4 como canal de lectura.
  • Importante declarar RB4 como analogico en el registro ANSELB.
  • Importante declarar RB4 como entrada en TRISB.

Circuito:
Para el circuito es sencillo, retomamos las conexiones que teniamos en la multiplexion de LEDs y agregamos un potenciometro de 10K en RB4, como se puede toda la borad esta trabajando a 3.3 volts. 


Código:
Debo aclarar que he creado la libreria adc.c y adc. con la herramienta MCC (Microchip Code Configurator) de Microchip, probablemente en algun post futuro enseñe a utilizarlo ya que se ahorra mucho tiempo al estar creando codigo para pobar ciertos pedifericos.

Con respecto al codigo no hay mucho que decir, simplemente tomamos una lectura cada 1 milisegundo y en la funcion MCU_ADCTest(); con la ayuda de algunos IF-ELSE asignamos el estado alto o bajo de los LEDs, la actualizacion de estos ya se vio anteiormete.

Descargas:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.




Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

Links:

Publicar un comentario

0 Comentarios