wtorek, 29 kwietnia 2014

FRDM - KL46Z - Slider & LCD


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