dtostrf(_h_, 4, 0, hTemp)
Ta linijka nie przechodzi weryfikacji. A tak w ogóle to przy użyciu hexa nie powinno się też kodować przycisków? Widziałem to gdzieś w przykładzie
To jest mój przykład a nie to co miałeś zrobić. Miałeś zrobić tak
Serial.print("bt0.val=");
Serial.write(0x22);
Serial.print(0);
Serial.write(0x22);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
Zrobiłem tak:
Kod:
if (lux < 50)
{
Serial.print("bt0.val=");
Serial.write(0x22);
Serial.print(1);
Serial.write(0x22);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
digitalWrite(TRIGGER, HIGH);
Serial.println("lamp is ON");
}
else {
Serial.print("bt0.val=");
Serial.write(0x22);
Serial.print(0);
Serial.write(0x22);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
digitalWrite(TRIGGER, LOW);
Serial.println("lamp is OFF");
i dalej nic...
Cały czas ta sama sytuacja na MCU Return to widać, a na Simulator Return, że komenda jest nieprawidłowa
Nie potrzebnie wprowadziłem w błąd bo się coś zmieniło
To jest prawidłowy kod
Kod:
#include <Wire.h>;
#include <BH1750.h>;
int TRIGGER = 12;
BH1750 lightMeter;
char buffer[100] = {0};
void setup(){
Serial.begin(9600);
Wire.begin();
lightMeter.begin();
pinMode (TRIGGER,OUTPUT);
}
void loop() {
float lux = lightMeter.readLightLevel();
delay(250);
if (lux < 50)
{
Serial.print("bt0.val=");
Serial.print("1");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
digitalWrite(TRIGGER, HIGH);
}
else {
Serial.print("bt0.val=");
Serial.print("0");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
digitalWrite(TRIGGER, LOW);
}
}
Ale i tak robisz dużo błędów
po pierwsze jak piszesz już kod to nie wysyłaj coś innego na port bo to zakłóca pracę a one nic nie wnoszą do nextion..
Po drugie drugi błąd w nextion i to poważny nie opieraj się na na dotyku bt0 bo nie wykona się ten kod jak dane przyjdą po rs
Kod:
if(bt0.val==1)
{
b0.val=1
b1.val=1
}else
{
b0.val=0
b1.val=0
}
A tym samym kierunkowskazy nie będą migać z awaryjnym to musisz oprzeć o timer
Mi działa ten kod i twój projekt nextion ale mruga tylko przycisk awaryjny
No i po trzecie temat dotyczył o kontrolkach...
Wiec by zmieniać kontrolki dajmy na to światła włacz/wyłaczone to masz dwa wyjścia albo zmiana obrazka
Serial.print("b5.pic=");
Serial.print("28");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
i wyłączenie
Serial.print("b5.pic=");
Serial.print("27");
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
Ale to zakłuci ci pracę z dotykiem i proponował by zmianę z bution na dual-state-bution ewentualnie wszystko oprzeć o timer i zmienne val.
Właśnie sprawdziłem wszystko działa, jesteś najlepszy :D
Nie zamykam jeszcze wątku bo jak ogarnę sobie te kontrolki ze stycznikami to marzy mi się wykorzystać prędkościomierz ten przy motocyklu bo jest cyfrowy. Niby kupiłem czujnik szczelinowy ale byłoby dużo roboty z tym żeby on funkcjonował przy motocyklu.