Arduino novice here. I had purchased the 433MHz version of this shield some time back to work with my LaCrosse weather station (I don't remember the model number, but it's a couple of years old and it comes with temperature sensor, wind direction, humidity detection and rain bucket). I had some spare time this weekend, so I decided to connect this shield to my Arduino UNO and give the program listing for the Weather Station Logger from the Practical Arduino book a go.
After I had hooked everything up and uploaded the sketch to my Arduino (after replacing all the BYTE-specific Serial.print() calls with Serial.write()), all worked well and I was getting data showing up in my Serial Monitor. Exciting!
However, after I disconnected it to try and get it connected and working with a PHP script that I wrote on my Linux box, I discovered that no data was being sent over the line from the Arduino anymore. Curious, I connected this back to my development machine (an iMac) and all I get when I power the thing up is "Weather Station Receiver has powered up". No more data is sent.
My weather station comes with its own LCD panel for data display, and the first time I tried the Arduino sketch out it updated almost at the same time as this LCD panel, but now the LCD panel is updating normally and the Arduino sketch isn't picking up anything. Both the LCD panel and the Arduino are located in the same room, sitting approximately 20cm away from each other.
I tried to retrace what physical changes I had made to my Arduino creation here between the time that I had it working and now, and the only things I could think of were:
- I wrapped the antenna cable (it came supplied with the receiver shield) around an old plastic ball point pen barrel, and taped it on either end so that it didn't unravel
- Physically removing the USB cable to transport it from one computer to another
Have I damaged my Arduino and/or my receiver shield? I find it hard to believe that I had done anything physical to damage it.
I have tried to debug the sketch and reuploading by placing some strategically placed Serial.println() commands to see if perhaps the sketch is stopping abruptly without any error message. I added a line in the Init_Ports() subroutine and another in Init_RF_Interpreters() and they show up in the Serial Monitor, but still no data. I changed the characters to print out from blank spaces (in the comments about a blank separator line for every 2 seconds since last packet) to characters like '.' and '#', but none of these characters appear. I added an else construct to compliment the line "if( (ulICP_Timestamp_262_144mS - ulWSR_LastTimestamp_262_144mS) > 8 )" but it just spewed out heaps of characters into Serial Monitor (which then crashed). The timestamp is not incrementing for some reason.
I also noticed that there is a call to RED_TESTLED_ON() in Init_RF_Interpreters() but when the sketch is running on the Arduino the red LED never turns on. I can't find any call in the sketch to RED_TESTLED_OFF() or RED_TESTLED_TOGGLE() either, so I am perplexed as to why the red LED never turns on (the green one is lit all the time, as is the blue power LED).
I also don't understand why defining DEBUG prints no new information in Serial Monitor. How much debugging has been considered in this sketch?
I tried starting from scratch and redownloaded the code from GitHub, made the changes to Serial.write() and then just upload to the Arduino, and I still get the same output.
Apologies if I am asking insane or muddled questions, I am a web developer by trade and just wanted to try something new.
I have added a link to my sketch here: http://pastebin.com/QXdW7vRk All my changes have been in the main .ino file, and I haven't changed anything in the .h file.