STM32 + энкодер ky-040 (Arduino IDE)

Подключение энкодера ky-040 к отладочной плате STM32 базе микроконтроллера STM32F103C8T6 аналогично подключению к плате Arduino Nano (Uno), можно выбрать три свободные цифровых входа и использовать их для подключения энкодера.

Энкодер ky-040 имеет пять контактов (энкодер > STM32):

  • GND > G
  • +  > 3.3
  • CLK > любой цифровой вход
  • DT > любой цифровой вход
  • SW > любой цифровой вход (Кнопка энкодера)
#define pinA PB11
#define pinB PB10
#define SW   PB1
 
#include <STM32_Encoder.h> // http://rcl-radio.ru/wp-content/uploads/2020/01/STM32_Encoder.zip
  STM32_Encoder encoder(pinA, pinB);
  int position = 0;
 
void Read(){encoder.readAB();}
 
void setup(){
  encoder.begin();                                                         
  attachInterrupt(digitalPinToInterrupt(pinA),Read,CHANGE);  
  attachInterrupt(digitalPinToInterrupt(pinB),Read,CHANGE); 
  Serial.begin(115200);
  // encoder.setPosition(0);// начальная позиция
  pinMode(SW,INPUT); // SW 
}
 
void loop(){
 
  if(position != encoder.getPosition()){
    position = encoder.getPosition();
    Serial.println(position);}
 
  if(digitalRead(SW)==LOW){Serial.println("button");delay(300);}
}

Перед заливкой скетча в STM32 Вам необходимо ознакомиться со следующей статьей — STM32 Arduino IDE

Добавить комментарий

Войти с помощью: