Giter VIP home page Giter VIP logo

waft's Introduction

Waft

Get better ambience and sleep temperatures by real-time syncing air conditioner with IR controlled ceiling fan.

For companion android app check Waft Remote (Prototype)

Description

Waft seeks to maintain consistent apparent “feels like” temperature by syncing any IR fan speed with any IR air conditioner realtime. Not only does the waft provide better ambience, it also saves power consumption as the fan increases temperature loss of body so higher temperature value can be set on the air conditioner. Waft varies fan speed to compensate for temperature fluctuation produced during air conditioner usage. Waft maintains a temperature which the user sets called apparent temperature, it is the combination of real temperature change by air conditioner and apparent temperature drop by fan.

Waft is a Wi-Fi based smart controller which is to be kept in line of sight of both air conditioner and ceiling fan. It sets the temperature of the air conditioner and speed of the fan with infrared NEC protocol. Waft set target-temperature can be changed by air conditioner IR remote or Waft Remote Android app via REST API. Remote App can set target temperature, custom sleep mode, and different power saving modes. Waft comes in two models; Waft Core and Waft Pro. They both have above mentioned features of paragraph 1, while Waft Pro adds display, motion sensing, color and sound feedback for better user interaction.

Temperature management is included in Waft Core, whereas Waft Pro adds segment display, motion detection, interactive color, and sound feedback. The sleep mode is dynamic i.e., the user can change its behavior.

Timeline

2 weeks (December 2, 2022 - December 16, 2022)


Schematics and Prototype

waft pro schem waft core schem

Fig. Waft Pro schematic (left) and Waft Core schemantic (right)

waft pro waft core

Fig. Waft Pro prototype (left) and Waft Core prototype (right)


Labelled block diagram

waft bld

Waft specifications:

Chip:

ESPHome firmware flashed on both NodeMCU-32S and ESP-01 which supports configuration with yaml. Both connect to users Wi-Fi router/hotspot and go into AP mode when no connection is available. Uses Wireless communication to communicate with users via Waft Remote app or integrates to Home Assistant server for debugging. Also runs a web server which provides a web api for Waft Remote App.

Temperature:

HTU21D used to benchmark DHT20(AHT20), BMP180, BMP280. BMP280 was closest to HTU21D while testing and about 1/4th of its price. Used to feed real-time ambient temperature.

Infrared COMMS:

Receiver and transmitter pair used to track and control state of air conditioner and fan.

Motion:

Used to device into power saving mode when enabled, also to reset sleep temperature when user wakes up due to temperature discomfort at night.

Display, RGB, Buzzer, LDR: Display:

Provide better interaction by showing various states such as set-temperature, real-time temperature,LED: Different colored output for different operations such as heating, cooling, sleep mode. Buzzer for input/output sound feedback. LDR: for readjusting brightness of Display, RGB based on ambience, can also be used for sleep mode hint.

Inputs:

Waft Remote App:

Uses web api to configure or toggle controls of ESP modules. Supports setting/outputs of target temperature (apparent temperature), dynamic sleep mode, power saving modes.

Air conditioner remote:

Can be used to set target temperature, switch on/off air conditioner.


Overview:

When the air conditioner is only working(fan is in off state), we set the air conditioner set temperature to the required temperature we want, as the AC refrigeration cycle on fixed speed generates fluctuation in both higher and lower than the set temperature. There is also a drastic change in temperature when AC starts cooling, or when power is cut, or when the sudden increase in air exchange from outside. Normally when we use a fan with an air conditioner, the apparent temperature is lowered and there is power savings but, there is equal or more apparent temperature fluctuation which comes from the air conditioner as apparent temperature drop varies with temperature. So we maintain the uniform temperature by varying the apparent temperature drop created by the fan by switching it to different fan speeds realtime. We here create a self balancing system, it tries to achieve target apparent temperature to its best independent of system in real-time.
graph

How do we set real-time air conditioner temperature and IR fan speed?

For Air conditioner set-temperature:

[1]We calculate peak air speed of fan at different RPM by knowing fan diameter and air delivery.
[2]We calculate the weighted area average of the room by square room length, sitting height, blade height from floor, and fan diameter.
[3]We use [2] and [1] to find effective fan speed in a room at seated height.
[4]We calculate apparent temperature decrease of the fan by 1 m/s by different RPM at real-time air temperature.
[5]We use [3] and highest apparent drop and remove peak temperature deviation to find temperature to be increased while considering power saving settings.
[6]We find the set-temperature for the air conditioner by subtracting [5] from target apparent temperature.

For IR fan speed number:

[7]We calculate the required apparent temperature to be dropped by subtracting target temperature from real-time temperature.
[8]We use [4] and speed number to RPM chart to determine speed required.
algo

waft's People

Contributors

noriutsugi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.