TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Dareblix005 en 09 de Diciembre de 2016, 15:59:54
-
Hola a todos pues bien me urge terminar este proyecto señores! se trata de un brazo robotico que clasifique piezas de un color en una posicion, tengo un brazo de 6 gld que funciona bien y he aquí el programa que uso para probarlo por blueeooth (solo utilizo 5 gld)
cmcon = 7
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 9600
DEFINE HSER_CLROERR 1
trisa = 0
trisb = 0
pulso1 var byte
pulso2 var byte
pulso3 var byte
pulso4 var byte
pulso5 var byte
opcion var byte
pulso1 = 150
pulso2 = 150
pulso3 = 150
pulso4 = 150
pulso5 = 150
porta = 0
portb = 0
inicio:
hserin 5, continuar, [opcion]
continuar:
pulsout portb.0, pulso1
pulsout portb.3, pulso2
pulsout portb.4, pulso3
pulsout portb.7, pulso4
pulsout portb.6, pulso5
PORTB = %00000
pause 5
If opcion = "a" and pulso1 < 225 Then pulso1 = pulso1 + 2: opcion = 0
If opcion = "d" and pulso1 > 60 Then pulso1 = pulso1 - 2: opcion = 0
If opcion = "w" and pulso2 < 225 then pulso2 = pulso2 + 2: opcion = 0
If opcion = "s" and pulso2 > 60 then pulso2 = pulso2 - 2: opcion = 0
if opcion = "q" and pulso3 < 225 then pulso3 = pulso3 + 2: opcion = 0
if opcion = "e" and pulso3 > 60 then pulso3 = pulso3 - 2: opcion = 0
if opcion = "z" and pulso4 < 225 then pulso4 = pulso4 + 2: opcion = 0
if opcion = "x" and pulso4 > 60 then pulso4 = pulso4 - 2: opcion = 0
if opcion = "g" then pulso5 = pulso5 + 2 : opcion = 0 :
if opcion = "v" then pulso5 = pulso5 - 2 : opcion = 0 :
goto inicio
end
El programa funciona perfecto y me lo proporciono un usuario de este foro stetebanjmz
pues bien quiero modificarlo para que cumpla su función como clasificador , me gustaría que mantuviera la comunicación serial con el hc-05 para poder manipularlo hacia el origen cada vez que por x razón de descalibre y utilizar las salidas del sensor como entradas para el pic, mi duda es como se realiza la comunicación serial con este sensor?
http://www.keyence.com.mx/products/sensor/photoelectric/cz-v20/models/cz-v22ap/index.jsp
Ese es el sensor que poseo aun que tambien podria adquirir:
https://electrocrea.com/collections/sensores/products/sensor-de-color-tcs230
Pero lo dejo a su recomendación señores,y en cuanto a la posición del robot he pensado simplemente sumar con los pulsos que le envió por bluetooth para conseguir una posición distinta es decir cada vez que mando un dato serial por bluetooth +1 pues contar en cada articulación desde el origen para saber cuanto sumar en cada servomotor para obtener mi posición y que la sintaxis quede algo como:
if opcion = "dato serial del sensor" then pulso1 = pulso1 + 13 : pulso2 = pulso2 + 6 , hasta contar los 5 gld : opcion 0
bueno creo que algo asi seria, necesito su ayuda, realmente me urge. Gracias por leer! :?