Posts | Comments

Planet Arduino

Archive for the ‘iobridge’ Category

Oct
26
This year my Halloween project is the Automatic Halloween Candy Dispenser® triggered by TextforTreat®, CallforTreat® (powered by Twilio)and @TweetforTreat® technologies. Of course it can also be triggered from a Big Red push button, but where is the fun in that?

When trick-or-treaters show up at my house they can text, call, or tweet a code displayed on an LCD screen to get their Halloween candy. They can also push the Big Red button.

Once the candy request is made a few "special" effects are triggered by X10 modules. A low laying fog machine is activated and lights turn on while the candy shoots down from my front deck on the second floor.

* Check my Instructable write up for more detailed information.




Candy Dispenser
Control Box
Main Box
Communication Bridge
Fog Machine
Lights and accesories


Candy Dispenser


The first thing was to figure out a good way to hold the candy and dispense it. I used a plastic bucket, a metal ventilation pipe and a CD attached to a servo motor. I figured that by having the candy dispense from the side as opposed to the bottom would allow the candy to move more freely and avoid candy jams.

The ventilation pipe comes in a "U" shape, so I made a "U" shaped cut in the bottom center of the bucket. Notice I did't cut the whole "U", instead I left a piece of plastic in the middle to hold the servo motor that rotates the CD.

After I inserted the ventilation pipe I did a few cuts to allow me to expand the pipe into a sheet form. I used a couple screws and bolts to keep the sheet attached to the bucket.  The rest of the space was covered by the mighty duck tape.

I cut the CD to allow the candy flow when rotated. Also I duck taped a continuous servo inside to function as a "shaker."


Control Box

The control box is pretty simple. I drilled/dremelled a few holes to attach the big red button, ioBridge LCD screen,  power jack and the RJ45 jack.

I really like the use of CAT 5 cable to make things more modular.

Main Box

The main program runs in the Arduino Duemilanove.  When the board is initialized it immediately makes a Web call to check for the current code and displays it on the LCD screen.

The main loop is waiting for either a physical push of the big red button or to receive a remote serial message. The attached XBee module communicates with another XBee module connected to the ioBridge IO-204 module serial board.

These are the digital I/O pins configuration:
  • XBee Module (with adafruit XBee kit)
    • Pin 13 - TX 
    • Pin 12 - RX
    • Gnd and 5v
  • Big Dome Push Button
    • Pin  8 - Button NO(normally open) +  GND + 100K. 
    • 5v - COM
  • Servo 1 (continuous rotating servo used for shaking)
    • Pin  7 - Data
    • Gnd and 5v
  • Servo 2 (used to rotate the CD)
    • Pin 6 - Data
    • Gnd and 5v
  • X10 C17A (x10 devices controller)
    • Pin  3 - DTR line for C17A - DB9 pin 4
    • Pin  2 - RTS line for C17A - DB9 pin 7
    • Gnd  - DB9 pin 5
  • ioBridge 16x2 serial LCD display
    • Pin 1 - LCD Data pin
    • Gnd and 5v
Attached is the Arduino Sketch, it also includes a library to control the ioBridge LCD screen.

Code Generator

I realized that someone with mischievous intentions could just tweet-spam the @Tweetfortreat account (or less likely someone could text or call my Twilio number numerous times) and I would end up with tons of candy on the floor.

Instead, I created a REST web service using of course my favorite web development tool, Oracle Application Express http://apex.oracle.com/ , to make sure a unique and random code was generated each time candy drop request was made from text, call or Twitter.

The REST application is really simple and I recognize it can also be created using any other technologies such as LAMP or even a GCI, or Perl application.

Application Objects:
  • 1 Table (ID,CODE,SELECTED)
  • 1 Numerical Sequence to generate primary key (ID)
  • 1 Trigger before insert record that will get the ID value and append a random number to the CODE column
  • 1 public procedure to retrieve the code (where selected = 1)
  • 1 public procedure to update the code once is used and generate a new one.
