Bluetooth Debugging

Serial Communication

Baud Rate

The baud rate specifies how fast data is sent over a serial line. It’s usually expressed in units of bits-per-second (bps). If you invert the baud rate, you can find out just how long it takes to transmit a single bit. This value determines how long the transmitter holds a serial line high/low or at what period the receiving device samples its line.

Baud rates can be just about any value within reason. The only requirement is that both devices operate at the same rate. One of the more common baud rates, especially for simple stuff where speed isn’t critical, is 9600 bps. Other “standard” baud are 1200, 2400, 4800, 19200, 38400, 57600, and 115200.

The higher a baud rate goes, the faster data is sent/received, but there are limits to how fast data can be transferred. You usually won’t see speeds exceeding 115200 – that’s fast for most micro controllers. Get too high, and you’ll begin to see errors on the receiving end, as clocks and sampling periods just can’t keep up.

Problems we found with the Bluetooth servo test

When testing out our servo with the HC-06 sensor we came across a few problems. The videos below show our problems.

What were the problems?

  • The servo did not recognize the angle inputted from the user in the Bluetooth Serial
  • The code could not exit the ‘while loop’ to differentiate as to when the angle was being inputted.
  • The code would not clear the value ready for the next value to be inputted.
  • The Code was not converting from a string to an integer correctly
  • It was spitting out ‘gibberish’ after the inputted value.

Solution

The code below shows how we have overcome these problems

https://create.arduino.cc/editor/ma2-weston/9025b278-052c-43a6-869f-5473f66a4692/preview?embed

ASCII table

To understand how to properly convert a string to an integer i consulted the table in the link below

https://www.arduino.cc/en/Reference/ASCIIchart

 

Additional notes

The SoftwareSerial library has been developed to allow serial communication on other digital pins of the Arduino, using software to replicate the functionality (hence the name “SoftwareSerial”)

Digital pins 10 and 11 on your Arduino or Genuino boards are used as virtual RX and TX serial lines. The virtual RX pin is set up to listen for anything coming in on via the main serial line, and to then echo that data out the virtual TX line. Conversely, anything received on the virtual RX is sent out over the hardware TX.

 

Testing a Bluetooth Sensor

Hello again, in this blog Alex and I will be exploring the possibility of using a Bluetooth sensor in our project. We will be exploring how exactly they work and how this could be applied to our project.

First off…

What is a Bluetooth Sensor?

A Bluetooth sensor is a sensor that connects to a Bluetooth compatible device to transmit and receive data.

Testing this sensor – Turning an LED on and off

Components

  • Hc-05 bluetooth sensor
  • LED
  • Resistors
  • Wires
  • Arduino UNO
  • Bluetooth serial application for android devices

Fritzing diagram

BT_LED_HC-06_bb

The Code

https://create.arduino.cc/editor/ma2-weston/417d4c65-dcc0-4e68-8d1a-d43b42ca4327/preview?embed

Above is the working code with corresponding notes in case you do not understand anything i have written in the code.

The working circuit and video

As you can see below, this is how i set up my bread board using the Hc-05 Bluetooth sensor. In the below circuit we didn’t need all of the resistors shown in the above diagram, therefore they have been taken out.

IMG_8790

Testing this sensor – Actuating a Servo

Components

  • Hc-05 bluetooth sensor
  • Servo
  • Resistors
  • Jumper wires
  • Arduino UNO
  • Bluetooth serial application for android devices

Fritzing diagram

fritzing - bluetooth servo

The Code

https://create.arduino.cc/editor/ma2-weston/9025b278-052c-43a6-869f-5473f66a4692/preview?embed

The working circuit and video

bluetooth servo

Why were we testing out a Bluetooth sensor with a servo?

We were testing out if it is viable for us to use a Bluetooth sensor to actuate the motion of turning the radiator valve to change the heat level coming from the radiators. As we have tested, this is a way of doing this however:

  • How much power do we need to ensure the radiator valve is turned?
  • Has a servo got enough power to do this?

 

Our Project

Hello again and welcome to another blog. In this blog we will be over viewing what our project is, how it will benefit the user both emotionally and environmentally.

What is the current problem?

Journey map of current use

IMG_8829[3602]
1. Once the user has decided that it is too cold in the house,  they proceed to go to the thermostat
IMG_8830[3604]
2. The user then places their hand on the thermostat and  begins to turn to the setting they want
IMG_8831
3. The user then turns to the setting they want, in this case they turn from 5 to max. The user then walks away from the radiator

What is our idea?

Our idea is a smart radiator valve which can be controlled by a Bluetooth enabled device.

