Как управлять яркостью светодиода с помощью энкодера и шим

Ничосе_Илья

✩✩✩✩✩✩✩
1 Апр 2021
12
0
Здравствуйте, как изменять яркость светодиода с помощью энкодера и библиотеки Encoder.h
C++:
#define ledPin 13
#include <Encoder.h>
Encoder myEnc(2, 3);


void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
int val = myEnc.read();
    if(val)
    {
      analogWrite(ledPin, val);
      Serial.println(val);
    }
 
}
 

bort707

★★★★★★✩
21 Сен 2020
3,056
910
Это статья для новичков или у вас что-то не получается?
 

Normalek

★✩✩✩✩✩✩
6 Авг 2021
140
39
@Ничосе_Илья, самый простой вариант
C++:
#define ledPin 13
#include <Encoder.h>
Encoder myEnc(2, 3);


void setup() {
  pinMode(ledPin, OUTPUT);
}

int8_t position;
uint8_t led_pwn = 100;

void loop() {
  position = (int8_t)myEnc.readAndReset();
  if(position) {
    if(position > 0 && led_pwn != 255) led_pwn ++;
    if(position < 0 && led_pwn != 0) led_pwn --;
    analogWrite(ledPin, led_pwn);
  }
}
 
  • Лойс +1
Реакции: Ничосе_Илья