pinguino pic ejemplos 1 y 2. Encender un led mediante pulsador y pwm con led


Hoy inicio esta serie de ejemplos para que comprobeis lo sencillo que es programar con Pinguino PIC (muy parecido, por no decir igual, que el lenguaje que venimos usando con Arduino). Como ya hemos visto en anteriores entradas de que se trataba Pinguino PIC y como se instalaba: https://tallerarduino.wordpress.com/2011/06/10/pinguino-pic , vamos a pasar a explicar un par de ejemplos.

El primer ejemplo es básico de todo, se trata de encender un diodo led (conectado al pin 0 de pinguino PIC) mediante el accionamiento de un pulsador (conectado en el pin 1). Por tanto tenemos el siguiente esquema:

Además he hecho una foto del montaje en la protoboard:

Aquí tenemos el código:

//Programa en PINGUINO PIC para encender un led al accionar un pulsador
//Realizado por Regata para tallerarduino.wordpress.com

int led=0;			//Usamos etiquetas para trabajar mas comodos, en el pin 0
						//como tenemos conectado el led le llamamos así
int pulsador=1;	//Usamos etiquetas para trabajar mas comodos, en el pin 1
						//como tenemos conectado el pulsador le llamamos así

void setup() //Función de configuración del pinguino PIC
{
	pinMode(led,OUTPUT); //Declaramos el led como salida
	pinMode(pulsador,INPUT);	//Declaramos el pulsador como entrada
}

void loop() //Función que se repite una y otra vez
{
	if (digitalRead(pulsador)==HIGH) //Comprobamos si el pulsador está pulsado
	{											 //Si lo está
		digitalWrite(led,HIGH);		//Encendemos el led
	}
	else										//Si no lo está
	{	
		digitalWrite(led,LOW);			//Apagamos el led
	}
}

Y por último el video de funcionamiento:

En el segundo ejemplo, como dije anteriormente, voy a mostrar como encender y apagar un led progresivamente mediante el PWM del pinguino PIC, para ello vamos a necesitar un led (conectado al pin 11, ya que es con salida PWM), y dos pulsadores, uno con el que vamos a ir aumentando la luminosidad del led (conectado al pin 1) y otro con el que bajaremos la luminosidad al led (conectado al pin 2).

Os dejo el esquema de montaje:

Aquí está el código:

//Programa en PINGUINO PIC para encender un led al accionar un pulsador
//Realizado por Regata para tallerarduino.wordpress.com

int led=11;			//Usamos etiquetas para trabajar mas comodos, en el pin 11
						//como tenemos conectado el led le llamamos así
int subir=1;		//Usamos etiquetas para trabajar mas comodos, en el pin 1
						//como tenemos conectado el pulsador que va a aumentar el
						//brillo del led le llamamos así
int bajar=2;		//Usamos etiquetas para trabajar mas comodos, en el pin 2
						//como tenemos conectado el pulsador que va a disminuir el
						//brillo del led le llamamos así
int valor=0;		//Creamos una variable en la que vamos a guardar el valor
						//con el que encendemos el led

void setup() //Función de configuración del pinguino PIC
{
	//Para trabajar con el pin 11 como PWM no lo declaramos aqui como salida
	//Ya la toma automáticamente el chip como salida
	pinMode(subir,INPUT);	//Declaramos el pulsador como entrada
	pinMode(bajar,INPUT);	//Declaramos el pulsador como entrada
	Serial.begin(9600);
}

void loop() //Función que se repite una y otra vez
{
	//Comprobamos si esta el pulsador de subir pulsado y que valor no sea mayor o igual que 255
	//El PWM va desde 0 hasta 255
	if (digitalRead(subir)==HIGH && valor<255)
	{
		valor=valor+5; //Aumentamos el contenido de la variable valor en 5
		analogWrite(led,valor);	//Indicamos el valor de luminosidad que queremos aplicar al led
	}
	//Comprobamos si esta el pulsador de subir pulsado y que valor no sea menor o igual que 0
	//El PWM va desde 0 hasta 255
	if (digitalRead(bajar)==HIGH && valor>0)
	{
		valor=valor-5;  //Disminuimos el contenido de la variable valor en 5
		analogWrite(led,valor);	//Indicamos el valor de luminosidad que queremos aplicar al led
	}
}

Y por último el video de funcionamiento (al principio se ve oscuro por que tengo la luz apagada para ver mejor el efecto PWM en el led):

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

3 pensamientos en “pinguino pic ejemplos 1 y 2. Encender un led mediante pulsador y pwm con led”

  1. La verdad es que es practicamente el mismo lenguaje porque el proyecto está realizado en base a arduino pero llevandolo al campo de los pics. Lo único malo es que de momento no hay tantas librerias realizadas como para arduino, pero estoy estudiando el tema para ir haciendome yo alguna.

    Aparte estos chips a veces son mucho más fáciles de comprar pues hay muchisimo stock e incluso microchip a veces manda samples (muestras gratuitas) para probar los chips. También cambia con respecto al arduino (excepto leonardo me parece) que lleva USB nativo, reduciendo tamaño de pcb.

    Iré subiendo ejemplos en cuanto tenga algo de tiempo.

    P.D: también te hemos añadido al blogroll.

    Un saludo y gracias por visitarnos, me gusta tú página.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s