How will we do this?

Using an Arduino to control a thermostatic valve by using a servo at differing degrees depending on the temperature setting. The Arduino has an input from the Bluetooth enabled device via a Bluetooth module.

How could this idea change the behavior of users?

This gives the user quick and easy access to change the temperature ( or turn off the radiator entirely ) instead of having to reach to these valves which are usually blocked off by furniture , for example. This gives the user quick and easy access to turn off and on heating in their homes to remove heat wastage. The use of a mobile Bluetooth compatible device will change the behavior of people as we has humans are always on our phones and this has caused us to become increasingly more lazy. So by having a way of wirelessly changing this will benefit from our lack of effort.

What components will we need?

  • Arduino (uno/nano?)
  • bluetooth sensor
  • android phone
  • servo/stepper motor
  • 9v batteries/ wall power (TBC)

What will we be doing in blogs to come?

  • To test whether this concept is viable, we will be testing the Bluetooth module and whether it can be used to turn up or down temperature settings in a user friendly way.
  • Wireless thermometer experiment ( as stated in other blog)
  • Autopsy of valve and how to integrate servo to it

Radiator Valves

When it comes to your radiators, choosing the right valves matters. You need to pick the correct valves that will work well with your designer or electric radiators and give you the control you want.

But, how do you go about selecting them? Here’s what you need to consider:

The right connection size

Most standard pipes are in 15mm copper, but every now and then an installer might wish to use 22mm. On older properties, such as churches, you might even come across 28mm sizes.

What is the best type of valve for your installation

There are three main valve shapes to choose from:

  • Angled valves

They work best with pipes coming from below a side inlet, or from the side onto a bottom inlet. These valves are the ones that you see on the vast majority of radiators.

bronte-traditional-angled-valve

  • Straight valves

But may be the best choice if your radiator has a side inlet where the pipes come from side on, or a bottom inlet where the pipes come straight up from below.  Typically you would see this type of valve on towel rails and radiators with ‘underneath connections’.

$_57

  • Corner valves

Ideal if your radiator has the pipes approaching the inlet from the wall, as they keep the valve head in line with both the radiator and the wall. This is a great way of keeping the installation neat and the floor clear of obstruction.

s-l300

Controllability of the valve

The final decision is on the controllability of the valve – do you want to regulate the temperature automatically or are you prepared to turn the valve up and down yourself?

  • Automatic regulation of temperature – Thermostatic valves

These usually have numbers showing to denote a particular setting. By setting the valve the heat will be regulated so there is always a constant temperature in the room.thermostatic valve

  • Manual regulation of temperature

Manual valves can best be described as taps. These are ideal in rooms, such as bathrooms, where it is a less of a problem if the room gets too warm.

The downside of a manual valve is that if it gets turned down or off you have to remember to turn it back on again. Likewise, leave it turned up and you might discover a sweltering room which might prove a costly waste of energy.

manual tap valve

A useful link to help me with this information is  -https://www.theradiatorcentre.com/blog/article/22/choosing-the-right-valves-for-your-radiator

Radiator valve thread size

There are a few different types of threads on radiator valves. 3/4″ thread with one standard type of thread and 1/2″bsp thread but has two types of threads, which are fine or coarse threads, the older thread is the fine thread which is uncommon nowadays, so sounds like valve replacements.

https://www.mybuilder.com/questions/v/19942/radiator-valve-thread-size

http://www.directheatingsupplies.co.uk/radiator-valves-explained

Heat Wastage from Radiators

We as humans are very wasteful when it comes to radiators, we leave them on when we don’t need to, we turn them up too high when we could just put another layer of clothing on. Consequently, we drive our consumption of energy through the roof when we could be saving it and also saving money in the process. In this blog we will outline in further detail the energy wasted from radiators in the hoping that you will understand how much an accurate hub sensor is needed for controlling the behavior of consumers and also energy usage.

What are the benefits of heating controls?

  • You’ll reduce your carbon dioxide emissions.
  • You could save money on your heating bills by installing and using your controls efficiently.
  • You can schedule your heating and hot water to go on and off when needed.
  • You can select areas of your home to heat and the required temperature for each room, rather than heating a whole house at the same temperature.

Action

Potential savings per year

Installing and correctly using a programmer, room thermostat and thermostatic radiator valves £75 and 340kg carbon dioxide
Turning room thermostat down by one degree £80 and 350kg carbon dioxide

http://www.energysavingtrust.org.uk/home-energy-efficiency/thermostats-and-controls

How do radiators work?

To really understand where the heat might be lost from, we need to understand how radiators actually work.

