Hallo zusammen.
Ich möchte für ein Projekt folgende 2 Komponenten an einen Mega anbringen.
Zum einen dieses (an pins 50-53): https://www.amazon.de/gp/product/B086V3HLQ4/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Zum anderen dieses Display (mit Shield also aufgesteckt):
Den Can-Bus Adapter habe ich auch schon am laufen jedoch hakt es beim Display.
Dieses hatte ich auch schon mal mit der LCD-WIKI Library an einem Mega an einem anderen Projekt in Betrieb, jedoch spukt er mir jetzt den Fehler "mylcd was not declared in this scope" aus.
Kann mir jemand meinen Fehler erklären?
Vielen Dank im Vorraus!
Der bisherige Code:
#include <SPI.h>
#include <mcp2515.h>
#include <LCDWIKI_GUI.h> //Core graphics library
#include <LCDWIKI_KBV.h> //Hardware-specific library
struct can_frame canMsg;
MCP2515 mcp2515(53);
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
int l_raw;
int l;
int r_raw;
int r;
float p;
void setup() {
mylcd.Init_LCD();
mylcd.Fill_Screen(BLACK);
Serial.begin(115200);
mcp2515.reset();
mcp2515.setBitrate(CAN_125KBPS);
mcp2515.setNormalMode();
Serial.println("------- CAN Read ----------");
Serial.println("ID DLC DATA");
}
void loop() {
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK) {
Serial.print(canMsg.can_id, HEX); // print ID
Serial.print(" ");
Serial.print(canMsg.can_dlc, HEX); // print DLC
Serial.print(" ");
for (int i = 0; i<canMsg.can_dlc; i++) { // print the data
Serial.print(canMsg.data[i],HEX);
Serial.println(" ");
}
l_raw=(canMsg.data[0])*2;
r_raw=(canMsg.data[1])*2;
p=(canMsg.data[2]);
if (l_raw!=0) {l=l_raw;}
if (r_raw!=0) {r=r_raw;}
Serial.print("Links: ");Serial.print(l);Serial.print("Rechts: ");Serial.print(r);Serial.print("Druck: ");Serial.println(p);
}
}