Implementacja obsługi klawiatur pojemnościowych w LPC17xx firmy NXP
Wartości napięcia przetwarzane są następnie przez funkcję _processAdcReading(). Jeśli odczytany poziom napięcia jest większy niż wartość uzyskana podczas kalibracji powiększona o 6% przyjmuje się, że przycisk został naciśnięty (listing 8).
Listing 8.
/* process of adc reading */
/* readings are ordered per channel */
/* kpresses are ordered per kbd values */
#define UPPER_THR 8
#define LOWER_THR 3
static void _processAdcReading(ChannelIdType chNum)
{
uint32_t currentAvg = average[chNum];
uint32_t upperThreshold = currentAvg + (currentAvg*UPPER_THR)/100;
uint32_t lowerThreshold = currentAvg + (currentAvg*LOWER_THR)/100;
if (reading[chNum] > upperThreshold) //above(average+6%)->press condition
{
if (debounce[chNum] > 8) //debounce, 8 successive triggers for press
{
kbdPress[Ch2KpadMap[chNum]] = 1; //reached max, indicate pressed
kPressCntr++;
debounce[chNum] = 0; // now it is pressed
}
else debounce[chNum] ++; // still going toward max
}
else if(reading[chNum]not detected condition
{
debounce[chNum] --;
}
}
Przedstawiona powyżej idea jest bardzo prostą i wygodną metodą realizacji interfejsów użytkownika z klawiaturami pojemnościowymi. Implementacja sprzętowa wymaga minimalnej ilości elementów zewnętrznych, natomiast implementacja programistyczna wykorzystuje podstawowe peryferia mikrokontrolera oraz nie wymaga skomplikowanych obliczeń i przetwarzania danych w celu uzyskania informacji o stanie przycisków.
Omówiony kod źródłowy przeznaczony jest dla mikrokontrolerów NXP LPC17xx, jednak ze względu na swoją uniwersalność algorytm może zostać łatwo przeniesiony na inne platformy sprzętowe.
Literatura
[1] www.nxp.com AN11023 – Capacitive touch sensing using the LPC11xx, Rev. 1, 3 February 2011
Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



