Probando el TSXDuino MEGA

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Avatar de Usuario
capsule5000
Le gustan las llamas
Le gustan las llamas
Mensajes: 97
Registrado: 01 Oct 2018, 21:52
Been thanked: 5 times

Re: Probando el TSXDuino MEGA

Mensaje por capsule5000 »

Buenas @merlinkv. Acabo de comprobar la última revision de la 1.54, y ha quedado genial! tanto el logo como el menú principal, como cuando pulsas el play y sale el mensaje de ----press play----. Vaya que al final la pantalla 128x64 se queda pequeña con tanta información y encima se ocupan todas sus filas. Un gran trabajo! :D :D :D
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6386
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

Gracias capsule5000.

Lo del logo :)) :)) :)) :)) :)) , pero bueno no queda mal y, como se puede cambiar, pues no pasa nada. :D :D :D

La verdad es que ahora creo que ya está pulida para las pantallas LCD 16x2 y OLED 128x64.

Ahora quiero meterme con las LCD 20x4 ... por cubrir opciones para los usuarios ... "Más vale que sobre ..." ... :)
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
capsule5000
Le gustan las llamas
Le gustan las llamas
Mensajes: 97
Registrado: 01 Oct 2018, 21:52
Been thanked: 5 times

Re: Probando el TSXDuino MEGA

Mensaje por capsule5000 »

merlinkv escribió: 25 Feb 2020, 19:04 Gracias capsule5000.

Lo del logo :)) :)) :)) :)) :)) , pero bueno no queda mal y, como se puede cambiar, pues no pasa nada. :D :D :D

La verdad es que ahora creo que ya está pulida para las pantallas LCD 16x2 y OLED 128x64.

Ahora quiero meterme con las LCD 20x4 ... por cubrir opciones para los usuarios ... "Más vale que sobre ..." ... :)
Lo bueno es que ahora ya no hay los problemas de espacio de memoria, y hay que aprovechar los MEGA2560, para añadir más soporte como las pantallas 20x4 o cualquier otra función. Un gran trabajo :D :D :D
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

merlinkv escribió: 25 Feb 2020, 19:04 Gracias capsule5000.

Lo del logo :)) :)) :)) :)) :)) , pero bueno no queda mal y, como se puede cambiar, pues no pasa nada. :D :D :D

La verdad es que ahora creo que ya está pulida para las pantallas LCD 16x2 y OLED 128x64.

Ahora quiero meterme con las LCD 20x4 ... por cubrir opciones para los usuarios ... "Más vale que sobre ..." ... :)
Duda de novato... ¿Es posible usar coordenadas relativas en vez de absolutas?
Por lo que leo, estás usando adaptaciones para cada tipo de pantalla, pero quizás puedas usar resoluciones y aspectos ratio relativos, para pantallas de un formato 4:3, etc... o aproximaciones de aspectos (resoluciones) similares, con esto... quizás te puedas ahorrar mucho trabajo a la hora de implementar cualquier tipo de pantalla del mercado... si es posible (lo cual desconozco)...
saludos
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6386
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

capsule5000 escribió: 25 Feb 2020, 21:11Lo bueno es que ahora ya no hay los problemas de espacio de memoria, y hay que aprovechar los MEGA2560, para añadir más soporte como las pantallas 20x4 o cualquier otra función. Un gran trabajo :D :D :D
Pues sí, por un lado un par de pantallas más y, por otro, tenemos una línea A5 libre y programable, no sé que función le podremos poner, pero por lo menos está disponible. :)
Popopo escribió: 25 Feb 2020, 21:31Duda de novato... ¿Es posible usar coordenadas relativas en vez de absolutas?
Por lo que leo, estás usando adaptaciones para cada tipo de pantalla, pero quizás puedas usar resoluciones y aspectos ratio relativos, para pantallas de un formato 4:3, etc... o aproximaciones de aspectos (resoluciones) similares, con esto... quizás te puedas ahorrar mucho trabajo a la hora de implementar cualquier tipo de pantalla del mercado... si es posible (lo cual desconozco)...
saludos
Yo también soy casi novato con las Arduino, pero la verdad es que la idea es usar pantallas LCD 16x2, LCD 20x4, OLED 128x32 y OLED 128x64, no creo que vayamos a ampliar más el rango de pantallas.

Lo de las coordenadas relativas está bien, pero aquí, salvo por los gráficos de los logos con las OLED, todo se basa en matrices de caracteres:

LCD: 16x2 y 20x4
OLED: 16x4 y 16x8

En cada caso tanto la información como los menús, mensajes informativos, etc. se muestran en pantalla de forma distinta.

