Našla by sa nejaká ochotná duša a pomohla " napísala " mi program ?
Mám v aute LPG a chcel by som podrobnejšie zobrazovať na display stav nádrže najlepšie v % .
Zatial je snímanie riešene tak že na nádrži je ručičkový ukazatel " 90 ohmov čo som meral tak 1,6ohmu je prázna a 90,6 plná nádrž .
Chcel by som sa paralerne napojiť na snímanie prechádza tam napatie do max 2,7 V Pri prázdnej nádrži klesá aj napatie . . . (prípadne ešte premerám )
Chcel som použiť funkciu map ale som z toho ešte lavý pozliepal som všetko možne zatial mám len to to. (display mám 128x32 oled)
Kód: Vybrat vše
#include <Arduino.h>
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // Adafruit ESP8266/32u4/ARM Boards + FeatherWing OLED
// End of constructor list
int plyn = A0; //Snímanie odporu potenciometra
int analog_hodnota; // 0-1023 analog vstup
float vpercentach; // od 0 - 99%
void setup(void) {
u8g2.begin();
}
void loop(void) {
analog_hodnota = analogRead(plyn); // nacitanie hodnoty z potenciometra (0-1023)
vpercentach = map(analog_hodnota, 0, 1023, 0, 99); // preskalovanie na 0-99 (v desatinach V)
//float vpercentach = plyn * (10.0 / 1023.0);
u8g2.clearBuffer(); // clear the internal memory
u8g2.setFont(u8g2_font_logisoso32_tf); // choose a suitable font
u8g2.setCursor(0, 32);
u8g2.print(vpercentach);
u8g2.sendBuffer(); // transfer internal memory to the display
delay(1000);
}