So I ended up with these two URL
http:/my.apexserver.com/pls/apex/getcode
http:/my.apexserver.com/pls/apex/updatecode?code=XXXX
*If you would like to implement something with a static file instead, I would recommend using http://www.random.org/clients/http/ to get a random number and store it in file, memory, or even the arduino itself.

ioBridge Setup

The ioBridge IO-204 is used as bridge (duh!) between the arduino and the internet. I am using the ioBridge serial board to connect an XBee module.

There are two main functions that the ioBridge was used for:
  1. Request current code
     I do a GET call from the arduino to retrieve the current code from my Code Generator service using ioBridge Serial Web Services API.
     Arduino code:
     mySerial.println("[[[get|http:/my.apexserver.com/pls/apex/getcode]]]");

      
  2. Start candy dropping sequence by text, call or tweet.
     An ioBridge widget will send a start character via serial message and the candy dropping sequence will start. This widget can be called using the ioBridge Static Widget API.
This URL  is called by Twilio and by my custom Twitter alert script.

http://www.iobridge.com/widgets/static/id=[widgetID]


These are the digital I/O pins configuration:
  • ioBridge Serial Board
  • TX - RX XBee
  • RX - TX XBee
  • GND and 5v

Twilio Setup


Twilio is a web-service API for communication apps. Twilio is as simple as it gets. It only  took me a short time to get my  SMS and Voice applications up and running! I had tried in the past to create similar applications with other technologies (VoiceXML and even Google Voice) and let me tell you is not that easy.

The voice application answers the phone, plays an intro sound file and asks for the code followed by the # sign. If a code is detected Twilio will do a "GET" action to a PHP file that will lookup the current code from my Code Generator Web Service. If it matches it will call the ioBridge static widget URL and candy will be dispensed.

The SMS application has almost the same PHP code except this time instead of looking for the digits dialed  it will look for body of the SMS message.

Check the attached XML and PHP files that generate the TwiML XML.

All in all Twilio is a winner and I have plenty of other ideas for the future.

Twitter Setup


No modern internet enabled project is complete without Twitter integration, right? :) Here is mine: This time i used a bash script, twurl and a crontab job to check for replies to @tweetfortreat. This bash script is running on my Sheevaplug, but it can be run in any linux/mac machine or it could be adapted to run as .bat in windows (using scheduled tasks).

Twurl is almost like curl but for Twitter. I did some ugly parsing of the twitter RSS feed to retrieve the tweet sender, but it works!

Here is my bash script
#!/bin/bash
mycode=`curl --silent http:/my.apexserver.com/pls/apex/getcode`
twitter=`twurl /1/statuses/mentions.rss | grep "@tweetfortreat $mycode" | cut -d ':' -f1 | tail -n 1 | cut -d '>' -f2`
echo $mycode $twitter
if [ -n "$twitter" ]; then
iobridge=`curl --silent http://www.iobridge.com/widgets/static/id=[widgetID]`
newkey=`curl --silent -d "code=$mycode" http:/my.apexserver.com/pls/apex/updatecode`
update=`twurl -d "status=@$twitter The code $mycode is correct. Happy Halloween!" /1/statuses/update.xml`
echo $newkey $iobridge
fi

Crontab will only allow you to execute a script every minute and I think is fine for now. Alternatively a while loop could be used instead.
Here is my crontab entry

*/1 * * * * /script_location/HalloweenCandy.sh > /dev/null 2>&1

