Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. arduino_89_89
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    arduino_89_89

    @arduino_89_89

    0
    Reputation
    14
    Posts
    441
    Profile views
    0
    Followers
    2
    Following
    Joined Last Online

    arduino_89_89 Follow

    Best posts made by arduino_89_89

    This user hasn't posted anything yet.

    Latest posts made by arduino_89_89

    • Multiple Sketch

      Hello everyone, I would need a Sketch with 4 magnetic door sensors, 2 relays and 1 ds18b20.

      posted in Development
      arduino_89_89
      arduino_89_89
    • New Sketch

      Fit a sketch found on the net, for mysensor

      posted in Development
      arduino_89_89
      arduino_89_89
    • RE: Relay actuator with button and sensor air humidity?

      Sensor DHT-11

      posted in Hardware
      arduino_89_89
      arduino_89_89
    • Relay actuator with button and sensor air humidity?

      relay with button and without gateway, and sensor air and humidity.
      How do I insert the temperature sensor skech, within this:

      #define MY_DEBUG                               // Enable debug prints to serial monitor
      
      #define MY_RADIO_NRF24                         // Enable and select radio type attached
      #define MY_NODE_ID 8
      
      
      #define MY_TRANSPORT_WAIT_READY_MS 5000        //set how long to wait for transport ready in milliseconds
      
      #include <MySensors.h>
      #include <Bounce2.h>
      
      #define RELAY_PIN  4      // Arduino Digital I/O pin number for relay 
      #define BUTTON_PIN  3     // Arduino Digital I/O pin number for button 
      #define CHILD_ID 1        // Id of the sensor child
      #define RELAY_ON 0
      #define RELAY_OFF 1
      
      Bounce debouncer = Bounce();
      int oldValue = 0;
      bool uplinkAvailable = true;
      bool state = false;
      bool requestState;
      bool firstStart = true;
      unsigned long uplinkCheckTime ;                // holder for uplink checks
      unsigned long uplinkCheckPeriod = 30*1000;     // time between checks for uplink in milliseconds
      unsigned long returnWait = 1500;               // how long to wait for return from controller in milliseconds
      MyMessage msg(CHILD_ID, V_STATUS);
      
      void setup(){
        pinMode(BUTTON_PIN, INPUT_PULLUP);           // Setup the button pin, Activate internal pull-up
        
        debouncer.attach(BUTTON_PIN);                // After setting up the button, setup debouncer
        debouncer.interval(5);
      
        pinMode(RELAY_PIN, OUTPUT);                 // set relay pin in output mode
        digitalWrite(RELAY_PIN, RELAY_OFF);         // Make sure relay is off when starting up
      }
      
      void presentation()  {
        // Send the sketch version information to the gateway and Controller
        sendSketchInfo("Relay & Button", "1.0");
      
        // Register all sensors to gw (they will be created as child devices)
        present(CHILD_ID, S_BINARY);
      }
      
      
      void loop(){
        if (firstStart) {                            // this code is only run once at startup
          Serial.println("First run started");
          if (request( CHILD_ID, V_STATUS)) {       // request the current state of the switch on the controller and check that an ack was received
            Serial.println("uplink available");
            wait (returnWait);                      //wait needed to allow request to return from controller
            Serial.print("controller state --- ");
            Serial.println(requestState);
            if (requestState != state) {           // check that controller is corectly showing the current relay state
              send(msg.set(state), false);         // notify controller of current state
            }
          }
          else {
            Serial.println("uplink not available");
            uplinkAvailable = false;               // no uplink established
            uplinkCheckTime = millis();
          }
          firstStart = false;                     // set firstStart flag false to prevent code from running again
        }
      
        debouncer.update();
        int value = debouncer.read();                               // Get the update value
        if (value != oldValue && value == 0) {                      // check for new button push
          state =  !state;                                          // Toggle the state
          digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);    // switch the relay to the new state
          if (!send(msg.set(state), true)) {                        //Attempt to notify controller of changed state
            Serial.println("uplink not available");
            uplinkAvailable = false;                                // no uplink available
            uplinkCheckTime = millis();                             
          }
        }
       oldValue = value;
      
        if (!uplinkAvailable && (millis() - uplinkCheckTime > uplinkCheckPeriod) ) {       // test to see if function should be called
          uplinkCheck();                                                                  // call uplink checking function
        }
      
      }
      
      /*-------------------start of functions--------------------------*/
      
      void receive(const MyMessage &message) {
        if (message.type == V_STATUS) {                                   // check to see if incoming message is for a switch
          switch (message.getCommand()) {                                 // message.getCommand will give us the command type of the incomming message
            case C_SET:
       //message is a set command  from controller to update relay state
              state = message.getBool();                                  // get the new state
              digitalWrite(RELAY_PIN, state ? RELAY_ON : RELAY_OFF);      // switch relay to new state
              uplinkAvailable = true;                                     //  uplink established
              /*---- Write some debug info----*/
              Serial.print("Incoming change for sensor:");
              Serial.print(message.sensor);
              Serial.print(", New status: ");
              Serial.println(message.getBool());
              break;
            case C_REQ:                                               // message is a returning request from controller
              requestState = message.getBool();                       // update requestState with returning state
              break;
          }
        }
      }
      
      void uplinkCheck() {
        if (request( CHILD_ID, V_STATUS)) {         // request the current state of the switch on the controller and check that the request was succsessful
          Serial.println("uplink re-established");
          wait (returnWait);                        //wait needed to allow request to return from controller
          if (requestState != state) {              // check that controller is corectly showing the current relay state
            send(msg.set(state), false);            // notify controller of current state no ack
            uplinkAvailable = true;                 //  uplink established
          }
        }
        uplinkCheckTime = millis();                // reset the checktime
        Serial.println("uplinkchecktime reset");
      }
      
      posted in Hardware
      arduino_89_89
      arduino_89_89
    • RE: Problem with Domoticz

      0_1502270247458_Log.txt

      posted in Domoticz
      arduino_89_89
      arduino_89_89
    • RE: Problem with Domoticz

      0_1502269526374_Log.txt

      posted in Domoticz
      arduino_89_89
      arduino_89_89
    • RE: Problem with Domoticz

      It's too long.

      posted in Domoticz
      arduino_89_89
      arduino_89_89
    • RE: Problem with Domoticz

      How do I send it to you? It's too long.

      posted in Domoticz
      arduino_89_89
      arduino_89_89
    • RE: Problem with Domoticz

      But should I use watchdog? To reset nodes automatically every day?

      posted in Domoticz
      arduino_89_89
      arduino_89_89
    • RE: Problem with Domoticz

      I understand, but the only sensors that connect are: The temperature sensor and the gas sensor, which send periodic signals. My system is structured on 3 floors. The first floor has the Gateway, and off the first floor has a Node Repeater. Then the second floor has another Node Repeater and has 2 Relay Nodes. And finally the Third Floor with another repeater and 2 sensors, Gas and Temp / Hum.

      posted in Domoticz
      arduino_89_89
      arduino_89_89