Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. Sensor "persistence"?

Sensor "persistence"?

Scheduled Pinned Locked Moved Development
26 Posts 2 Posters 5.0k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    iahim67
    wrote on last edited by
    #3

    I have used the Motion Sensor example, Relay Actuator, DimmableLED Actuator, Temperature ... I am uploading a few sketches:
    0_1496830979756_RelayActuator.ino
    0_1496831036727_TH_and_RELAY.ino
    0_1496831051014_TH1.ino
    0_1496831066368_MotionSensor.ino

    The gateway is this:
    0_1496831118872_GatewaySerial.ino

    Thanks!

    1 Reply Last reply
    0
    • I Offline
      I Offline
      iahim67
      wrote on last edited by
      #4

      If viewing my uploads is problematic, I'll copy paste some code below:

      The serial gateway:
      /**

      • The MySensors Arduino library handles the wireless radio link and protocol
      • between your home built sensors/actuators and HA controller of choice.
      • The sensors forms a self healing radio network with optional repeaters. Each
      • repeater and gateway builds a routing tables in EEPROM which keeps track of the
      • network topology allowing messages to be routed to nodes.
      • Created by Henrik Ekblad henrik.ekblad@mysensors.org
      • Copyright (C) 2013-2015 Sensnology AB
      • Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
      • Documentation: http://www.mysensors.org
      • Support Forum: http://forum.mysensors.org
      • This program is free software; you can redistribute it and/or
      • modify it under the terms of the GNU General Public License
      • version 2 as published by the Free Software Foundation.

      • DESCRIPTION
      • The ArduinoGateway prints data received from sensors on the serial link.
      • The gateway accepts input on seral which will be sent out on radio network.
      • The GW code is designed for Arduino Nano 328p / 16MHz
      • Wire connections (OPTIONAL):
        • Inclusion button should be connected between digital pin 3 and GND
        • RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
      • LEDs (OPTIONAL):
        • To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs
        • RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
        • TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
        • ERR (red) - fast blink on error during transmission error or recieve crc error

      */

      // Enable debug prints to serial monitor
      #define MY_DEBUG

      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      //#define MY_RADIO_RFM69

      // Set LOW transmit power level as default, if you have an amplified NRF-module and
      // power your radio separately with a good regulator you can turn up PA level.
      #define MY_RF24_PA_LEVEL RF24_PA_LOW

      // Enable serial gateway
      #define MY_GATEWAY_SERIAL

      // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
      #if F_CPU == 8000000L
      #define MY_BAUD_RATE 38400
      #endif

      // Enable inclusion mode
      #define MY_INCLUSION_MODE_FEATURE
      // Enable Inclusion mode button on gateway
      //#define MY_INCLUSION_BUTTON_FEATURE

      // Inverses behavior of inclusion button (if using external pullup)
      //#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP

      // Set inclusion mode duration (in seconds)
      #define MY_INCLUSION_MODE_DURATION 60
      // Digital pin used for inclusion mode button
      //#define MY_INCLUSION_MODE_BUTTON_PIN 3

      // Set blinking period
      #define MY_DEFAULT_LED_BLINK_PERIOD 300

      // Inverses the behavior of leds
      #define MY_WITH_LEDS_BLINKING_INVERSE

      // Flash leds on rx/tx/err
      // Uncomment to override default HW configurations
      #define MY_DEFAULT_ERR_LED_PIN 4 // Error led pin
      #define MY_DEFAULT_RX_LED_PIN 6 // Receive led pin
      #define MY_DEFAULT_TX_LED_PIN 5 // the PCB, on board LED

      #include <MySensors.h>

      void setup()
      {
      // Setup locally attached sensors
      }

      void presentation()
      {
      // Present locally attached sensors
      }

      void loop()
      {
      // Send locally attached sensor data here
      }

      The Motion Sensor:
      /**
      The MySensors Arduino library handles the wireless radio link and protocol
      between your home built sensors/actuators and HA controller of choice.
      The sensors forms a self healing radio network with optional repeaters. Each
      repeater and gateway builds a routing tables in EEPROM which keeps track of the
      network topology allowing messages to be routed to nodes.

      Created by Henrik Ekblad henrik.ekblad@mysensors.org
      Copyright (C) 2013-2015 Sensnology AB
      Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors

      Documentation: http://www.mysensors.org
      Support Forum: http://forum.mysensors.org

      This program is free software; you can redistribute it and/or
      modify it under the terms of the GNU General Public License
      version 2 as published by the Free Software Foundation.


      REVISION HISTORY
      Version 1.0 - Henrik Ekblad

      DESCRIPTION
      Motion Sensor example using HC-SR501
      http://www.mysensors.org/build/motion

      */

      // Enable debug prints
      #define MY_DEBUG

      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      //#define MY_RADIO_RFM69

      #include <MySensors.h>

      unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
      #define DIGITAL_INPUT_SENSOR 3 // The digital input you attached your motion sensor. (Only 2 and 3 generates interrupt!)
      #define CHILD_ID 1 // Id of the sensor child

      // Initialize motion message
      MyMessage msg(CHILD_ID, V_TRIPPED);

      void setup()
      {
      pinMode(DIGITAL_INPUT_SENSOR, INPUT); // sets the motion sensor digital pin as input
      }

      void presentation()
      {
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("Motion Sensor", "1.0");

      // Register all sensors to gw (they will be created as child devices)
      present(CHILD_ID, S_MOTION);
      }

      void loop()
      {
      // Read digital motion value
      bool tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH;

      Serial.println(tripped);
      send(msg.set(tripped ? "1" : "0")); // Send tripped value to gw

      switch (tripped) {
      case LOW:
      Serial.println("NO alarm");
      break;
      case HIGH:
      Serial.println("#####ALARM#####");
      break;
      }
      // Sleep until interrupt comes in on motion sensor. Send update every two minute.
      sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME);
      }

      Thermistor and Relay:
      /**
      The MySensors Arduino library handles the wireless radio link and protocol
      between your home built sensors/actuators and HA controller of choice.
      The sensors forms a self healing radio network with optional repeaters. Each
      repeater and gateway builds a routing tables in EEPROM which keeps track of the
      network topology allowing messages to be routed to nodes.

      Created by Henrik Ekblad henrik.ekblad@mysensors.org
      Copyright (C) 2013-2015 Sensnology AB
      Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors

      Documentation: http://www.mysensors.org
      Support Forum: http://forum.mysensors.org

      This program is free software; you can redistribute it and/or
      modify it under the terms of the GNU General Public License
      version 2 as published by the Free Software Foundation.


      REVISION HISTORY
      Version 1.0 - Henrik Ekblad

      DESCRIPTION
      Example sketch showing how to control physical relays.
      This example will remember relay state after power failure.
      http://www.mysensors.org/build/relay
      */

      // Enable debug prints to serial monitor
      #define MY_DEBUG

      // Enable and select radio type attached
      #define MY_RADIO_NRF24
      //#define MY_RADIO_RFM69

      // Enable repeater functionality for this node
      #define MY_REPEATER_FEATURE

      #include <MySensors.h>

      #define NODE_ID 5

      int _nominal_resistor = 4700;
      int _nominal_temperature = 25;
      int _b_coefficient = 3950;
      int _series_resistor = 5630;
      int _pin = 1;

      MyMessage msg(NODE_ID, V_TEMP);

      //uint8_t value = OPEN;
      int8_t temp = 25;

      #define RELAY_1 7 // Arduino Digital I/O pin number for first relay (second on pin+1 etc)
      #define NUMBER_OF_RELAYS 2 // Total number of attached relays
      #define RELAY_ON 1 // GPIO value to write to turn on attached relay
      #define RELAY_OFF 0 // GPIO value to write to turn off attached relay

      void before()
      {
      for (int sensor = 1, pin = RELAY_1; sensor <= NUMBER_OF_RELAYS; sensor++, pin++) {
      // Set relay pins in output mode
      pinMode(pin, OUTPUT);
      // Set relay to last known state (using eeprom storage)
      digitalWrite(pin, loadState(sensor) ? RELAY_ON : RELAY_OFF);
      }
      }

      void setup()
      {
      Serial.begin(115200);
      }

      void presentation()
      {
      // Send the sketch version information to the gateway and Controller
      sendSketchInfo("2xRelay+Thermistor", "1.0");

      present(NODE_ID, S_TEMP);

      for (int sensor = 1, pin = RELAY_1; sensor <= NUMBER_OF_RELAYS; sensor++, pin++) {
      // Register all sensors to gw (they will be created as child devices)
      present(sensor, S_BINARY);
      }
      }

      void loop()
      {
      temp = measure_temperature();
      Serial.println(temp);
      send(msg.set(temp));
      sleep(5000);
      }

      void receive(const MyMessage &message)
      {
      // We only expect one type of message from controller. But we better check anyway.
      if (message.type == V_STATUS) {
      // Change relay state
      digitalWrite(message.sensor - 1 + RELAY_1, message.getBool() ? RELAY_ON : RELAY_OFF);
      // Store state in eeprom
      saveState(message.sensor, message.getBool());
      // Write some debug info
      Serial.print("Incoming change for sensor:");
      Serial.print(message.sensor);
      Serial.print(", New status: ");
      Serial.println(message.getBool());
      }
      }

      int8_t measure_temperature()
      {
      // read the voltage across the thermistor
      float adc = analogRead(_pin);
      // calculate the temperature
      float reading = (1023 / adc) - 1;
      reading = _series_resistor / reading;
      float temperature;
      temperature = reading / _nominal_resistor; // (R/Ro)
      temperature = log(temperature); // ln(R/Ro)
      temperature /= _b_coefficient; // 1/B * ln(R/Ro)
      temperature += 1.0 / (_nominal_temperature + 273.15); // + (1/To)
      temperature = 1.0 / temperature; // Invert
      temperature -= 273.15; // convert to C
      if (! getControllerConfig().isMetric) temperature = temperature * 1.8 + 32;
      return int8_t(temperature);
      }

      1 Reply Last reply
      0
      • tbowmoT Offline
        tbowmoT Offline
        tbowmo
        Admin
        wrote on last edited by
        #5

        could you please reformat your post, and add "code" tags to each chunk of code/ file? (use the "insert code-tag" button above the editor).

        It's a bit hard to see where one stops, and the next starts..

        1 Reply Last reply
        0
        • tbowmoT Offline
          tbowmoT Offline
          tbowmo
          Admin
          wrote on last edited by
          #6

          Also try and stick with one piece of code, until you get that working, and understand what it does, before trying multiple sketches, etc. Take it step by step.. Instead of jumping all around :)

          A simple node, like an actuator, with a LED on the node, that you will try to turn on / off using domoticz

          1 Reply Last reply
          1
          • I Offline
            I Offline
            iahim67
            wrote on last edited by
            #7

            Sorry, i was just a bit too enthusiastic ... to see it all working :-), I'll reformat the post as you say.

            1 Reply Last reply
            0
            • I Offline
              I Offline
              iahim67
              wrote on last edited by
              #8

              So this is the gateway code:

              /**
              * The MySensors Arduino library handles the wireless radio link and protocol
              * between your home built sensors/actuators and HA controller of choice.
              * The sensors forms a self healing radio network with optional repeaters. Each
              * repeater and gateway builds a routing tables in EEPROM which keeps track of the
              * network topology allowing messages to be routed to nodes.
              *
              * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
              * Copyright (C) 2013-2015 Sensnology AB
              * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
              *
              * Documentation: http://www.mysensors.org
              * Support Forum: http://forum.mysensors.org
              *
              * This program is free software; you can redistribute it and/or
              * modify it under the terms of the GNU General Public License
              * version 2 as published by the Free Software Foundation.
              *
              *******************************
              *
              * DESCRIPTION
              * The ArduinoGateway prints data received from sensors on the serial link.
              * The gateway accepts input on seral which will be sent out on radio network.
              *
              * The GW code is designed for Arduino Nano 328p / 16MHz
              *
              * Wire connections (OPTIONAL):
              * - Inclusion button should be connected between digital pin 3 and GND
              * - RX/TX/ERR leds need to be connected between +5V (anode) and digital pin 6/5/4 with resistor 270-330R in a series
              *
              * LEDs (OPTIONAL):
              * - To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs
              * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
              * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
              * - ERR (red) - fast blink on error during transmission error or recieve crc error
              *
              */
              
              // Enable debug prints to serial monitor
              #define MY_DEBUG
              
              
              // Enable and select radio type attached
              #define MY_RADIO_NRF24
              //#define MY_RADIO_RFM69
              
              // Set LOW transmit power level as default, if you have an amplified NRF-module and
              // power your radio separately with a good regulator you can turn up PA level.
              #define MY_RF24_PA_LEVEL RF24_PA_LOW
              
              // Enable serial gateway
              #define MY_GATEWAY_SERIAL
              
              // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
              #if F_CPU == 8000000L
              #define MY_BAUD_RATE 38400
              #endif
              
              // Enable inclusion mode
              #define MY_INCLUSION_MODE_FEATURE
              // Enable Inclusion mode button on gateway
              //#define MY_INCLUSION_BUTTON_FEATURE
              
              // Inverses behavior of inclusion button (if using external pullup)
              //#define MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
              
              // Set inclusion mode duration (in seconds)
              #define MY_INCLUSION_MODE_DURATION 60
              // Digital pin used for inclusion mode button
              //#define MY_INCLUSION_MODE_BUTTON_PIN  3
              
              // Set blinking period
              #define MY_DEFAULT_LED_BLINK_PERIOD 300
              
              // Inverses the behavior of leds
              #define MY_WITH_LEDS_BLINKING_INVERSE
              
              // Flash leds on rx/tx/err
              // Uncomment to override default HW configurations
              #define MY_DEFAULT_ERR_LED_PIN 4  // Error led pin
              #define MY_DEFAULT_RX_LED_PIN  6  // Receive led pin
              #define MY_DEFAULT_TX_LED_PIN  5  // the PCB, on board LED
              
              #include <MySensors.h>
              
              void setup()
              {
              	// Setup locally attached sensors
              }
              
              void presentation()
              {
              	// Present locally attached sensors
              }
              
              void loop()
              {
              	// Send locally attached sensor data here
              }```
              1 Reply Last reply
              0
              • I Offline
                I Offline
                iahim67
                wrote on last edited by
                #9

                And this is my temperature sensor code (I'm using a thermistor):

                // Enable debug prints to serial monitor
                #define MY_DEBUG
                
                #define MY_RADIO_NRF24
                
                #include <MySensors.h>
                
                #define NODE_ID 0
                
                int _nominal_resistor = 4700;
                int _nominal_temperature = 25;
                int _b_coefficient = 3950;
                int _series_resistor = 5630;
                int _pin = 1;
                
                MyMessage msg(NODE_ID, V_TEMP);
                
                //uint8_t value = OPEN;
                int8_t temp = 25;
                
                void setup()
                {
                  Serial.begin(115200);
                }
                
                void presentation()
                {
                  // Send the sketch version information to the gateway and Controller
                  sendSketchInfo("Thermistor", "1.0");
                  present(NODE_ID, S_TEMP);
                }
                
                void loop()
                {
                  temp = measure_temperature();
                  Serial.println(temp);
                  send(msg.set(temp));
                  sleep(3000);
                }
                
                int8_t measure_temperature()
                {
                  // read the voltage across the thermistor
                  float adc = analogRead(_pin);
                  // calculate the temperature
                  float reading = (1023 / adc)  - 1;
                  reading = _series_resistor / reading;
                  float temperature;
                  temperature = reading / _nominal_resistor;     // (R/Ro)
                  temperature = log(temperature);                  // ln(R/Ro)
                  temperature /= _b_coefficient;                   // 1/B * ln(R/Ro)
                  temperature += 1.0 / (_nominal_temperature + 273.15); // + (1/To)
                  temperature = 1.0 / temperature;                 // Invert
                  temperature -= 273.15;                         // convert to C
                  if (! getControllerConfig().isMetric) temperature = temperature * 1.8 + 32;
                  return int8_t(temperature); 
                }```
                
                I start Domoticz, enter the Gateway setup and delete every node while the sensor is powered off. 
                I power on the sensor (connect the USB cable to my laptop) and nothing happens, I click refresh on the nodes but no nodes shows up, the RX and TX LEDs on the gateway do not blink.
                Then I reflash (upload) the code above and suddenly the RX and TX LEDs on the Gateway start blinking and Domoticz recognizes my sensor.
                It is like if I power off the sensor it will not be recognized unless I upload the sensor code again.
                1 Reply Last reply
                0
                • I Offline
                  I Offline
                  iahim67
                  wrote on last edited by
                  #10

                  Sorry ... still learning how to use the Insert Code Block :-)
                  I start Domoticz, enter the Gateway setup and delete every node while the sensor is powered off.
                  I power on the sensor (connect the USB cable to my laptop) and nothing happens, I click refresh on the nodes but no nodes shows up, the RX and TX LEDs on the gateway do not blink.
                  Then I reflash (upload) the code above and suddenly the RX and TX LEDs on the Gateway start blinking and Domoticz recognizes my sensor.
                  It is like if I power off the sensor it will not be recognized unless I upload the sensor code again.

                  1 Reply Last reply
                  0
                  • tbowmoT Offline
                    tbowmoT Offline
                    tbowmo
                    Admin
                    wrote on last edited by
                    #11

                    Try a simpler approach, use a serial terminal to access the gateway, and check the messages that is coming in there.

                    Next check the serial port on the node, and check if it indicates any errors etc, both on first power up, and on second/third/fourth etc.

                    1 Reply Last reply
                    0
                    • I Offline
                      I Offline
                      iahim67
                      wrote on last edited by
                      #12

                      OK, I tried to power ON the sensor 5 times, I opened the Arduino serial monitor every time and waited a couple of minutes, the terminal window was empty every time like the sensor has no serial output.
                      Sixth time I hit the upload button in Arduino and in a few seconds the sensor starts working and this is what I can see in the terminal window:

                      0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1
                      3 TSM:INIT
                      4 TSF:WUR:MS=0
                      11 TSM:INIT:TSP OK
                      13 TSF:SID:OK,ID=2
                      14 TSM:FPAR
                      51 TSF:MSG:SEND,2-2-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      411 TSF:MSG:READ,0-0-2,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                      416 TSF:MSG:FPAR OK,ID=0,D=1
                      2058 TSM:FPAR:OK
                      2059 TSM:ID
                      2060 TSM:ID:OK
                      2062 TSM:UPL
                      2065 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
                      2071 TSF:MSG:READ,0-0-2,s=255,c=3,t=25,pt=1,l=1,sg=0:1
                      2076 TSF:MSG:PONG RECV,HP=1
                      2078 TSM:UPL:OK
                      2080 TSM:READY:ID=2,PAR=0,DIS=1
                      2084 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                      2092 TSF:MSG:READ,0-0-2,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                      2099 TSF:MSG:SEND,2-2-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.1.1
                      2107 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
                      2113 TSF:MSG:READ,0-0-2,s=255,c=3,t=6,pt=0,l=1,sg=0:M
                      2120 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=11,pt=0,l=10,sg=0,ft=0,st=OK:Thermistor
                      2129 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
                      2138 TSF:MSG:SEND,2-2-0-0,s=0,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=OK:
                      2143 MCO:REG:REQ
                      2147 TSF:MSG:SEND,2-2-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
                      2153 TSF:MSG:READ,0-0-2,s=255,c=3,t=27,pt=1,l=1,sg=0:1
                      2158 MCO:PIM:NODE REG=1
                      2160 MCO:BGN:STP
                      2162 MCO:BGN:INIT OK,TSP=1
                      27
                      2166 TSF:MSG:SEND,2-2-0-0,s=0,c=1,t=0,pt=2,l=2,sg=0,ft=0,st=OK:27
                      2172 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
                      2178 MCO:SLP:TPD
                      2180 MCO:SLP:WUP=-1
                      27
                      2184 TSF:MSG:SEND,2-2-0-0,s=0,c=1,t=0,pt=2,l=2,sg=0,ft=0,st=OK:27
                      2190 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
                      2195 MCO:SLP:TPD
                      2197 MCO:SLP:WUP=-1
                      27
                      2201 TSF:MSG:SEND,2-2-0-0,s=0,c=1,t=0,pt=2,l=2,sg=0,ft=0,st=OK:27
                      2207 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
                      2212 MCO:SLP:TPD
                      2214 MCO:SLP:WUP=-1
                      27
                      2219 TSF:MSG:SEND,2-2-0-0,s=0,c=1,t=0,pt=2,l=2,sg=0,ft=0,st=OK:27
                      2225 MCO:SLP:MS=3000,SMS=0,I1=255,M1=255,I2=255,M2=255
                      2230 MCO:SLP:TPD
                      2231 MCO:SLP:WUP=-1```
                      1 Reply Last reply
                      0
                      • tbowmoT Offline
                        tbowmoT Offline
                        tbowmo
                        Admin
                        wrote on last edited by tbowmo
                        #13

                        what hardware do you use for the node?

                        1 Reply Last reply
                        0
                        • I Offline
                          I Offline
                          iahim67
                          wrote on last edited by
                          #14

                          The node is an Arduino Mini - it is not an Arduino Mini Pro as reccomended, true!
                          But I'll try soon with an Arduino Nano as a node.
                          The gateway is an Arduino nano.
                          on The gateway side the serial monitor only shows

                          0;255;3;0;14;Gateway startup complete.
                          0;255;0;0;18;2.1.1
                          

                          no matter how many times I power ON and OFF the sensor.
                          But after I reflash the sensor then the Gateway serial output is:

                          0;255;3;0;14;Gateway startup complete.
                          0;255;0;0;18;2.1.1
                          2;255;3;0;11;Thermistor
                          2;255;3;0;12;1.0
                          2;0;0;0;6;
                          2;0;1;0;0;27```
                          1 Reply Last reply
                          0
                          • tbowmoT Offline
                            tbowmoT Offline
                            tbowmo
                            Admin
                            wrote on last edited by
                            #15

                            Just a thought..

                            Program a simple blinking sketch in your node, see if the LED is blinking (this is without mysensors at all!)

                            Now try powercycling it a couple of times, does it start blinking?

                            If not, then there is a problem with your arduino mini.

                            1 Reply Last reply
                            0
                            • I Offline
                              I Offline
                              iahim67
                              wrote on last edited by
                              #16

                              OK, I'll try that too, thanks!

                              1 Reply Last reply
                              0
                              • I Offline
                                I Offline
                                iahim67
                                wrote on last edited by
                                #17

                                Amazing! You were absolutely right! I tried a simple LED blink like below, it only works once after the code upload. No matter how many times I power cycle after that, it will not work any more. What could be wrong with this Arduino Mini? It is the original Arduino Mini from Farnell ...

                                /*
                                  Blink
                                  Turns on an LED on for one second, then off for one second, repeatedly.
                                
                                  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO 
                                  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
                                  the correct LED pin independent of which board is used.
                                  If you want to know what pin the on-board LED is connected to on your Arduino model, check
                                  the Technical Specs of your board  at https://www.arduino.cc/en/Main/Products
                                  
                                  This example code is in the public domain.
                                
                                  modified 8 May 2014
                                  by Scott Fitzgerald
                                  
                                  modified 2 Sep 2016
                                  by Arturo Guadalupi
                                  
                                  modified 8 Sep 2016
                                  by Colby Newman
                                */
                                
                                
                                // the setup function runs once when you press reset or power the board
                                void setup() {
                                  // initialize digital pin LED_BUILTIN as an output.
                                  pinMode(8, OUTPUT);
                                }
                                
                                // the loop function runs over and over again forever
                                void loop() {
                                  digitalWrite(8, HIGH);   // turn the LED on (HIGH is the voltage level)
                                  delay(1000);                       // wait for a second
                                  digitalWrite(8, LOW);    // turn the LED off by making the voltage LOW
                                  delay(1000);                       // wait for a second
                                }```
                                1 Reply Last reply
                                0
                                • I Offline
                                  I Offline
                                  iahim67
                                  wrote on last edited by
                                  #18

                                  Many thanks nevertheless:-)
                                  I use Arduino 1.8.2

                                  1 Reply Last reply
                                  0
                                  • tbowmoT Offline
                                    tbowmoT Offline
                                    tbowmo
                                    Admin
                                    wrote on last edited by
                                    #19

                                    I have no idea what could be wrong with it..

                                    Have you checked the soldering of the board? Tried another powersupply?

                                    1 Reply Last reply
                                    0
                                    • I Offline
                                      I Offline
                                      iahim67
                                      wrote on last edited by
                                      #20

                                      Forgot to tell I have a few such Arduino Mini, all have the same issue!
                                      Might have something to do with both the way I have connected the power and the reset, like here, "Connecting the Arduino Mini and Mini USB Adapter":

                                      https://www.arduino.cc/en/Guide/ArduinoMini

                                      Power to the Arduino (+5V) comes from the USB Adapter while reset goes through a capacitor.
                                      I will abandon this setup and use a nano based sensor for now.

                                      1 Reply Last reply
                                      0
                                      • I Offline
                                        I Offline
                                        iahim67
                                        wrote on last edited by
                                        #21

                                        I think the RESET could be the problem but I cannot find the schematics of this Arduino Mini to determine the precise source of the problem.
                                        I'll use the Nano or the Pro in the future ... but thanks anyway, it was instructive!

                                        1 Reply Last reply
                                        0
                                        • tbowmoT Offline
                                          tbowmoT Offline
                                          tbowmo
                                          Admin
                                          wrote on last edited by
                                          #22

                                          Have you tried just supplying it with 5V, without the reset attached?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          16

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular