ARDUINO 334265-633524 Сензор Flex Long
Въведение
Прекарваме толкова много време в разговори за усещане на неща, които са по-малко механични, че е лесно да забравим, че акселерометърът не е единствената част в града. Сензорът за гъвкавост е една от частите, често пренебрегвани от напредналия потребител. Но какво ще стане, ако трябва да проверите дали нещо се е огънало? Като пръст или ръка на кукла. (Много прототипи на играчки изглежда имат тази нужда). Всеки път, когато трябва да откриете огъване или огъване, сензорът за огъване вероятно е частта за вас. Предлагат се в няколко различни размера Сензорът за гъвкавост е променлив резистор, който реагира на огъване. Разгънат измерва около 22KΩ, до 40KΩ, когато е огънат на 180º. Обърнете внимание, че огъването се открива само в една посока и отчитането може да е малко нестабилно, така че ще имате най-добри резултати при откриване на промени от поне 10º. Също така се уверете, че не огънете сензора в основата, тъй като той няма да се регистрира като промяна и може да счупи проводниците. Винаги залепвам някаква дебела дъска в основата му, за да не се огъне там.
Свързването му и защо
Сензорът за гъвкавост променя съпротивлението си, когато е огънат, така че можем да измерим тази промяна с помощта на един от аналоговите щифтове на Arduino. Но за да направим това, имаме нужда от фиксиран резистор (непроменлив), който можем да използваме за това сравнение (използваме 22K резистор). Това се нарича voltage разделител и разделя 5v между гъвкавия сензор и резистора. Аналоговото четене на вашия Arduino е voltage метър. При 5V (максимум) ще прочете 1023, а при 0v ще прочете 0. Така че можем да измерим колко voltage е на сензора за гъвкавост, използвайки analogRead и имаме нашето четене.
Количеството от тези 5V, което всяка част получава, е пропорционално на нейното съпротивление. Така че, ако сензорът за гъвкавост и резисторът имат еднакво съпротивление, 5V се разделят равномерно (2.5V) към всяка част. (аналогово отчитане на 512) Просто се преструвайте, че сензорът отчита само 1.1K съпротивление, резисторът от 22K ще поеме 20 пъти повече от тези 5V. Така че гъвкавият сензор ще получи само .23V. (Аналогово отчитане на 46) \И ако навъртим сензора за гъвкавост около тръба, сензорът за гъвкавост може да има 40K или съпротивление, така че сензорът за гъвкавост ще поеме 1.8 пъти повече от тези 5V, отколкото резистора 22K. Така че гъвкавият сензор ще получи 3V. (Аналогово четене на 614)
Код
Кодът на Arduino за това просто не може да бъде по-лесен. Добавяме някои серийни разпечатки и закъснения към него, за да можете лесно да видите показанията, но не е необходимо да са там, ако не ви трябват. В моите тестове получавах показания на Arduino между 512 и 614. Така че диапазонът не е най-добрият. Но с помощта на функцията map() можете да конвертирате това в по-голям диапазон. int flexSensorPin = A0; //аналогов пин 0
Exampле код
void setup(){ Serial.begin(9600); }void loop(){int flexSensorReading = analogRead(flexSensorPin); Serial.println(flexSensorReading) //В моите тестове получавах показания на arduino между 512 и 614. //Използвайки map(), можете да конвертирате това в по-голям диапазон като 0-100. int flex0to100 = map(flexSensorReading, 512, 614, 0, 100); Serial.println(flex0to100); забавяне (250); //само тук, за да забавите изхода за по-лесно четене
Документи / Ресурси
![]() |
ARDUINO 334265-633524 Сензор Flex Long [pdf] Ръководство за потребителя 334265-633524, 334265-633524 Сензор Flex Long, Сензор Flex Long, Flex Long, Long |