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.
Por lo que veo no difiere mucho la programación comparado con un arduino normal.
Interesantes entradas. Os añado a mi blogroll en http://www.santinhos.es
Felices fiestas.
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.
Pues mira que hace un tiempo estuve buscando empresas que enviaran samples y nada, no hubo manera de conseguir nada! sera cosa de la crisis.. jeje.
Nos leemos, un saludo!