Please read the post at the start of any forum , entitled "How to use this Forum".
OR http://forum.arduino.cc/index.php/topic,148850.0.html.
Then look down to item #7 about how to post your COMPLETE code.
It will be formatted in a scrolling window that makes it easier to read.
Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Use descriptive variable names, for example "temperature" instead of "t". You can name numerical constants, pin numbers, variables and many other things in this way. For example, you can refer to a pin and an output level by number, like
digitalWrite(3,0)
. But such a statement doesn't reveal anything about the purpose.
digitalWrite(hornRelayPin, LOW)
does. You can do that by declaring
const byte hornRelayPin = 3;
before setup() in your program. Many such names are already defined for you by the compiler and the Arduino IDE. Here are some:
#define HIGH 0x1
#define LOW 0x0
#define PI 3.1415926535897932384626433832795
Use them. There are many more. Use compiler math to compute values so you can see where they came from (or at least document them). For example, if you see the number 73, you would be hard put to explain the significance of it. But if you see "daysPerYear/5", it is obvious. One more thing. When you work on program continuously, you become familiar with it. So many things seem obvious even if they are not spelled out explicitly. But try looking at your own code six months later. It will be as if a stranger wrote it. So write for strangers, not yourself.