سلام
برای استفاده اصولی از این کتابخونه براساس اینتراپت ها تو این ماژول ESP-12F (ESP8266)
از چه دستوراتی باید استفاده کرد
هدف اینه که تو لوپ اصلی دائم در حال دریافت سیگنال باشه
توی یک تست D2 قرار داده شد و ورودی هم به D4 وصل شد
mySwitch.enableReceive(D2)
جواب میده ولی بنظر اصولی نیست
چون خطی برای فعال کردن اینتراپت نداره
LED آبی روی برد هم کم نور روشن و انگار دائم درحال دریافت پالس هست !
ولی خروجی نمیده و با زدن دکمه ریموت خروجی میده
1:15:24.800 -> Decimal: 841512 (24Bit) Binary: 000011001101011100101000
01:15:24.924 -> Tri-State: not applicable
01:15:24.929 -> PulseLength: 355 microseconds
01:15:24.987 -> Protocol: 1
01:15:24.987 -> 11052,430,1018,417,1018,420,1024,429,1012,1154,305,1151,332,393,1054,390,1054,1118,340,1113,344,384,1060,1114,344,380,1064,1108,350,1107,352,1108,349,372,1073,374,1070,1101,354,370,1078,1096,358,370,1077,364,1081,366,1076,
01:15:25.182 ->
ممنون از جوابها و
این کدها از Example های خود کتابخانه برای آردوینو هست و برای ESP نیاز به تغییر داره
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin
}
void loop() {
if (mySwitch.available()) {
output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol());
mySwitch.resetAvailable();
Serial.println();
}
}