Curso de programación de PIC en PICBasic Pro

la verdad parece que si creo que todos andan muy ocupados o se aburrieron de los micros cosa la cual no creo pero bueno si puedo ayudar en algo aqui ando pero sin mas alguien puede dicirme como hacer una comuniacion I2C
 
Que opinas si mejor aprendes a escribir????, es mas facil....:D

pues creo que si pero deberias definir que quieres hacer y como por usb por serial y enviarlo por radio frecuencia o algo asi creo que si quieres que te ayuden primero deberias definir tus espectativas y para que los capos del foro te pudan dar una ayuda
 
chicos necesito ayuda... no se mucho de programacion pero algo he entendido... la cuestion es que me baje un tacometro de aca... la idea mia es hacerlo para mi fiat600... la idea es mostrar un mensaje de bienvenida y luego mostrar las rpm del motor... la señal seria tomada del negativo de la bobina osea los platinos...

De esta manera al tener 4 pulsos realiza una vuelta el motor... la idea es ver como puedo hacer para tomar el pulso del platino y tambien como se podria agregar 1 o 2 sensores de temperatura uno interior y otro exterior... les mando los archivos.. espero su ayuda gracias....

La señal de temperatura es tomada desde un bulbo de temperatura electrico...
 

Adjuntos

  • Tacometro.rar
    14.3 KB · Visitas: 135
la idea es ver como puedo hacer para tomar el pulso del platino

Usese bajo su propio riesgo... (no lo he probado)

Dibujo.JPG


tambien como se podria agregar 1 o 2 sensores de temperatura uno interior y otro exterior...

necesitas un conversor Analogo a digital y especificar el tipo de sensor que puedes conseguir y que caracteristicas tiene el bulbo y donde va cada uno... o saco mi Adivinoscopio USB:unsure:

-Ve la funcion Pot ( por RC no es muy preciso)
-Busca conversores Analogo Digital como el ADC0800....
-Cambia de Pic del 628 al 877 (el 877 tiene modulos de conversores AD o a algun otro que tenga)
 
Última edición:
yo tengo el archi y leyendo un poco veo que lo puedo utilizar... el tema es que segun mi entender deberia cambiar el diodo zener de 9.1 a 5.1 voltios para adaptarlo al pic...

la otra consulta es si yo pondria un encendido transistorizado como el que sale aca en el foro
https://www.forosdeelectronica.com/f28/encendido-transistorizado-automovil-36489/index3.html

de donde podria tomar la señal para meterla al generador de pulsos?? o hay algun lugar para tomar la señal y mandarla directamente al pic??? muchas gracias...
 
hola muchachos, quisiera saber sí se puede implementar un voltímetro LCD DE 0 A 15V con un pic chico como el16f628a para ponérselo a mi fuente que es muy chica y el 16f877a ocupa mucho espacio
 
Última edición:
hola amigos de foro necesito que me oriente sobre visual basic con 3 botones adelante, derecha, y izquierda para comunicar por usb el 18f2550 con un carrito de 2 motores que gira a la izquierda y a la derecha , ambos motores van hacia adelante.

el codigo del pic es :


' include the HID descriptor
include "DESCUSBProject.bas"

DEFINE OSC 12
DEFINE LOADER_USED 1

USBBufferSizeMax con 8 ' maximum buffer size
USBBufferSizeTX con 8 ' input
USBBufferSizeRX con 8 ' output

' the USB buffer...
USBBuffer Var Byte[USBBufferSizeMax]
USBBufferCount Var Byte


TRISB = 0
' ************************************************************
' * main program loop - remember, you must keep the USB *
' * connection alive with a call to USBService every couple *
' * of milliseconds or so... *
' ************************************************************
usbinit ' initialise USB...

Inicio:

gosub DoUSBIn

PORTB = USBBuffer[7]

goto Inicio

