ayuda con Casduino / megaduino 1.2 o 1.56

Page 4/10
1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9

By msxmakers

Champion (392)

msxmakers's picture

24-02-2021, 20:08

JACS wrote:

Pero merlinkv, desde donde las descargo, por que en tu github no las veo...
Gracias, es que estoy como el otro companero, con lcd20x4 en verde.

respondo yo.
primero te vas al github general de merlinkv que está en https://github.com/merlinkv/
y luego vas a la carpeta de las librerías: https://github.com/merlinkv/MegaDuino_Firmware_Libraries
por si acaso no has usado mucho github, para descargarlo pulsas... CODE DOWNLOAD ZIP.
y ahi lo tienes todo.

By JACS

Master (196)

JACS's picture

24-02-2021, 23:16

Mis Mensajes de error en el proyecto : MegaDuino_1.2.ino
No sé que hacer. Sigo las instrucciones pero me sale esto al compilar..

Los pasos que sigo son: Abro el proyecto y compilo:
Me da el error de que no existe "SdFat" , entonces incluyo la libreria.
Compilo de nuevo y me da el error que no encuentra "LiquidCrystal_I2C"
Incluyo dicha librería, compilo...y me salen todos los errores que copio y pego aquí:

Arduino:1.8.13 (Windows 10), Tarjeta:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:79:0: warning: "maxblock" redefined

#define maxblock 10

In file included from D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:57:0:

sketch\MEGA2560config.h:101:0: note: this is the location of the previous definition

#define maxblock 99 // maxblock if not using EEPROM

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:269:16: warning: extra tokens at end of #ifdef directive

#ifdef LCD16 || LCD20

^~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:1142:18: warning: extra tokens at end of #ifdef directive

#ifdef LCD16 || LCD20 || OLED1306

^~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:1221:20: warning: extra tokens at end of #ifdef directive

#ifdef LCD16 || LCD20 || OLED1306

^~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino: In function 'void setup()':

MegaDuino_1.2:246:3: error: 'UniSetup' was not declared in this scope

UniSetup(); //Setup TZX specific options

^~~~~~~~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:246:3: note: suggested alternative: 'setup'

UniSetup(); //Setup TZX specific options

^~~~~~~~

setup

MegaDuino_1.2:265:3: error: 'loadEEPROM' was not declared in this scope

loadEEPROM();

^~~~~~~~~~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:265:3: note: suggested alternative: 'EEPROM'

loadEEPROM();

^~~~~~~~~~

EEPROM

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino: In function 'void loop()':

MegaDuino_1.2:285:5: error: 'uniLoop' was not declared in this scope

uniLoop();

^~~~~~~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:285:5: note: suggested alternative: 'union'

uniLoop();

^~~~~~~

union

MegaDuino_1.2:594:5: error: 'menuMode' was not declared in this scope

menuMode();

^~~~~~~~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:594:5: note: suggested alternative: 'pinMode'

menuMode();

^~~~~~~~

pinMode

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino: In function 'void stopFile()':

MegaDuino_1.2:1167:3: error: 'TZXStop' was not declared in this scope

TZXStop();

^~~~~~~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:1167:3: note: suggested alternative: 'btnStop'

TZXStop();

^~~~~~~

btnStop

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino: In function 'void playFile()':

MegaDuino_1.2:1218:7: error: 'UniPlay' was not declared in this scope

UniPlay(sfileName); //Load using the short filename

^~~~~~~

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino:1218:7: note: suggested alternative: 'btnPlay'

UniPlay(sfileName); //Load using the short filename

^~~~~~~

btnPlay

D:\Datos\Escritorio\Derecha\code guru\Casduino\MegaDuino_Firmware_1.2-main\MegaDuino_1.2\MegaDuino_1.2.ino: In function 'void SetPlayBlock()':

MegaDuino_1.2:1592:3: error: 'checkForEXT' was not declared in this scope

checkForEXT (sfileName);

^~~~~~~~~~~

exit status 1

'UniSetup' was not declared in this scope

Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

By merlinkv

Expert (77)

merlinkv's picture

24-02-2021, 23:23

Hola.

Pues no sé, tras comprobar hace un momento las pantallas LCD 16x2 y 20x4, acabo de recompilarlo para volverlo a poner con pantalla OLED 128x64 y todo me funciona bien con los tres tipos de pantalla.

Primero asegúrate de que tienes las librerías correctas y que no están duplicadas como he explicado en un mensaje anterior.

Luego, recuerda que según el tipo de pantalla que vayas a usar, hay que hacer cambios dentro de MEGA2560config.h ...

Pantallas LCD

- Activa las líneas 51, 54 y 55. Por activar me refiero a que quites los // del principio de cada línea.
- Desactiva las líneas 63 a 68 (incluídas). Para desactivar pon al principio de cada línea los //
- Línea 52: Activa o desactiva LCD 16x2
- Línea 53: Activa o desactiva LCD 20x4

