Hola, gracias a todos por leerme.
seguro que haré algo mal pues soy un inepto en arduino.
Soy electricista con algún conocimiento de electrónica y me gusta hacer "bricos" en mis coches.
Mi dacia Dokker no trae indicador de temperatura del motor y con la ayuda de un colega de Almería dimos con unos rusos que habían logrado con un arduino nano, un modulo MCP2515_2 que sirve para leer el bus CAN del coche y una mini pantalla oled I2c mostrar esa temperatura.
Ya os digo que mis conocimientos de arduino son mínimos y que seguro que esto es mucho para mí pero ya había logrado cosas más difíciles.
El problema que tengo con este proyecto es que tengo un error de compilación del programa.
El Creador, un Ruso he hablado con él pero hace años que abandono su coche y no quiere colaborar, además el traductor ruso-español de google no debe de ser muy bueno.
si queréis os puedo ir subiendo más información. Como ya os e dicho seguro que hago algo mal y no quiero saltarme las normas del foro.
Os dejo la parte del código que creo que esta mal y a continuación el error que me da al compilar.
adjunto dos ficheros txt.
uno con el codigo que creo que contiene el error y otro con el mensaje de error que me da el IDE
codigo con error.txt (23.5 KB)
mensajes de error
mensajes de error.txt (31 KB)
No has publicado siguiendo las normas del foro, y parece que ni te has parado a leer ningún hilo.
Lo digo, porque casi todos los hilos empiezan con una replica del moderador surbyte haciendo hincapié en esto.
Ni estas en el foro que toca, ni has publicado el código entero, y el que has publicado lo has hecho en un adjunto.
Aún y así he dado un vistazo al mensaje de error, y en la primera linea sale:
Arduino:1.8.7 (Windows 10), Tarjeta:"Generic ESP8266
Pero tu habías mencionado un Nano.
En que quedamos ?
Gracias por responder.
efectivamente se trata de un nano, llevo muchos días intentando corregir el error por mi cuenta. he bajado de versión de arduino instalado de nuevo desinstalado y al final no me funcionaba el programa en el ordenador.
Gracias a este post que encontré: Aquí
he conseguido que me funcione y reducido muchos errores que no me dejaban compilar el programa, reduciendolos a solo el que pongo. Si dejo la tarjeta nano seleccionada al compilar salen muchos más errores.
El codigo no esta completo, si lo pongo usando </> no me deja porque es demasiado largo y no se como hacerlo, por eso subí un fichero .txt
Vuelvo a pedir perdón por no hacer las cosas bien pero estoy muy verde en todo esto.
Gracias
Gracias @jordi3sk97 por recordarles a los colegas que deben leer las normas.
Tal como el dijo, no has leído nada y lo peor es que después que te lo dijo, publicas un enlace y lo pones como simple texto
En otras Secciones de Arduino publican las cosas de ese modo. Se debe simplemente a que son muchos los que escriben y los moderadores no tienen vida para poder responder y pedirles a todos que hagan las cosas conforme a las normas.
No has posteado en la sección adecuada asi que te envío a la que corresponde que es Software.
Ahora lee el link y verás que no esta como simple texto (como tu lo posteaste) y edita cada post con faltas a las normas.
En el post#2 el código esta adjunto y tiene menos de 9k. Edita y colócalo con etiquetas para que se vea.
Gracias por corregirme. Me leí las normas se lo aseguro, pero efectivamente cometí errores, seguramente por mi falta de manejo en el foro y mis ansias por corregir el error en mí código. Perdón de nuevo. Lo del link, fallo mío, ya esta corregido espero haberlo hecho bien. Lo de los adjuntos los puse pues soy incapaz de subir el código (incompleto) con etiquetas, me lanza el siguiente error:
A ver @jesusmendavia para ayudarte debes ayudarnos.
No está tu código y solo pones dos adjuntos con los errores. Los errores se pueden deber a muchas razones pero para reproducir tu error debemos tener tu código.
Tu error esta acá además de que veo tienes muchas librerías similares pero debes depurar eso borrando las repetidas.
'fontdatatype' Urabus[] _PROGMEM_ =
eso esta mal.
Primero nada se pone entre ' tildes
será
fontdatatype Urabus[] _PROGMEM_
la forma actual es
const ALGUN_TIPO_de_Variable PROGMEM
Pregunta: de donde has extraído ese código? Ese código no es tuyo porque usa forrmatos y cosas viejas.
coloca el link y al hacerlo por favor mira como se hace de acuerdo a las normas.
buff, vamos a ver es algo complicado. Como digo en mi primer post esta sacado de un foro ruso. Los rusos son de los pocos que le meten mano a la electrónica de los coches.
el proyecto lo explican "en ruso" Aquí: enlace a foro ruso tendrás que tirar de traductor para enterarte un poco. El ruso creó esto en 2017. Yo el año pasado me puse a hacerlo, puedes ver mis preguntas en los comentarios, pero la pantalla me llego mal y por carga de trabajo lo dejé en el baúl de los recuerdos. El Código me lo envío "urabus" el creador del post el año pasado. estos días he retomado el tema, me he puesto en contacto con él pero no me da soporte, me dice que ya no tiene los archivos. se los he pasado yo pero pasa de mí.
Para no saturar el foro en vez de adjuntar archivos os dejo enlace de mi carpeta con los archivos en drive:
Código en mi Drive
jesusmendavia:
../..
he conseguido que me funcione y reducido muchos errores que no me dejaban compilar el programa, reduciendolos a solo el que pongo. Si dejo la tarjeta nano seleccionada al compilar salen muchos más errores.
../..
No vamos bien, no puede ser que nos mandes a una carpeta del drive
Hazlo bien, el tiempo es un recurso escaso, para tener que repetir las cosas
-
Haz el favor de postear el código, ORIGINAL (sin tus modificaciones) del programa, el fichero .ino
-
No estaria de mas que colgaras la imagen del esquema
-
Si vas a utilizar un arduino nano, HAS DE SELECCIONAR UN NANO
Podrías haber hecho algo así, (No se si este código es el original o si es el que TU has modificado.)
Urabus2.ino
#include <mcp_can.h>
#include <Wire.h>
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL); // 4pin - SDA , 5pin - SCL
extern uint8_t Urabus[]; // Подключение шрифтов
MCP_CAN CAN(10);
long unsigned int rxId = 0;
unsigned char TEMP = 0;
unsigned char len = 0;
unsigned char rxBuf[8];
void setup()
{
myOLED.begin();
myOLED.setBrightness(180);
CAN.begin(CAN_1000KBPS);
}
void loop()
{
CAN.readMsgBuf(&len, rxBuf); // Read data: len = data length, buf = data byte(s)
rxId = CAN.getCanId(); // Get message ID
myOLED.setFont(Urabus); // Устанавливаем шрифт
switch( rxId )
{
case 1498:
TEMP = (rxBuf[0]-40);
myOLED.clrScr(); // очищаем экран
myOLED.invert(false);
if (TEMP<100) {
myOLED.print("/",0,0); // Выводим символ "Температура"
myOLED.print(TEMP,41,2); // вывод значения температуры
myOLED.print(".",123,2); // вывод символа "градус" температуры
myOLED.update();
}
else
{
myOLED.print(TEMP,CENTER,2); // вывод значения температуры
myOLED.print(".",123,2); // вывод символа "градус" температуры
myOLED.update();
}
break;
case 0:
myOLED.clrScr(); // очищаем экран
myOLED.invert(true);
myOLED.print("0000",CENTER,2);
myOLED.update();
break;
}
}
Urabus.c como adjunto
Urabus.c (23.2 KB)
El archivo. Ino esta en mi carpeta de drive, lo puse así porque en las normas pone que a ser posible se evite subir archivos al foro y porque así comparto librerías, imágenes y demás. Si hay alguien interesado en el proyecto o en prestarme ayuda Lo tiene todo hay.De todas maneras lo voy a adjuntar en este post como dices(igual otra vez lo estoy haciendo mal), el Código que hay tanto en mi drive como aquí adjunto es el original.
Una imagen de la esquemática:
el programa .ino al abrirlo tiene 3 pestañas:
una URABUS2
#include <mcp_can.h>
#include <Wire.h>
#include <OLED_I2C.h>
OLED myOLED(SDA, SCL); // 4pin - SDA , 5pin - SCL
extern uint8_t Urabus[]; // Подключение шрифтов
MCP_CAN CAN(10);
long unsigned int rxId = 0;
unsigned char TEMP = 0;
unsigned char len = 0;
unsigned char rxBuf[8];
void setup()
{
myOLED.begin();
myOLED.setBrightness(180);
CAN.begin(CAN_1000KBPS);
}
void loop()
{
CAN.readMsgBuf(&len, rxBuf); // Read data: len = data length, buf = data byte(s)
rxId = CAN.getCanId(); // Get message ID
myOLED.setFont(Urabus); // Устанавливаем шрифт
switch( rxId )
{
case 1498:
TEMP = (rxBuf[0]-40);
myOLED.clrScr(); // очищаем экран
myOLED.invert(false);
if (TEMP<100) {
myOLED.print("/",0,0); // Выводим символ "Температура"
myOLED.print(TEMP,41,2); // вывод значения температуры
myOLED.print(".",123,2); // вывод символа "градус" температуры
myOLED.update();
}
else
{
myOLED.print(TEMP,CENTER,2); // вывод значения температуры
myOLED.print(".",123,2); // вывод символа "градус" температуры
myOLED.update();
}
break;
case 0:
myOLED.clrScr(); // очищаем экран
myOLED.invert(true);
myOLED.print("0000",CENTER,2);
myOLED.update();
break;
}
}
Otra con OLED_I2.h
/*
OLED_I2C.h - Arduino/chipKit library support for 128x64 pixel SSD1306 OLEDs
Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
This library has been made to make it easy to use 128x64 pixel OLED displays
based on the SSD1306 controller chip with an Arduino or a chipKit.
You can always find the latest version of the library at
http://www.RinkyDinkElectronics.com/
This library is free software; you can redistribute it and/or
modify it under the terms of the CC BY-NC-SA 3.0 license.
Please see the included documents for further information.
Commercial use of this library requires you to buy a license that
will allow commercial use. This includes using the library,
modified or not, as a tool to sell products.
The license applies to all part of the library including the
examples and tools supplied with the library.
*/
#ifndef OLED_I2C_h
#define OLED_I2C_h
#define SSD1306_ADDR 0x3C
#define LEFT 0
#define RIGHT 9999
#define CENTER 9998
#define SSD1306_COMMAND 0x00
#define SSD1306_DATA 0xC0
#define SSD1306_DATA_CONTINUE 0x40
#define RST_NOT_IN_USE 255
// SSD1306 Commandset
// ------------------
// Fundamental Commands
#define SSD1306_SET_CONTRAST_CONTROL 0x81
#define SSD1306_DISPLAY_ALL_ON_RESUME 0xA4
#define SSD1306_DISPLAY_ALL_ON 0xA5
#define SSD1306_NORMAL_DISPLAY 0xA6
#define SSD1306_INVERT_DISPLAY 0xA7
#define SSD1306_DISPLAY_OFF 0xAE
#define SSD1306_DISPLAY_ON 0xAF
#define SSD1306_NOP 0xE3
// Scrolling Commands
#define SSD1306_HORIZONTAL_SCROLL_RIGHT 0x26
#define SSD1306_HORIZONTAL_SCROLL_LEFT 0x27
#define SSD1306_HORIZONTAL_SCROLL_VERTICAL_AND_RIGHT 0x29
#define SSD1306_HORIZONTAL_SCROLL_VERTICAL_AND_LEFT 0x2A
#define SSD1306_DEACTIVATE_SCROLL 0x2E
#define SSD1306_ACTIVATE_SCROLL 0x2F
#define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3
// Addressing Setting Commands
#define SSD1306_SET_LOWER_COLUMN 0x00
#define SSD1306_SET_HIGHER_COLUMN 0x10
#define SSD1306_MEMORY_ADDR_MODE 0x20
#define SSD1306_SET_COLUMN_ADDR 0x21
#define SSD1306_SET_PAGE_ADDR 0x22
// Hardware Configuration Commands
#define SSD1306_SET_START_LINE 0x40
#define SSD1306_SET_SEGMENT_REMAP 0xA0
#define SSD1306_SET_MULTIPLEX_RATIO 0xA8
#define SSD1306_COM_SCAN_DIR_INC 0xC0
#define SSD1306_COM_SCAN_DIR_DEC 0xC8
#define SSD1306_SET_DISPLAY_OFFSET 0xD3
#define SSD1306_SET_COM_PINS 0xDA
#define SSD1306_CHARGE_PUMP 0x8D
// Timing & Driving Scheme Setting Commands
#define SSD1306_SET_DISPLAY_CLOCK_DIV_RATIO 0xD5
#define SSD1306_SET_PRECHARGE_PERIOD 0xD9
#define SSD1306_SET_VCOM_DESELECT 0xDB
#if defined(__AVR__)
#include "Arduino.h"
#include "hardware/avr/HW_AVR_defines.h"
#elif defined(__PIC32MX__)
#include "WProgram.h"
#include "hardware/pic32/HW_PIC32_defines.h"
#elif defined(__arm__)
#include "Arduino.h"
#include "hardware/arm/HW_ARM_defines.h"
#endif
struct _current_font
{
uint8_t* font;
uint8_t x_size;
uint8_t y_size;
uint8_t offset;
uint8_t numchars;
uint8_t inverted;
};
class OLED
{
public:
OLED(uint8_t data_pin, uint8_t sclk_pin, uint8_t rst_pin);
OLED(uint8_t data_pin, uint8_t sclk_pin);
void begin();
void update();
void setBrightness(uint8_t value);
void clrScr();
void fillScr();
void invert(bool mode);
void setPixel(uint16_t x, uint16_t y);
void clrPixel(uint16_t x, uint16_t y);
void invPixel(uint16_t x, uint16_t y);
void invertText(bool mode);
void print(char *st, int x, int y);
void print(String st, int x, int y);
void printNumI(long num, int x, int y, int length=0, char filler=' ');
void printNumF(double num, byte dec, int x, int y, char divider='.', int length=0, char filler=' ');
void setFont(uint8_t* font);
void drawBitmap(int x, int y, uint8_t* bitmap, int sx, int sy);
void drawLine(int x1, int y1, int x2, int y2);
void clrLine(int x1, int y1, int x2, int y2);
void drawRect(int x1, int y1, int x2, int y2);
void clrRect(int x1, int y1, int x2, int y2);
void drawRoundRect(int x1, int y1, int x2, int y2);
void clrRoundRect(int x1, int y1, int x2, int y2);
void drawCircle(int x, int y, int radius);
void clrCircle(int x, int y, int radius);
protected:
uint8_t _scl_pin, _sda_pin, _rst_pin;
boolean _use_hw;
_current_font cfont;
uint8_t scrbuf[1024];
void _print_char(unsigned char c, int x, int row);
void _convert_float(char *buf, double num, int width, byte prec);
void drawHLine(int x, int y, int l);
void clrHLine(int x, int y, int l);
void drawVLine(int x, int y, int l);
void clrVLine(int x, int y, int l);
void _initTWI();
void _sendTWIstart();
void _sendTWIstop();
void _sendTWIcommand(uint8_t value);
void _sendStart(byte addr);
void _sendStop();
void _sendAck();
void _sendNack();
void _waitForAck();
void _writeByte(uint8_t value);
#if defined(__arm__)
Twi *twi;
#endif
};
#endif
y otra con Urabus.c
Esta otra no la puedo poner entre etiquetas porque me sale el error de los 9000 caracteres. ya esta adjunto arriba.
Urabus2.ino (1.39 KB)
Si compilo el programa con la tarjeta nano en un nano 328 el resultado son estos errores:
Arduino:1.8.7 (Windows 10), Tarjeta:"Arduino Nano, ATmega328P"
C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\arduino-builder -dump-prefs -logger=machine -hardware C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware -hardware C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\packages -tools C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\tools-builder -tools C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -tools C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\packages -built-in-libraries C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\libraries -libraries C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\sketchbook\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10807 -build-path C:\Users\JESSFE~1\AppData\Local\Temp\arduino_build_833761 -warnings=none -build-cache C:\Users\JESSFE~1\AppData\Local\Temp\arduino_cache_518119 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -verbose C:\Users\Jesús Fernández\Desktop\DACIA\Urabus2\Urabus2\Urabus2.ino
C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\arduino-builder -compile -logger=machine -hardware C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware -hardware C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\packages -tools C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\tools-builder -tools C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -tools C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\packages -built-in-libraries C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\libraries -libraries C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\sketchbook\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10807 -build-path C:\Users\JESSFE~1\AppData\Local\Temp\arduino_build_833761 -warnings=none -build-cache C:\Users\JESSFE~1\AppData\Local\Temp\arduino_cache_518119 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr -verbose C:\Users\Jesús Fernández\Desktop\DACIA\Urabus2\Urabus2\Urabus2.ino
Using board 'nano' from platform in folder: C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\arduino\avr
Detecting libraries used...
"C:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "C:\\Users\\JESSFE~1\\AppData\\Local\\Temp\\arduino_build_833761\\sketch\\Urabus2.ino.cpp" -o nul
"C:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\portable\\sketchbook\\libraries\\MCP2515_2" "C:\\Users\\JESSFE~1\\AppData\\Local\\Temp\\arduino_build_833761\\sketch\\Urabus2.ino.cpp" -o nul
"C:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\portable\\sketchbook\\libraries\\MCP2515_2" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Users\\JESSFE~1\\AppData\\Local\\Temp\\arduino_build_833761\\sketch\\Urabus2.ino.cpp" -o nul
"C:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\portable\\sketchbook\\libraries\\MCP2515_2" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\libraries\\SPI\\src" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\JESSFE~1\\AppData\\Local\\Temp\\arduino_build_833761\\sketch\\Urabus2.ino.cpp" -o nul
"C:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\variants\\eightanaloginputs" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\portable\\sketchbook\\libraries\\MCP2515_2" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\libraries\\SPI\\src" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\Jesús Fernández\\Desktop\\arduino-1.8.7\\portable\\sketchbook\\libraries\\OLED_I2C" "C:\\Users\\JESSFE~1\\AppData\\Local\\Temp\\arduino_build_833761\\sketch\\Urabus2.ino.cpp" -o nul
In file included from C:\Users\Jesús Fernández\Desktop\DACIA\Urabus2\Urabus2\Urabus2.ino:4:0:
OLED_I2C.h:79:42: error: hardware/avr/HW_AVR_defines.h: No such file or directory
compilation terminated.
Si lo compilo con la tarjeta generic esp8266 los errores se rducen al mencionado del "fondatype"
Urabus.c:13:1: error: unknown type name 'fontdatatype'
const fontdatatype Urabus[] PROGMEM =
^
Urabus.c:13:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'PROGMEM'
const fontdatatype Urabus[] PROGMEM =
^
Utilizando biblioteca MCP2515_2 en carpeta: C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\sketchbook\libraries\MCP2515_2 (legacy)
Usando librería SPI con versión 1.0 en la carpeta: C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\packages\esp8266\hardware\esp8266\2.6.3\libraries\SPI
Usando librería Wire con versión 1.0 en la carpeta: C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\packages\esp8266\hardware\esp8266\2.6.3\libraries\Wire
Utilizando biblioteca OLED_I2C en carpeta: C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\portable\sketchbook\libraries\OLED_I2C (legacy)
exit status 1
unknown type name 'fontdatatype'[code]
este error no me deja ponerlo por tener muchos caracteres o yo no se hacerlo
Bueno,,,,
De tus errores me llama la atención que tengas directorios con el nombre
C:\Users\Jesús Fernández
../..
C:\Users\Jesús Fernández\
Pero quien soy yo, para desaconsejar la utilización de caracteres extendidos en los nombres de directorios del sistema.
En cualquier caso
Yo tengo el IDE 1.8-10 bajo una Debian buster
Me lo he bajado, y lo he compilado sin ningún problema para un nano
Quizás no tienes la librería adecuada.
Yo he compilado con esta.
También podrías probar con esta otra (No la he probado)
http://www.rinkydinkelectronics.com/library.php?id=79
http://www.rinkydinkelectronics.com/download.php?f=OLED_I2C.zip
A ver si cuando lo instales en el vehículo, publicas una foto.
Pues debo de tener un popurri en mi pc porque no entiendo de esto y al instalar y desinstalar varias veces creo que me ha quedado basura en el pc.
instale una versión "portable" para que me empezara a funcionar de nuevo arduino.
intentaré haber si me sale con lo que dices tú
jordi3sk97:
Bueno,,,,De tus errores me llama la atención que tengas directorios con el nombre
Pero quien soy yo, para desaconsejar la utilización de caracteres extendidos en los nombres de directorios del sistema.
Te aseguro que yo no he querido hacer eso. Probé con cada una de las librerias que me dices y nada.
he instalado de nuevo arduino. Ahora estoy en la 1.8.12.
Creo que estoy dando palos a ciegas.
Actualmente me encuentro Aquí:
Arduino:1.8.12 (Windows 10), Tarjeta:"Arduino Nano, ATmega328P"
In file included from sketch\Urabus.c:1:0:
OLED_I2C.h:98:1: error: unknown type name 'class'; did you mean 'labs'?
class OLED
^~~~~
labs
OLED_I2C.h:99:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
exit status 1
unknown type name 'class'; did you mean 'labs'?
Este informe podría contener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.
El archivo original que me mando en su dia el ruso incluye esto:
No se si hay que abrir directamente el .ino si tengo que poner los tres en una carpeta o que estoy haciendo mal
Bien no se como lo he hecho pero por fin lo he compilado. pero a la hora de subirlo al nano me lanza este error:
Arduino:1.8.7 (Windows 10), Tarjeta:"Arduino Nano, ATmega328P"
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\Jesús Fernández\Desktop\arduino-1.8.7\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
avrdude done. Thank you.
Ha ocurrido un error mientras se enviaba el sketch
Un NANO no recibe jama's datos a 115200. Algo raro pasa ahi
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
Usando el Sublime Text 3 + Deviot bajo PlatformIO se tiene la capacidad de poder jugar con las velocidades y justamente cuando arrastraba un UNO/MEGA siempre el NANO me daba error porque no soporta uploads mayores a la mitad o sea 57600BPS
Buf, ni idea. Vuelvo a estar como al principio
Bien pues con vuestra ayuda y en especial la de @surbyte por fin he conseguido compilar el programa y subirlo al nano, pero...
Al pre-montarlo para probarlo veo que la pantalla no se lee.
el resultado final tendría que ser este:
pero en mi pantalla muestra esto:
Como estoy pendiente de recibir otra pantalla OLED esperaré a sustituirla para descartar otros errores.
Os iré avisando del resultado.