' ************************************************************
' * receive data from the USB bus *
' ************************************************************
DoUSBIn:
USBBufferCount = USBBufferSizeRX ' RX buffer size
USBService ' keep connection alive
USBIn 1, USBBuffer, USBBufferCount, DoUSBIn ' read data, if available
return

agradesco la ayuda
 

Adjuntos

  • visual basic control del carro.bmp
    51.1 KB · Visitas: 77
  • proyecto con usb carrito.rar
    146.7 KB · Visitas: 138
Última edición:
EJEMPLO DE LECTURA ANALOG-DIGITAL 10 BITS USUANDO 16F690
Saludos colegas de microcontroladores, para mi es un placer poder compartir este codigo mediante el 16F690 que integra conversion A/D y se muestra en LCD, tomando como referencia un voltaje de +5V y con resolucion de 4.9mv por paso (1023 pasos en total), a nivel practico lo utilize mediante puerto USB que me entrego segun tester 4.67V por tanto a nivel real tuve que cambiar la escala a 4.5mv obteniendo apenas un error entre el multimetro y el pic de 4mv, pero puedo vivir con eso, a continuacion el codigo usando los registros de este PIC. Muestra dos decimales en pantalla

@ device pic16F690, intrc_osc_noclkout
DEFINE OSC 4 ' SE DEFINE 4MHz OSCILATOR
' CONFIGURACION PUERTOS LCD
Define LCD_DREG PORTC
Define LCD_DBIT 4
Define LCD_RSREG PORTC
Define LCD_RSBIT 2
Define LCD_EREG PORTC
Define LCD_EBIT 3
DEFINE LCD_LINES2 ; define utilizar 2 lineas del LCD
DEFINE LCD_COMMANDUS 2000 ; define retardo en microseg entre envio comandos al LCD
DEFINE LCD_DATAUS 50 ; define el delay en miliseg entre enviar datos

DATADC VAR WORD ' VARIABLE A GUARDAR DATO DE CONVERSION
TEMPO VAR WORD
' Parametros para configurar el ADC del PIC
ANSEL = 4 ' ANS6 Y ANS7 DIGITAL I/O, ANS2 ANALOG INPUT
ANSELH = 0 ' ANS8 - ANS11 COMO DIGITAL I/O
TRISA = 4 ' AN2 ENTRADA
TRISC = 0 ' RESTO PINES SALIDA
ADCON0 = %10001001 ' RIGHT JUSTIFIED, VCFG=VDD, ADON ENABLE, CHANNEL AN2
ADCON1 = %00110000 ' Frc CONVERSION CLOCK
PAUSE 300

INICIO:
ADCON0.1=1 ' INICIA CONVERSION

PROCESO:
PAUSE 5
IF ADCON0.1=1 THEN PROCESO ' VERIFICA SI TERMINO CONVERSION

DATADC.HIGHBYTE = ADRESH
DATADC.LOWBYTE = ADRESL ' DATADC es el valor de 10 bits de la conversion
TEMPO = (DATADC*49/1000)

LCDOUT $FE,1
LCDOUT "Dato:",DEC DATADC," ",DEC (TEMPO/10),".",DEC (DATADC*49) DIG 3,dec (DATADC*49) DIG 2,"v"
LCDOUT $FE,$C0 : LCDOUT "ANALOG-DIG 10BITS"
PAUSE 500
GOTO INICIO
END
 
Última edición:
hola amigos de foro necesito que me oriente sobre visual basic con 3 botones adelante, derecha, y izquierda para comunicar por usb el 18f2550 con un carrito de 2 motores que gira a la izquierda y a la derecha , ambos motores van hacia adelante.

el codigo del pic es :


' include the HID descriptor
include "DESCUSBProject.bas"

DEFINE OSC 12
DEFINE LOADER_USED 1

USBBufferSizeMax con 8 ' maximum buffer size
USBBufferSizeTX con 8 ' input
USBBufferSizeRX con 8 ' output

' the USB buffer...
USBBuffer Var Byte[USBBufferSizeMax]
USBBufferCount Var Byte


