Senzor ohýbání | Tenzometr BF350-3AA

Tenzometr je vstupní modul pro Arduino. Tento modul obsahuje senzor BF350-3AA, který slouží jako měřící prvek. Dále je ještě na modulu přítomný obvod pro jednodušší zpracování změn tenzometrického odporu, trimr pro nastavení nulové hodnoty a LED dioda, která indikuje připojené napětí.

Vstupní napájecí napětí je 5 Voltů a výstupní napětí na pinu OUT se pohybuje v rozsahu 0 až 3,5 Voltu. Další výrobcem dané parametry jsou vypsané na stránce produktu dratek.cz.

Pro úspěšné propojení tenzometru a Arduino desky propojíme celkem 3 vodiče. Připojíme 5V na +5V Arduina, OUT na pin A0 a GND na zem Arduina. Pro vstupní pin OUT lze použít také jiný volný analogový pin. Změnu je ale nutné provést také na začátku programu.

Ukázkový kód obsahuje na svém začátku nastavení čísla propojovacího pinu a vytvoření proměnných pro ukládání výsledků.

V podprogramu setup se nachází pouze nastavení sériové linky na rychlost 9600 baud pro tisk naměřených dat do počítače.

V nekonečné smyčce loop v prvním kroku načteme analogovou hodnotu z nastaveného pinu do proměnné a poté provedeme přepočet na procenta. Tento přepočet je provedený pomocí funkce map, kdy převedeme vstupní rozsah 0 až 700 na rozsah 0 až 100. Hodnota vstupu 700 odpovídá přibližně 3,42 Voltům, kdy maximum 1023 odpovídá 5 Voltům.

Po dokončení přepočtu vytiskneme oba údaje po sériové lince a vyčkáme po dobu 500 ms před novým během programu.

// Modul tenzometru BF350-3AA

// nastavení propojovacího pinu
#define pinOut A0
// proměnné pro uložení výsledků
int hodnota = 0;
int procenta = 0;

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

void loop() {
  // načtení analogové hodnoty z nastaveného pinu
  hodnota = analogRead(pinOut);
  // přepočet načtených dat, z rozsahu analogu (0-700)
  // na procenta (0-100)
  procenta = map(hodnota, 0, 700, 0, 100);
  // vytištění všech informací po sériové lince
  Serial.print("Prectena hodnota: ");
  Serial.print(hodnota);
  Serial.print(" | ");
  Serial.print(procenta);
  Serial.println("%");
  // pauza před novým měřením
  delay(500);
}

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

  Prectena hodnota: 0 | 0%
  Prectena hodnota: 24 | 3%
  Prectena hodnota: 243 | 34%
  Prectena hodnota: 588 | 84%
  Prectena hodnota: 694 | 99%

Tenzometr BF350 je zajímavý vstupní modul, který dokáže měřit tenzometrický odpor. Tento odpor se mění při ohýbání samotného senzoru.
V praxi tedy postupujeme tak, že senzor nalepíme na plochu předmětu, u které chceme měřit ohyb, a pomocí trimru nastavíme nulový bod. Po prohnutí plochy a tím pádem i senzoru pak můžeme detekovat ohýbání předmětu, a to dokonce s postupným nárůstem výstupní hodnoty. Jen si musíme dávat pozor na to, že odpor senzoru se na jednu stranu zvětšuje a na druhou zmenšuje. Je tedy možné nastavit nulovou polohu na 50% rozsahu a poté měřit prohnutí na obě strany.

V praxi lze tenzometr použít například pro měření prohnutí materiálů, jako senzor hrubšího zacházení či s ním vytvořit tlačítko (aktivace stlačením hrany krabičky).

 

Seznam použitých komponent:

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

https://dratek.cz/arduino/1759-tenzometr-senzor-ohybani-nizkonapetovy-1502772208.html

Další podobné články