Progress Bar

Skip to main content

Jaycar
...

Bluetooth Power Point

Bluetooth Power Point

Difficulty
Power

Summary

Here's a great project that lets you use your Smartphone (using Bluetooth) to turn on/off any appliance such as a TV, computer, table lamp, etc. directly from the power point without getting up off the couch or out of bed.

While it might seem simple, this project opens up the world of bluetooth possibilities for your future Arduino projects

Materials Required

1Duinotech UNO r3 Main BoardXC4410
1150mm Plug to Socket Jumper Leads - 40 PiecesWC6028
1Arduino Compatible Bluetooth® V4.0 BLE ModuleXC4382
1Wireless Modules (Transmitter) - 433MHzZW3100
1Outlet Suitable for MS6148 or MS6147MS6149

The assembly of this project is again, pretty simple. Hopefully you should be able to understand this to make a progress on your own designs.

Circuit Diagram

Note that the connections shown here are symbolic, they might not exactly match what is on the BT and 433 Modules; you want a simple pin connection to go between the 433Mhz module and a digital IO pin, We used A3.

Then connect up two pins for the serial connections to the bluetooth. You can change this in code but we found it easier to keep them close to each other and close the other serial port on pins 0,1.

That's all there is to it, Here it is on a breadboard but you can just use the plug-socket leads that you bought in the bundle to connect the modules straight to the arduino; Use the 5V and VIN pins for power, but keep it powered off USB; any higher voltage you plug in will go straight through to the VIN pin and we haven't tested what might or might not work yet.

The code is under 50 lines and is pretty easy to understand, due to putting all the 433 module's logic into the 433Switch.h header file; You can use this file where-ever you want to use the module; and it should work anywhere that has the arduino libraries.

The Bluetooth module works like a wireless serial port that we connect up our phone to. We used an app called Arduino Bluetooth Controller (HM-10 Model) because it's specifically designed for the module we have.

We don't have an iPhone to test but there should be an apple version of the same thing, we weren't able to check. Make sure you get an app specifically for the HM-10 version, or some similar BTLE controller, as the bluetooth low energy protocol works different to regular bluetooth controller versions.

The device will be called "HM-Soft" or some variant thereoff, you should be able to find it when it is on, blinking, and your phone app is searching for new bluetooth devices; ( read the next section if you get stuck).

In this program you want to set up two buttons to send the commands "on" and "off" - this will be translated by the BT module, read by the arduino, and will fire off the on/off signals respectively. You should check the code a little more to see how it works.

If you can't find the device or you just want to give it a cooler name, you can control it through AT commands; Set up the following code:

1 #include <SoftwareSerial.h>
2
3 SoftwareSerial Bluetooth(3, 2); // RX | TX
4
5 void setup()
6 {
7 Serial.begin(9600);
8 Bluetooth.begin(9600); //Baud Rate for AT-command Mode.
9 Serial.println("** Command mode **");
10 }
11 void loop()
12 {
13 while(Bluetooth.available()) {
14 Serial.write(Bluetooth.read());
15 }
16 while(Serial.available()){
17 Bluetooth.write(Serial.read());
18 }
19 }

Then program the uno and open the serial monitor, you should be able to get into command mode: Try the following commands:

1 AT
2
3 AT+NAME?

It should 1. tell you it's OK and 2. tell you it's name. if they both succeeded you can go ahead and change the name of the device: (For instance, to change it to bluey - notice we didn't use = or anything else after NAME)

1 AT+NAMEbluey

Note that therer's a character limit of 12 characters, so keep it short.

There's a whole bunch of commands you can type in to configure this device, here's just one list we've found on github:

Once the name is changed, you should find the device under the different name in your phone.

This repo maintains code for the project. Contributions and improvements are encouraged.

Future Improvements

Similar projects you may be interested in

Power
High Efficiency Power Supply
Difficulty

Power
Hand Gesture Power Socket
Difficulty

Power
LoRa Remote Relay
Difficulty

Low Battery Alarm
Power
Low Battery Alarm
Difficulty