ändere
#define DEBUG_SERIAL_ENABLE
in
#define DEBUG_SERIAL_DISABLE
sowie
#define nexSerial Serial2
in
#include <SoftwareSerial.h> extern SoftwareSerial HMISerial; #define nexSerial HMISerial
Dann kann man in seinem Projekt folgendes hinzufügen
SoftwareSerial HMISerial(10, 11);
Sollte es dennoch nicht gehen obwohl RX/TX richtig angeschlossen sind
und auch keine Fehlermeldungen kamen bei der Arduino-IDE dann habt ihr wahrscheinlich nexInit();
vergessen!
Ein Beispielcode sieht zum Bsp so aus:
#include "Nextion.h" #include <Seeed_BME280.h> #include <Wire.h> BME280 bme280; SoftwareSerial HMISerial(10, 11); float atemp = 0; float ahumidity = 0; unsigned long arefreshtime = 0; int arefresh = 2000; static char temperatureCTemp[6]; char hhumid[10] = {0}; NexText ttemp = NexText(0, 6, "ttemp"); NexText thumidity = NexText(0, 7, "tfeuchtigkeit"); NexText terror = NexText(0, 8, "terror"); NexButton trefresh = NexButton(0, 9, "trefresh"); NexSlider tslide = NexSlider(0, 1, "tslide"); NexTouch *nex_listen_list[] = {&tslide, &trefresh, NULL}; void trefreshPopCallback(void *ptr) // Refresh { } void tslidePopCallback(void *ptr) // Slider { } void setup() { Serial.begin(9600); nexInit(); trefresh.attachPop(trefreshPopCallback, &trefresh); tslide.attachPop(tslidePopCallback); arefreshtime = millis(); if(!bme280.init()) { terror.setText("Fehler bei der Verbindung mit dem BME280-Sensor"); } atemp = bme280.getTemperature(); dtostrf(atemp, 6, 2, temperatureCTemp); ttemp.setText(temperatureCTemp); ahumidity = bme280.getHumidity(); utoa(int(ahumidity), hhumid, 10); thumidity.setText(hhumid); } void loop() { if (millis() - arefreshtime > arefresh) { arefreshtime = millis(); atemp = bme280.getTemperature(); dtostrf(atemp, 6, 2, temperatureCTemp); ttemp.setText(temperatureCTemp); ahumidity = bme280.getHumidity(); utoa(int(ahumidity), hhumid, 10); thumidity.setText(hhumid); } nexLoop(nex_listen_list); }