Mostrando entradas con la etiqueta PIC18F. Mostrar todas las entradas
Mostrando entradas con la etiqueta PIC18F. Mostrar todas las entradas

sábado, 27 de noviembre de 2010

MPLAB, C18 y PIC18F - [PDF + VIDEO]

A continuación les dejo un documento recien terminado. Este contien los principios básico para empezar a trabajar con el MPLAB en lenguaje c, por medio del compilador C18 y con los micros de la familia 18F.

Este documento contiene:

-Configuración del MPLAB y compilador
-Creación de nuevo proyecto
-Configuracion de los fusibles (palabras de configuración)
-Ejemplo "Hola Mundo" (El clásico de prender y apagar leds del puerto B)
-Simulación del programa con el MPLAB.

This document contents the basic principles to work with MPLAB and the Microchip C18 C compiler. It contents: MPLAB and compiler configuration, Making a new project, Setting the Configuration Words of the PIC18F, Hello World with leds, Simulating the code with MPLAB.



Right now this document is not available on english, but i've posted a video with all the steps. Hope it helps you.

MPLAB,C18 y PIC18F - "Hola Mundo"



domingo, 10 de octubre de 2010

Tarjeta de prácticas PerfectAlgorithm-1

A continuación les presento la tarjeta de prácticas/entrenadora PerfectAlgorithm-1 (:P), con la cuál podrán realizar y probar los códigos que vaya subiendo al blog, de igual forma les puede ayudar para sus propios proyectos.

La tarjeta cuenta con:

-Conector USB
-LCD doble línea de 16 carácteres
-6 Push buttons (6 a puertos, 1 reset).
-8 Leds.
-1 Block de 3 entradas para Potenciometro conectado al puerto A0.
- PIC18F2550
- Posibilidad de alimentarse directamente del usb o fuente externa.

La tarjeta esta probada, realizada con máquina. Si alguien la realiza con otro método, sería muy bueno que comparta como lo hizo o fotos aquí en el blog para que otros puedan realizar su tarjeta en caso de no disponer de una máquina.




Tarjeta entrenadora PA-1 PIC18F - (PA-1 PIC18F training board.)


Aquí esta un archivo rar con el esquematid (.sch) y el pcb (.brd) para EAGLE.



desde MEGAUPLOAD...

RECUERDA QUE ESTE MATERIAL POSEE LICENCIA CREATIVE COMMONS Y ESTÁ PROHIBIDO SU USO PARA FINES DE LUCRO.


Licencia de Creative Commons
Tarjeta entrenadora PerfectAlgorithm-1 by Ing.Jonatan Yam. is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at perfectalgorithm.blogspot.com.
Permissions beyond the scope of this license may be available at http://perfectalgorithm.blogspot.com.

sábado, 4 de septiembre de 2010

Squiggle Motor - Motor miniatura piezoeléctrico.

Primera prueba de un Motor Sguiggle de Newscale manipulado con microcontrolador, que recibe instrucciones de movimiento vía inalámbrica. Este motor será usado para controlar la profundidad de electrodos en la corteza cerebral del ratones para el estudio de las señales eléctricas de las neuronas.






Para más detalles de los motores squiggle: http://www.newscaletech.com/


sábado, 5 de junio de 2010

Conexión CDC PIC18F <-> LabView.


En el siguiente documento se detallan algunas funciones y procedimientos para realizar una conexion mediante CDC ( Emulación de puerto serie) con un microcontrolador de la familia 18F con soporte para USB y LabView. Son bienvenidas las observaciones, correciones y/o correciones sugerencias para este documento.


Conexion CDC PIC<->LabView






El hardware utilizado para este ejemplo dispone de 5 pushbuttons conectados en el puerto A (A1..A5) y 8 leds en el puerto B (B0..B7).




#include <18f2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL4,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)

#define LED1 PIN_B0
#define LED2 PIN_B1
#define LED3 PIN_B2
#define LED4 PIN_B3
#define LED5 PIN_B4
#define LED6 PIN_B5
#define LED7 PIN_B6
#define LED8 PIN_B7

#define LED_ON output_low
#define LED_OFF output_high


#include
#include

void main(void) {

char c;
usb_init();

while (TRUE) {
if (usb_enumerated()) {
if (usb_cdc_kbhit()) {

c=usb_cdc_getc();

if (c=='1') output_toggle(LED1);
if (c=='2') output_toggle(LED2);
if (c=='3') output_toggle(LED3);
if (c=='4') output_toggle(LED4);
if (c=='5') output_toggle(LED5);
if (c=='6') output_toggle(LED6);
if (c=='7') output_toggle(LED7);
if (c=='8') output_toggle(LED8);

}

if (input_STATE(PIN_A5)==0){
delay_ms(800);
printf(usb_cdc_putc,"5\r");
}

if (input_state(PIN_A4)==0){
delay_ms(800);
printf(usb_cdc_putc,"4\r");
}

if (input_state(PIN_A3)==0){
delay_ms(800);
printf(usb_cdc_putc,"3\r");
}

if (input_state(PIN_A2)==0){
delay_ms(800);
printf(usb_cdc_putc,"2\r");
}

if (input_state(PIN_A1)==0){
delay_ms(800);
printf(usb_cdc_putc,"1\r");
}

}
}
}







