ARDUINO 334265-633524 Snímač Flex Dlhý
Úvod
Trávime toľko času rozprávaním o snímaní vecí menej mechanických, že je ľahké zabudnúť, že akcelerometer nie je jedinou časťou v meste. Flex senzor je jednou z tých častí, ktoré pokročilí používatelia často prehliadajú. Ale čo ak potrebujete skontrolovať, či sa niečo neohlo? Ako prst alebo rameno bábiky. (Zdá sa, že túto potrebu má veľa prototypov hračiek). Kedykoľvek potrebujete zistiť ohyb alebo ohyb, snímač ohybu je pravdepodobne súčasťou pre vás. Dodávajú sa v niekoľkých rôznych veľkostiach. Flex senzor je premenlivý odpor, ktorý reaguje na ohyby. Neohnutý meria asi 22 kΩ, až 40 kΩ, keď je ohnutý na 180º. Všimnite si, že ohyb je detekovaný iba v jednom smere a čítanie môže byť trochu roztrasené, takže najlepšie výsledky dosiahnete pri detekcii zmien aspoň o 10º. Tiež sa uistite, že snímač neohýbate na základni, pretože to nezaregistruje zmenu a mohlo by dôjsť k pretrhnutiu vodičov. Na jeho základ vždy prilepím nejakú hrubú dosku, aby sa to tam neohýbalo.
Zapojenie a prečo
Flex senzor pri ohýbaní mení svoj odpor, takže túto zmenu môžeme merať pomocou jedného z analógových kolíkov Arduina. Na to však potrebujeme pevný odpor (nemení sa), ktorý môžeme použiť na porovnanie (používame odpor 22K). Toto sa nazýva zvtage delič a rozdeľuje 5V medzi flex senzor a rezistor. Analógové čítanie na vašom Arduine je objtage meter. Pri 5V (jeho max.) by čítal 1023 a pri 0v 0. Takže môžeme zmerať, koľko obj.tage je na flex senzore pomocou analogRead a máme naše čítanie.
Množstvo týchto 5V, ktoré dostane každý diel, je úmerné jeho odporu. Takže ak flex senzor a rezistor majú rovnaký odpor, 5V sa rozdelí rovnomerne (2.5V) na každú časť. (analógové čítanie 512) Len predstierajte, že snímač čítal iba 1.1 K odporu, 22 K rezistor absorbuje 20-krát toľko z 5 V. Takže flex senzor by dostal len 23 V. (Analógové čítanie 46) \A ak otočíme flex senzor okolo trubice, flex senzor môže mať 40K alebo odpor, takže flex senzor absorbuje 1.8-krát toľko z týchto 5V ako 22K odpor. Takže flex senzor by dostal 3V. (Analógové čítanie 614)
kód
Kód Arduino na to jednoducho nemôže byť jednoduchší. Pridávame k nemu niekoľko sériových výtlačkov a oneskorení, len aby ste mohli ľahko vidieť hodnoty, ale nemusia tam byť, ak ich nepotrebujete. V mojich testoch som na Arduine dosahoval hodnoty medzi 512 a 614. Rozsah teda nie je najlepší. Ale pomocou funkcie map() to môžete previesť na väčší rozsah. int flexSensorPin = A0; //analógový pin 0
Example Kód
void setup(){ Serial.begin(9600); }void loop(){int flexSensorReading = analogRead(flexSensorPin); Serial.println(flexSensorReading) //V mojich testoch som na arduine dosahoval hodnoty medzi 512 a 614. //Pomocou map() to môžete previesť na väčší rozsah, napríklad 0-100. int flex0to100 = mapa(flexSensorReading, 512, 614, 0, 100); Serial.println(flex0to100); oneskorenie(250); //tu len na spomalenie výstupu pre ľahšie čítanie
Dokumenty / zdroje
![]() |
ARDUINO 334265-633524 Snímač Flex Dlhý [pdfPoužívateľská príručka 334265-633524, 334265-633524 Sensor Flex Long, Sensor Flex Long, Flex Long, Long |