jasności naszych dwóch diod. W zależności w którą stronę będziemy paluchem
ślizgać po sliderze jedna z diod będzie się płynnie rozjaśniać a druga przyciemniać.
Generalnie przykład kodu jest nieznacznie rozbudowany w stosunku do poprzedniego
odcinka. Najważniejsze fragmenty kodu zawierają komentarz.
Kodzik:
#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 if(sD.slider) //sprawdzamy czy ktoś dotyka slidera { gLED = slider.readPercentage(); //pwm na diodę zieloną if(gLED >= 0.95) gLED = 1.0f; rLED = 1.0f - slider.readPercentage(); //pwm na diodę czerowną if(rLED >=0.95) rLED = 1.0f; } slcd.CharPosition = 0; //zapobięgnięcie skrolowania wyświetlacza wait(0.01); } }
Oraz filmik heh pokazujący efekt świetlny:)
Oczywiście jak zwykle życzę przyjemnej zabawy :)
Brak komentarzy:
Prześlij komentarz