Diky vsem za pomoc.
Kód: Vybrat vše
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH1106.h>
#include <Encoder.h>
int OLED_RESET = 4;
Adafruit_SH1106 display(OLED_RESET);
#define sensorPin 1
#define relayPin 8
int boostmbar;
//Stores target temp
int target = 0;
//Used for encoder
long oldPosition = 0;
long newPosition = 0;
#define offset 0
//Set encoder pins: pins 2 and 3
Encoder myEnc(2, 3);
void setup() {
pinMode(relayPin, OUTPUT);
display.begin(SH1106_SWITCHCAPVCC); // 3.3V power supply
display.clearDisplay(); // Clear the display and ram // put your setup code here, to run once:
}
void loop() {
int boostmbar = map(analogRead(sensorPin), 21, 961, 100, 2600);
if (boostmbar > (target + offset)) {
digitalWrite(relayPin, HIGH);
}
else if (boostmbar < (target - offset)) {
digitalWrite(relayPin, LOW);
}
newPosition = myEnc.read();
if (newPosition != oldPosition) {
if (newPosition > oldPosition) {
target = target + 10;
} else {
target = target - 10;
}
oldPosition = newPosition;
}
display.setTextColor(WHITE);
display.setTextSize(4);
display.setCursor(0, 0);
display.println(boostmbar);
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(30, 40);
display.println(target);
delay(10);
display.display();
display.clearDisplay();
}