Práctica 6 – ADC Set Point

 

INTRODUCCIÓN

 

En esta práctica se implementa un control de encendido y apagado de un LED mediante un valor analógico de referencia, el cual proporciona la lectura de un potenciómetro conectado al puerto ADC. Si la lectura del potenciómetro es arriba de 2.5 V el LED se enciende, de lo contrario, si esta por debajo del valor el LED se apaga. 

 

Selecciona la plataforma y entorno de programación.

 

 

PIC
AVR
PIC
PIC C Compiler
PIC C Compiler
Bootloader X-TRAINER
Bootloader X-TRAINER

Descripción

En esta práctica se implementa una lectura analógica utilizando un potenciómetro, el cual se conecta con los módulos X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28, con el PIC18F45K50 o el PIC18F25K50. El potenciómetro se conecta en el pin A0, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28. Comprar

1 x Potenciómetro 10 Kohms. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Juego de cables Dupont. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

PIC C Compiler v5.069 o posterior Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto. En el siguiente link encontrarás un manual para compilar en PIC C Compiler.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

 

Diagrama esquemático

 

X-TRAINER P8 LITE
X-TRAINER P8
X-TRAINER P8 DIP 40
X-TRAINER P8 DIP 28
X-TRAINER P8 LITE

X-TRAINER P8

X-TRAINER P8 DIP 40

X-TRAINER P8 DIP 28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un Set Point, el LED encenderá.

**************************************************************************/

 

#include <18F45K50.h>                           //Incluye la librería para el PIC ( para X-TRAINERp8DIP28: #include <18F25K50.h> )

#DEVICE ADC=8                                   //Configura el ADC a 8 bits

#use delay(internal=48MHz)                     //Configura frecuencia del oscilador interno

#build(reset=0x02000,interrupt=0x02008)   //Asigna los vectores de reset e interrupción para la versión con bootloader

#org 0x0000,0x1FFF {}                             //Reserva espacio en memoria para el bootloader

#define LED PIN_A1                                //Pin donde está conectado el LED de X-TRAINER

 

int ValorPot;                                             //Variable para almacenar el valor leído del ADC

 

void SisInit(void)

{

setup_adc_ports (sAN0);                           //Configura solo el puerto A0 como entrada analógica

setup_adc (ADC_CLOCK_INTERNAL);     //Configura oscilador interno para la conversión

}

 

void main()

{

    SisInit();

 

    while (1)

  {

       set_adc_channel (0);                           //Selecciona el canal 0 para la conversión

       ValorPot = read_adc ();                        //Lee el valor del ADC y lo guarda en la variable

      if (ValorPot >= 128)                               //Compara el valor de el ADC con 114

             {

                     output_HIGH (LED);               // Leds activos

             }

      else

             {

                    output_LOW (LED);                 // Leds activos

             }

       }

}

 

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6 – PIC – Bootloader-PIC C Compiler

Descargar código en PIC C Compiler de la práctica 6.

AVR
Atmel Studio 7
Atmel Studio 7
Programador XCU
Programador XCU

Descripción

En esta práctica se implementa una lectura analógica utilizando un potenciómetro, el cual se conecta con los módulos X-UNO o X-NANO. El potenciómetro se conecta en el pin C0, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin B5 incluido en los módulos X-UNO o X-NANO.


Materiales:

1 x Módulo X-UNO o X-NANO. Comprar

1 x Módulo programador XCU. Comprar

1 x Módulo X-AVR. Comprar

1 x Potenciómetro 10 Kohms. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

Atmel Studio 7. Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, ejecuta Atmel Studio 7, pega el código en un nuevo proyecto y realiza la compilación.

4. Programa el código que descargaste o compilaste en el módulo. En el siguiente link encontrarás un manual para compilar tu proyecto en Atmel Studio 7. En el siguiente link encontrarás un manual de Atmel Studio para programador XCU.

5. Al terminar de programar, el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-UNO
X-NANO
X-UNO

X-NANO

 

Código 

Código

/**

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Controlar el encencido y apagado de un led, por medio de la lectura de un puerto ADC

**************************************************************************/

#include <avr/io.h>

#define F_CPU 16000000

#include <util/delay.h> 

int ValorPOT;

#define LED_ON PORTB |= (1<<PORTB5)

#define LED_OFF PORTB &= ~(1<<PORTB5)

void SistIni ()

 {

       ADMUX| = (1<<REFS0);                                                                                   // Selecciona Vref

       ADCSRA| = (1<<ADPS2)| (1<<ADPS1)| (1<<ADPS0)| (1<<ADEN);           //Habilita ADC.

       DDRD = 0xFF;                                                                                                  //Inicializa el puerto D como salida.

    }

   uint16_t ReadADC (uint8_t ADCchannel)

   {

         ADMUX = (ADMUX&0xF0)| (ADCchannel&0x0F);                                        //Selecciona el canal del ADC.

         ADCSRA| = (1<<ADSC);                                                                                   // Modo de coversión unica.

         while (ADCSRA& (1<<ADSC));                                                                        //Espera hasta que se complete la conversion de ADC.

         return ADC;

   }

int main ()

{

     SistIni ();                                                                                                                     //Inicializa ADC.

     while (1)

     {

            ValorPOT = ReadADC (0);                                                                               //Lectura del valor del potenciometro.

            if (ValorPOT >= 512)                                                                                         // Compara el valor de Set Poin

            {

               LED_ON;                                                                                                      //Enciende LED

            }

            else

            {

                  LED_OFF;                                                                                                   //Apaga LED

             }

      }

}

 

Descargas

 

Práctica 6 -AVR-XCU

Descargar código en Atmel Studio 7 de la práctica 6.

 

Fecha

julio 14, 2019

Categoría

Prácticas CCS-AS7

EnglishSpanish