The W1209 is a compact and cost-effective digital temperature control module that is widely used in temperature control applications. It comes with an integrated temperature sensor and a relay, which can be used to automatically switch heating or cooling devices on or off based on the temperature. This module is popular among hobbyists and is often used in DIY projects, incubators, aquariums, and climate control systems.
Pin Number | Description | Notes |
---|---|---|
1 | Relay Normally Open (NO) | Connect to the load to be controlled |
2 | Relay Common (COM) | Connect to power supply for the load |
3 | Relay Normally Closed (NC) | Connect if needed for specific applications |
4 | 12V+ (VCC) | Supply voltage positive |
5 | 12V- (GND) | Supply voltage negative |
6 | Sensor Input | Connect to the provided NTC sensor |
Q: Can I use the W1209 with a different temperature sensor? A: The W1209 is designed to work with the included NTC sensor. Using a different sensor may require recalibration and could lead to inaccurate readings.
Q: How do I change the temperature set point? A: Use the onboard buttons to enter the setting mode and adjust the temperature set point.
Q: What is the maximum load the relay can handle? A: The relay can handle up to 240V AC at 10A or 12V DC at 10A.
Q: Can the W1209 be used for both heating and cooling? A: Yes, the W1209 can control either a heating or cooling device, depending on how it's configured.
Q: Is the temperature sensor waterproof? A: Yes, the included NTC sensor is waterproof and can be used in moist environments.
Below is an example code snippet for simulating the W1209 functionality using an Arduino UNO. This code reads temperature from a hypothetical sensor and controls a relay based on the temperature reading.
// Define the pins
const int tempSensorPin = A0; // Analog pin for temperature sensor
const int relayPin = 2; // Digital pin for relay module
// Set the desired temperature threshold
const float tempThreshold = 25.0; // Temperature threshold in Celsius
void setup() {
pinMode(relayPin, OUTPUT); // Set the relay pin as an output
Serial.begin(9600); // Start serial communication
}
void loop() {
int sensorValue = analogRead(tempSensorPin); // Read the temperature sensor
float temperature = sensorValue * (5.0 / 1023.0) * 100.0; // Convert to temperature
// Print the temperature to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
// Control the relay based on the temperature
if (temperature < tempThreshold) {
digitalWrite(relayPin, HIGH); // Turn on the relay (heating)
} else {
digitalWrite(relayPin, LOW); // Turn off the relay (cooling)
}
delay(1000); // Wait for a second before reading again
}
Remember to replace the temperature reading logic with actual code suitable for the sensor you are using. The above code is for illustrative purposes only and assumes a linear relationship between the analog reading and temperature, which is not the case with the NTC sensor that comes with the W1209.