Por otro lado, si, se podría reducir el tamaño del codigo fuente, pero tal y como está hecho (en mi modesta opinión) cualquiera que quiera modficar el código a su gusto, pues lo tiene más sencillo.

Otro problema añadido es que algunas pantallas usan sus propias librerías y no con todas se trabaja igual. Todavía me acuerdo cuando tuve que ajustar las SH1106 con las librerías de Adafruit ... uffff ... menudo coñazo.
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

merlinkv escribió: 25 Feb 2020, 23:38
Yo también soy casi novato con las Arduino, pero la verdad es que la idea es usar pantallas LCD 16x2, LCD 20x4, OLED 128x32 y OLED 128x64, no creo que vayamos a ampliar más el rango de pantallas.
Lo de las coordenadas relativas está bien, pero aquí, salvo por los gráficos de los logos con las OLED, todo se basa en matrices de caracteres:

LCD: 16x2 y 20x4
OLED: 16x4 y 16x8

En cada caso tanto la información como los menús, mensajes informativos, etc. se muestran en pantalla de forma distinta.
Por otro lado, si, se podría reducir el tamaño del codigo fuente, pero tal y como está hecho (en mi modesta opinión) cualquiera que quiera modificar el código a su gusto, pues lo tiene más sencillo.
Otro problema añadido es que algunas pantallas usan sus propias librerías y no con todas se trabaja igual. Todavía me acuerdo cuando tuve que ajustar las SH1106 con las librerías de Adafruit ... uffff ... menudo coñazo.
Hola,
Tienes razón en lo que dices, había echado un vistazo a tu código unos días atrás y estaba muy claro y bien estructurado.
Lo de las pantallas, lo comprendo, y tampoco es plan ya que lo tienes casi terminado ahora andar con remodelaciones. Ya lo hará alguien si tiene el tiempo (cuando termines lo tuyo, volveré a echarle un vistazo a ver si me sale alguna forma curiosa e igualmente clara).

Es un gran trabajo! Gracias
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6386
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

Bueno, la verdad es que quien se merece el mérito es rcmolina que es el artífice del proyecto MaxDuino, yo lo único que he hecho es adaptarlo para las Arduino Mega 2560 Pro y darle unos retoques a la información de pantalla.
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
capsule5000
Le gustan las llamas
Le gustan las llamas
Mensajes: 97
Registrado: 01 Oct 2018, 21:52
Been thanked: 5 times

Re: Probando el TSXDuino MEGA

Mensaje por capsule5000 »

Hola buenas @merlinkv dos cuestiones.....
La primera es que he visto que la última revisión de la 1.54 has dado soporte a las pantalla 20x4, pero al grabarlo al MEGA2560 vuelvo a tener la pantalla en negro. Hay que configurar en el programa que pantalla utilizas o lo detecta automáticamente?

La segunda cuestion es algo que te comente sobre el orden de la pantalla principal. Concretamente sobre el nombre del archivo y lo que ocupa. Hasta donde he llegado lo he dejado como en la imagen, el problema es que cuando accedo al menu de configuracion de opciones, el nombre de la opción me queda en la fila 0 y en ON/OFF en la fila 1. Un desastre

Imagen
La pantalla principal se ve bien, pero la de opciones mal

La idea sería...... es muy complicado cambiar el orden y que en la fila 0 salga el nombre del archivo y en la fila 1 salga lo que ocupa?. Así al darle al PLAY solo quedaría el nombre del archivo, como en la imagen de arriba pero en este caso el nombre del archivo en la fila 0 y lo que ocupa en la fila1.... es decir al contrario como sale en las ultima revisiones de la 1.54.

Imagen

saludos!!
Avatar de Usuario
merlinkv
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 6386
Registrado: 06 Abr 2015, 23:08
Ubicación: Madrid / Europa del Este
Has thanked: 121 times
Been thanked: 328 times
Contactar:

Re: Probando el TSXDuino MEGA

Mensaje por merlinkv »

Hola capsule5000,

Sí, cuando cambias de pantalla debes de cambiar el código fuente y poner el tipo de pantalla que vas a usar, lo subes otra vez a la Mega y ya está. Ahora está puesto para las OLED 128x64 1.3 ¿que quieres usar otra? Muy facil comentas lo relativo a la pantalla anterior y activas la que vas a usar.


//#define SERIALSCREEN // For testing and debugging

//#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
//#define LCDSCREEN16x2 // Set if you are using a 1602 LCD screen

//#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
//#define LCDSCREEN20x4 // Set if you are using a 1602 LCD screen

