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