element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Documents PiFace Home Timeswitch - turning a light on and off
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: PEarle
  • Date Created: 23 May 2013 8:29 PM Date Created
  • Last Updated Last Updated: 8 Oct 2021 5:29 AM
  • Views 4583 views
  • Likes 1 like
  • Comments 46 comments
Related
Recommended

PiFace Home Timeswitch - turning a light on and off

** Update**

 

I've now implemented this using an Energie Pi Controlled mains Socket - see my blog at Home Automation using ENERGENIE - ENER002-2PI

 

For details on the Energie socket see ENER002-2PI - ENERGENIE - RF CONTROLLED MAINS SOCKETS, FOR | CPC


 

 

One of the things I wanted to do with my Pi from the outset was to be able to use it as a timer, to turn a light on and off at night when I was out, as a simple form of home security. Being something of a newbie when it comes to electronics, my biggest problem was how to wire it up to be able to turn the power on and off.

 

The Pi relays are rated at a maximum of 20v and 5amps - therefore I cannot connect the Pi directly to the 'mains powered' light !!!

 

What I am planning on doing is investigating using a to a commercial relay which can cope with the current. When I've done that I shall update this blog again with details of the how the Pi can safely control a mains powered device.

 

However, the rest of the blog is still valid as it explains how the relay on the PiFace is operated and will be used for the Timer application, when completed.

 

I've written a java program to control the light switching on and off which does the following;

 

  • Calculate a random wait time between two values that I have supplied (2 and 20 minutes at the moment)
  • Wait for that period of time to elapse
  • At the end of the wait time, toggle the relay - switch it on if it was already off, and vice-versa.
  • repeat the above ad infinitum

 

The result is that the light will keep turning on and off in a random pattern making it look as if someone is using the room even when I'm not there !

 

 

Java Code

I've already written a document about using Java on the Pi - see http://www.element14.com/community/docs/DOC-54112/l/java-on-the-raspberry-pi. The code that I used for this project is attached to this document (e.g. timeswitch.zip)

 

 

Running Automatically

My intention is really to have this as a 'black box' function so that the TimeSwitch application will run as soon as the Pi is switched on. This is accomplished quite easily - all I need to do is write a script to run the java application, and then add it to the initialisation script.

 

The script to run the java application is as follows ;

cd /opt/pi4j/examples
java -classpath .:classes:/opt/pi4j/lib/'*' com.phe.datetime.TimeSwitch

To run at start up I have edited  /tec/rc.local and added the following line

 

/opt/pi4j/examples/timeswitch.sh > /opt/pi4j/examples/timeswitch.log

 

This will execute the java app at start up and also pipe any log messages to timeswitch.log.

Attachments:
timeswitch.zip
  • Share
  • History
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • Robert Peter Oakes
    Robert Peter Oakes over 11 years ago in reply to Problemchild +2
    Maybe a DANGER rating from Bunny minion through to Skeleton minion
  • mcb1
    mcb1 over 11 years ago in reply to michaelkellett +1
    If you look at the RCSwitch there is a RPi solution. Frederick also used these to interface as an I2C device. http://www.element14.com/community/community/design-challenges/forget-me-not/blog/2014/08/11…
  • mcb1
    mcb1 over 11 years ago in reply to eatojg +1
    This adds a piece for the RPI and while it suits the UK, there are many others using a similar 433 or 315 MHz RF control. The code in the Watts Clever have a 24 bit data stream, but in reality it only…
  • kidiccurus
    kidiccurus over 11 years ago in reply to Robert Peter Oakes

    Yes, and don't strip to much insulation. I like the idea of a rating system. Perhaps implement it for other things too. Time, cost, difficulty. Someone needs to implement this. Also, what is the weird obsession with minions on this site?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 11 years ago in reply to Problemchild

    Maybe a DANGER rating image from Bunny minion through to Skeleton minion

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 11 years ago in reply to kidiccurus

    AND Make sure the strain relief Is over the outer insulation, NOT the inner 3 wires, I have seen that so many times

     

    of course here in Canada and the USA, there are no fuses in the plug or the socket, its all down to the panel and the equipment itself

     

    and man did it take me some time to get used to Black, White and fortunately Green (Black is Live btw) I grew up in the UK and moved to Canada in my 30's

     

    Oh, and if you do use a 220V outlet in Canada/USA, the neutral is NOT ground, there is a 110V on each terminal centered around gnd and so both are technically and lethally live image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kidiccurus
    kidiccurus over 11 years ago in reply to Problemchild

    Good idea. Its more likely to get noticed than something in the comments.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Problemchild
    Problemchild over 11 years ago in reply to mcb1

    Mark this raises my point made to E14 that their should be a mark on such a project to raise caution for any one reading it or that Certain project can "vote" a project "dangerous" or "safety critical" so that readers can use their common sense and realise what they are doing can be dangerous. Mind you if you need to be told it's dangerous then the project probably isnt for you any way !

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Problemchild
    Problemchild over 11 years ago in reply to Robert Peter Oakes

    Totally agree here, the separation is barely anything and only maintained by wind really.

    to maintain some sort of real physical separation it would be much better to use one of the 100's of relay boards generally marked as for "Arduino" or such then connect the I/O so that they are side by side rather than on top of each other. With regards to the relays I'm sure they can take 10A but I'm sure the board will be cooking well before this image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kidiccurus
    kidiccurus over 11 years ago in reply to mcb1

    UK. Looking form the back, Earth(green/yellow) to top, neutral(blue) to right And live(brown) to left via fuse. Make sure they are correctly secured and the correct fuse is used. I make sure someone else checks my work for added safety.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to kidiccurus

    I can wire a plug

     

    Are you sure you are doing correctly ?? Just a question. image

    and since your profile gives no continent/country I can't suggest what to look for.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kidiccurus
    kidiccurus over 11 years ago in reply to mcb1

    Good advice, thank you. Also it is not so much brushing up on AC as it is learning basically from scratch. I can wire a plug and that is about it.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 11 years ago in reply to kidiccurus

    Sorry for wasting your time.

    You aren't wasting my time. image

     

    I would suggest brushing up on AC and stick to what you know rather than " throwaway comments ".

    The hardest part when you offer advice is being able to support what you say with facts, evidence, or knowledge .... so even warnings about "Don't do this" can catch you out.

     

    You can always state " I won't do xyz because I don't have sufficient experience/knowledge and consider its dangerous" ... then they can't trip you up.image

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube