Aprendiendo a programar la Mini-STM32 con LCD táctil a color

Todo cuanto tiene que ver con la obtención, almacenamiento y proceso de la información digital, sus aplicaciones y el software y hardware utilizado.
Responder
Mensaje
Autor
Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Aprendiendo a programar la Mini-STM32 con LCD táctil a color

#1 Mensaje por Anilandro »

Hola chicos

Con la fiebre del Arduino que ha despertado nuestro amigo César y en que también andan Homer y Alfon, me he decidido a meterme un poco en estos temas, y la idea era utilizar el mismo soporte, para el que hay mucha documentación en castellano y miles de programas y ejemplos... pero fiel a mi tendencia a complicarme la vida, hice caso a un compañero de un foro italiano de radioactividad que me comentaba sus preferencias por los microcontroladores ARM sobre los Atmel o los PIC, y en concreto por una placa muy económica y muy potente equipada con un micro STM32F103 Cortex M3, de 32 bits, que corre a la respetable velocidad de 72 Mhz, e integra en el mismo chip de 100 patas 48 KBytes de RAM y 256 KBytes de memoria flash.

Aparte de esto tiene dos puertos, un USB puro y un RS-232-USB, conversores A/D de 12 bits de resolución, salidas PWM y D/A, y base para tarjetas de ampliación de memoria miniSD. Otra cosa muy interesante es que equipa de origen un display LCD táctil en color de 3,2 pulgadas, con capacidad de gráficos RGB en alta resolución.

Imagen

Imagen

Todo muy bonito... sin pensarlo demasiado compré la Mini-STM32 en http://www.micro4you.com/store/mini-stm ... board.html , por 30 € más 5 de portes, la pagué por Paypal y me llegó desde Tailandia sin más problemas en dos semanas.

Cuando la arranqué alimentada a través del USB apareció un bonito programa de demostración que podéis ver en este vídeo de youtube:

http://www.youtube.com/watch?v=AQvvVG0h ... re=related

Aparte de esto, he visto aplicaciones en que la Mini-STM32 reproduce fotografías a igual que un marco electrónico o ficheros de música Wav y Mp3... sí, sí... todo precioso... pero las lágrimas comenzaron en el momento de dejar de jugar con ella para comenzar a intentar aprender como programarla para futuros proyectos, porque entonces me di cuenta que hay muy pocas líneas publicadas en castellano y por descontado ningún tutorial que te indique como dar los primeros pasos con esta placa concreta.

Imagen

Imagen

Imagen

Bueno, en realidad exagero un poco, porque una vez pasado el primer día de inopia en que ni conseguía que el ordenador la reconociera, poco a poco pude comenzar a robarle secretos, ayudado, esto sí por un par de compañeros de Internet que trabajan con placas semejantes y que me han orientado en los momentos más oscuros.

Como es lógico, la programación la efectúo en C para no meterme en los berenjenales del assembler y en estos tres días he podido controlar de forma básica las salidas digitales, las entradas digitales, encender y apagar LEDS, control de pulsadores y hacer aparecer el tradicional " Hola Mundo... " en la bonita pantalla LCD, procedimientos que han costado muchas horas de pruebas y errores, buceando en los típicos foros, la mayoría en inglés, con más preguntas implorantes que respuestas acertadas, en las páginas escritas en chino del fabricante de la placa, en textos técnicos enrevesados de ST Microelectronics (el fabricante de esta familia de micros compatibles con los ARM), en los esquemas y ejemplos que descargué de la web del vendedor tailandés y en distintos IDE's o entornos de programación y desarrollo, como el Coocox o el Keil microVisión V4. Y de todo ello me gustaría ir dejando constancia escrita y reunirlo en un tutorial para que otros castellanoparlantes, también principiantes como yo, no tengan que pasar por los mismos apuros.

Tres vídeos más de los muchos que hay en Youtube sobre esta placa:

http://www.youtube.com/watch?v=sNo6axRc ... re=related

http://www.youtube.com/watch?v=Xk-h1CDA ... re=related

http://www.youtube.com/watch?v=uoJ63sHO ... re=related

Ya iré contando las cosas a medida que vayan saliendo.

Un saludo a todos
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
Rovellat
Mensajes: 9695
Registrado: Mar May 26, 2009 9:39 pm
Ubicación: Palma de Mallorca (España)

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#2 Mensaje por Rovellat »

Cullons, aixo es serio


Debo tener un BASIC RISC en mi viejo Acorn Archimedes.

La arquitectura RISC, siempre me ha encantado, en especial su sistema de salto y retorno de subrrutinas, me imagino que lo ideal es programarlo en una mezcla de assembler, C, y algún lenguaje avanzado como el BASIC.

