рдпрд╣ рд░реЗрдбрдордВрдб рд╕реНрдорд╛рд░реНрдЯ рдХреИрдк рдкрд░ рдореЗрд░реЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХ рдФрд░ рд░реЗрдбрдордВрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ - рд╕реНрдорд╛рд░реНрдЯ рд╕реЙрдХреЗрдЯ REDMOND рд╕реНрдХрд╛рдИрдкреЛрд░реНрдЯ 100Sред рдпрд╣ рдбрд┐рд╡рд╛рдЗрд╕ nRF51822 рдЪрд┐рдк рдкрд░ рднреА рдЖрдзрд╛рд░рд┐рдд рд╣реИ , рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдпрд╣рд╛рдВ рдХрд╣рддреЗ рд╣реИрдВ, рднрдЧрд╡рд╛рди рдиреЗ рдЦреБрдж рдПрдХ рдХреЛрд╢рд┐рд╢ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ред рддреЛ, рдпрд╣ рд╕реЙрдХреЗрдЯ рдЦрд░реАрджрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдорд▓рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреЛрд░реНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдЧреЗ рджреЗрдЦ рдХрд░ рдореИрдВ рдХрд╣реВрдБрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдЖрдЙрдЯрд▓реЗрдЯ рдХреЗ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рд░рд┐рдВрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рдЖрдЙрдЯрд▓реЗрдЯреНрд╕ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред

рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдореБрдЭреЗ рдПрдХ рд╕рд░реНрдХрд┐рдЯ рдорд┐рд▓рд╛, рдФрд░ рдпрд╣ рд╕реАрдорд┐рдд рдерд╛ред рдЖрд░реЗрдЦ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ nRF51822 рдореЙрдбреНрдпреВрд▓ рдкрд░ рдХреЗрд╡рд▓ 4 рдкрд┐рди рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╕реНрдорд╛рд░реНрдЯ рдмреЗрд╕ рдореЗрдВред рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдкрд┐рди p0.00, рджреЛ рдПрд▓ рдИ рдбреА рд╕реЗ рдЬреБрдбрд╝рд╛ рдПрдХ рдШрдбрд╝реА рдХрд╛ рдмрдЯрди рд╣реИ, рд▓рд╛рд▓ рдкрд┐рди p0.01 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рд╣рд░рд╛ рдкрд┐рди p0.02 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред 10A рдкрд░ рдПрдХ рд╡рд┐рджреНрдпреБрдд рдЪреБрдореНрдмрдХреАрдп рд░рд┐рд▓реЗ рдкрд┐рди p0.03 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рддреЛ, Arduino IDE рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдлреЗрдВрдХрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:
#define BUTTON_PIN 0 #define RED_LED_PIN 1 #define GREEN_LED_PIN 2 #define RELAY_PIN 3 boolean iswitch = 0; boolean flag_button = 0; static uint32_t previousMillis; //#define MY_DEBUG #define MY_DISABLED_SERIAL #define MY_RADIO_NRF5_ESB //#define MY_NRF5_ESB_PA_LEVEL (NRF5_PA_LOW) #define MY_NRF5_ESB_PA_LEVEL (NRF5_PA_MAX) //#define MY_PASSIVE_NODE #define MY_NODE_ID 201 #define MY_PARENT_NODE_ID 0 #define MY_PARENT_NODE_IS_STATIC #define MY_TRANSPORT_UPLINK_CHECK_DISABLED #define RELAY_ID 1 #include <MySensors.h> MyMessage lMsg(RELAY_ID, V_STATUS); void preHwInit() { pinMode(BUTTON_PIN, INPUT_PULLUP); pinMode(RED_LED_PIN, OUTPUT); pinMode(GREEN_LED_PIN, OUTPUT); pinMode(RELAY_PIN, OUTPUT); } void before() { digitalWrite(RED_LED_PIN, HIGH); } void presentation() { sendSketchInfo("REDMOND R nRF51", "1.0"); wait(300); present(RELAY_ID, S_BINARY, "RELAY SWITCH"); wait(300); } void setup() { digitalWrite(RED_LED_PIN, LOW); wait(300); digitalWrite(GREEN_LED_PIN, HIGH); wait(200); digitalWrite(GREEN_LED_PIN, LOW); wait(200); digitalWrite(GREEN_LED_PIN, HIGH); wait(200); digitalWrite(GREEN_LED_PIN, LOW); wait(200); digitalWrite(GREEN_LED_PIN, HIGH); wait(200); digitalWrite(GREEN_LED_PIN, LOW); wait(500); send(lMsg.set(iswitch)); wait(500); } void loop() { if (digitalRead(BUTTON_PIN) == LOW && flag_button == 0) { flag_button = 1; previousMillis = millis(); wait(20); } if (digitalRead(BUTTON_PIN) == LOW && flag_button == 1) { // , } if (digitalRead(BUTTON_PIN) == HIGH && flag_button == 1) { if ((millis() - previousMillis > 0) && (millis() - previousMillis <= 3000)) { if (iswitch == 0) { digitalWrite(GREEN_LED_PIN, HIGH); wait(10); } else if (iswitch == 1) { digitalWrite(GREEN_LED_PIN, LOW); wait(10); } flag_button = 0; iswitch = !iswitch; digitalWrite(RELAY_PIN, iswitch); wait(1500); send(lMsg.set(iswitch)); } if (millis() - previousMillis > 3000) { flag_button = 0; } } } void receive(const MyMessage & message) { if (message.type == V_STATUS) { if (message.sensor == RELAY_ID) { if (mGetCommand(message) == 1) { if (message.isAck()) { //AckG = 1; } else { wait(50); if (iswitch == 0) { digitalWrite(GREEN_LED_PIN, HIGH); }else if (iswitch == 1) { digitalWrite(GREEN_LED_PIN, LOW); } iswitch = !iswitch; wait(10); digitalWrite(RELAY_PIN, iswitch); wait(1500); send(lMsg.set(iswitch)); } } if (mGetCommand(message) == 2) { } } } }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдб рдЫреЛрдЯрд╛ рдФрд░ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрд╕реЗрдВрд╕рд░реНрд╕ рд╕рдореБрджрд╛рдп рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред
рдЬреИрд╕реЗ рд╣реА рдХреЛрдб рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛, рдореИрдВрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЖрдЙрдЯрд▓реЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВрдиреЗ рджреЛ рд╕рд╛рдзрд╛рд░рдг рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рд░реЛрдзреЛрдВ рдХреЛ рд▓рд┐рдпрд╛, рд╡рд╛рдпрд░ рдХрдЯрд░ рдХреЗ рд╕рд╛рде рддрд╛рд░ рдХреЛ рдереЛрдбрд╝рд╛ рджреВрд░ рдХрд░ рджрд┐рдпрд╛, рддрд╛рд░ рд╕реЗ рд╣реБрдХ рдмрдирд╛ рджрд┐рдпрд╛, рдЗрд╕реЗ рдЭреБрдХрд╛ рджрд┐рдпрд╛, рдЗрди рд╣реБрдХ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рддрд╛рд░реЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рдФрд░ рдЖрдЙрдЯрд▓реЗрдЯ рдХреЛ "рд╣реБрдХ" рдХрд┐рдпрд╛, рд╡реАрдбрд┐рдпреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред рдореИрдВрдиреЗ рдЖрдЙрдЯрд▓реЗрдЯ рдореЗрдВ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЖрдЙрдЯрд▓реЗрдЯ рдбрд╛рд▓рд╛ :), рдореЗрдЬрд░рдбреЛрдореЛ рдХреЛ рдЦреЛрд▓рд╛, рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ, рдЖрдЙрдЯрд▓реЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрдиреНрд╕реЗрдВрд╕рд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдореМрдЬреВрдж рдерд╛ред рдореИрдВ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдЖрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реВрдВ рдФрд░ ... рд░рд┐рдмреВрдЯ :) ... рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдореЛрдбрд╝ред рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдИ рдереА рд╡рд╣ рдереА рд░рд┐рд▓реЗ рдХреЗ рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдмрд┐рдЬрд▓реА рдХреА рдЦрд░рд╛рдмреАред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реЗ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдкрд░ рдПрд▓рдИрдбреА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛, рд░рд┐рд▓реЗ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рд╕реЙрдХреЗрдЯ рдиреЗ рд░рд┐рдмреВрдЯ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред ... рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ :)ред рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдмрд┐рдЬрд▓реА рдХреА рдХрдореА рдереАред рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рд░рд╣рд┐рдд рдмрд┐рдЬрд▓реА рдЖрдкреВрд░реНрддрд┐ рдХрд╛ рд╕рд░реНрдХрд┐рдЯ рдРрд╕рд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ BLE рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдореИрд╕реЗрдВрдЬрд░ 2.4 GHz рд░реЗрдбрд┐рдпреЛ рдореЙрдбреНрдпреВрд▓ (RF24 - ANT рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛) рдХреЗ рдПрдХ рдЕрд▓рдЧ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рдЧрднрдЧ 10mA рдХреА рдХрдореА рд╣реИред рд╣рдорд╛рд░реА рдЪреИрдЯ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрд╕реЗрдВрд╕рд░реНрд╕ рдиреЗ рдПрдХ рдЧрд┐рдЯреНрдЯреА рд╕рдВрдзрд╛рд░рд┐рддреНрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдкрд░ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╣реЗрд░рдлреЗрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ:


