Maker automates his old-school, window-mounted AC unit with the help of an Arduino.
With summer just about here, for those of us without central air, it’s time to break out those air conditioners. While most of today’s appliances are remotely controlled, there are still those difficult-to-install window-mounted units like the ones found in any grandparents’ house or college dorm room. And why shouldn’t they have a chance to become smart before being thrown in the waste pile? That’s exactly what Maker Phil Rowe decided to do with the help of Arduino, of course.

The Maker has managed to retrofit his several-year-old AC device, converting it into an automatic system that can be activated and monitored from MegunoLink Pro at his desk. To make this happen, Rowe employed an Arduino Uno (ATmega328), a servo driven mechanism to activate the AC, a DS18B20 temperature sensor and the MegunoLink Pro to plot the data and control the set point.
Being a good ol’ air conditioner and all, there wasn’t a clear way of commanding the system digitally. Subsequently, Rowe designed a mechanical actuator to easily fit over the rotary switch, while a simple servo was tasked with handling the switch’s position — turning it off, putting it into fan mode or lowering/increasing the power cooling. Because the servo draws a significant amount of current, a 4700uF capacitor was placed on the power bus to help reduce the voltage drop and to keep the microcontroller running smoothly. In addition, the Maker modeled a 3D bracket to hold the servo to the AC control panel.

In order to work properly, the Arduino measures the temperature of the room via the DS18B20 sensor. This activates the servo to turn the AC unit’s dial. The Arduino then sends the temperature data back to a PC via MegunoLink Pro, which maps the older data and displays the current information. Using MegunoLink Pro, the minimum and maximum temperature points can also be set without uploading a new sketch to the Arduino.
“The temperature sensor is read and if the current temperature is above the target set-point (plus a hysteresis value) then the servo is adjusted to the on (low) position. Once the temperature falls below the set-point (minus a hysteresis value) then the servo is adjusted to the off position. The hysteresis values are used to prevent noise in the temperature value from falsely changing the controllers state and repeatedly adjusting the servo,” the Maker explains.

Aside from its basic temperature controlling functionality, a command handler is used to receive commands from MegunoLink. This enables Rowe to configure various settings like the set points, hysteresis, servo locations and servo delay. As the Maker notes, these settings are saved in the EEPROM of the Arduino so it knows its state should the power be disrupted.
Do you have an old AC unit that you’d like to make intelligent? Check out the Maker’s project page here, and access all of its necessary files on Github to get started.
Like this:
Like Loading...