Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola a todo el mundo
Sigo con mi trabajo y esta vez necesito, programar el PIC 16F84A, en basic, ya que es el único lenguaje con el que me manejo un poco, para que mueva 4 servos
En conclusión la pregunta es:
Que ordenes se usan para eso?
gracias a todos
A ver, yo de BASIC no se, pero de cualquier modo no existen unas órdenes para mover servos y otras órdenes para encender y apagar leds. No se si haces esto porque te obligan en alguna asignatura o porque quieres aprender (me parece que es más lo primero) pero en cualquier caso te recomiendo que antes sepas qué es lo que estás manejando.
Mi recomendación, busca información sobre servos y aprende cómo funcionan. Después, piensa cómo funcionan las patas de los PICs. Después busca información sobre timers.
Será entonces cuando estés en condiciones de preguntar, ya que al menos, sabrás qué es lo que tienes que preguntar.
Un saludo.
no me obligan estoy aquí por un trabajo que elegí yo y quiero aprender, el que no me he explicado bien
quiero decir que por ejemplo si esta conectado al ordenador para controlarlo se usa la orden
pulsout
pues algo parecido para programar un PIC con ella y entonces cuando pulse un botón esta se encienda
o simplemente uso
high (el puerto) i el tiempo que quiero que envié después pongo la pausa para que llegue a los 20 ms i vuelta a empezar?
Hola oko123456,
la orden pulsout es para hacer que el valor de un pin(previamente definido como salida) conmute durante el tiempo que tu le digas. Es decir, si tienes el pin 1 del puerto B a 0 (nivel bajo) y le dices pulsout PORTB.1, 200 , le estas diciendo que lo ponga a 1 (nivel alto) durante 200. y dirás ¿ 200 qué ? Pues el valor 200 es relativo a la frecuencia de reloj que le suministres al PIC. El caso más sencillo es si tienes el PIC funcionando a 4 MHz. Si es así la resolución de pulsos será de 10 microsegundos. En ese caso ese 200 significa que el pulso durará 200 x 10 microsegundos = 2000 microsegundos.
Para controlar un servo, basta con que le suministres un pulso de entre 1000 a 2000 microsegundos cada 18 miliseg.
Con estas pistas ya lo tienes 'chupao'.
Unas preguntas:
¿ piensas controlarlos desde un PC ? Si es así, ¿ has decidido cómo ? Me refiero también al programa del PC...
Para controlarlos desde un PC, tendrás que utilizar en el PIC las ordenes de BASIC: SEROUT y SERIN. Para el envío y recepción serie respectivamente.
Si vas a programar en PIC BASIC, échale un vistazo al manual:
http://www.melabs.com/resources/pbpmanual/
Lo controlare con un mando que he echo yo mismo con 8 finales de carrera, cada uno conectado a un pin distinto, y quando lo pulsas envia señal al pin sino no.
por eso buscava un equivalente al pulsout
gracias