Tutorial de Programación de PICs en Ensamblador

ProgramaciónEste tutorial estuvo mucho tiempo alojado en la wiki de ARDE después de que lo tradujese. De esto hace ya más de 6 años. Pero creo que la base era muy buena, y sigue siendo válida para aprender a programar un PIC. Además de traducirlo , lo comenté y lo mejoré todo lo que pude, para que sirva a todos los hispanohablantes. Ahora esa wiki de ARDE ya no existe, Y he creído conveniente conservar el trabajo que hice aquí en mi blog. Pronto también estará disponible en el nuevo formato de ARDE. Para algunos que lo tenias como referencia, lo incluyo completo en este post. Espero que siga siendo de utilidad para todos vosotros.

Leer más “Tutorial de Programación de PICs en Ensamblador”

Comunicaciones USB entre Pinguino y PC

ProgramaciónLa idea es familiarizarnos con el interfaz USB, las comunicaciones que podemos desarrollar entre un dispositivo y el PC, y poner en práctica lo que sabemos de lenguaje C. Todo ello utilizando la librería libusb (1.0), que es la que nos permitirá programar el PC para habilitar este tipo de comunicaciones entre el PC y Pinguino. De este modo, realizaremos algunos programas simples para comunicarnos con Pinguino, que más adelante nos servirán como base para propósitos más ambiciosos. Leer más “Comunicaciones USB entre Pinguino y PC”

Librería de Servos version 4.2 para Pinguino

Programación
Bueno, increiblemente después de más de un año y medio sin publicar nada (principalmente por temas de salud), por fin he vuelto a trabajar en el proyecto Pinguino, y esta vez para traer cosas que ya iban haciendo falta. La librería para servos que publicaba en mi artículo anterior para las placas de 8 bits de Pinguino ya no es válida Leer más “Librería de Servos version 4.2 para Pinguino”

Librería de Servos versión 2.1 para Pinguino

Programación
Por fin terminé la versión 2.1 de la librería de servo para las placas de 8 bits de Pinguino. A continuación os doy detalles de lo que ha cambiado… Leer más “Librería de Servos versión 2.1 para Pinguino”

Librería de retardos de Pinguino

Programación[Reeditado 23/1/2011] Para aquellos que programando Pinguino requieran las funciones de generación de retardos, os aconsejo que echéis un vistazo a este artículo, porque a no ser que estéis utilizando una versión del IDE Beta 10 o superior, vais a generar retardos imprecisos. [y todavía es dudoso que en la versión 10 del IDE esto se vaya a solucionar. Editaré el articulo para indicar la versión correcta en el momento en que se sepa].

En el artículo explico la causa del problema, y la solución. Si solo te interesa parchear tu IDE para que los retardos sean correctos ve directamente a la solución.

Leer más “Librería de retardos de Pinguino”

Detector de estasis

Mecánicaboton_electronica.pngProgramaciónA través de uno de mis blogs preferidos (es-robot.com , lo tengo en mi blogroll como podéis ver en la columna de la derecha), he leído un articulo sobre este dispositivo.

Me ha resultado interesante, sobre todo, después de haberme planteado mis propias dudas sobre robots móviles debido a mi trabajo en el proyecto PartyBot, y también después de haber leído el interesantísimo libro Robot Programming de Joseph Jones (del que dentro de poco escribiré un articulo también en este blog). Leer más “Detector de estasis”

Nueva versión del IDE de Pinguino: Beta 9

ProgramaciónYa ha salido la nueva versión para el IDE de Pinguino, la beta 9. La podéis descargar de aquí.
Leer más “Nueva versión del IDE de Pinguino: Beta 9”

Pinguino: rutina para controlar 18 servos !!

Programación En mi “artículo idea” sobre Control de Servos en Paralelo, ya explicaba cual era mi idea para controlar más servos de los que en un principio se pueden controlar con un PIC si secuenciamos la gestión de los pulsos de todos los servos que vamos a controlar. Por eso, en ese articulo hablaba del control de servos en “paralelo”, que opino que podría permitir controlar más servos a la vez. Y así es.

Finalmente decidí embarcarme en la programación de la rutina en ensamblador PIC, y después de estar pegándome unos días, decidí cambiar el ensamblador por el SDCC de Pinguino. La razón principal, porque quería completarla para el proyecto que estoy haciendo para ARDE, el PartyBot. Obviamente, mucho más sencillo de hacer en C que en ensamblador. Aquí comparto con vosotros el código de la rutina que he creado, que he probado y que ya he visto que funciona perfectamente.  Leer más “Pinguino: rutina para controlar 18 servos !!”

Programando el 16F84A para controlar 12 servos

ProgramaciónUtilizando el hardware del artículo anterior voy a mostrar el programa para que podamos controlar los 12 servos programando el PIC 16F84A.

Leer más “Programando el 16F84A para controlar 12 servos”

Transmisión y Recepción Serie con PIC 16F84A

ProgramaciónHace tiempo que escribí esta rutina para transmisión-recepción serie RS-232 con el PIC 16F84, y aunque puede resultar simple, creo que sirve como una buena base para aprender a programar en ensamblador un PIC, saber utilizar las interrupciones del mismo, conocer como funciona una transmisión asíncrona, y de paso reutilizar el 16F84 (un PIC sin USART) para aplicaciones que requieran comunicaciones en serie. La rutina debería de ser fácil de adaptar para crear una nueva aplicación para el PIC.

Leer más “Transmisión y Recepción Serie con PIC 16F84A”