Jak wiadomo nasza płytka posiada pojemnościowy dotykowy slider, więc grzechem
było by go nie wykorzystać w naszych aplikacjach. Taki slider będzie fajnie działał
w płynnej regulacji oświetlenia np: przy zastosowaniu oświetlenia diodowego będziemy
mogli sobie płynnie zmieniać jasność lub kolory - proponuję zapoznać się ze sterownikiem
diod WS2812 i MegicLedami - efekty będą piorunujące :).
Do naszych niecnych celów oczywiście wykorzystamy segmentowy LCD, który też
znajduje się na pokładzie naszego zestawu. Na LCD wyrzucimy sobie wartości z
slidera, będzie fajnie widać jak się wartości płynnie zmieniają.
Tak nawiasem mówiąc warto sobie korzystać we własnych aplikacjach z tego lcd
dlatego, że bardzo pomaga w debugowaniu programu - łatwo można wyświetlić
sobie wartości liczbowe czy string cztero-literowy.
Kod programu jest bardzo prosty, w komentarzach zawarłem najważniejsze części.
#include "mbed.h"
#include "SLCD.h"
#include "TSISensor.h"
SLCD slcd; //SegmentLCD
TSISensor slider; //Touch Slider
PwmOut rLED(LED_RED); //PTE29
PwmOut gLED(LED_GREEN);
struct KL46_SENSOR_DATA {
int sw1State;
int sw3State;
float slider;
float light;
} sensorData;
#define sD sensorData
int main() {
while (true) {
slcd.DP(0, false); slcd.DP(1, false); slcd.DP(2, false); //wykasowanie kropek między segmentami
sD.slider = slider.readPercentage();
slcd.printf("%1.2f", slider.readPercentage()); //wysyłamy wartość slidera na nasz lcd
slcd.CharPosition = 0; //zapobięgnięcie skrolowania wyświetlacza
wait(0.1);
}
}
A tutaj filmik prezentujący działanie naszego slidera i wyświetlanie
wyniku na LCD:
Przyjemnej zabawy:)
Brak komentarzy:
Prześlij komentarz