OLED i BH1750

QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

Pomóżcie chłopaki. Nie chce mi to wyświetlić wartości liczbowej z czujnika natężenia światła na oled'zie:

Code: Select all

case 4:
        display.setTextSize(2);
        display.setCursor(45, 25);  
        display.print((LightSensor.GetLightIntensity()), 0);
        display.println("Lux");
        drawbitmap(lux_glcd_bmp, LOGO32_GLCD_HEIGHT, LOGO32_GLCD_WIDTH);
        break;
na oledzie pojawia się tylko napis "Lux" a przednim dowolny jeden znak. Wygląda np tak: >Lux

Skopiowałem z wyświetlania ciśnienia , które na oled idzie bez problemu:

Code: Select all

 case 3:
         display.setTextSize(2);
         display.setCursor(42, 25);  
        display.print(bme.readPressure() / 100.0F, 0);
        display.println("hPa");
        drawbitmap(pressure_glcd_bmp, LOGO32_GLCD_HEIGHT, LOGO32_GLCD_WIDTH);
        break;
Natomiast na podglądzie portu i wysyłanie do Supla Cloud wartości z BH1750też bez problemu działa:

Code: Select all

double get_distance(int channelNumber, double t) {

 // float lux = analogRead(LIGHTSENSORPIN);             //TEMT6000
   double lux = LightSensor.GetLightIntensity();     //BH1750
    t = abs(lux);
    Serial.print("Natezenie swiatla = ");
    Serial.print(LightSensor.GetLightIntensity());
    delay(1250);
    return t;
o co kaman?
jak coś nie działa to włącz zasilanie.....
User avatar
wojtas567
Posts: 2334
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Post

zobacz czy tak Ci zadziała
display.print(LightSensor.GetLightIntensity(), 0);
Pozdrawiam
Wojtek
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

wojtas567 wrote: Sat Jun 15, 2019 11:58 am zobacz czy tak Ci zadziała
display.print(LightSensor.GetLightIntensity(), 0);
:D też już byłem cwaniak i kombinowałem z nawiasami. Nie działa.
jak coś nie działa to włącz zasilanie.....
Zybi
Posts: 1511
Joined: Sun Jun 26, 2016 4:24 pm

Post

Zamień na stringa.
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

ok. a może kolega przerobić ten kod . Proszę.

Swoją drogą nie mogę zrozumieć czemu temp ciśnienie wilgotność z funkcji bme wyświetla.oled normalnie bez przerabiania
jak coś nie działa to włącz zasilanie.....
QLQ
Posts: 2512
Joined: Sun Sep 03, 2017 9:13 am

Post

Jak zwykle problem sam rozwiązałem. Takie proste:

Code: Select all

void DisplayTemp() {

double Light_Intensity = LightSensor.GetLightIntensity();
.
.
.

Code: Select all

 case 4:
       display.setTextSize(2);
        display.setCursor(42, 25);  
        display.print(Light_Intensity, 0);
        display.println("Lux");
20190616_203851.jpg
Mam jeszcze pytanie odnośnie programu LCDAssistant - nie mogę za diabła zrobić konwersji BMP do wersji 16 do kodu. Jak kolego @shimano73 przerobiłeś te ikonki. Nie chodzi mi o kod ale o konwersję. Coś ten progr u mnie nie działa. Jak wybiorę iko.bmp która ma 32x32 to mam same 0x00 ....czyli same zera. WTF ?
jak coś nie działa to włącz zasilanie.....

Return to “Pomoc”