[Tutorial] y manejo de Proton IDE

Si pudieran publicar algun artículo sobre manejo de servomotores y sensores de ultrasonido empleados en robotica. Interesante el tutorial. Gracias y Saludos.
 
Hola nuevamente chicos :-D Necesito ayuda para realizar un guante sensorizado para mover una pinza robotica, si tiene alguna informacion sobre como realizar el guante se lo agradeceria es que no se mucho como empezar esa parte ya el movimiento de la pinza robotica con motores servo lo tengo pero no se como realizar la parte del guante que por medio de sensores se mueva la pinza :( si tienen algun tutorial o guia que me faciliten se los agradeceria mucho :-D
 
Hola Diogra,

Yo solo tengo esto como forma de entretenimiento para ratos de ocio, osea, no soy de los más apropiados para aconsejarte, de todos modos te expongo una idea de lo que posiblemente haría en mi caso, lo que haría es llevar la medida de unos potenciómetros (uno por cada mordaza de la pinza), otros para los giros, etc. Hacerlo con sensores, la verdad no sé cuáles serían para esto, swiches convencionales no servirían pues darían solo un 1 o 0 lógicos y lo que necesitas medir es una variable analógica como es el movimiento. En resumen, yo le adaptaría al guante unas pequeñas guayas o cables que lleguen a cada pot para hacerlos girar y les adaptaría unos resortes a los pot, al igual que los controles rc, para devolverlos a la posición original. Bueno, esa es mi humilde opinión, esperemos que algún otro compañero del foro con mayor conocimiento pueda darte otra orientación al respecto.

Suerte... y si lo realizas pues... compártelo:D
 
PARTE 7.2 DEL TUTORIAL , para inquietudes , sugerencias , criticas , rechazos .....:LOL: desde este foro

He intentado realizar proyectos de GLCD con la tutoria, estoy con un lm35 para visualizar el valor en una GLCd esto es lo llego hasta el momento:


Código:
Device = 18F4550

Xtal = 20
'*****Aparametro ADC******
TRISA=%000001       '
ADCON1 = %10000010  
Adin_Res 10         
Adin_Tad FRC
Adin_Stime 50       '
Dim HAM_DEGER As Word
Dim VOLT As Float 
'*****asignacion GLCD******
LCD_DTPort = PORTB                
LCD_RSPin = PORTD.5                
LCD_ENPin = PORTD.1                
LCD_RWPin = PORTD.4               
LCD_CS1Pin = PORTD.2               
LCD_CS2Pin = PORTD.3              
LCD_Type =  GRAPHIC                
Internal_Font = On                 
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT
Input PORTA.0
Dim raw As Word
Dim v As Float
Print Cls
Loop:
raw=ADIn 0
Print At 1,1,"Raw:", Dec4 raw
v=(5/1023)* raw
v=v*1000
Print At 2,1, Dec1 v ,"mv"
v=v/10 
Print At 2,9,"Tem:", Dec v ,"C"
DelayMS 2000
GoTo Loop

mi duda es que no he podido aplicar las fuentes de letra arial 12 y 8 al programa porque me da errores.
 

Adjuntos

  • circuito lm35.pdf
    13.7 KB · Visitas: 134
hola a todos los del foro, si alguien pudiera ayudarme, el problema que tengo es el siguiente: estoy ralizando transmision y recepcion de datos por usb con proton ide y visual basic 6.0, pero solo logro realizar el envio de datos del visual al pic o solamente del pic a la pc, pero no logro ambas al mismo tiempo.

hola amigo no se si te han respondido busca en gogle la pagina de micros y mas micros es una pagina de un paisno ecuatoriano ahi hay ya realizada una aplicacion de lo que tu quieres
 
Hola gente tengo un pequeño problema no me anda el serin en un 12f683, osea el compilador me marca error y no me lo compila, alguien tiene algun ejemplo? el serout anda perfecto pero pongo serin y me marca error
 
Hola biker2k3,

Me parece que en las primeras páginas hay un proyecto de un barco rc que utiliza serin-serout pero con pic 16f877, funciona muy bien pues yo lo probé, te recomiendo que pruebes con otro pic para descartar que el problema fisico y sino, entonces coméntalo, recuerda también checar la ayuda de proton que trae muchos ejemplos.

Suerte.
 
Hola biker2k3,

Me parece que en las primeras páginas hay un proyecto de un barco rc que utiliza serin-serout pero con pic 16f877, funciona muy bien pues yo lo probé, te recomiendo que pruebes con otro pic para descartar que el problema fisico y sino, entonces coméntalo, recuerda también checar la ayuda de proton que trae muchos ejemplos.

Suerte.

Gracias voy a probar, pasa que intente todo y no puede ser problema fisico porque no puedo ni sikiera compilarlo
 
Ya lo resolvi, no lo habia configurado para que use oscilador interno. Ahora tengo otra pregunta me podrian explicar para que sirve esto

Declare Dead_Code_Remove = On ' Some extra Optimisation
Declare Optimiser_Level = 1 'Vi que esto lo ponen a 1,3 o 6
Int_Sub_Start
Int_Sub_End




Yo tengo un programa con las interrupciones asi...

GoTo INITIALIZE

On_Hardware_Interrupt GoTo Interrupcion ' Interrupción por Hardware (es la más rápida)
;############### INTERRUPT CODE ##################
Disable;
Interrupcion:
Context Save
If INTCON.2 = 1 Then ;######### TIMER #########

;...Codigo para ejecutar cuando salta el timer...

Resume
EndIf

If INTCON.1 = 1 Then ;######## PULSO EN RB0 ########
; ...Codigo cuando detecto pulso en RB0
Resume
;****** Fin de Interrupcion ***********
Context Restore
Enable
;############## REGISTROS ####################
INITIALIZE:
 
hola que tal soy nuevo en este foro, mi nombre es AGUSTIN NIEVA estudiante de ING.ELECTRONICA, tengo una duda no se si me puedan ayudar, tengo en mente realizar un proyecto con un GLCD de 128x64, mas un panel touch para dicho GLCD, la duda es para saber si se puede manipular el panel touch con PROTON IDE??? si es asi alguien podria decirme como hacer un pequeño ejemplo???, cabe mencionar que he progrmado microcontroladores con pic basic pro, ya que ese lenguaje me parecio muy amigable, pero cuando busque infromacion para saber si se podia manipular un GLCD con PBP, me desilucione al saber que no se podia y por eso ando en esa transicion de lenguaje de PBP a PROTON IDE, ya que este lenguaje igual se me ha hece amigable y similar a PBP, lo que se hasta ahora es que si se puede manipular un GLCD con PROTON, pero no se si tambien el PANEL TOUCH, y si no se pudiera con PROTON alguien podria decirme con que otro lenguaje? que no sea C, CCS, mikroc, es que la verdad esos lenguajes me dan mucho dolar de cabeza.
 
hola amigo mio la verdad se que si se puede hacer con proton en mi unniversidad si lo lograron pero la verdad me han contado que es un poco lioso...te recomiendo si quieres intentar mikrobasic compiler for pic o mikrobasic pro for pic es mas facil busca un libro que es de programacion en ese lenguaje de conexion electronica me parece que es la pagina ponlo en gogle pero ojala los amigos del foro si te puedan hechar una mano para hacerlo en proton asi aprendemos todos
 
ok muchas grcias atricio, seguire buscando un lenguaje el cual pueda entender, y si seria agradable que en proton se pudiera hacer, la verdad tengo este proyecto, todo en PBP, encencialmente consiste en una comunicacion pic-pic, uno de los pic me leera la temperatura de un sensor LM35, y me la manda por comunicacion serial, ahora solo los micros se comunicacn con un solo cable, estoy por incorporar los modulos de RF para quitar ese cable y se haga una comunicasin simplex, bueno entonces ya que el pic manda la temepratura hacia el otro pic, entocnes el pic receptor la lee y la muestra en un lcd de 16x2, de ahi hay un menu donde el usuario elige si desea un control on-off o brecha diferencial, selecionando el control deseado aparece otro sub-menu el cual establece los valore sde brehca diferencial o de control on-off, de ahi sale otro sub menu donde ya esta funcionando el control deseado, como salidas tengo 2 ledes, uno me representa un calentador y el otro me representa un enfriador, esas salidas se activan dependiendo de la temperatura establecida. esencialmente eso es lo que hace mi proyecto, pero dada la necesidad de que en el LCD de 16x2 no alcanzan a verse todos los menus, por eso opte por el GLCD y para quitar los botones y mejor implementar un panel touch, creo que con el panel le daria una mejro vista al proyecto.
Espero y alguien mas pueda darme un ejemplo en proton, claro si es que se puede en proton.
de antemano gracias colegas.
 
de antemano gracias por responder, la verdad he estado ocupado en otras asuntos, pero si ya me empeze a familiarizar con mikrobasic pro for pic, y ahora ando estudiendo un poco, se me ha complicado por asuntos que he tenido que atender, y ahora que regreso a claces me vere un poco mas limitado de tiempo, hasta ahora trato de emigrar mi proyecto a mikrobasic por for pic, tambien he encontrado un software llamado VISUAL GLCD de mikroelectronica, y de igual forma estoy estudiando dicho software, aunq no tengo la version completa, pues esta version qeu adquiri esta limitada.
bueno me despiedo, espero poder avanzar un poco en estas semenas proximas.
 
que tal foro, bueno pues tengo una duda con respecto al manejo de botones, lo que quiero hacer es mostrar en leds del puerto b del pic16f887 los numeros bInarios del 0 a 255 cada que pulse un boton, pero mi problema es qu con pulsar el boton los numeros empiezan a cambiar rapidamente y si meto un delayms 500 y dejo pulsado en boton, cada medio segundo el led avanza.
lo que quiero es que cada que pulse el boton avanse un solo numero

Device = 16F887
XTAL=8
ALL_DIGITAL=1
'*********************************************
Symbol CONTADOR = PORTA.1
'*********************************************
Input PORTA.1
Output PORTB
Low PORTB
Dim X As Byte
'*********************************************
X=0
'*********************************************
INICIO:
If CONTADOR = 0 Then
delayms 500 'es lo que para mi no esta bien
Next X
PORTB=X
EndIf
Goto INICIO
 
Hola mendek,

No sé si esto será lo que buscas, prueba de cualquier forma, este ejemplo está en el libro de pic basic pro de Carlos A. Reyes.

Suerte en tu aprendizaje y recuerda compartir tus avances en el foro.
 

Adjuntos

  • CUENTA BINARIA CON PULSADOR.rar
    39.8 KB · Visitas: 134
que tal foro, bueno pues tengo una duda con respecto al manejo de botones, lo que quiero hacer es mostrar en leds del puerto b del pic16f887 los numeros bInarios del 0 a 255 cada que pulse un boton, pero mi problema es qu con pulsar el boton los numeros empiezan a cambiar rapidamente y si meto un delayms 500 y dejo pulsado en boton, cada medio segundo el led avanza.
lo que quiero es que cada que pulse el boton avanse un solo numero

Device = 16F887
XTAL=8
ALL_DIGITAL=1
'*********************************************
Symbol CONTADOR = PORTA.1
'*********************************************
Input PORTA.1
Output PORTB
Low PORTB
Dim X As Byte
'*********************************************
X=0
'*********************************************
INICIO:
If CONTADOR = 0 Then
delayms 500 'es lo que para mi no esta bien
Next X
PORTB=X
EndIf
Goto INICIO

Hola...creo que lo que pretendes hacer es esto:
Device = 16F887
Xtal=8
All_Digital=1
'*********************************************
Symbol CONTADOR = PORTA.1
'*********************************************
Input PORTA.1
Output PORTB
Low PORTB
Dim X As Byte
'*********************************************
X=0
'*********************************************
INICIO:
If CONTADOR = 0 Then ' se pulso el boton
DelayMS 50 ' espero
If CONTADOR = 0 Then GoTo INICIO 'espero hasta que suelte pulsador
X = X + 1 ' incremento la variable
PORTB = X ' mustro el resultado en el puerto
EndIf ' finaliza condicion inicial
If X = 255 Then X = 0 ' si la variable tomo el valor maximo la limpio
GoTo INICIO ' repito ciclo

End

Saludos.

Ric.
 
ok claro que funciono, bueno hay algo que me parese interesante y que yo no sabia, cuando escribes:
If CONTADOR = 0 Then GoTo INICIO
1.-ya no es nesesario poner el endif abajo??
2.-y cuando escribes If CONTADOR = 0 Then GoTo INICIO solo ejecuta el goto inicio, es decir solo lo que esta a la derecha?
 
ok claro que funciono, bueno hay algo que me parese interesante y que yo no sabia, cuando escribes:
If CONTADOR = 0 Then GoTo INICIO
1.-ya no es nesesario poner el endif abajo??
2.-y cuando escribes If CONTADOR = 0 Then GoTo INICIO solo ejecuta el goto inicio, es decir solo lo que esta a la derecha?

Son dos condiciones anidadas una dentro de la otra y es necesario el Endif al final por que se refiere a la condición primera superior y la segunda comparación es a fin de esperar a que sueltes el pulsador ya que si paso la primera es porque se encuentra pulsado y solo si lo sueltas cambiara la condición y proseguirá con el programa con un pequeño retardo en el medio a fin de separar en el tiempo las comprobaciones y actuar de "anti-revote" .

Ric.
 
Última edición:
ya aclarado esto, me surgio otra duda, e investigado en internet acerca de las subrutinas pero la mayoria de las explicaciones vienen en ensamblador y no le eniendo nada, lo que quiero hacer con un pic16f84a es que mientras esta ejecutando algo en primer plano ejecute otra cosa en segundo plano, es posible eston con proton ide?
 
Atrás
Arriba