Hot water radiators work in a very similar way to steam radiators, except without all the pressure created by the steam and with a more active approach to moving the heat around. Every radiator in a hot water system has an inlet and outlet. The inlet is to take hot water in and the outlet is to let the water back out. During the operation of the system, water is heated up somewhere in a hot water heater. It’s made very hot, but it never reaches boiling.

After the water reaches the desired temperature it’s pumped from the heater and through all the radiators of the home. As the water passes through each radiator it loses some of its heat. Finally it becomes too cool to effectively heat up a radiator and makes it back to the heater once again for re-heating. To warm up a home, the cycle occurs every time that temperatures need to be increased. The heater and pump are typically tied to a thermostat so they know when to kick on. That ensures that they are only operating when heat needs to be provided to the rest of the home.

radiators-install

A useful link  – https://modernize.com/hvac/heating-repair-installation/radiator/how-they-work

How much energy is wasted in the UK?

The UK energy wastage statistics have not been released for 2018, therefore I have had to refer to 2017 statistics for the most up to date data.

  • Final energy consumption (excluding non-energy use) rose by 1.7 per cent compared to the third quarter of 2016.
  • Domestic consumption rose by 8.5 per cent reflecting the cooler weather in the quarter

On a temperature corrected basis, final energy consumption rose by 0.9 per cent.

Screenshot 2018-03-19 10.47.38

Provisional data for 2017 suggest that domestic energy bills increased by 1.2 per cent in
current prices, though were down 0.6 per cent in real terms.

  • For fixed consumption levels of electricity of 3,800 kWh per annum, bills increased by £33 to £619;
  • For fixed consumption levels of gas of 15,000 kWh per annum, bills decreased by £19 to £631.
  • The combined average domestic bill increased by £14 from £1,236 in 2016 to £1,250 in 2017.
  • Average bills for those using prepayment meters fell by £84 following the introduction of the price cap earlier this year.

Screenshot 2018-03-19 10.45.12

https://www.gov.uk/government/uploads/system/uploads/attachment_data/file/669764/Press_Notice_December_2017.pdf

How much energy do radiators use?

A 0.7 by 1.4 m single radiator has a heat output of 1800 W and a surface area of
just under 1 metres squared per side. The radiation heat transfer into the room is about 400 Watts. Therefore just under ¼ of the heat transfer is due to radiation. If account is taken of the side facing the wall, the proportion of heat transfer due to radiation rises to 45%. For a double radiator, these proportions are roughly halved.

http://eprints.whiterose.ac.uk/121224/7/paper%2024.pdf

How being in control saves you money

• Installing and correctly using a room thermostat and thermostatic radiator valves can shave between £80 and £165 off your annual energy bill.

• Fitting a hot water tank insulation jacket will typically reduce your hot water costs by £35 each year.

• Turning your room thermostat down by just one degree could save up to £90 annually, and reduce your carbon emissions by up to 360kg.

https://www.telegraph.co.uk/property/smart-living/save-on-central-heating/

How could we change the behaviour of people?

Currently people leave their radiators on when they are not needed. For instance when they leave to go to work in the morning or when they go out for a meal. The house could be warm enough to not have the radiators on, however we as humans still are lazy in turning off our radiators to not only save money but energy as well.

With the current radiator smart valves, they are placed too close to the radiator itself. This isn’t beneficial to the consumer as it will not give accurate readings. The current smart readers would read the temperature of the room but may be inaccurate as the user could have turned the radiator up by accident by a few degrees. As stated above not only does this have cost drawbacks , but the wastage of heat by turning the radiators up by a few degrees can really affect how much energy you consume.

Accuracy of readings from the radiators currently could not be beneficial to the user by placing them near a radiator. This is due to the smart sensors not picking up the actual temperature of the room, but the temperature of the radiator.

If we are to solve this problem, not only could it save consumers money, but it could change the way that we as humans act towards radiator heat wastage. Not only that but it could change the way people ,without radiator sensors, use their radiators to maximise their cost and energy savings.

 

 

Wireless Thermometers

Hello again! This blog will summarize the thinking behind the use of a wireless thermometer to potentially used assist in our project. It will also summarize how this could be used with links to high quality references that we found information from to aid us.

To start off…

How would the circuit work?

In simple terms, the circuit would measure temperature and relative humidity and send those measurements to a RF module.

The RF module , radio frequency module, is a  small electronic device used to transmit and/or receive radio signals between two devices. In an embedded system it is often desirable to communicate with another device wirelessly.

https://en.wikipedia.org/wiki/RF_module

