ماژول Metal Touch جهت تشخیص سطوح فلزی میباشد. با لمس سنسور تاچ Metal Touch ، در خروجی ۵ ال ای دی به صورتی آبشاری روشن خواهد شد. به این ترتیب که با لمس کردن سنسور تاچ، در ابتدا ال ای دی ها به ترتیب روشن و با جدا کردن آن خاموش خواهند شد. در صورتی که نیاز به مشاهده لیست کامل ماژول ها و یا تکملی سبد خرید دارید میتوانید با کلیک بر روی لینک خرید ماژول وارد دسته بندی ماژول ها شوید.
فهرست مطالب
مشخصات فنی ماژول
ماژول KY-036 شامل یک سنسور لمسی فلزی ، یک مقایسه گر دیفرانسیل LM393 دوتایی ، پتانسیومتر 3296W-104 ، شش مقاومت و دو ال ای دی نشانگر است. این برد دارای یک خروجی آنالوگ و یک خروجی دیجیتال است.
اگرسر فلزی سنسور لمس شود، سیگنال را صادر می کند. می توانید حسگر سنسور را با کنترل کننده تنظیم کنید.
خروجی دیجیتال: در لحظه تشخیص تماس، یک سیگنال تولید می شود.
خروجی آنالوگ: اندازه گیری مستقیم توسط واحد سنسور
LED1: نشان می دهد سنسور تغذیه را دریافت کرده است.
LED2: نشان می دهد که یک میدان مغناطیسی تشخیص داده شده است.
عملکرد ماژول سنسور سطوح فلزی
این سنسور در صفحه مدار خود دارای 3 مؤلفه اصلی است. ابتدا واحد سنسور در قسمت جلویی یک سیگنال آنالوگ را به واحد دوم، یعنی تقویت کننده می فرستد. آمپلی فایر با توجه به مقدار مقاومت پتانسیومتر، سیگنال را تقویت می کند و سیگنال را به خروجی آنالوگ ماژول می فرستد. مؤلفه سوم مقایسه گری است که اگر سیگنال تحت یک مقدار خاص قرار گیرد، خروجی دیجیتال و LED را خاموش می کند. (با تنظیم پتانسیومتر می توانید حساسیت را کنترل کنید).
توجه کنید که (سیگنال معکوس می شود) به این معنی است که اگر مقدار بالایی را اندازه بگیرید، به عنوان مقدار ولتاژ پایین در خروجی آنالوگ نشان داده می شود.
این سنسور مقادیر مطلق را نشان نمی دهد در واقع این اندازه گیری یک اندازه گیری نسبی است: برای مثال شما یک مقدار را برای یک وضعیت محیطی عادی تعیین می کنید و اگر اندازه گیری بیش از مقدار مشخص شده باشد، سیگنال ارسال می شود.
هم چنین برای کنترل دما (KY-028) ، سوئیچ مجاورت (KY-024 ، KY-025 ، KY-036) ، ردیابی آلارم (KY-037 ، KY-038) یا رمزگذار دوار (KY-026) مناسب است.
پایه های ماژول
اتصال پایه های ماژول در برد Arduino و Raspberry Pi در جدول های زیر آورده شده است:
دیاگرام اتصالات
پایه های مختلف ماژول را مطابق جدول بالا و به صورت آنچه در تصویر زیر مشاهده میشود به برد آردوینو متصل کنید.
کدهای آردوینو
این برنامه مقدار ولتاژ فعلی را که در پین خروجی اندازه گیری می شود را می خواند و آن را از طریق رابط سریال نشان می دهد.
علاوه بر این، وضعیت پین دیجیتال در ترمینال نشان داده می شود.
// Declaration and initialization of the input pin int Analog_Eingang = A0; // X-axis-signal int Digital_Eingang = 3; // Button void setup () { pinMode (Analog_Eingang, INPUT); pinMode (Digital_Eingang, INPUT); Serial.begin (9600); // Serial output with 9600 bps } // The program reads the current value of the input pins // and outputs it via serial out void loop () { float Analog; int Digital; // Current value will be read and converted to the voltage Analog = analogRead (Analog_Eingang) * (5.0 / 1023.0); Digital = digitalRead (Digital_Eingang); // and outputted here Serial.print ("Analog voltage value:"); Serial.print (Analog, 4); Serial.print ("V, "); Serial.print ("Extreme value:"); if(Digital==1) { Serial.println (" reached"); } else { Serial.println (" not reached yet"); } Serial.println ("----------------------------------------------------------------"); delay (200); }
کدهای Raspberry Pi
Raspberry PI برخلاف آردوینو، مبدل آنالوگ به دیجیتال (ADC) را در تراشه خود ارائه نمی دهد. بنابراین اگر از سنسور غیر دیجیتال استفاده کنید، Raspbery Pi محدود می شود. برای اجتناب از این موضوع از ماژول هایی که یک ADC 16 بیتی را ایجاد می کنند مانند ماژول KY-53 استفاده می کنیم تا آن را با 4 پین ورودی آنالوگ اضافی ارتقا دهیم. ماژول KY-053 از طریق I2C به Raspberry Pi متصل می شود. داده های آنالوگ را اندازه گیری کرده و آن را به یک سیگنال دیجیتال مناسب برای Raspberry Pi تبدیل می کند. بنابراین اگر می خواهید از سنسورهای آنالوگ به همراه Raspberry Pi استفاده کنید، از KY-053 ADC استفاده کنید.
اتصال پایه های ماژول در برد Raspberry Pi در جدول های زیر آورده شده است:
#This code is using the ADS1115 and the I2C Python Library for Raspberry Pi # import needed modules import math, signal, sys, os import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) # initialise variables delayTime = 0.5 # in Sekunden # assigning the ADS1x15 ADC ADS1015 = 0x00 # 12-bit ADC ADS1115 = 0x01 # 16-bit # choosing the amplifing gain gain = 4096 # +/- 4.096V # gain = 2048 # +/- 2.048V # gain = 1024 # +/- 1.024V # gain = 512 # +/- 0.512V # gain = 256 # +/- 0.256V # choosing the sampling rate # sps = 8 # 8 Samples per second # sps = 16 # 16 Samples per second # sps = 32 # 32 Samples per second sps = 64 # 64 Samples per second # sps = 128 # 128 Samples per second # sps = 250 # 250 Samples per second # sps = 475 # 475 Samples per second # sps = 860 # 860 Samples per second # assigning the ADC-Channel (1-4) adc_channel_0 = 0 # Channel 0 adc_channel_1 = 1 # Channel 1 adc_channel_2 = 2 # Channel 2 adc_channel_3 = 3 # Channel 3 # initialise ADC (ADS1115) adc = ADS1x15(ic=ADS1115) # Input pin for the digital signal will be picked here Digital_PIN = 24 GPIO.setup(Digital_PIN, GPIO.IN, pull_up_down = GPIO.PUD_OFF) # main program loop # The program reads the current value of the input pin # and shows it at the terminal try: while True: #Current values will be recorded analog = adc.readADCSingleEnded(adc_channel_0, gain, sps) # Output at the terminal if GPIO.input(Digital_PIN) == False: print "Analog voltage value:", analog,"mV, ","extreme value: not reached" else: print "Analog voltage value:", analog, "mV, ", "extreme value: reached" print "---------------------------------------" sleep(delayTime) except KeyboardInterrupt: GPIO.cleanup()