(*) La línea 51 es un "caso especial" ya que se usa para definir el identificador de pantalla que en la mayoría de las LCD es 0x27, aunque algunas funcionan con 0x3f. Cambia el valor por el que corresponda.

Pantallas OLED

- Desactiva las líneas 51 a 55 (incluídas).
- Activa las líneas 63 a 68 (incluídas).

Recordad que solo se puede tener activado un tipo de pantalla.

Descarga otra vez porque igual los números de línea han cambiado (he estado trabajando un poco con los programas hace un ratito).

Intenta compilar y ya me contarás.

By merlinkv

Expert (77)

merlinkv's picture

24-02-2021, 23:33

Bueno chicos, os dejo que aquí donde vivo yo, ya es muy tarde. Mañana será otro día.

By JACS

Master (196)

JACS's picture

24-02-2021, 23:38

Aqui me dice que no tengo la libreria "SD_FAT":
[img]sdfat[/img]
La incluyo , compilo y me sale el siguiente mensaje:

[img]Liquid[/img]
Aquí me da el error de que no existe la libreria "LCD.."

Aquí incluyo la librería y vuelvo a compilar:
[img]Lcd-Incluida[/img]

Ahora que está incluida la librería me sale esto:
[img]Error-despues-de-instalar-LCD[/img]

En fin, no sé que hacer...

By msxmakers

Champion (392)

msxmakers's picture

25-02-2021, 03:09

hola,
tranquilo, será un detalle muy tonto que resolveremos entre todos.
primero, creo que estarás utilizando windows. dime cual.
segundo, prueba primero otra cosa desde el software de arduino, elige archivo - ejemplos - 01 Basics - blink
luego compila y subelo al arduino, cuando haces esto y funciona el arduino carga un programa que solo hace parpadear un led, durante un segundo encendido, y uno apagado, todo el rato.
luego, ves al github de merlinkv, vuelve a descargar
https://github.com/merlinkv/MegaDuino_Firmware_Libraries y https://github.com/merlinkv/MegaDuino_Firmware_1.2
descomprime el contenido de este ultimo en una carpeta que se llame exactamente "MegaDuino_Firmware_1.2", como la pestaña principal del programa.
luego abre el fichero MegaDuino_Firmwre_1.2.ino que suele abrir varias pestañas de las cuales esta es la principal.
ahora hay que importar las librerías.
descomprime la carpeta MegaDuino_Firmware_Libraries.zip en una carpeta y dentro abrá varios zip
desde el IDE de arduino "programa - incluir librería - añadir biblioteca zip" para añadir cada librería, primero LiquidCrystal_I2C.zip, luego SdFat-1.1.0_patched.zip (si ya has añadido una biblioteca con ese nombre te dará un mensaje de error y tendrás que borrarla como indica merlinkv más arriba) y por último prueba de añadir los otros dos zip (no recuerdo si a mi me dejaba).
Revisa que has elegido correctamente el "herramientas - placa - Arduino Mega or Mega 2560", también el procesador en herramientas - procesador - Atmega 2560, que el programador es "AVRISP mkII".
todo esto importa para que el codigo compile correctamente.
Tambien revisa que el puerto COM está configurado correctamente
despues de hacer todo esto, desde la pestaña MegaDuino_Firmware_1.2 (creo que es importante) dale a compilar y a ver si te da algun mensaje de error.
si todo va bien, mira que líneas hay que comentar / descomentar en la pestaña MEGA2560config.h para que el display sea LCD 20x04 y no las pantallas OLED, esto es, quitar el // del principio de las líneas 51 y 53 (si no ves el número de línea ves a archivo - preferencias) y luego hay que añadir // en las líneas 63 hasta 68.
quedaría tal que así:

// ==================================================================================
// Uncomment next options to select LCD screens. Remember to comment the OLED options
// ==================================================================================

#define LCD_I2C_ADDR 0x27 // Set the i2c address of your 1602LCD or 2004A usually 0x27
//#define LCD16 // Set if you are using a 1602 LCD screen
#define LCD20 // Set if you are using a 2004A LCD screen
//#define SHOW_STATUS_LCD
//#define SHOW_BLOCKPOS_LCD

// ==================================================================================

// ==================================================================================
// Uncomment next options to select OLED screens. Remember to comment the LCD options
// ==================================================================================

//#define OLED_SETCONTRAS 0xcf // Override default value inside Diplay.ino, bigger to increase output current per segment
//#define OLED_ROTATE180
//#define OLED_address 0x3C // 0x3C or 0x3D
//#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

si la primera vez compilo debería compilar tambien, recuerda, siempre desde la pestaña principal para compilar y lo subes a la placa arduino, (con el arduino conectado y eligiendo correctamente el puerto com al que este se ha conectado...).

Si algo falla manda el mensaje de error y pensamos.

buenas noches.

By merlinkv

Expert (77)

merlinkv's picture

25-02-2021, 07:08

Todo suena a tema de librerías.

Recuerda ...

Quote:

Primero si tienes abierto el Arduino IDE, ciérralo.

Busca dentro de tus "Documents" ... en mi caso:

E:\Perfiles\Merlin\Documents\Arduino\libraries\

dentro encontrarás múltiples carpetas.

Borra cualquier carpeta SdFat y LiquidCrystal_I2C que encuentres.

Decomprime los archivos de mi Github en algún sitio de tu disco duro y copia las nuevas carpetas SdFat y LiquidCrystal_I2C a tus "Documents"

Comprueba también que en "Arduino libraries", en mi caso C:\Arduino\libraries no haya librerías con el mismo nombre, si las hay, bórralas.

Ahora ya puedes ejecutar el Arduino IDE y automáticamente cargará las librerías correctas.

Para la instalación de librerías, yo prefiero hacerlo manualmente en vez de importar un zip ya que, a veces, me ha dado problemas.

Para instalar una librería manualmente, simplemente tienes que copiar la carpeta de la librería que quieras importar en tus "Documents", en mi caso: E:\Perfiles\Merlin\Documents\Arduino\libraries\

By JACS

Master (196)

JACS's picture

25-02-2021, 09:39

[img]Sintaxis[/img]

Nada, no me funciona nada. He probado con una versión inferior del IDE pero es que me da errores de programación:
en este caso me señala que los tokens que sobran son el "OR" -->"||"
"--------------------------------------------------"
D:\Datos\Escritorio\arduino\MegaDuino_1.2\MegaDuino_1.2.ino:269:16: warning: extra tokens at end of #ifdef directive

#ifdef LCD16 || LCD20
"--------------------------------------------------"

"--------------------------------------------------"
D:\Datos\Escritorio\arduino\MegaDuino_1.2\MegaDuino_1.2.ino:991:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

sendStrXY("File Deleted ",0,0);

^

D:\Datos\Escritorio\arduino\MegaDuino_1.2\MegaDuino_1.2.ino: In function 'void OledStatusLine()':

D:\Datos\Escritorio\arduino\MegaDuino_1.2\MegaDuino_1.2.ino:1474:40: warning: invalid conversion from 'const char*' to 'unsigned char*' [-fpermissive]

setXY(0,4);sendStr("Baud ---> ");
"--------------------------------------------------"

Ya he hecho todos los pasos desde 0 muchas veces, en orden pero nada. Mismos errores y yo no he tocado nada del programa principal, ni de las librerias, las cuales las he borrado de todos lados y vuelto a incorparar, tanto manualmente, como a través del IDE.

Que más puedo probar?

Gracias.

By merlinkv

Expert (77)

merlinkv's picture

25-02-2021, 09:53

Hola, buenos días.

Bueno, errores de programación no son, pero vamos a ver si lo solucionamos.

Voy a hacer una reinstalación desde cero de todo ... IDE, librerías, etc. en mi portatil y luego te cuento paso a paso, el tema.

Un saludote.

By JACS

Master (196)

JACS's picture

25-02-2021, 10:53

merlinkv wrote:

Hola, buenos días.

Bueno, errores de programación no son, pero vamos a ver si lo solucionamos.

Voy a hacer una reinstalación desde cero de todo ... IDE, librerías, etc. en mi portatil y luego te cuento paso a paso, el tema.

Un saludote.

Buenos dias Merli, perdona, no quise decir errores de programación, si no, no funcionaría la lógica y a los compañeros si les funciona. A mi, como ves son errores de sintaxis? de forma? no sé. Te paso esta otra captura. Aquí he eliminado los #ifdef lcd16 || lcd20..y los he dejado sin el || y solo con el LDC20 (que es el que tengo). Ahora el MegaDuino1_2 parece que lo ha compilado y el siguiente error ya aparece en casProcessing.ino..

En la captura se puede ver el error:
:\Datos\Escritorio\arduino\MegaDuino_1.2\casProcessing.ino: In function 'void process()':

D:\Datos\Escritorio\arduino\MegaDuino_1.2\casProcessing.ino:166:39: warning: invalid conversion from 'int' to 'const void*' [-fpermissive]

if(!memcmp_P(input,HEADER,(int)8)) {

Parace que hay por ahí una directiva que se podría activar para que dejase pasar estos fallos no?
Lo que no entiendo es que no me compile!! si os compila a todos. Tendrá que ver que tenga instalado en el pc el visual studio? java, con C++ c#.... Aunque lo he probado tambien en un portatil que no tiene nada de esto..

Gracias y quedo a la espera, saludos y perdona las molestias

[img]memcmp-p[/img]

Page 4/10
1 | 2 | 3 | | 5 | 6 | 7 | 8 | 9