Conclussion and Alternatives
If my Google skills (http://lmgtfy.com/?q=automatic+halloween+candy+dispenser)serve me well there are just not many documented Automatic Halloween Candy Dispensers out there. I did run into this one which I really like but is limited to M&Ms sized candy.I found some inspiration from the dog/cat feeders built using the internet enabled ioBridge http://support.iobridge.com/projects/tag/dog-feeder/.

I hope to see more iterations of the Automatic Halloween Candy Dispenser next year. Please make sure you share all your ideas/improvements in the comments section.


Happy Halloween!
This year my Halloween project is the Automatic Halloween Candy Dispenser® triggered by TextforTreat®, CallforTreat® (powered by Twilio)and @TweetforTreat® technologies. Of course it can also be triggered from a Big Red push button, but where is the fun in that?

When trick-or-treaters show up at my house they can text, call, or tweet a code displayed on an LCD screen to get their Halloween candy. They can also push the Big Red button.

Once the candy request is made a few "special" effects are triggered by X10 modules. A low laying fog machine is activated and lights turn on while the candy shoots down from my front deck on the second floor.

* Check my Instructable write up for more detailed information.




Candy Dispenser
Control Box
Main Box
Communication Bridge
Fog Machine
Lights and accesories


Candy Dispenser


The first thing was to figure out a good way to hold the candy and dispense it. I used a plastic bucket, a metal ventilation pipe and a CD attached to a servo motor. I figured that by having the candy dispense from the side as opposed to the bottom would allow the candy to move more freely and avoid candy jams.

The ventilation pipe comes in a "U" shape, so I made a "U" shaped cut in the bottom center of the bucket. Notice I did't cut the whole "U", instead I left a piece of plastic in the middle to hold the servo motor that rotates the CD.

After I inserted the ventilation pipe I did a few cuts to allow me to expand the pipe into a sheet form. I used a couple screws and bolts to keep the sheet attached to the bucket.  The rest of the space was covered by the mighty duck tape.

I cut the CD to allow the candy flow when rotated. Also I duck taped a continuous servo inside to function as a "shaker."


Control Box

The control box is pretty simple. I drilled/dremelled a few holes to attach the big red button, ioBridge LCD screen,  power jack and the RJ45 jack.

I really like the use of CAT 5 cable to make things more modular.

Main Box

The main program runs in the Arduino Duemilanove.  When the board is initialized it immediately makes a Web call to check for the current code and displays it on the LCD screen.

The main loop is waiting for either a physical push of the big red button or to receive a remote serial message. The attached XBee module communicates with another XBee module connected to the ioBridge IO-204 module serial board.

These are the digital I/O pins configuration:
  • XBee Module (with adafruit XBee kit)
    • Pin 13 - TX 
    • Pin 12 - RX
    • Gnd and 5v
  • Big Dome Push Button
    • Pin  8 - Button NO(normally open) +  GND + 100K. 
    • 5v - COM
  • Servo 1 (continuous rotating servo used for shaking)
    • Pin  7 - Data
    • Gnd and 5v
  • Servo 2 (used to rotate the CD)
    • Pin 6 - Data
    • Gnd and 5v
  • X10 C17A (x10 devices controller)
    • Pin  3 - DTR line for C17A - DB9 pin 4
    • Pin  2 - RTS line for C17A - DB9 pin 7
    • Gnd  - DB9 pin 5
  • ioBridge 16x2 serial LCD display
    • Pin 1 - LCD Data pin
    • Gnd and 5v
Attached is the Arduino Sketch, it also includes a library to control the ioBridge LCD screen.

Code Generator

I realized that someone with mischievous intentions could just tweet-spam the @Tweetfortreat account (or less likely someone could text or call my Twilio number numerous times) and I would end up with tons of candy on the floor.

Instead, I created a REST web service using of course my favorite web development tool, Oracle Application Express http://apex.oracle.com/ , to make sure a unique and random code was generated each time candy drop request was made from text, call or Twitter.

The REST application is really simple and I recognize it can also be created using any other technologies such as LAMP or even a GCI, or Perl application.

Application Objects:
  • 1 Table (ID,CODE,SELECTED)
  • 1 Numerical Sequence to generate primary key (ID)
  • 1 Trigger before insert record that will get the ID value and append a random number to the CODE column
  • 1 public procedure to retrieve the code (where selected = 1)
  • 1 public procedure to update the code once is used and generate a new one.
So I ended up with these two URL
http:/my.apexserver.com/pls/apex/getcode
http:/my.apexserver.com/pls/apex/updatecode?code=XXXX
*If you would like to implement something with a static file instead, I would recommend using http://www.random.org/clients/http/ to get a random number and store it in file, memory, or even the arduino itself.

ioBridge Setup

The ioBridge IO-204 is used as bridge (duh!) between the arduino and the internet. I am using the ioBridge serial board to connect an XBee module.

There are two main functions that the ioBridge was used for:
  1. Request current code
     I do a GET call from the arduino to retrieve the current code from my Code Generator service using ioBridge Serial Web Services API.
     Arduino code:
     mySerial.println("[[[get|http:/my.apexserver.com/pls/apex/getcode]]]");

      
  2. Start candy dropping sequence by text, call or tweet.
     An ioBridge widget will send a start character via serial message and the candy dropping sequence will start. This widget can be called using the ioBridge Static Widget API.
This URL  is called by Twilio and by my custom Twitter alert script.

http://www.iobridge.com/widgets/static/id=[widgetID]


These are the digital I/O pins configuration:
  • ioBridge Serial Board
  • TX - RX XBee
  • RX - TX XBee
  • GND and 5v

Twilio Setup


Twilio is a web-service API for communication apps. Twilio is as simple as it gets. It only  took me a short time to get my  SMS and Voice applications up and running! I had tried in the past to create similar applications with other technologies (VoiceXML and even Google Voice) and let me tell you is not that easy.

The voice application answers the phone, plays an intro sound file and asks for the code followed by the # sign. If a code is detected Twilio will do a "GET" action to a PHP file that will lookup the current code from my Code Generator Web Service. If it matches it will call the ioBridge static widget URL and candy will be dispensed.

The SMS application has almost the same PHP code except this time instead of looking for the digits dialed  it will look for body of the SMS message.

Check the attached XML and PHP files that generate the TwiML XML.

All in all Twilio is a winner and I have plenty of other ideas for the future.

Twitter Setup


No modern internet enabled project is complete without Twitter integration, right? :) Here is mine: This time i used a bash script, twurl and a crontab job to check for replies to @tweetfortreat. This bash script is running on my Sheevaplug, but it can be run in any linux/mac machine or it could be adapted to run as .bat in windows (using scheduled tasks).

