VS1838B Infrared IR Receiver

3 Pin receiver for infrared remote control and IR data transmission. Demodulated ~40kHz signal carrier to decode modulated data. >15 meter reception distance.


25 ₪

الناشر: متجر القطع الالكترونية

القسم: مستشعرات - سينسور

تاريخ النشر: 2023-11-18





circuit diagram



كيف نتحكم بقوة البث (بواسطة مقاومة على خط الvcc للمرسل ) :

يمكن استخدام مقاومة متغيرة حتى 10 كيلو اوم على سلك الموجب للمرسل ... و اذا قمنا بوضع مقاومة ثابته مقدارها 10 كيلو اوم يصبح البث لمسافة قليلة حتى 10 سم مثلا ... واذا كانت مقاومة اقل من 1 كيلو يصبح يتاثر بالبث على مسافة كبيرة تصل الى 15 متر تقريبا.



كيف يتم ضبط المرسل والمستقبل:

يوجد طريقتين: 1- يتم وضع المرسل مقابل المستقبل واذا قطع جسم الاشارة فانه يتوقف العد على المتغير count في الكود. 2- يتم وضع الرسل بجانب المستقبل وبينهم حاجز حتى لا تصل الاشارة دائما ... وعندنا يمر جسم امامهم فانه يعكس الاشارة وترتد الى المستقبل ويبدأ العد على count في الكود. ملاحظة: - الطريقة الاولى تكون الاشارة واصلة دائما وتنقطع عند مرور جسم اما الطريقة الثانية فان الاشارة تكون غير واصلة وترتد الى المستقبل عندما يمر جسم . - الطريقة الاولى يكون count يزيداد ويثبت عند مرور جسم اما الطريقة الثانية يكون count ثابت ويزداد عند مرور جسم. - يتم التحكم بالمسافة وقوة الاشارة من خلال مقاومة على السلك الموجب للمرسل تصل الى 10 كيلو اوم لتقليل الاشارة لاستخدام المسافات القصيرة.





arduino code for VS1838B Infrared IR Receiver:

code
نسخ
اقتباس
عرض
تنزيل
	
								
#define PIN_TX 11 #define PIN_RX 2 volatile int count; void setup() { pinMode (PIN_TX, OUTPUT); pinMode (PIN_RX, INPUT); attachInterrupt(digitalPinToInterrupt(PIN_RX), falling, FALLING ); Serial.begin (9600); count = 0; } void falling() { count++; } void on(unsigned int len) { for (int i = 0; i < len; i++) { tone(PIN_TX, 38000); delayMicroseconds(600); noTone(PIN_TX); delayMicroseconds(900); } } void loop() { on(10); Serial.println(count); delay(1000); }


استخدامات اخرى:

- يمكن استخدامه كمستشعر شرارة كهرباء القداحة او بداية اللهب ..



ويمكن استخدام منفذ تماثلي شبيه لكود المايكروفون ويعتبر هذا المستشعر كاشف كهرباء في الجو او شحنات مثل

code
نسخ
اقتباس
عرض
تنزيل
	
								
const int microphonePin = A0; void setup() { Serial.begin(9600); } void loop() { int mn = 1024; int mx = 0; for (int i = 0; i < 10000; ++i) { int val = analogRead(microphonePin); mn = min(mn, val); mx = max(mx, val); } int delta = mx - mn; Serial.print("Min="); Serial.print(mn); Serial.print(" Max="); Serial.print(mx); Serial.print(" Delta="); Serial.println(delta); }


سلة المشتريات افراغ السلة