Claro que el BASIC no está bién considerado, pero esto es porque no conocen el BBC BASIC, y aquí BBC es British Broadcasting Corporation, y no estoy loco, (todavía).

ARM fué en un principio Archimedes RISC Machine, y luego cambió, por razones comerciales a Advanced RISC Machine.

Se me están poniendo los dientes largos.......

(Este post erá mas largo, peró Opera me está reiniciando a cada momento que escribo algo).

Saludos.
Cielo azul sobre campo de mieses, ánimo.
Constitución Española:
Todos los españoles tienen el deber de trabajar y el derecho al trabajo.
Todos los españoles tienen derecho a disfrutar de una vivienda digna y adecuada.

Avatar de Usuario
anajesusa
Mensajes: 4241
Registrado: Mar May 30, 2006 11:12 pm
País: Argentina
Ciudad: Villa Huidobro
Ubicación: Villa Huidobro Córdoba Argentina
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#3 Mensaje por anajesusa »

Sos dañino Anilandro.... ahora quiero esa tarjeta !!!!!!! Ya, ya....
César
Villa Huidobro Córdoba
Argentina

Espacio de César
Web: http://espaciodecesar.com/
Youtube: https://www.youtube.com/user/anajesusa
Facebook: https://www.facebook.com/espaciodecesar?ref=bookmarks

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#4 Mensaje por Anilandro »

Soy dañino para mí mismo, César... no veas los sudores que he pasado para arrancar la plaquita, y no es que sea difícil, es por la manía tan extendida de explicar las cosas de manera que sólo las entiendan los que ya las saben. Voy a reunir la información que pueda y la iré exponiendo aquí paso a paso, aparte de que estaría bien tener compañía para así avanzar más rápidos.

Esta placa me gusta, es muy compacta y barata, y se le intuyen muchas posibilidades, especialmente por su velocidad de 72 Mhz, capacidad de memoria tanto fija como ampliable y las características gráficas del LCD. Otra cosa que me gusta es la resolución de 12 bits en los conversores A/D. Con esta misma placa un conocido que es radioaficionado está construyendo un medidor de características de antenas, que va trazando los gráficos de diversos parámetros, yo la puedo utilizar por ejemplo en mi próximo Geiger AN-3 o en el generador de imágenes térmicas, que tengo parado por lo lenta que iba la placa Velleman, y veo por internet un montón de otras aplicaciones e ideas útiles que ni se me habían ocurrido.

Ahora acabo de encargar otra placa de la misma familia aún más barata (13 €) llamada STM32-Discovery, que es de iniciación, con una versión del micro con menos RAM y sin display de origen, pero que también sirve para a aprender los rudimentos de la programación y al parecer permite depurar los programas de la Mini-STM32 a través de un sistema ST-Link (que aún no sé en que consiste)

Un saludo
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
asegade
Mensajes: 3223
Registrado: Lun Dic 04, 2006 2:13 pm
País: Uruguay
Ciudad: Montevideo
Ubicación: Barrio Buceo
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#5 Mensaje por asegade »

Felicidades Anilandro 8)

A eso que has hecho, le llamamos tirarse de cabeza al río :lol:
Por supuesto que esa placa es mejor que los Arduinos, no te lo vamos a discutir !!
Lo importante es que encontraste una que es muy barata :wink:
Dame algún dato mas... El software es muchas veces el punto delicado de los micros por que te lo cobran como si fueses a programar 10^6 unidades cuando en realidad uno quiere programar 3 o 4 en el mejor de los casos.
En mi caso le tenía el ojo echado a una placa XMega que tiene también conversores de 12 bit, pero hay que analizar tu placa, que tiene muchas posibilidades.
Cuéntanos entonces tus vicisitudes.

Salud
El permanente cambio es una constante universal.

Avatar de Usuario
gorgojo
Mensajes: 557
Registrado: Dom Feb 18, 2007 4:41 pm
Ubicación: sant esteve de palautordera
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#6 Mensaje por gorgojo »

pregutonta , cuanto cuesta ese artefacto?
la ignorancia y la soberbia son grandes obstaculos para la ciencia,pero de los dos me quedo con el primero , el ignorante busca aprender y con suerte llega a alguna parte , el soberbio que cree que todo lo sabe no va a ningun lado

Avatar de Usuario
Anilandro
Mensajes: 4905
Registrado: Dom Feb 11, 2007 10:16 pm
Ubicación: Islas Baleares, España
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#7 Mensaje por Anilandro »