рдЖрдЙрдЯрд▓реЗрдЯ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реБрдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рдереЛрдбрд╝рд╛ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реЛрдХрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд╡рд┐рдХрд╛рд╕ рдЕрдм рдЙрддреНрдХреГрд╖реНрдЯ рдерд╛ред рдореИрдВрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рддрд░реНрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рд╣реИ, рдПрдХ рдФрд░ #define MY_NRF5_ESB_PA_LEVEL (NRF5_PA_MAX) рдЬреЛрдбрд╝рд╛ рд╣реИ, рдпрд╛рдиреА, рдореИрдВ рд░реЗрдбрд┐рдпреЛ рдХреЛ рдкреВрд░реА рд╢рдХреНрддрд┐ рд╕реЗ "рдХрд╛рдЯрддрд╛ рд╣реВрдВ" (рд╣рд╛рдБ, рдпрд╣ рдореИрд╕реЗрдВрд╕рд░реНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ) ... рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреЛрдИ рдЧрд▓рддреА рдирд╣реАрдВред рдХреЛрдИ рд░рд┐рдмреВрдЯ рдирд╣реАрдВред рдпрд╣ рдПрдХ рдЬреАрдд рд╣реИ :)

рд▓реЗрдХрд┐рди рдЗрд╕ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЗ рдкрд╛рд╕ nRF51822 рдкрд░ рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рднреА рд╣реИрдВ - рдПрдХ рд╕реНрдореЛрдХ рд╕реЗрдВрд╕рд░, рдПрдХ рдореЛрд╢рди рд╕реЗрдВрд╕рд░, рдПрдХ рдЧреИрд╕ рд╕реЗрдВрд╕рд░, рдерд░реНрдорд▓ рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕, рдкрдВрдЦреЗ, рд╣реНрдпреВрдорд┐рдбрд┐рдлрд╛рдпрд░, рдХреНрд▓реАрдирд░, рдХреЗрддрд▓реА ...);
рд╣рдорд╛рд░реЗ рд╕рдореБрджрд╛рдп рдХреА рдПрдХ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдЯ, рдЬрд╣рд╛рдВ рд╡реЗ рд╣рдореЗрд╢рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ, рдмреЛрд░реНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ, рд╕рдордЭрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ рд╕рд┐рд░ рджрд░реНрдж рдХреЗ рдмрд┐рдирд╛ arduins рдкрд░ рд╕реЗрдВрд╕рд░ рдХрд╛ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП - https://t.me/mysensors_rus