TRISB = 0
' ************************************************************
' * main program loop - remember, you must keep the USB *
' * connection alive with a call to USBService every couple *
' * of milliseconds or so... *
' ************************************************************
usbinit ' initialise USB...

Inicio:

gosub DoUSBIn

PORTB = USBBuffer[7]

goto Inicio

' ************************************************************
' * receive data from the USB bus *
' ************************************************************
DoUSBIn:
USBBufferCount = USBBufferSizeRX ' RX buffer size
USBService ' keep connection alive
USBIn 1, USBBuffer, USBBufferCount, DoUSBIn ' read data, if available
return

agradesco la ayuda

Seria bueno si definieras que significa cada una de las lineas de programacion, e buscado referente a estos temas en la web y no e encontrado hasta ahora algun tutorial que me explique como crear un programa para establecer comunicacion del pic via usb, aunque les digo algo es mucho mas pero mucho mucho mas facil comunicar el PIC por el COM1.
 
hola muchachos, quisiera saber sí se puede implementar un voltímetro LCD DE 0 A 15V con un pic chico como el16f628a para ponérselo a mi fuente que es muy chica y el 16f877a ocupa mucho espacio

el 628a No tiene conversor Analogo a Digital..... las entradas analogas que tiene son para los modulos de Comparadores(son amplificadores operacionales configurados como comparadores)... cualquier cosa que hagas ocupara mas espacio que si usas un 877a
 
Última edición:
el 628a No tiene conversor Analogo a Digital..... las entradas analogas que tiene son para los modulos de Comparadores(son amplificadores operacionales configurados como comparadores)... cualquier cosa que hagas ocupara mas espacio que si usas un 877a

Gracias por tu respuesta, y el 873a no serviria? es más chico que el 877a
 
chicos necesito ayuda... no se mucho de programacion pero algo he entendido... la cuestion es que me baje un tacometro de aca... la idea mia es hacerlo para mi fiat600... la idea es mostrar un mensaje de bienvenida y luego mostrar las rpm del motor... la señal seria tomada del negativo de la bobina osea los platinos...De esta manera al tener 4 pulsos realiza una vuelta el motor... la idea es ver como puedo hacer para tomar el pulso del platino
Esta parte es sencilla, ya que con un capacitor de 10nf, una resistencia de 100 Ohms 1w y un zener de 5.1v 1/2w la entrada queda protegida y el microinterpreta perfectamente a señal...
Lo que si, te recomiendo que modifiques el modo en quecontas los pulsos...mira:

count portb.0, 125, revo
revo= (revo / 4)/2 * 240
LCDout $FE,1
lcdout $FE,$c0,"RPM=",dec revo


Te anexo un proyecto mio, que esta en su 3er fase beta...
Arranque con un simple tacometro que funciono de 10, despues le sume un controlador de largada, shift light y corte por altas revoluciones, y al dia de hoy, ya le sume mas cosas como control / emulacion de señal de zonda lambda par engordar un poco mas la mezcla...
Quedo en un 90% satisfactorio, pero ahora quiero modificarlo para que esta señal que le miento a la ecu, sea proporcional su aumento y decremento, segun rpm... Me quedo chico el 877a, asi que voy a ver como hagopara sumarle todo... en fin, ahi te paso el pcb y el hex para que juegues con fitito
Respecto al sensor de temperatura, no son lineales por lo general, por lo tanto, si necesitas algo con presicion, tenes que implementar algoritmos, por ende, olvidate de un 16fxxx
Ahora, si es algo aproximado, toma los valores de la resistencia segun diferentes temperturas y arma un tabla... yo me volvi loco tratando de inventar unos numeros locos jajaja...

quiero sumar un par de fotos, pero excede lo limites :rolleyes:
 

Adjuntos

  • diseñosPCB.rar
    20.8 KB · Visitas: 138
Última edición:
Atrás
Arriba