Sí, tirarse de cabeza al río y en un palmo de agua, mi especialidad de siempre, de la que confío en desprenderme cuando sea mayor... :) . Sobre comparaciones con el Arduino no puedo opinar, ya que realmente no conozco las características de estas placas y me he limitado a hacer caso al compañero Bepo, de un foro italiano, que al parecer ha utilizado muchos tipos y marcas distintas para trabajos profesionales. De todas formas, siempre he pensado que si para una función te basta con un tipo de placa de determinadas prestaciones, tampoco se gana nada colocando otra más potente. Otra cosa, naturalmente, es la curiosidad, el aprender aunque no lo necesites, y esta placa me ha gustado por sus posibilidades gráficas, que luego veré si aprovecho de forma adecuada.

Sobre el software, ¿a cual te refieres? ¿al de desarrollo o a programas de uso concreto...? El soft de desarrollo es bastante abundante, aunque algunos buenos programas son de pago. Yo de momento he probado dos, el Coocox, que es un proyecto gratuito GNU, que me ha ido bien para las primeras pruebas, otro de las mismas características es el Yagarto, que no he probado, y el Keil microVisión V4, que se considera el mejor, aunque la versión de evaluación que he instalado está limitada a compilaciones de 34 KBytes. Otro bastante renombrado es el Atollic TrueStudio, con una versión de prueba de 30 días.

El Keil es interesante porque los proyectos-ejemplo que puedes descargar de la web del vendedor de la placa están precisamente en su formato, y aunque no puedas ir más allá de 34 KB (yo sólo he llegado a 6 KB), analizando el código he encontrado la sintaxis de las órdenes gráficas de control del display.

Pienso que si no quiero gastar demasiado, cuando la cosa funcione, se tratará de trasplantar las librerías al entorno Coocox, que dispone de una función automática para ello, aunque en las primeras pruebas me han aparecido muchos errores que no he tenido tiempo de analizar.

Y en cuanto a programas de aplicación, aún no he mirado nada, ya que me interesa mucho más aprender a desarrollar los míos, pero en todo caso, cambiando lo que tiene que ver con las órdenes dependientes del hardware, el C será el mismo de los programas de Arduino.

Un saludo

PD: Gorgojo, lo dice en el primer mensaje, 30 € + 5 € de portes.
La VIDA sólo es energía que ha aprendido a defenderse... (Anilandro)

*** La Web de Anilandro *** http://sites.google.com/site/anilandro

Avatar de Usuario
asegade
Mensajes: 3223
Registrado: Lun Dic 04, 2006 2:13 pm
País: Uruguay
Ciudad: Montevideo
Ubicación: Barrio Buceo
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#8 Mensaje por asegade »

Si, yo me refería concretamente al compilador C y el assembler.
Por ejemplo, los PIC solo tienen gratis el assembler, pero no el C. Hay una versión GNU pero nadie le da mucha importancia, por que, y esto que digo es una opinión sin demasiado fundamento, prefieren otros procesadores con un lenguaje mas ágil como el de los Atmel.
Ahora a la hora de preferir, si hay un procesador aún mejor, sin duda que harán el esfuerzo para usarlo.
Los compiladores comprados tienen la virtud (o debieran tener) de venir con bibliotecas específicas que ayudan a la programación por tener rutinas completamente escritas, de las que te vuelves usuario.
Eso si, no podrás ver su código ni modificarla cuando se vuelva obsoleta.
Cuando usas un compilador GNU (libre) que está en sus primeras etapas de vida, te sientes como que estás programado la rueda rayo a rayo.
Cuando pasa el tiempo y aparecen en linea varios programadores, suelen aparecer bibliotecas que facilitan la vida.
La placa que compraste tiene una buena relación costo/potencia, hablando de potencia de cálculo y control, y si a eso le sumamos un compilador C de 32 bit funcional y gratis, el resultado es un buen comienzo, aunque parezca un palmo de agua :lol:

Salud
El permanente cambio es una constante universal.

Avatar de Usuario
Homer
Mensajes: 2151
Registrado: Dom Abr 30, 2006 2:07 pm
País: España
Ciudad: Sabadell
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#9 Mensaje por Homer »

¡Cojones! :shock:

Avatar de Usuario
asegade
Mensajes: 3223
Registrado: Lun Dic 04, 2006 2:13 pm
País: Uruguay
Ciudad: Montevideo
Ubicación: Barrio Buceo
Contactar:

Re: Aprendiendo a programar la Mini-STM32 con LCD táctil a c

#10 Mensaje por asegade »

Por casualidad, hoy se acaba de publicar una noticia sobre nuevo hardware/software libre usando si no me equivoco el mismo procesador:
Leaf Labs
Parece que pueden llegar a usar un pequeño Python encima.
Es una extensión de los Arduinos a 32 bits, con hasta 1 MB de RAM.
Son un tanto caros, comparados con la placa china, pero tiempo al tiempo.

Salud
El permanente cambio es una constante universal.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado