Archivo de la etiqueta: pic18f2550

Arduino Pinout y conexiones básicas


En mis visitas diarias a otros blogs he encontrado una buena información en www.pighixxx.com y www.akafugu.jp que creo que puede ser de ayuda a toda aquella gente que comienza en esto de la electrónica y en concreto en el tema de Arduino. Se trata de unos documentos que he recopilado en un único pdf para que sea más cómodo su uso, en los que aparecen los distintos pinouts de las placas Arduino más comunes.

Arduino uno pinout

También podéis encontrar una hoja donde aparecen los pinouts más comunes de algunos de los componentes electrónicos que normalmente usamos en nuestros proyectos.

Componentes electrónicos pinout

Así como unas magnifícas páginas en las que se pueden ver las conexiones básicas de distintos componentes a nuestro Arduino y que puede ser de una muy buena ayuda tanto para aquellos que están empezando con Arduino o otro microcontrolador, como para aquellas personas que ya están curtidas en estos temas.

conexiones basicas arduino

Sin más, os dejo el enlace al documento pdf en el que vais a encontrar todo este estupendo material de ayuda:
http://www.mediafire.com/download/zrssl27tiasi17r/Arduino_Pinout_y_Conexiones_Basicas.pdf

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

Sensor de nivel de liquido y arduino o pinguino pic


Como estoy metido en un proyecto sobre el control de unos depósitos de agua para la furgoneta vivienda de un amigo mio, me parece interesante hablar aquí de los sensores de nivel de liquido.

Los sensores de nivel de liquido de los que vamos a hablar son de este tipo:

La verdad es que son muy fáciles de usar, ya que cuando están activados puentean los dos cables que traen, así que funcionan como un interruptor. Os dejo las características de los mismos:

El ejemplo que hice para probarlo es muy básico y es el mismo tanto para arduino como para pinguino pic, lo único que cambia son los pines a donde he conectado tanto el sensor como el led de alarma (los podéis ver en el código de pinguino pic), os dejo una imagen del esquema de conexionado:

Aquí podéis ver un vídeo del funcionamiento del sensor (en un improvisado depósito de agua realizado con una botella de refresco):

El código para arduino:

/*Prueba sensor de nivel de liquido*/

int sensor=12;  //Indicamos el pin al que tenemos conectado el sensor de nivel de liquido
int led=11;      //Indicamos el pin al que tenemos conectado el led que indica alarma

void setup()
{                
	//Configuramos los pines correspondientes como entradas o salidas
  pinMode(sensor,INPUT);   //sensor de nivel de liquido
  pinMode(led, OUTPUT); //salida led
}

void loop()
{
  if(digitalRead(sensor)==LOW)
    digitalWrite(led,LOW);
  else
    digitalWrite(led,HIGH);
}

El código para pinguino pic:

/*Prueba sensor de nivel de liquido*/

int sensor=0;  //Indicamos el pin al que tenemos conectado el sensor de nivel de liquido
int led=1;      //Indicamos el pin al que tenemos conectado el led que indica alarma

void setup()
{                
	//Configuramos los pines correspondientes como entradas o salidas
  pinMode(sensor,INPUT);   //sensor de nivel de liquido
  pinMode(led, OUTPUT); //salida led
}

void loop()
{
  if(digitalRead(sensor)==LOW)
    digitalWrite(led,LOW);
  else
    digitalWrite(led,HIGH);
}

Espero que os sirva de ayuda!!!

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 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

Consigue tu Pinguino PIC


Pues eso si eres de España y no te apatece montar o hacerte una placa Pinguino PIC, pongo a la venta 2 de las PCBs ya montadas que me sobran. Interesados pasaros por la sección venta del blog, allí podeis ver unas fotos y dejar los comentarios de los interesados en las placas.

Pon un PINGUINO PIC en tu vida!!!!

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

cheat sheet para pinguino pic


Pues navegando por ahí me he encontrado con unas cheat sheet (hojas de ayuda de código) para Pinguino Pic, muy parecidas a la que he posteado anteriormete sobre Arduino en este blog. Espero que os sirva de ayuda para vuestros proyectos.

Estas Cheat Sheet han sido diseñadas por la gente de www.pinguino.org.ve, gracias al proyecto PinguinoVE.

Cheat Sheet en A4:


Cheat Sheet en Formato Cubo:


Y aquí os dejo el enlace para descargar las cheat sheet tanto en pdf como en formato svg:

http://www.mediafire.com/?vs6d6cw1zb39sci

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 y processing el comienzo


Estoy empezando a aprender a utilizar processing, para poder realizar aplicaciones para el Pinguino PIC, así que en esta entrada explicaré una aplicación que he modificado y he ido comentando para poder entenderla mucho mejor para los que como yo estan empezando en esto de unir Pinguino PIC con Processing.

Empiezo contando un poco lo que es processing:

Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital. Fue iniciado por Ben Fry y Casey Reas a partir de reflexiones en el Aesthetics and Computation Group del MIT Media Lab diriguido por John Maeda.

Processing es desarrollado por artistas y diseñadores como una herramienta alternativa al software propietario. Puede ser utilizado tanto para aplicaciones locales así como aplicaciones para la web (Applets).

Se distribuye bajo la licencia GNU GPL. Además al estar basado en Java, puede heredar todas sus funcionalidades, convirtiéndose en una herramienta poderosa a la hora de encarar proyectos complejos.

Aquí podeis ver que el IDE de Processing es similar al de Arduino y al de Pinguino PIC:

La programación es bastante sencilla en un principio y bastante fácil de entender, de momento lo que he mirado ha sido así, según vaya aprendiendo más iré contando mis experiencias. Ahora os muestro un ejemplo para comunicar el Pinguino PIC mediante USB y una aplicación en Processing (es una modificación de una aplicación realizada por http://pinguino.walii.es).

Este es la aplicación gráfica realizada en Processing:

Gracias a esta aplicación podemos controlar tanto las entradas digitales y analógicas como las salidas digitales mediante el USB del Pinguino PIC, en una descripción breve lo que se puede hacer es lo siguiente:

  • Activar o desactivar las salidas digitales (‘1’o ‘0’) mediante los cuadrados rojos pulsando con el ratón sobre ellos.
  • Activar o desactivar las salidas digitales (‘1’o ‘0’) mediante las teclas correspondientes del teclado del ordenador ‘0’ a ‘9’.
  • Visualización de los cambios de las entradas digitales (’10’, ’11’ y ’12’) , activadas mediante pulsadores en la protoboard.
  • Visualización de las entradas analógicas, en mi caso 2 de ellas modificables mediante potenciometro y la otra mediante una ldr.

Os dejo el video de funcionamiento:

Aquí os dejo los archivos de la aplicación y del programa para el Pinguino PIC:

http://www.mediafire.com/?dvtujt6i4gsr66e

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