Tahový lineární potenciometr

Tahový lineární potenciometr je vstupní modul pro Arduino. Tento potenciometr obsahuje duální analogový výstup, přičemž nejlepšího měření dosáhneme při průměrování naměřených hodnot z obou výstupů. Co se týká napájení, tak je možné připojit vstupní napětí 3,3 nebo 5 Voltů. Odpor celého rozsahu potenciometru je 10 kiloohmů. Rozměry celého modulu jsou 90x20 mm, přičemž výhodou je přítomnost montážních otvorů pro jednoduché umístění do cílového zařízení.

Pro úspěšné propojení lineárního potenciometru s Arduino deskou propojíme celkem 4 vodiče. Připojíme OTA na pin A0, OTB na pin A1, VCC na 5V Arduina a GND na zem Arduina. Pro oba analogové vstupy můžeme zvolit i jiné volné analogové piny, ale tuto volbu je nutné provést také v programu. Co se týká zapojení napájení na pinech VCC a GND, tak stačí využít pouze po jednom pinu z dvou dostupných, protože oba páry pinů VCC a GND jsou vždy mezi sebou propojeny přímo na desce.

Ukázkový kód obsahuje na svém začátku nastavení čísel propojovacích pinů a v podprogramu setup provedeme inicializaci komunikace po sériové lince. Nekonečná smyčka loop obsahuje jako první načtení vstupních údajů z obou pinů do vytvořených proměnných. Dále provedeme převedení průměru z obou měření ze vstupního rozsahu na procentuální vyjádření, abychom dostali nový rozsah 0-100. Pro informaci jsem pak ještě do programu přidal vypočtení napájecího napětí na vstupních pinech, kdy je v ukázce uveden případ při VCC=5V. Pokud bychom tedy používali VCC=3,3V, je nutné změnit číslo 5.0 na 3.3 ve výpočtu. V dalším kroku tedy už jen vytiskneme všechny dostupné údaje po sériové lince a po pauze opakujeme celý program.

// Tahový lineární potenciometr pro Arduino

#define pinOTA A0
#define pinOTB A1

void setup() {
  // komunikace po sériové lince rychlostí 9600 baud
  Serial.begin(9600);
}

void loop() {
  // načtení vstupních údajů z obou pinů
  int cteniOTA = analogRead(pinOTA);
  int cteniOTB = analogRead(pinOTB);
  // převedení průměru z obou měření ze vstupního rozsahu
  // na procentuální vyjádření
  int procenta = map((cteniOTA + cteniOTB) / 2, 0, 1023, 0, 100);
  // výpočet napájecího napětí na obou vstupních pinech
  float napetiOTA = cteniOTA * (5.0 / 1023.0);
  float napetiOTB = cteniOTB * (5.0 / 1023.0);
  // vytištění dostupných údajů po sériové lince
  Serial.print("Napeti na pinu OTA: ");
  Serial.print(napetiOTA);
  Serial.print(" V | Napeti na pinu OTB: ");
  Serial.print(napetiOTB);
  Serial.print(" V ");
  Serial.print(procenta);
  Serial.println("% ");
  // pauza před dalším měřením
  delay(500);
}

Po nahrání ukázkového kódu do Arduino desky s připojeným lineárním potenciometrem dostaneme například tento výsledek:

Napeti na pinu OTA: 0.00 V | Napeti na pinu OTB: 0.00 V 0% 
Napeti na pinu OTA: 0.02 V | Napeti na pinu OTB: 0.02 V 0% 
Napeti na pinu OTA: 0.16 V | Napeti na pinu OTB: 0.16 V 3% 
Napeti na pinu OTA: 0.59 V | Napeti na pinu OTB: 0.61 V 11% 
Napeti na pinu OTA: 2.00 V | Napeti na pinu OTB: 2.00 V 39% 
Napeti na pinu OTA: 3.50 V | Napeti na pinu OTB: 3.51 V 70% 
Napeti na pinu OTA: 4.97 V | Napeti na pinu OTB: 4.97 V 99% 
Napeti na pinu OTA: 5.00 V | Napeti na pinu OTB: 5.00 V 100% 

Tahový lineární potenciometr je praktický modul, s kterým můžeme přidat zajímavý ovládací prvek k Arduinu. A díky lineárnímu rozložení odporu po celé délce může tento potenciometr najít využití v projektech jako je například ovladač intenzity světla, hlasitosti či jako jeden z ovládacích prvků na vlastním mixážním pultu. Další dobrou vlastností je také příznivá cena nebo zjednodušení integrace do vlastní krabičky díky montážním otvorům přímo na modulu.

 

Seznam použitých komponent:

https://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html

https://dratek.cz/arduino/1291-10k-tahovy-linearni-potenciometr-pro-arduino-1462217967.html

Další podobné články