-
Notifications
You must be signed in to change notification settings - Fork 2
Menu (LCD)
All user input/interaction is displayed on the LCD, and user input is possible by using the keypad. The 7-segment displays monitor the temperature of each sensor. This is regardless of what mode the program is in. Temperature updates every second (actually a bit faster, around 900ms)
On the main screen temperature is displayed for the current selected sensor (default sensor 0). Using the UP/DOWN arrows selects a different sensor. Pressing LEFT/RIGHT buttons will toggle temperature/humidity display (for sensors that support it)
While on the main screen, if the SEL key is pressed the program will enter configuration mode for the given sensor. The first configuration screen the 'CoolOn' threshold can be modified. Use LEFT/RIGHT arrows to change the temperature above which the relay for cooling will be activated. Then press SEL. The next screen modifies the 'CoolOff' threshold, also set it with LEFT/RIGHT arrows. If the temperature falls below this threshold the MCU will deactivate the respective relay. The next screen is accessed by pressing SEL again.
The next two screens are dedicated to the heating part of the controller. 'HeatOn' will turn on the heating relay if temperature falls below this threshold. When you are done press SEL to continue. 'HeatOff' will turn off the heating relay when temperature rises above said threshold. Press SEL after this to continue to the offset calibration.
This screen allows to modify the offset of the temperature reading of the sensor. This gives the possibility to calibrate the sensor to a known reference temperature. By pressing SEL once more, all settings are saved and the program returns to the main screen.
NOTE: If heating and cooling parts of the controller overlap, cooling will take precedence.
The configuration/pinout for the code can be modified easily in 'arduino/lib/fresca/fresca_pinout.h'. Look at the commented description of each line to know what they are used for.
Keypad is connected to an analog pin. Each sensor is connected to a single digital I/O. 7-Segment displays CLK pins are connected to a single arduino digital pin.
To display temperature in fahrenheit set the TEMP_FAHRENHEIT define in 'fresca.h' to other value than zero. Otherwise temperature is displayed in degrees celsius.
Many constants that define program behavior and debugging are defined in 'fresca.h', they are commented so you can easily find them and edit them!