Archivo de la etiqueta: pic

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

Mi placa pinguino pic


Como dije en el anterior post os enseño la placa Pinguino PIC que he montado, se trata de una versión realizada por los chicos de la asociación de robotica y domotica de España, cuya web es: http://foro.webdearde.com/

Esta versión con respecto a la original tiene de distinto que solo trae un pulsador de reset, en lugar de los dos pulsadores para reset y run que traía la placa original. Por tanto una vez presionado el pulsdor tras 5 segundos arranca de nuevo el programa.

Lo bueno de esta placa es que se le puede instalar un bootloader que permite grabar el programa en el PIC sin necesidad de un grabador externo (solo se necesita una única vez para cargar el bootloader en el PIC, yo uso el Pickit 2 de Microchip).

En próximos post iré explicando el uso y mis experimentos con el software libre Processing para comunicación con el Pinguino PIC desde el PC mediante USB, de momento he estado practicando con como encender y apagar leds, desde el pc con el ratón, pulsando teclas determinadas del teclado, así como lectura de puertos analógicos, lectura de pulsadores, etc. Según vaya realizando cosas las iré posteando por aquí.

Aquí os dejo el enlace a los archivos necesarios para montaros la placa Pinguino PIC: http://www.mediafire.com/?hn6ejh2gth8u5ln

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

PINGUINO PIC


En busca  de un sistema con el que desarrollar mis proyectos de una forma económico me he topado por la web con este gran proyecto que se llama Pinguino Pic. En que consiste Pinguino pic, pues basicamente en esto:

Pinguino es una placa similar a la placa Arduino pero basado en un microcontrolador PIC. El objetivo de este proyecto es construir un entorno de desarrollo integrado de fácil uso en Linux, Windows y Mac OS X. Partiendo de que Arduino es una poderosa herramienta con unos valores predeterminados, uno de sus inconvenientes es el de tener una interfaz USB no nativa en el chip, y debido a esto un código muy extenso para realizar la comunicación. Pues con Pinguino PIC esto no es así porque trae USB nativo ya que se construye en base a los PIC18F2455/18F2550 en formato 28 pines y en los PIC18F4455/18F4550, además presenta una UART para conexión serie.

El IDE de Pinguino se construye con Python y es muy similar al de Arduino. Decir también que es totalmente compatible con el código de Arduino y con la mayoria de sus librerias. En el IDE un preprocesador integrado traduce las instrucciones especifícas de Arduino directamente a C. Este preprocesador reduce la longitud del código y la velocidad de ejecución.

Por último, el IDE Pinguino es una aplicación independiente con un compilador de C (SDCC), ensamblador, enlazador (gputils) y un gestor de arranque basado el proyecto VASCO.

Además Pinguino es de hardware y software libre.

Este es el esquema original de la placa Pinguino PIC:

Los pasos para instalar el IDE y la placa Pinguino en Windows son los siguientes:
1.- Instalar Python 2.6

2.- Instalar wxpython

3.- Instalar PYUSB

4.- Instalar LIBUSB-WIN32

5.- Descomprimir e instalar Pinguino beta 9.05

Una vez conectada la placa PINGUINO al ordenador preguntará por los drivers, descomprimir en el escritorio
la carpeta driver pinguino windows y seleccionar el archivo.

Pinguino ya estará listo para usarse, arrancaremos el programa pinguino 9.05 y probamos su funcionamiento.

  • En primer lugar, haga clic en el botón de Upload to Pinguino en el IDE de Pinguino
  • Esperar unos segundos a que aparezca la ventana del Vascobootloader.
  • Ahora pulse el botón de reset en la placa Pinguino y espere unos 3 segundos.
  • Haga clic en “escribir” en el VascoBootLoader.
  • Deberia dar un mensaje de Pic found, si este mensaje no aparece y en cambio aparece Pic no found vuelve al paso anterior.

En el próximo post os enseñare la versión que me he montado de la placa de Pinguino PIC y como se graba el bootloader y un programa para comunicar con el pc.

Más información sobre Pinguino PIC en: http://www.hackinglab.org/pinguino/index_pinguino.html

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