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í.

Tahový lineární potenciometr

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.

Schéma zapojení Tahového lineárního potenciometru

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

FB tw

Další podobné články