Práctica 2 con Miuva. LED-RGB con pulsador PIC C

[fusion_builder_container hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” overlay_opacity=”0.5″ video_preview_image=”” border_size=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” center_content=”no” last=”no” min_height=”” hover_type=”none” link=””][fusion_text]

En la práctica anterior aprendimos a utilizar el el led RGB de Miuva así como enviar a un puerto un “0” o un “1” lógico, en esta ocasión utilizaremos el pulsador de propósito general que tiene Miuva y aprenderemos a leer el valor del mismo para realizar una acción, para esta práctica será encender un color del led RGB.

El pulsador de Miuva está ubicado en el pin 0 del puerto C, por lo tanto lo primero que se debe hacer es definir este pin como una entrada, mediante la función set_tris_c().

Para recibir información del estado de un pin se utiliza la siguiente función:

input_state(PIN_C0);    //Regresa la información del estado del pin C0

Por lo tanto crearemos un ciclo de condición if en el cual se entrará cuando la función input_state() nos devuelva un “1” lógico.

Con esto podemos crear el siguiente código.

Código para PIC C:

#include <18f4550.h>          // la librería del PIC
#Fuses HSPLL, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL2, CPUDIV1, VREGEN
#use delay (clock=48M)        //Seleccionamos la frecuencia de reloj de 48MHz
#use standard_io(C)        //Preconfiguramos el puerto C
#use standard_io(e)        //Preconfiguramos el puerto E

void main(){               //Inicio de la función principal
   set_tris_e(0x00);       //Configuramos puerto E como salida 
   set_tris_C(0x01);       //Configuramos pin C0 como entrada
   output_e(0x07);         //Apagamos el LED RGB
   while(true){            //Inicia ciclo infinito
      if (input_state(PIN_C0)){  //Revisamos el estado del PIN_C0
         output_low(PIN_E1);     //Encender LED
         delay_ms(100);          //Esperamos 100 milisegundos
      }
      else{                      //Si no se presionó el pulsador
         output_high(PIN_E1);    //Apagar LED
      }
   }
}

Observa el video demostrativo

Descarga el proyecto en PIC C o Mikro C

Menú