A continuación un video para complementar el documento...






.

jueves, 3 de junio de 2010

DAQ mediante CDC y LabView



Esta es una aplicación de la conectividad USB, en este caso en particular, usando la emulación de un puerto serie RS232 mediante un microcontrolador PIC18F2550 (Puede usarse cualquiera de esta familia) para la adquisición de datos analógicos usando el convertidor analógico-digital del mismo, y enviando estos datos a la PC y procesarlos mediante LabView.
Con el LabView se pueden realizar una cantidad de cosas impresionantes, y lo mas impresionante es el tiempo de implementación que es muy corto, en cuestión de minutos uno puede obtener una aplicación bastante poderosa.

Para esta aplicación se utilizaron los componentes VISA de labview para realizar la conexión serial de manera rápida pero eficaz, se utiliza un GRAPH CHART para graficar los datos adquiridos, y la función WRITE TO SPREED SHEET para guardar estos datos a una hoja de cálculo de exel.

CLICK AQUÍ PARA VER CÓDIGO [-/+]



//-----------------------------------------------------------------------------------
//
// Mas proyectos en: http://perfectalgorithm.blogspot.com
//
//----------------------------------------------------------------------------------
// Esta obra está bajo una licencia
// Atribución-No comercial-Licenciamiento Recíproco 2.5 México de Creative Commons.
// Para ver una copia de esta licencia, visite:
// http://creativecommons.org/licenses/by-nc-sa/2.5/mx/
// o envie una carta a Creative Commons, 171 Second Street, Suite 300,
// San Francisco, California 94105, USA.
//-----------------------------------------------------------------------------------

#include <18F2550.h>
#device ADC=10
#fuses XTPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)


#include <usb_cdc.h>
#include <lcd1.c> //Cambie por libreria LCD adecuada.
#include <string.h>

#BYTE TRISA = 0x0F92
#BYTE TRISB = 0x0F93
#BYTE PORTA = 0x0F80
#BYTE PORTB = 0x0F81
#BYTE ADCON0 = 0x0FC2
#BYTE ADCON1 = 0x0FC1
#BYTE CMCON = 0x0FB4



char comando[10];
char adc_string[10];
int16 adc_dato;
int len=0;
char c;

void commando();



void main(void) {

LCD_init();
usb_init();

TRISA = 0x0FF;
TRISB = 0x00;
ADCON1 = 0x0F;
CMCON = 0x07;


setup_comparator(NC_NC_NC_NC);
setup_adc_ports(AN0);
setup_adc(vss_vdd);
set_adc_channel(0);
setup_adc(adc_clock_internal);


printf(lcd_putc,"\fPerfectAlgorithm");
len=0;


while (TRUE) {
if (usb_enumerated()) {
if (usb_cdc_kbhit()) {
c=usb_cdc_getc();
Comando[len]=c;
len++;
}
if (len>2) {
commando();
len=0;
}
}
}
}

void envia_dato() {
int i;
read_adc(ADC_START_ONLY);
while (bit_test(ADCON0,1));
adc_dato = read_adc(ADC_READ_ONLY);
sprintf(adc_string,"%Lu",adc_dato);
for(i=0;i<strlen(adc_string)+1;i++) {
usb_cdc_putc(adc_string[i]);
while(!usb_cdc_putready());
}

}

void commando() {

if (Comando[0]=='G') { //----------- GDT
if (comando[1]=='D') {
if (comando[2]=='T') {
envia_dato();
}
}
}

}

CLICK AQUÍ PARA VER DESCARGAR SOURCE LABVIEW/PIC [-/+]



El archivo contiene el Firmware para el PIC (.C para copilador PCW CCS) y SOURCE para LabView v8.6

http://rapidshare.com/files/395453831/Conexion_CDC_con_Labview.rar.html







lunes, 31 de mayo de 2010

Guitar Hero Casero v2.0.

Esta es una actualización del proyecto, ya que se realizo con una guitarra original del juego GUITAR HERO dañada.

Otra actualización fue usar el modo de conexión HID JOYTICK, ya que el anterior se utilizó HID pero en forma de teclado, ya que fue basado en el ejemplo del copilador CCS.
En este se personalizó el descriptor del joytick para tener los botones deseados y tener la funcionalidad al 100% de la guitarra. Para generar el descriptor se utilizó la herramienta ofrecida por www.usb.org


Se remplazó la circuitería interna para adaptar los botones a las entradas del microcontrolador...



El pcb hecho con EAGLE.



El source para PCW CCS y el archivo Descriptor... En otro post explicaré como generar sus descriptores según su necesidad.




Frets On Fire se puede descargar de:
fretsonfire.sourceforge.net

Guitar Hero Casero v1.0.

Este proyecto surgió cuando practicaba con el CCS y la conexión USB, es una guitarra casera hecha con un microcontrolador PIC18F4550 para el juego FREETS ON FIRE con licencia gratuita. esta fue la primera versión de la guitarra.... hecha con cartón.






A continuación la presentación de la guitarra ya que fue para un concurso y una materia.

PRESENTACION

CODIGO .C (PCW CCS)

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger