El entrenador es un equipo que integra los dispositivos y equipos auxiliares para facilitar al máximo el desarrollo de prototipos.
Mi planteamiento ha sido además el tratar de compactar casi un laboratorio completo en un sólo equipo con las mínimas dimensiones y el coste mas reducido posible pero con las prestaciones para poder afrontar la mayor parte de los proyectos.
Dentro de esta filosofía es crucial el poder controlar la mayor parte del equipo desde el ordenador convirtiéndolo en un periférico que permita aprovechar sus entradas y salidas además de convertirlo con algo de software en un entrenador-programador de memorias, dispositivos PIC o PAL.
Para ello incluyo 2 sistemas que son un conversor serie RS232-TTL y un Bluetooth - serie-TTl. Además un pequeño microcontrolador basado en los desarrollos Arduino de código abierto, que permite ejecutar sobre las entradas/salidas varios programas de forma autónoma (sin estar conectado a un ordenador) asi como visualizaciones de datos algo mas complejas.
Incluyo también varios módulos de control y visualización digital con leds y displays de 7 segmentos.
Además de los equipos básicos de laboratorio, aunque con especificaciones bastante modestas, que son fuente de alimentación con salidas fijas y variable, un generador de señales y un frecuencimetro.
Libro sobre E.D. con detalles sobre como debe ser un entrenador http://www.marcombo.com/electronica-digital-practica_isbn8426710247.html
Ejemplo desarrollado: http://www.oriol.cc/astecsup/project_1.html
El Módulo Bluetooth: Se llama AsakoTrainer, contraseña habitual y queda a 115200 8,1,n
El modulo serie se configura desde el ordenador.
Hay cosas que pasado poco tiempo de haberlas hecho, no recuerdo porque están. Asi que voy a ir anotando los problemas que van surgiendo y como se han resuelto para futuras referencias:
En Arduino de control-display: Tenía cada vez mas a menudo el problema de que el display se volvía loco al añadir cadenas de texto a presentar en el display. Con algunos cambios como quitar saltos de linea o reducir las cadenas parecía resolverse, pero cada vez menos. Eso me hizo pensar en algun problema de memoria o recurso finito que se estaba llenando, pero no eran los 32KB del sketch. Finalmente encontré en la documentación de la librería openGLCD (que estaba pensando usar para sustituir la GLCD v3 que estaba usando con este problema) en “/libraries/glcd/doc/html/page_arduino_print.html” esto:
Printing strings can consume a lot of RAM. Printing strings using the flashStr prefix results in the compiler using flash rather than RAM to store the string
GLCD.print("string"); // string stored in RAM: the compiler reserves 7 bytes of RAM (string length + 1) to store the string GLCD.print(flashStr("string") ); // stores the string in Flash memory (Progmem) , no RAM is used to store the string GLCD.println(flashStr("another string") ); // as above, but wraps following text to the next line
Tambien se puede poner “F” en lugar de “flashStr”Asi que lo cambio en todas las cadenas y parece que funciona