Wednesday, April 25, 2012

Bluetooth Garage Door Opener

This project I used a Samsung HM1100 Bluetooth Wireless Headset, a simple transistor and software found @ BTMate

This was a very simple and fun project.  The most difficult part was removing the ear piece of the headset without damaging the wires inside.  First thing you should know is that software used if for an Android phone, so if you don't have that it won't work (with the software), although you could still use your phone to connect manually and get the door to open, you just wouldn't have the cool GUI interface.

First thing you should do is connect and pair the headset to your phone and ensure that you hear a beep in the speaker when the device connects.  That beep is going to act as the switch to open the door.  Once you have it connected, you can turn the headset off and begin breaking the ear bud off.  Remove the speaker and carefully cut the wires off the speaker, you want to keep as much wire as possible attached to the headset.  Next use needle nose pliers to crush the rest of the speaker cone and break it off as clean as possible. When you're done you want it to look roughly like this



Next you want to take the transistor and with the flat side of the transistor facing you, place the left most wire inside of the power connector for the headset, plug the power adaptor in, wedging the transistor in between the headset and the power adapter, this may take some force and should be fairly secure when done. Then slowly and carefully twist the transistor so the flat side is face down onto the power cord. Then you're going to solder the middle wire of the transistor to the red wire from the headset.

Be sure to attach a heatsink to the transistor to prevent overheating

You will now want to solder wires to the left and right sides of the transistor.  24-gauge is recommended. 
as seen in the picture above, solder a wire (i used red) to the left and a wire (black) to the right (this should be the same end that is jammed into the power port.  Once this soldering is complete, remove the heatsink from the transistor and zip tie it down to the power cord, i also added another zip tie further up with the other two wires, for added support. (All shown in the above picture)

Finally you're going to ADD the two 24-gauge wires you have to the connection on the garage door opener that come from the indoor switch.  Repeat, ADD these two wires to the existing wires, this will allow you to still use the internal door opener and the bluetooth transmitter to open the door.   You want to connect the red wire from the headset to the + terminal on your garage door opener (usually a red and white wire) and the black wire from the headset to the - terminal (usually a white wire). 

Plug the headset into the wall and turn it on, and you should be ready to go.  If you connect to the device (and immediately disconnect) you should cause the door to open.  The reason this happens is because when you connect to the headset, the headset beeps.  but since there is not speaker, it is really just sending voltage, which is amplified by the transistor and sent to the garage door opener, completing the circuit and telling the door to open...

The software at BTMate is pretty slick little interface that does all the "dirty" work for you, it will turn on bluetooth (if not already on), connect to the headset, and immediately disconnect  and even turn off bluetooth when you close the app, if you want. 




Below are the two parts you'll need (outside of some wire and a soldering iron):



I'd love to hear you comments or questions!

Wednesday, August 18, 2010

Doorbell to Text Project








    Obj: Create a doorbell that will send a text message to my cell phone. When we moved into our house a few years ago, one of the first things we did was unhook our doorbell because it seemed that someone would always ring it during naptime. This would inevitably wake children up with no hope of getting them back to sleep... so the only solution was to unhook it. Of course the downside was we sometimes missed people we didn't want to miss, but we didn't want to have the doorbell just for that. This project was born from the fact that most of our friends knew that our doorbell didn't work and would usually just text us that they were here. I decided to then create a doorbell that would automate this task for us. In the future I figure I could add components like a camera to take the doorbell ringers picture and send it to the phone and a feature where I could send an SMS message to the Arduino and have it unlock the door, making it the ultimate in door laziness!For this project I used an Arduino Duemilanove and a Wireless Doorbell


    The initial hack was pretty straightforward. I purchased a wireless doorbell and took the receiver end apart, just needing the circuit board from the inside... I supply power and ground to the doorbell component via the Ardunio red and black wire, respectively. Pressing the doorbell button sends a signal to the wireless receiver (hooked to the Arduino) and through the yellow wire, that used to be hooked to a speaker. Now it's just sends a voltage change, which I've instructed the Arduino to look for and when it detects the voltage change, send a text message to my phone. To get the text message out to the phone, you have to have an internet connection... for initial testing the arduino was connected to a computer and would send the message via a piggy back off of the computers internet connection. I didn't want to have a standalone computer at our front door to send the text so I had to search for a different solution. Via some research on the Oracle of Google, i found this little beauty! This device allows me to have an internet connection without a dedicated computer.

    Once everything was hooked up, load this sketch to your Ardunio and you will get a text when someone rings the doorbell.

    Arduino Source Code



#define txPin 3 //set input pin where you want to detect voltage
int po
tPin = 0;
int val = 0;
long time = 0;
long debounce = 5000; //sets a 5 second delay between "rings"
//you can set this to any amount of time you wish to inpose

//between button presses.


      }
   }
}



void setup() {
pinMode(txPin, OUTPUT);
digitalWrite(14 + potPin, HIGH);
Serial.begin(9600);
delay(100);
Serial.flush();
delay(100);
}


void loop(){
val = analogRead(potPin);
   if (val < 25) {
      if (millis()-time > debounce) {
         Serial.print("[[[email|XXXXXXXXXX@vtext.com,XXXXXXXXXX@vtext.com|Doorbell|Get the door]]]");
time = millis();  
Considering doing something like this next: