====== RGB-энкодер (Troyka-модуль) ======
{{ :products:troyka-encoder-rgb:troyka-encoder-rgb.1.jpg?nolink |}}
===== Примеры работы =====
==== Тест кнопки и цвета ====
// Include library
#include "RGBEncoder.h"
// Create an RGBEncoder object
RGBEncoder knob;
int i = 0;
// Handler of button
void buttonHandler(bool pressed) {
if (!pressed)
return;
if (i == 0) {
knob.setColor(255, 0, 0);
i++;
} else if (i == 1) {
knob.setColor(0, 255, 0);
i++;
} else if (i == 2) {
knob.setColor(0, 0, 255);
i++;
} else if (i == 3) {
knob.setColor(0, 0, 0);
i = 0;
}
}
void setup() {
knob.begin(); // initialize
// register handlers for button and encoder
knob.onButton(buttonHandler);
// switch-off led
knob.setColor(0, 0, 0);
}
void loop() {
knob.update(); // upkeep to trigger the handler when necessary
}
==== Тест поворота ====
/*
* This example demonstrates the use of RGBEncoder to control a stepper motor.
*/
// Include library
#include "RGBEncoder.h"
int i = 0;
// Create object of RGBEncoder
RGBEncoder knob;
// Handler. Called when the encoder is turned left
void stepLeft() {
Serial.println(knob.getEncoderValue());
}
// Handler. Called when the encoder is turned right
void stepRight() {
Serial.println(knob.getEncoderValue());
}
void setup() {
Serial.begin(9600);
knob.begin(); // initialisation
//knob.setStep(1);
knob.setRange(-100, 100);
// Register on-step handlers
knob.onStepLeft(stepLeft);
knob.onStepRight(stepRight);
}
void loop() {
knob.update(); // upkeep to trigger the handler when necessary
}