Mundarija:

Oson qo'llanma: Arduino bilan moslashuvchan sensorlar: 4 qadam
Oson qo'llanma: Arduino bilan moslashuvchan sensorlar: 4 qadam

Video: Oson qo'llanma: Arduino bilan moslashuvchan sensorlar: 4 qadam

Video: Oson qo'llanma: Arduino bilan moslashuvchan sensorlar: 4 qadam
Video: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with dispaly with over current protection 2024, Iyul
Anonim
Image
Image

Flex sensorlari ajoyib!

Men ularni har doim robototexnika loyihalarimda ishlataman va sizlarni bu kichkina chiziqlar bilan tanishtirish uchun oddiy darsliklar yaratishni o'yladim. Keling, moslashuvchan sensor nima va u qanday ishlaydi, uni Arduino -ga qanday ulash kerak, unga kod yozish va nihoyat, uni loyihangizda qanday sinovdan o'tkazish va muvaffaqiyatli amalga oshirish haqida gaplashamiz. Men bilaman, sizlardan ba'zilari o'qiydiganlar emas, va ba'zilari buni amalda ko'rishni xohlashadi, bu holda men tayyorlagan Ironman Repulsor ichidagi egiluvchan sensori uchun to'liq qo'llanmaning videosini tomosha qiling.

1 -qadam: Flex sensor nima va u qanday ishlaydi

Flex sensor nima va u qanday ishlaydi
Flex sensor nima va u qanday ishlaydi
Flex sensor nima va u qanday ishlaydi
Flex sensor nima va u qanday ishlaydi

Moslashuvchan datchiklar murakkab ko'rinadi, lekin aslida bu 2 ta metall qoplamali o'tkazgichli rezina tasma. Ha, shunday!

Ishlash usuli, sensor egilmaganda (neytral), rezina tasma qattiq va qalin bo'ladi, shuning uchun eskizda ko'rsatilgandek, ikkita plastinka orasidagi o'tkazgich juda kam, lekin uni egganda, chiziq tarqaladi va ko'proq oqim orqali o'tishga imkon beradi va bu oqim aniqlanadi va shuning uchun egiluvchanlik miqdori tizimga qaytariladi.

Oddiy, a? Keling, uni bog'laylik.

2 -qadam: Arduino -ga ulanish

Arduino -ga ulanish
Arduino -ga ulanish
Arduino -ga ulanish
Arduino -ga ulanish
Arduino -ga ulanish
Arduino -ga ulanish

Moslashuvchan sensorda 2 ta pin bor, ulardan biri arduino uchun 3,3V yoki 5V ga ulanadi, ikkinchisi esa erga ulanadi. Ammo yana ko'p narsa bor - erga ulanish uzilib qoladi va bitta sim sizning arduino kirish piningizga o'tadi, bu erda mening Arduino uno, bu A1. Muhim jihati shundaki, A1 pin va er o'rtasida qarshilik mavjud. Rezistor qiymati egiluvchan sensori qanchalik sezgirligini aniqlaydi. 1K rezistor - bu yaxshi boshlanish nuqtasi, lekin kerakli sezuvchanlikka erishish uchun siz qiymatlar bilan o'ynashingiz mumkin.

Bajarildi. Keling, eskizni ko'rib chiqaylik va Ironman Repulsor -da o'z egilishimizni sinab ko'ramiz.

3 -qadam: Kod

Kodeks
Kodeks

Quyidagi kod Sparkfun -dan olingan, lekin uni o'zgartirish mumkin:

/*********************************************** ***************************** Flex_Sensor_Example.ino SparkFun moslashuvchan sensorlar uchun eskiz namunasi (https://www.sparkfun.com/products /10264) Jim Lindblom @ SparkFun Electronics 2016 yil 28 aprel

Moslashuvchan sensorni 47k rezistor bilan birlashtiruvchi kuchlanish bo'luvchi sxemasini yarating. - Rezistor A1 dan GND ga ulanishi kerak. Moslashuvchan sensor A1 dan 3,3V gacha ulanishi kerak, chunki egiluvchan sensorning qarshiligi oshadi (bu uning egilganligini bildiradi), A1 kuchlanish pasayishi kerak.

Rivojlanish muhitining o'ziga xos xususiyatlari: Arduino 1.6.7 **************************************** ************************************

/ const int FLEX_PIN = A1;

// Kuchlanish bo'luvchi chiqishiga ulangan pin

// 5V kuchlanishni va sizning haqiqiy qarshiligingizni o'lchang

// 47k rezistor va ularni pastga kiriting: const float VCC = 4.98;

// Ardunio 5V liniyasi const floatining o'lchangan kuchlanishi R_DIV = 47500.0;

// 3.3k rezistorning o'lchangan qarshiligi

// Kodni yuklang, keyin bu qiymatlarni boshqasiga moslashtirishga harakat qiling

// burilish darajasini aniq hisoblang. const float STRAIGHT_RESISTANCE = 37300.0;

// to'g'ridan -to'g'ri const B suzganda qarshilik. END_RESISTANCE = 90000.0;

// qarshilik 90 daraja

bo'sh o'rnatish ()

{Serial.begin (9600);

pinMod (FLEX_PIN, Kirish); }

bo'sh halqa ()

{// ADCni o'qing va undan kuchlanish va qarshilikni hisoblang

int flexADC = analogRead (FLEX_PIN);

float flexV = flexADC * VCC / 1023.0;

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

Serial.println ("Qarshilik:" + String (flexR) + "ohms");

// Sensorni baholash uchun hisoblangan qarshilikdan foydalaning

// burilish burchagi:

float burchagi = xarita (flexR, STRAIGHT_RESISTANCE, BEND_RESISTANCE, 0, 90.0); Serial.println ("Bend:" + String (burchak) + "daraja");

Serial.println ();

kechikish (500); }

4 -qadam: Sinov

Sinov
Sinov

Sinovdan so'ng, egiluvchan sensor ajoyib natijalarga erishdi. Siz bu erda ko'rishingiz mumkin

Umid qilamanki, bolalar sizga bu darslik yoqdi. Fungineersga boring. Sizga Arduino va boshqa ko'plab loyihalar yoqadi:)

Tavsiya: