I didn't think it was worth pursuing, and I don't know the procedure. However, since then I have had a 20x4 and that may be a e better proposition and should take a similar procedure. My graphic display has numbers 50 pixels high, and that suffices.
Well, that's what you say, but I bet one or the other is wrong. I suppose there might even be a faint possibility that youi are using a common anode 4x7, but we'll will never know until you reveal your code and wiring.
If you find it hard to be forthcoming, you might find some useful stuff here first.
I'm not sure what is happening, and the IDE can stumble if you stuff up the procedures.
The USB cable connected to PC shares the serial port with bluetooth. Always ensure Blurtooth is disconnected when uploading code from PC, do not try to connect via Bluetooth on the PC while the cable is connected (why would you want to do that anyway?), but note that you can use the serial monitor on PC while Bluetooth is connected to your phone.
You may find that the COM port you think are using is actually inoperative, so check that. The simplest solution is close the IDE and start over. The IDE is not bulletproof. This particularly applies if you are swappoing Arduinos.
No it isn't. Adding a library is adding a fixed and well-established procudure, which is quite the oppoosite and, most importantly, puts you in the same arena as the majority who don't have a problem. This is a rather good arena to be in as your only priority is to find out why you have a problem where nobody else does. It also means that the work that the library does can be eliminated from the analysis of the problem. As it is, I and many who don't have a problem, won't bother to look at your junk code because there is no point in doing so, and thus leave you out in the cold simply because you opt for self-flagellation.
It so happens that elSupremo does use your code and declares it fine, but you can only put that down to good luck, and so you can now come to the most likely conclusion - if the code is kosher, the wiring isn't. As you rightly point out, the circuit is not complicated.
It is just faintly possible that there is some other mechanical problem. I wouldn't recommend it as standard procedure, but the link below might help sort it out. It uses no libraries at all, not even one-wire.
What you show is not a shield. It is a Nokia 5110 module that needs to be installed on a shield. It has virtually no benefit over the bare 5110 modules commonly found on eBay, but I bet it costs a lot more.
I am assuming that the temperature readings are OK until they get to the critical condition. Therefore, all the problems are in that arena, and there is nothing wrong with the temperature code. One thing for certain is that the delay command you already have is all you need.
I don't know anything about relays but, if you are driving them off the Arduino pins, there may be a power problem. This can be verified by running the project with the relays disconnected.
Since the temp is a float, I would be inclined to call swing and setpoint as floats. If your relay sticks at 35 but comes good at <=36, I guess using all floats is very likely the answer.