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
Platforma JetSys-2010 SFF do wysokowydajnych obliczeń AI-at-the-EDGE w aplikacjach high-end
Hahn EI30 ErP – transformatory sieciowe o niskich stratach mocy
Grzegorz Kamiński: Co nowego na rynku podzespołów półprzewodnikowych GaN? 


![https://www.youtube.com/watch?v=kmvM5hVSzCM Piata już edycja konferencji Hardware Design Masterclasses dla elektroników zaskoczyła frekwencją, tym bardziej, że spotkanie było dwudniowe. Film jest krótką relacją z wydarzenia, bazującą na wypowiedziach prelegentów. [materiał redakcyjny] Zapraszamy do obejrzenia!](https://mikrokontroler.pl/wp-content/uploads/2026/01/Rafal-tytulowe.png)

