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
    About the element14 Community
  • 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
Ultimate RoadTest
  • Challenges & Projects
  • Design Challenges
  • Ultimate RoadTest
  • More
  • Cancel
Ultimate RoadTest
Blog The Nice Asgard Project Part 11 - Adding the Icing
  • Blog
  • Forum
  • Documents
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: cookieglitch
  • Date Created: 25 Jun 2012 12:11 AM Date Created
  • Views 814 views
  • Likes 1 like
  • Comments 2 comments
  • eagle_software
  • wifi
  • pwm
  • wireless_communication
  • home_automation
  • motor_control
  • msp430
  • zigbee
  • sp:texas_instruments
  • ultimate_roadtest
Related
Recommended

The Nice Asgard Project Part 11 - Adding the Icing

cookieglitch
cookieglitch
25 Jun 2012

So it is time to wrap up the project ahead of the deadline. This week will be a mixture of finishing off board layouts, summaries, and anything else that comes up. Sure to be interesting while I'm on holiday! (Just a little short notice, was only booked yesterday)

 

In the meantime, here is a demo video. Or would be anyway. Thanks to the previously blogged about tool chain issues (I've had great luck, only broke 3 of them image), there isn't much of a demo. Wouldn't want to disappoint however so to keep you entertained is a short presentation on the work done. This includes a very short introduction to the components and a walk through of the code. Please, ask questions should you have them. All the software parts (code and schematics) are available in the repos. If anyone wants to try to get it working, fix it, improve it, make it into a paper plane (Please keep it green. Save the paper for your next project proposal or similar!), please do. Fork away and let us know how you get on. A text based summary will come during the week.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Don't forget, ask questions, take note of the Llamas advice and have fun!

 

Design Summary

This system is designed to make watching your favourite film, TV or game easier by reducing the number of things you have to do to get the environment just right. For many, the habit is to turn off the lights, close the blinds and watch the film in the dark. Lets face it, if you are going to put on a film you are looking to be lazy, so why not automate what you can?

 

The challenge is to do this using the Texas Instruments CC3000 WiFi evaluation kit. This project makes a few assumptions, if you are the kind of person to have a home automation system, you most likely have a smart phone, a tablet, a laptop or other wireless device (If anyone has data on how this applies to those using home automation due to a health issue, please share!) This makes the design a little easier, use the wireless device as the remote control. Something of a Bring Your Own Device approach to the problem. Why create a whole new device when you can use standard hardware and simply drop in an app? The use of WiFi (Implemented as a client rather than an access point), would also allow the user to control the system from outside the network through the internet. Stuck late at work or in traffic? Close the blinds and turn on the lights on the go through mobile internet. With this design, the system is broken down into a device per room with one base station acting as a controller. The diagram below shows how it is configured.

 

image

 

This system is made up of several main components, the WiFi network, the ZigBee network and the drivers. The Wifi portion connects the main user interface to the system. This means any Wireless enabled computer is able to send the relevant instructions to the system to say what mode the relevant room needs to be in. Once these instructions are with the base station, one of two things can happen. The first is that the instructions are followed. This is because the base device controls a room just like any of the end devices. If the instruction is not for the base station it is forwarded onto the right end device using the second main component, the ZigBee network.

 

The ZigBee protocol was chosen for a few reasons, one being previous experience with XBee modules, second being the availability of processors which natively support the protocol and lastly, the protocol is designed for this. ZigBee has several published profiles for applications and several draft profiles. Out of these profiles, there are two which fit this use, the published Home Automation profile and the draft Building Automation profile. When you look into the specifications for these, the Home Automation profile covers exactly what is being done here as it provides lighting and closure controls (Window coverings, shades etc). Couldn’t get more suitable if you tried! To make it even better, the available software stacks for TI ZigBee products are compliant, as tested by a ZigBee Alliance test house. Z-Stack samples also support the Home Automation profile. It is like a match made in heaven!

 

With the instruction at the right end device, you need to have an output, to do this we need two components, a lighting driver and a motion controller. With the move towards green technology, there are very few options for lights, the biggest one being LEDs. As it happens, TI provide some lovely LED drivers, including one controllable by a PWM signal. The result is a dimmable light that can be controlled by a tiny processor. Sticking with the PWM theme, this kind of signal can also be used to drive the motor of choice. With the available range of motor drivers, there are multiple options for motors, be it a DC motor, a stepper motor or a servo. For this system, a stepper motor was chosen, allowing suitable levels of precision and the use of a step counter rather than a timer. With this in mind, the solutions chosen were the DRV8805 for the motion control and the TPS61042 for lighting control.

 

The user interface is not just limited to the computer application however. The base station, and eventually each end device, is designed to accommodate a control panel. This means a LCD to display a menu and buttons to switch through the menu. Other options for the interface included using a capacitive touch sensor in place of buttons, much like the iPod and many touch screen devices.

  • Sign in to reply
  • cookieglitch
    cookieglitch over 13 years ago in reply to DAB

    I'll slow it down when I get a chance!

    The libraries are good, they cover pretty much everything you would need in terms of the basics. My one complaint is that some of them, especially the examples, do not necessarily explain things as well as they could. If you are brand new to the tool or the area (WiFi development for example), they can be a little daunting at first.

     

    The intention was to show the blinds working, currently researching ways to find the running order for the stepper driver. Connecting it using what seems like the obvious pin orders causes the motor to lock up. With any luck it is just down to me getting a wire confused. Thanks to the tool chain issues (CCS, IAR and MSP-GCC all have issues for me. Think I need to build a small test machine to run some different installations and see if I can narrow down what is going wrong), getting the code to compile is a problem. Rather frustrating to say the least. Following a break I think I might try with a fresh compiler and possibly a different platform for some of the components. Worked to get the LED driver, so it should be a help with the others!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 13 years ago

    Good overview presentation.

     

    I would suggest you slow the video a little, some of us do not read as fast as we used to. image

     

    I like your simple approach and keeping to off the shelf tools TI provided.  From what I have seen, their libraries are very easy to use and the code works well right out of the box.

     

    Are you going to have a video showing the lights and the blinds moving?  That way we could see the code in operation as it uses your architecture to implement the commands.

     

    Just a thought,

    DAB

    • 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