#define OLED_SETCONTRAS 0xcf // Override default value inside Diplay.ino, bigger to increase output current per segment
#define OLED1306 // Set if you are using OLED 1306 display
#define OLED1306_128_64 // 128x64 resolution with 8 rows
#define OLED1106_1_3 // Use this line as well if you have a 1.3" OLED screen



Para la LCD 20x4


//#define SERIALSCREEN // For testing and debugging

//#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
//#define LCDSCREEN16x2 // Set if you are using a 1602 LCD screen

#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
#define LCDSCREEN20x4 // Set if you are using a 1602 LCD screen

//#define OLED_SETCONTRAS 0xcf // Override default value inside Diplay.ino, bigger to increase output current per segment
//#define OLED1306 // Set if you are using OLED 1306 display
//#define OLED1306_128_64 // 128x64 resolution with 8 rows
//#define OLED1106_1_3 // Use this line as well if you have a 1.3" OLED screen


Y así con las demás.

Lo que comentas del orden de las filas, lo miro y pruebo a ver, no es mala idea. ;) y sí ... el tema de control de las filas es una auténtica puñeta ... :)) :)) :))
No sé como será la tercera Guerra Mundial. Pero sí sé como será la cuarta: Con palos y piedras.
Aquí yace un valiente, un temible adversario y un verdadero hombre de honor. Descanse en paz. 21-04-1918
Visita mi Github igual te gusta algo.
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Probando el TSXDuino MEGA

Mensaje por Popopo »

merlinkv escribió: 26 Feb 2020, 22:23 Hola capsule5000,

Sí, cuando cambias de pantalla debes de cambiar el código fuente y poner el tipo de pantalla que vas a usar, lo subes otra vez a la Mega y ya está. Ahora está puesto para las OLED 128x64 1.3 ¿que quieres usar otra? Muy facil comentas lo relativo a la pantalla anterior y activas la que vas a usar.


//#define SERIALSCREEN // For testing and debugging

//#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
//#define LCDSCREEN16x2 // Set if you are using a 1602 LCD screen

//#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
//#define LCDSCREEN20x4 // Set if you are using a 1602 LCD screen

#define OLED_SETCONTRAS 0xcf // Override default value inside Diplay.ino, bigger to increase output current per segment
#define OLED1306 // Set if you are using OLED 1306 display
#define OLED1306_128_64 // 128x64 resolution with 8 rows
#define OLED1106_1_3 // Use this line as well if you have a 1.3" OLED screen



Para la LCD 20x4


//#define SERIALSCREEN // For testing and debugging

//#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
//#define LCDSCREEN16x2 // Set if you are using a 1602 LCD screen

#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD usually 0x27
#define LCDSCREEN20x4 // Set if you are using a 1602 LCD screen

//#define OLED_SETCONTRAS 0xcf // Override default value inside Diplay.ino, bigger to increase output current per segment
//#define OLED1306 // Set if you are using OLED 1306 display
//#define OLED1306_128_64 // 128x64 resolution with 8 rows
//#define OLED1106_1_3 // Use this line as well if you have a 1.3" OLED screen


Y así con las demás.

Lo que comentas del orden de las filas, lo miro y pruebo a ver, no es mala idea. ;) y sí ... el tema de control de las filas es una auténtica puñeta ... :)) :)) :))
Los define son etiquetas, ocupan una parte de la memoría estática sino recuerdo mal (o era dinámica?) estatica seguramente.
El caso es que la definición de una etiqueta apenas consume nada de recursos, podrías tenerlas todas sin comentar. La razón por la que lo haces de esa forma... no me acuerdo, pero ... podrías poner un campo en vez de varias etiquetas, si existe una forma de conseguir el ID de la pantalla de manera automática (como llamada a una función GET o detección de algún tipo de firma), podrías realizar una estructura Switch-case la cual otorgue a la variable el valor de la etiqueta que deseas. Con ello no habría que comentar nada.

De todas maneras lo dicho, realmente no vale la pena comentar etiquetas, pues el espacio en memoria es realmente ridículo. para este caso. En lo que ando pensando es aislar al usuario que graba su ATMEGA de la labor de comentar el resto de líneas que no le atañen, y sea el ATMEGA el que selecciona la línea que atañe.

Otra solución es definir solo una etiqueta de nombre PANTALLA, donde basada en una tabla completamente comentada ponga el valor en HEX que requieras tener en cuenta. De esta forma... solo tocas en un único sitio, puedes factorizar el resto de funciones, etc.

Espero no te moleste estos comentarios o sugerencias, eres tú el que lo esta currando, y solo quiero dar ideas o tips que igual te puedan gustar y ahorrar trabajo.
Un saludo
Responder

Volver a “Proyectos de hardware abiertos”