Twurl is almost like curl but for Twitter. I did some ugly parsing of the twitter RSS feed to retrieve the tweet sender, but it works!

Here is my bash script
#!/bin/bash
mycode=`curl --silent http:/my.apexserver.com/pls/apex/getcode`
twitter=`twurl /1/statuses/mentions.rss | grep "@tweetfortreat $mycode" | cut -d ':' -f1 | tail -n 1 | cut -d '>' -f2`
echo $mycode $twitter
if [ -n "$twitter" ]; then
iobridge=`curl --silent http://www.iobridge.com/widgets/static/id=[widgetID]`
newkey=`curl --silent -d "code=$mycode" http:/my.apexserver.com/pls/apex/updatecode`
update=`twurl -d "status=@$twitter The code $mycode is correct. Happy Halloween!" /1/statuses/update.xml`
echo $newkey $iobridge
fi

Crontab will only allow you to execute a script every minute and I think is fine for now. Alternatively a while loop could be used instead.
Here is my crontab entry

*/1 * * * * /script_location/HalloweenCandy.sh > /dev/null 2>&1

Conclussion and Alternatives
If my Google skills (http://lmgtfy.com/?q=automatic+halloween+candy+dispenser)serve me well there are just not many documented Automatic Halloween Candy Dispensers out there. I did run into this one which I really like but is limited to M&Ms sized candy.I found some inspiration from the dog/cat feeders built using the internet enabled ioBridge http://support.iobridge.com/projects/tag/dog-feeder/.

I hope to see more iterations of the Automatic Halloween Candy Dispenser next year. Please make sure you share all your ideas/improvements in the comments section.


Happy Halloween!
Dec
22

Arduino/ioBridge internet controlled Christmas lights and music show (Build It!)

arduino, Christmas Lights, Contest Entries, Internet Controlled Lights, iobridge, LED Comments Off on Arduino/ioBridge internet controlled Christmas lights and music show (Build It!) 

Internet controlled Christmas lightsArduino Build It! contest entry by: Noel Portugal My xmas-box project consists of an internet controlled Christmas lights and music show. A Christmas song can be requested on-line which is then put in a queue and played in the order it was requested. The music is transmitted on an FM station within a 300 ft radius from my house.

The xmas-box has 8 Channels (power outlets) where different light modes can be played: vu meter style, ascending, descending, split, merge, sequence and random. During each song one of these modes is used randomly every 10 seconds (to make the show less monotonous).I started my research right after Halloween and I came across a couple different options, but I settled with the following combination of hardware : arduino + adafruit wave shield + ioBridge + wifi bridge + solid state relays (SSRs).

The xmas-box is enclosed in a small plastic tool box. I have place it on my deck under a roof ( it is not completely weather proof). The tool box has “3 levels.” The bottom is where all the SSRs and AC wiring are located. The middle (the inside tray) contains the wall warts for the arduino (9v), ioBridge (5v) and Wifi Bridge with power. The top level contains the Arduino board, the ioBridge module and the FM transmitter.

Noel has put together a really great Instructable. Rather than attempt to post all the steps here, the remainder of the project can be found on his Instructable.

Great Job Noel!

As as side note I will like to share how much Arduino has changed my life. I am software guy by trade but I have always wanted to bridge the internet with the real world. When I found out about Arduino I rushed to order one of these amazing boards, and I haven’t been disappointed. The ability to program it using C (with wiring) and the immense documentation and free libraries make it really easy for anyone with little to no experience to get started with physical computing. My head  has been constantly spinning  by all the possibilities that I could prototype with this platform.

I hope that any of my experiences shared by my blog could ever help someone else trying to do similar things.

-Noel

Share/Bookmark

My Halloween project consisted of a dropping spider triggered by a PIR motion sensor mounted on a Jackolantern. The motion sensor triggered a dropping spider, lights, sounds, low laying fog and finally a tweet with a picture attached (http://twitter.com/ioalerts).

These are the parts that I used for this project:
  • ioBridge IO-204
  • x10 Firecracker CM17A
    • x10 Transeiver, Appliance and lamp modules
  • VHS tape
  • Plastic Jackolantern
    • 2 1K resistors
  • Checklane Yada Yada Yada (thanks Erick for the tip http://www.instructables.com/id/Arduino-controlled-Silly-String-shooter/)
    • 1 2N2222 tranisistor
    • 1 10k resistor
  • Fog Machine
  • Wireless webcam
  • Lights and accesories
    • Incandescent black light, strobe light, black light bulbs.






    Setup
    It's all pretty basic. The arduino controlled the PIR motion sensor, the servos for dropping spider reel, Jackolantern LED lights, toy with scary sound, and the X10 CM17A. Then the arduino sent a serial message to the ioBridge serial API telling to GET the URL of my site. Then on my site I had a bash script with a while loop looking for request coming from the ioBridge server, then the script played a sound, grab the picture from a wireless webcam and post it to twitter via twitpic's API using cURL.




    Arduino Sketch
    Here is the arduino sketch. I used the X10Firecracker and the Servo libraries as well as the PIR sensor example from the arduino playground.



    Spider Reel
    I end up using an VHS tape as a reel. I had to modify one servo to have continuous rotation. I used this guide to do so. The second servo just did the lift part.





    ioBridge Monitor
    To establish the arduino-ioBridge serial communication I was planning to use an RF solution, but due to time constraints I had to use a long speaker cable to connect the arduino TX to ioBridge's Serial Board RX with one wire and the second for GND.


    This is the bash script I used to trigger a sound as well as send a twitpic.

    I used my mac os x Apache 2 server. I had to give write permisions to the access_log so I could append a bogus line as a "break".





    #!/bin/bash 
    booCounter=$1
    while true;do
    status=`tail -n 1 /private/var/log/apache2/access_log | cut -f 1 -d "-"`
    if [ "$status" = "00.00.000.000 " ]
    then
    echo "Boo" >> /private/var/log/apache2/access_log
    afplay /full/path/Halloween/werewolf.mp3
    msg="Boo, victim $booCounter just got really scared"
    sleep 5
    curl -O http://www.mywebcam.com/IMAGE.JPG
    curl -F media=@/full/path/Halloween/IMAGE.JPG -F "username=username" -F "password=password" -F "message=$msg" http://twitpic.com/api/uploadAndPost
    let booCounter=booCounter+1
    fi
    done




    Fog Machine 
    I got this fog machine that comes with manual fog release switch.
     I just soldered the 125VAC/10A DPDT Plug-In Relay to the switch and connected to an X10 appliance module.



    Fog Chiller
    I made this low laying fog cooler following this instructable.

     


    Commnents/Notes
    I originally used a PING sensor but got better results using the PIR sensor instead. I had to decrease the sensing radius by creating a cone (pumpkin nose) around the sensor.
    The twitpic implementation could have been better. Camera placement and lighting were poor :(









    My Halloween project consisted of a dropping spider triggered by a PIR motion sensor mounted on a Jackolantern. The motion sensor triggered a dropping spider, lights, sounds, low laying fog and finally a tweet with a picture attached (http://twitter.com/ioalerts).

    These are the parts that I used for this project:
  • ioBridge IO-204
  • x10 Firecracker CM17A
    • x10 Transeiver, Appliance and lamp modules
  • VHS tape
  • Plastic Jackolantern
    • 2 1K resistors
  • Checklane Yada Yada Yada (thanks Erick for the tip http://www.instructables.com/id/Arduino-controlled-Silly-String-shooter/)
    • 1 2N2222 tranisistor
    • 1 10k resistor
  • Fog Machine
  • Wireless webcam
  • Lights and accesories
    • Incandescent black light, strobe light, black light bulbs.






    Setup
    It's all pretty basic. The arduino controlled the PIR motion sensor, the servos for dropping spider reel, Jackolantern LED lights, toy with scary sound, and the X10 CM17A. Then the arduino sent a serial message to the ioBridge serial API telling to GET the URL of my site. Then on my site I had a bash script with a while loop looking for request coming from the ioBridge server, then the script played a sound, grab the picture from a wireless webcam and post it to twitter via twitpic's API using cURL.




    Arduino Sketch
    Here is the arduino sketch. I used the X10Firecracker and the Servo libraries as well as the PIR sensor example from the arduino playground.



    Spider Reel
    I end up using an VHS tape as a reel. I had to modify one servo to have continuous rotation. I used this guide to do so. The second servo just did the lift part.





    ioBridge Monitor
    To establish the arduino-ioBridge serial communication I was planning to use an RF solution, but due to time constraints I had to use a long speaker cable to connect the arduino TX to ioBridge's Serial Board RX with one wire and the second for GND.


    This is the bash script I used to trigger a sound as well as send a twitpic.

    I used my mac os x Apache 2 server. I had to give write permisions to the access_log so I could append a bogus line as a "break".





    #!/bin/bash 
    booCounter=$1
    while true;do
    status=`tail -n 1 /private/var/log/apache2/access_log | cut -f 1 -d "-"`
    if [ "$status" = "00.00.000.000 " ]
    then
    echo "Boo" >> /private/var/log/apache2/access_log
    afplay /full/path/Halloween/werewolf.mp3
    msg="Boo, victim $booCounter just got really scared"
    sleep 5
    curl -O http://www.mywebcam.com/IMAGE.JPG
    curl -F media=@/full/path/Halloween/IMAGE.JPG -F "username=username" -F "password=password" -F "message=$msg" http://twitpic.com/api/uploadAndPost
    let booCounter=booCounter+1
    fi
    done




    Fog Machine 
    I got this fog machine that comes with manual fog release switch.
     I just soldered the 125VAC/10A DPDT Plug-In Relay to the switch and connected to an X10 appliance module.



    Fog Chiller
    I made this low laying fog cooler following this instructable.

     


    Commnents/Notes
    I originally used a PING sensor but got better results using the PIR sensor instead. I had to decrease the sensing radius by creating a cone (pumpkin nose) around the sensor.
    The twitpic implementation could have been better. Camera placement and lighting were poor :(









    My Halloween project consisted of a dropping spider triggered by a PIR motion sensor mounted on a Jackolantern. The motion sensor triggered a dropping spider, lights, sounds, low laying fog and finally a tweet with a picture attached (http://twitter.com/ioalerts).

    These are the parts that I used for this project:
  • ioBridge IO-204
  • x10 Firecracker CM17A
    • x10 Transeiver, Appliance and lamp modules
  • VHS tape
  • Plastic Jackolantern
    • 2 1K resistors
  • Checklane Yada Yada Yada (thanks Erick for the tip http://www.instructables.com/id/Arduino-controlled-Silly-String-shooter/)
    • 1 2N2222 tranisistor
    • 1 10k resistor
  • Fog Machine
  • Wireless webcam
  • Lights and accesories
    • Incandescent black light, strobe light, black light bulbs.






    Setup
    It's all pretty basic. The arduino controlled the PIR motion sensor, the servos for dropping spider reel, Jackolantern LED lights, toy with scary sound, and the X10 CM17A. Then the arduino sent a serial message to the ioBridge serial API telling to GET the URL of my site. Then on my site I had a bash script with a while loop looking for request coming from the ioBridge server, then the script played a sound, grab the picture from a wireless webcam and post it to twitter via twitpic's API using cURL.




    Arduino Sketch
    Here is the arduino sketch. I used the X10Firecracker and the Servo libraries as well as the PIR sensor example from the arduino playground.



    Spider Reel
    I end up using an VHS tape as a reel. I had to modify one servo to have continuous rotation. I used this guide to do so. The second servo just did the lift part.





    ioBridge Monitor
    To establish the arduino-ioBridge serial communication I was planning to use an RF solution, but due to time constraints I had to use a long speaker cable to connect the arduino TX to ioBridge's Serial Board RX with one wire and the second for GND.


    This is the bash script I used to trigger a sound as well as send a twitpic.

    I used my mac os x Apache 2 server. I had to give write permisions to the access_log so I could append a bogus line as a "break".





    #!/bin/bash 
    booCounter=$1
    while true;do
    status=`tail -n 1 /private/var/log/apache2/access_log | cut -f 1 -d "-"`
    if [ "$status" = "00.00.000.000 " ]
    then
    echo "Boo" >> /private/var/log/apache2/access_log
    afplay /full/path/Halloween/werewolf.mp3
    msg="Boo, victim $booCounter just got really scared"
    sleep 5
    curl -O http://www.mywebcam.com/IMAGE.JPG
    curl -F media=@/full/path/Halloween/IMAGE.JPG -F "username=username" -F "password=password" -F "message=$msg" http://twitpic.com/api/uploadAndPost
    let booCounter=booCounter+1
    fi
    done




    Fog Machine 
    I got this fog machine that comes with manual fog release switch.
     I just soldered the 125VAC/10A DPDT Plug-In Relay to the switch and connected to an X10 appliance module.



    Fog Chiller
    I made this low laying fog cooler following this instructable.

     


    Commnents/Notes
    I originally used a PING sensor but got better results using the PIR sensor instead. I had to decrease the sensing radius by creating a cone (pumpkin nose) around the sensor.
    The twitpic implementation could have been better. Camera placement and lighting were poor :(








    So I extended my webcam project to become a security system while I was away for the last couple weeks.


    I mounted a webcam with two Futaba S3003 servos (pan + tilt) with the help of a Meccano 5-model set . I also installed 2 PIR sensors to detect movement. Then I mounted all to a tripod.

    I created 2 ioBridge messaging actions to send me a TXT message if any of the PIR sensor went to the ON position (note that I only activated this action while away to avoid receiving a huge amount of TXTs) and also a Digital input to servo position action to move the camera to the direction of movement.

    I placed the camera on the side of my main hall, so I was able to get at 180 degree view of my house while away.


    Luckily it only went off once when I asked my sister to come to my house to grab something for me :) , other than that It worked great! I also used my x10 controllers to turn on/off a few lights inside my house as well as a lamp candle (scentsy) that I was able to to turn on the day I flew back home.

    Now I only wonder what will it take to tap  into my actual security system with my ioBridge.
    Sep
    28

    Webcam + PIR sensor + servos +ioBridge + txt message alerts = awesome security system

    iobridge, pir sensor, servo, webcam Comments Off on Webcam + PIR sensor + servos +ioBridge + txt message alerts = awesome security system 

    So I extended my webcam project to become a security system while I was away for the last couple weeks.


    I mounted a webcam with two Futaba S3003 servos (pan + tilt) with the help of a Meccano 5-model set . I also installed 2 PIR sensors to detect movement. Then I mounted all to a tripod.

    I created 2 ioBridge messaging actions to send me a TXT message if any of the PIR sensor went to the ON position (note that I only activated this action while away to avoid receiving a huge amount of TXTs) and also a Digital input to servo position action to move the camera to the direction of movement.

    I placed the camera on the side of my main hall, so I was able to get at 180 degree view of my house while away.


    Luckily it only went off once when I asked my sister to come to my house to grab something for me :) , other than that It worked great! I also used my x10 controllers to turn on/off a few lights inside my house as well as a lamp candle (scentsy) that I was able to to turn on the day I flew back home.

    Now I only wonder what will it take to tap  into my actual security system with my ioBridge.
    Sep
    28

    Webcam + PIR sensor + servos +ioBridge + txt message alerts = awesome security system

    iobridge, pir sensor, servo, webcam Comments Off on Webcam + PIR sensor + servos +ioBridge + txt message alerts = awesome security system 

    So I extended my webcam project to become a security system while I was away for the last couple weeks.


    I mounted a webcam with two Futaba S3003 servos (pan + tilt) with the help of a Meccano 5-model set . I also installed 2 PIR sensors to detect movement. Then I mounted all to a tripod.

    I created 2 ioBridge messaging actions to send me a TXT message if any of the PIR sensor went to the ON position (note that I only activated this action while away to avoid receiving a huge amount of TXTs) and also a Digital input to servo position action to move the camera to the direction of movement.

    I placed the camera on the side of my main hall, so I was able to get at 180 degree view of my house while away.


    Luckily it only went off once when I asked my sister to come to my house to grab something for me :) , other than that It worked great! I also used my x10 controllers to turn on/off a few lights inside my house as well as a lamp candle (scentsy) that I was able to to turn on the day I flew back home.

    Now I only wonder what will it take to tap  into my actual security system with my ioBridge.
    Since I can recollect using the internet (91/92?) I have been doing the following search: "Devices Connected to the Internet" (remember yahoo directory!), and have always been wondering when was my turn to connect "something" to the tubes.

    I was finally able to create my own webcam with a Passive Infrared (PIR) sensor.



    A couple weeks ago I stumbled in to ioBridge. The minute I saw it I knew I needed it :) . I have
    been interested in home automation for while (and even invested on some x10 devices) but I have been always looking for the missing link; internet connectivity.

    So this is pretty basic. I have a webcam mounted on a Futaba S3003 servo. I ordered the servo controller smart board as well from ioBridge so all necessary servo communication is done.
    I'm using an Airlink 101 wireless webcam (got it at Frys) , and it is really nice that it has a bottom and top standard tripod compatible screw. So all I had to do is get an extra tripod base adaptor that I mounted directly to my servo.


    As soon as I got my ioBridge, I ran to radio shack to see what I could find. Sadly Radio Shack does not have the biggest stock of electronic components (at least the one close to my house). But I did manage to find this: a Pir Sensor Module. The voltage required is 3.3-5v, and it has a digital signal output.

    Then on friday hackaday.com published this passive infrared (PIR) tutorial and there I found a link to the following project which inspired me to do the same minus the arduino board (which btw I will be getting one soon). And here is where I found out how much ioBridge rocks! I am able to do basically the same using ioBridge actions. This is truly amazing!

    I also implemented an iPhone version using the ioBridge iTurn as an example where I can pan the camara depending on my iPhone orientation. Pretty neat!

    Using the ioBridge JavaScipt API I was also able to create buttons to move the camera.

    You can also see that I have a light control. That implementation is using x10 Firecracker PC serial interface connected to a linux machine and some x10 linux controlling software (BlueLava + Heyu) which I expect to replace soon with an ioBridge x10 smart board.

    Video after the break....



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook