Call to begin function hangs arduino
-
I have a NRF24L01+ module connected to an arduino uno board. I use a 100uF 25V capacitor. When execute sketch arduino hangs and returns this text in serial output:
send: 2-2-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=ok:0
I tried to call MySensor constructor and begin function with and without parameters.
Where is the problem?
Thanks
The code I used is
#include <MySensor.h> #include <MySigningNone.h> #include <MyTransportNRF24.h> #include <MyHwATMega328.h> #include <SPI.h> #define ID 0 #define OPEN 1 #define CLOSE 0 MyTransportNRF24 transport(9, 10); MySigningNone signer; MyHwATMega328 hw; MySensor gw(transport,hw); //MySensor gw; MyMessage msg(ID, V_TRIPPED); void response(const MyMessage &m){ } void setup() { Serial.begin(115200); //Serial.print("Setup "); gw.begin(response,2,false,AUTO); //gw.begin(); Serial.println("begin"); gw.present(ID, S_DOOR,"Sensor de prova",false); } void loop() { Serial.print("Identificador "); Serial.println(gw.getNodeId()); gw.send(msg.set(OPEN)); gw.sendSketchInfo("Sketch de prova","0.0", true); delay(1000); // Wait 10 seconds }```
-
@gerard What do you want to achive with this sketch?
Normally this line is located in the setup() fucntion, sending this message once in enough
gw.sendSketchInfo("Sketch de prova","0.0", true);
And beter use
gw.wait(1000);
in stead of delay().
During the gw.wait() the gw.process() function is called which handles the MySensor incomming messages.
-
@BartE Its simply a test. My final project is to connect a motion sensor and a NRF24L01+ module to an arduino nano board. And in the other side another arduino with a NRF24L01+ module connected to a Raspberry.
But at this moment I just want to test communication between two nodes
-
I can confirm that the Arduino hangs at the init, if it cannot communicate with the nRF24L01+.
Often had that "issue" when I accidentally disconnected the MOSI cable and the communcation was broken. There seems to be no timeout though. If you enable the MySensors debugging, you will see
radio init...
on your serial line.I now use this behaviour as a kind of self-test. In the
setup()
of my sketches, I turn on an LED, do the radio init and turn it off afterwards. If it stays on, I know there is something wrong with the radio. Without even connecting a single serial cable.Maybe you can use it this way, too.
Just to clarify: The hang will not happen if you have a bad radio range. It will only happen if the local communcation through SPI fails.
-
@SiLeX So it may be due to an incorrect connection? Pins of module are untagged and I connected them according to the positions of schemes that I found online. All modules have same pinout?
Suggested Topics
-
ATMega328p 8Mhz internal, standalone, mysensors low power problem
Troubleshooting • 22 Mar 2017, 23:30 • torfinn 28 Mar 2017, 17:15 -
Method to reveal sketch inside node or g/w
General Discussion • 19 Oct 2015, 01:36 • 5546dug 19 Oct 2015, 19:22 -
💬 Valden: Heat Pump Controller
OpenHardware.io • 4 Sept 2021, 06:43 • openhardware.io 4 Sept 2021, 06:43 -
[SOLVED] No communication between node and gateway - NRF24
Troubleshooting • 15 May 2016, 12:34 • davy39 16 May 2016, 12:07 -
Finally, progress! (evidence based radio testing method) (and capacitors)
Troubleshooting • 7 Jun 2020, 17:03 • TRS-80 30 Jun 2020, 05:28 -
ioBroker / NEW Controller Development / collection of FEATURES you/we need
My Project • 1 Feb 2016, 12:46 • maxtox 21 Mar 2016, 19:28 -
💬 The Logger Machine - Short and long term serial logging
OpenHardware.io • 24 Nov 2017, 21:01 • openhardware.io 18 Dec 2018, 08:58 -
Low Power Servo Actuator
Development • 11 Feb 2016, 14:43 • Tango2 12 Feb 2016, 10:21