Продукти

Rotary encoder и Arduino

Rotary encoder и Arduino
7 март 2023

Енкодерът е устройство, което може да се използва за увеличаване или намаляване на стойността на променлива в Arduino. Възможните приложения са за управление на нивото на led лента чрез pwm или за контролиране ъгъла на серво мотор. Енкодера се свързва към Arduino чрез 3 входа: Clock, Data, Switch. Често Clock и Data са наричани изход А и В.

 

Фиг. 1 Rotary encoder - виж в галерията под статията. 

 

Фиг. 2 Пин конфигурация на енкодер - виж в галерията под статията. 

 

 

Необходим хардуер:


- Arduino UNO/Nano;
- Breadboard;
- Rotary encoder;
- Проводници.

 

 

 

Фиг. 3 Схема на свързване - виж в галерията под статията. 

 

 

Rotary Encoder pin -> Arduino Pin:


1 (GND)  -> GND
2 (+)  -> +5V
4 (DT) -> 3
5 (CLK) -> 2

 

 

*Забележка - за да използвате Arduino Nano свържете схемата към вашето Nano , така както е свързано
към UNO и няма да имате проблем.

 

Програмен код: 

 

#include <Encoder.h> //преди да компилирате кода инсталирайте библиотеката „Encoder.h”
Encoder myEnc(2, 3);
void setup() {
Serial.begin(9600);
Serial.println("Basic Encoder Test:");
}
long oldPosition = -999;
void loop() {
long newPosition = myEnc.read();
if (newPosition != oldPosition) {
oldPosition = newPosition;
Serial.println(newPosition);
}
}

 

Програмата ни учи как да четем стойността на енкодера и да я показваме в серийния монитор.