51-fjA52JRL._SX355_
Dht11 temperature and humidity sesnor

To help in the explanation of how it works I followed the website below which showed me ways in which this could be used.

https://www.allaboutcircuits.com/projects/how-to-make-a-wireless-thermometer-with-arduino/

In simple terms, following the example i found, the below diagrams show how the wireless thermometer should work.

Screenshot 2018-03-14 19.31.31

In this example, he uses a VirtualWire Library. If you would like to know more about what a vitrualwirelibrary is, I have left a useful link down below.

https://www.pjrc.com/teensy/td_libs_VirtualWire.html

5lVFE

The code

For the transmitter…

Screenshot 2018-03-14 20.07.59

Things in the code that you might not understand

Setup

Char  – A data type that takes up 1 byte of memory that stores a character value. Character literals are written in single quotes, like this: ‘A’ (for multiple characters – strings – use double quotes: “ABC”).

vw_setup –  Setting up the communication speed of the wireless thermometer.

vw_set_tx_pin –  Assigning the Virtual Wire to transmit from a pin.

Loop

dht.readhumidity – Assigning a variable to hold humidity rates

strcat – Appends the parameter to a String, It returns two values like a boolean

true: success
false: failure (in which case the string is left unchanged).

itoa – Allows data to be converted into characters, so it could be displayed on a digital LED screen

For the Receiver…

Screenshot 2018-03-18 13.06.53

Things in the code that you might not understand

byte degreesymbol – to draw the degree symbol on the LCD screen

vw_set_rx_pin – Getting the Virtual Wire assigned to a pin so it can read data sent out from the transmitter.

unit8_t –  uint8_t is the same as a byte. Its shorthand for a type of unsigned integer which has a length of 8 bits

Screenshot 2018-03-18 13.21.56

Things in the code that you might not understand

lcd.setcursor –

Description

It is the position  of the LCD cursor. It sets the location at which subsequent text written to the LCD will be displayed.

How is it shown in code form?

lcd.setCursor(col, row)

Parameters

  • lcd: a variable of type LiquidCrystal
  • col: the column at which to position the cursor (with 0 being the first column)
  • row: the row at which to position the cursor (with 0 being the first row)
  • To send the humidity and the temperature in one single send statement, I join them together since this is one-way communication.

https://www.arduino.cc/en/Reference/LiquidCrystalSetCursor

receiver circuit

Other useful information

First, the data is read into the variable as integers, then the integers are converted to an array of characters, and finally they are joined together.

On the receiver side, the data will be split into single characters. By doing it this way, It is  limiting to 2 digit degrees. If the sensor is in an environment with less than 10oC, it will display bad characters on the display. For example, if the temperature is 20oC and the humidity is 45%, it sends 2045, which is fine. However if the temperature is 9oC and the humidity is 78%, it sends 978x, where the x represents a random character.

Video of the circuit working

How could we utilise this in our project?

We could use this circuit and concept to read the temperature and humidity coming from the room and display it to the user on a screen. It is an interesting concept, however there are other options that we could utilise such as the use of bluetooth sensors to inform the user on their heat wastage. These will be explored in following blogs.

 

Sustainability Brief – Concept Ideas

Hello and welcome to the start of a very interesting and challenging project. Throughout the process, I will be working with Alex Yallop. In this blog post we will be documenting our ideas for this project.

First off… The Brief

Working in pairs, undertake a 5-week physical computing design or interaction design project. The aim of this project is to create a significant reduction in environmental impact either in the home or in a business setting. This will probably be either by using Arduino with sensors and actuators to directly reduce energy consumption, or to increase efficiency, or to effect a positive change in behavior by using the Arduino to give feedback and “nudges” to users. Create a beautiful reliable working prototype of your design, test it and present this project in a mini exhibition in the Atrium and in a series of online blog posts.

Concept Ideas

Motion Detecting Shower

The user turns on the shower and uses it normally. When they have finished in the shower the motion detector ,hooked up to the arduino, would sense the person moving out of the range of its sensor and this would turn off the shower.

IMG_20180306_0002

Self Closing curtains

When the radiator reaches a certain level, the heat sensor detects that it is at the desired temperature that the user wants and the curtains close. This idea would reduce heat loss by shutting the curtains meaning that the room is at a constant temperature, and the radiator could be turned off.

How could it help the user?

  • It could change their behavior as to how often they have the radiators on.
  • It would reduce the overall cost of heating the room

Components needed (first guess)

  • Heat/ humidity sensor
  • Motor ( to close the curtains)
  • some sort of sensor to turn off the radiator when the curtains are closed.

curtains idea