Мазмуну:

Оңой үйрөткүч: Arduino менен Flex сенсорлору: 4 кадам
Оңой үйрөткүч: Arduino менен Flex сенсорлору: 4 кадам

Video: Оңой үйрөткүч: Arduino менен Flex сенсорлору: 4 кадам

Video: Оңой үйрөткүч: Arduino менен Flex сенсорлору: 4 кадам
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Ноябрь
Anonim
Image
Image

Flex сенсорлор сонун!

Мен аларды робототехникамдын долбоорлорунда дайыма колдонуп келем жана бул кичинекей тилкелер менен таанышуу үчүн сиздерге кичинекей окуу куралдарын жасоону ойлодум. Келгиле, ийилгич сенсор деген эмне жана ал кантип иштейт, аны Arduino менен кантип туташтыруу керек, ага кодду кантип жазуу керек, жана акырында, аны проектиңизде кантип сыноо жана ийгиликтүү ишке ашыруу жөнүндө сүйлөшөлү. Эми, мен билем, кээ бириңер окурман эмессиңер, жана кээ бирлери муну иш жүзүндө көргүсү келет, мындай учурда мен жасаган Ironman Repulsor ичиндеги ийкемдүү сенсордун толук окуу куралынын видеосун көрүңүз.

1 -кадам: Flex сенсор деген эмне жана ал кантип иштейт

Flex сенсор деген эмне жана ал кантип иштейт
Flex сенсор деген эмне жана ал кантип иштейт
Flex сенсор деген эмне жана ал кантип иштейт
Flex сенсор деген эмне жана ал кантип иштейт

Flex сенсорлору татаал көрүнөт, бирок бул чынында 2 металл капталган ортосундагы өткөргүч резина тилкеси. Ооба, бүттү!

Иштөө ыкмасы, сенсор бүгүлбөгөндө (нейтралдуу), резина тилкеси катуу жана калың болот, андыктан эскизде көрсөтүлгөндөй эки плитанын ортосунда өтө аз ток өткөрөт, бирок аны ийилгенде, тилке жайылып, көбүрөөк токту берет жана бул ток аныкталат, демек, ийкемдүүлүк суммасы системага кайра берилет.

Жөнөкөй, э? Кел, аны туташтыралы.

2 -кадам: Arduino менен туташуу

Arduino менен туташуу
Arduino менен туташуу
Arduino менен туташуу
Arduino менен туташуу
Arduino менен туташуу
Arduino менен туташуу

Ийкемдүү сенсордо 2 казык бар, алардын бири arduinoдо 3.3V же 5Vга туташып турат, экинчиси жерге туташтырылган. Бирок дагы бир нерсе бар - жер байланышы бөлүнүп, бир зым сиздин arduino кирүү пиниңизге барат, бул жерде менин Arduino uno, бул A1. Маанилүү бөлүгү, A1 пин менен жердин ортосунда резистор бар. Резистордун мааниси сиздин ийкемдүү сенсоруңуздун канчалык сезимтал экенин аныктайт. 1K каршылыгы жакшы башталыш, бирок сиз керектүү сезимталдыкка жетүү үчүн баалуулуктар менен ойной аласыз.

Бүттү. Эскизди көрүп, ийкемибизди Ironman Repulsorдо сынап көрөлү.

3 -кадам: Кодекс

Кодекс
Кодекс

Төмөнкү код Sparkfunдан, бирок өзгөртүлүшү мүмкүн:

/*********************************************** ***************************** Flex_Sensor_Example.ino SparkFun ийкемдүү сенсорлорунун мисалынын эскизи (https://www.sparkfun.com/products /10264) Джим Линдблом @ SparkFun Electronics 28 -апрель, 2016 -жыл

Ийкемдүү сенсорду 47k каршылыгы менен айкалыштырган чыңалуу бөлүштүргүч схемасын түзүңүз. - Резистор A1ден GNDге туташуусу керек. - Ийкемдүү сенсор A1ден 3.3Vга чейин туташуусу керек, ийкемдүү сенсордун каршылыгы жогорулаган сайын (анын ийилгенин билдирет), A1деги чыңалуу азайышы керек.

Өнүгүү чөйрөсүнүн өзгөчөлүктөрү: Arduino 1.6.7 ************************************** ************************************

/ const int FLEX_PIN = A1;

// Чыңалуу бөлүүчү чыгууга туташкан пин

// 5В чыңалуусун жана сиздин чыныгы каршылыгыңызды өлчөңүз

// 47k каршылыгы, жана аларды төмөнгө киргизиңиз: const float VCC = 4.98;

// Ardunio 5V линиясынын const флоатынын ченелген чыңалуусу R_DIV = 47500.0;

3.3k каршылыгынын өлчөнгөн каршылыгы

// Кодду жүктөңүз, андан кийин бул маанилерди дагы тууралоого аракет кылыңыз

// ийилүү даражасын так эсептөө. const float STRAIGHT_RESISTANCE = 37300.0;

// каршылыгы түз const калкып жүргөндө BEND_RESISTANCE = 90000.0;

// каршылык 90 градус

жараксыз орнотуу ()

{Serial.begin (9600);

pinMode (FLEX_PIN, INPUT); }

боштук цикл ()

{// ADCди окуп, андан чыңалууну жана каршылыкты эсептеңиз

int flexADC = analogRead (FLEX_PIN);

float flexV = flexADC * VCC / 1023.0;

float flexR = R_DIV * (VCC / flexV - 1.0);

Serial.println ("Каршылык:" + String (flexR) + "ohms");

// Сенсордукун баалоо үчүн эсептелген каршылыкты колдонуңуз

// бүгүлүү бурчу:

сүзүү бурчу = карта (flexR, STRAIGHT_RESISTANCE, BEND_RESISTANCE, 0, 90.0); Serial.println ("Бенд:" + Стринг (бурч) + "градус");

Serial.println ();

кечигүү (500); }

4 -кадам: Тест

Тест
Тест

Сыноодон кийин ийкемдүү сенсор укмуш жыйынтыктарды берди. Сиз бул жерден көрө аласыз

Балдар бул үйрөткүч сизге жакты деп үмүттөнөбүз. Fungineersге баш багыңыз. Сизге жаккан Arduino жана башка долбоорлор көп:)

Сунушталууда: