[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]
Práctica 2 con Miuva. LED-RGB con pulsador PIC C
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