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