Jump to content
43oh

NullColaShip

Members
  • Content Count

    22
  • Joined

  • Last visited

  • Days Won

    1

Reputation Activity

  1. Like
    NullColaShip got a reaction from abecedarian in Display based on LPD8806 RGB LED strips   
    I guess it really depends on how quickly you can take and process your samples.  I've currently got a frame delay of about 40ms, which means it'd be 25fps if it was able to calculate each frame and push it out instantaneously - so it could easily go quite a bit faster.  The video in the first post in this thread should give some idea of how fast it is - particularly the rainbow fade sequences, which run very smoothly (at least in person - the video might not look quite as smooth given its limited framerate).
  2. Like
    NullColaShip got a reaction from simpleavr in Display based on LPD8806 RGB LED strips   
    I guess it really depends on how quickly you can take and process your samples.  I've currently got a frame delay of about 40ms, which means it'd be 25fps if it was able to calculate each frame and push it out instantaneously - so it could easily go quite a bit faster.  The video in the first post in this thread should give some idea of how fast it is - particularly the rainbow fade sequences, which run very smoothly (at least in person - the video might not look quite as smooth given its limited framerate).
  3. Like
    NullColaShip got a reaction from bluehash in Display based on LPD8806 RGB LED strips   
    I finally found the time and effort to finish sewing the display together (the LED strips are now sewn onto a black felt backing, which can be rolled or folded up for storage), and I've coded up a quick Christmas sequence.  I'll tidy up the code (I wrote some new functions to output 8x8 images, which I can make a bit more generic) and push it up to Github some time in the not too distant future (I need to get a new laptop), but in the mean time, here's a video of it in action (as part of a window display with a few other cheap lights):

  4. Like
    NullColaShip got a reaction from RobG in Display based on LPD8806 RGB LED strips   
    I finally found the time and effort to finish sewing the display together (the LED strips are now sewn onto a black felt backing, which can be rolled or folded up for storage), and I've coded up a quick Christmas sequence.  I'll tidy up the code (I wrote some new functions to output 8x8 images, which I can make a bit more generic) and push it up to Github some time in the not too distant future (I need to get a new laptop), but in the mean time, here's a video of it in action (as part of a window display with a few other cheap lights):

  5. Like
    NullColaShip reacted to bluehash in Ethernet Booster Pack   
    Available in the 43oh Store.
  6. Like
    NullColaShip reacted to RobG in Ethernet Booster Pack   
    How-to part deux
     
    Server software allows reading and writing MSP430's registers.
    There are port masks that will prevent changing setting of pins used for controlling W5200, so don't worry, you can set port registers as you please.
     
    Response can be in HTML or XML format.

    #define RESPONSE_TYPE_HTML // comment out to switch to XML
     
    Here are commands:
    http://x.x.x.x/g?t=p get all ports
    http://x.x.x.x/g?t=p&n=2 get port 2
    http://x.x.x.x/s?t=p&n=1&v=0xFF set P1OUT to 0xFF
    http://x.x.x.x/s?t=d&n=2&v=2 set P1DIR to 2
    http://x.x.x.x/g?t=a get ADCMEM (0x0000 is returned when ADC is disabled)
    http://x.x.x.x/g?t=m&n=2&v=100 get memory dump, 100 byte starting at address 2 * 256
    You should set n & v when reading memory, or you will dump the entire address space 64k, which will most likely lock up the server. I will fix that later on.
    Want to know you calibration data? Well, it's at 0x1000
    http://x.x.x.x/g?t=m&n=0x10&v=0xFF
     
    More features will be added soon, like X10 transmitter, so will be able to turn your lights on and off (t=x)
     
    g? means get
    s? means set
     
    Possible port targets:
    t=p PxIN // for reading only
    t=o PxOUT
    t=d PxDIR
    t=r PxREN
    t=s PxSEL
    t=t PxSEL2
    t=i PxIE
    t=e PxIES
    t=f PxIFG
     
    n = port number n=1 P1, n=2 P2, etc. (used with port registers)
    n = start address (high byte) n=4 means start at 4 * 256 = 1024, or n=0x10 start address is 0x1000 (used with t=m)
     
    v is the value in hex or decimal, from 0-255 or 0x00 to 0xFF, case insensitive (used with port registers)
    v is the number of bytes to return v=100 means return 100 bytes, or v=0x0F return 16 bytes (used with t=m)
  7. Like
    NullColaShip reacted to bluehash in Ethernet Booster Pack   
    As you wish SA/Rob.
     
    I was wondering if we can find a CM(contract manuf) to do the boards. Soldering them at home is a pain.
  8. Like
    NullColaShip reacted to RobG in Ethernet Booster Pack   
    They are on their way to the store right now.
    I am not planning to make any more at this time, maybe if I get an oven.
    Another board with 0805 parts sold as kit is a possibility.
     
    Almost forgot, many thanks to Joachim and SugarAddict for their help with this project!
  9. Like
    NullColaShip reacted to RobG in Ethernet Booster Pack   
    All boards assembled!
    Will test them tonight and ship on Monday.
     

  10. Like
    NullColaShip reacted to RobG in Ethernet Booster Pack   
    Correct (I don't have the oven... not yet )
     


  11. Like
    NullColaShip reacted to RobG in Ethernet Booster Pack   
    First board (actually it's the second one) assembled and working as expected!
    Shipping rest of the boards to SA tomorrow.
     



  12. Like
    NullColaShip reacted to SugarAddict in $4.30 LCD Booster - Sold Out   
    Store Link : The $4.30 LCD BoosterPack - Limited Edition
     
    So I've been working on this for a little while now... I'll get a prototype of the mounting spacer from the CNC shop around the 9th... I have some boards already that were made purely for testing the footprint, lcd, and code. I've already got a batch of the production PCB's on order that are to make sure everything is good before I order a crapload of them... I'm looking at doing 100 of these.
     



    Rob-LCDBack.pdf <-- This is the mounting spacer's general idea in 2d, working with the CNC to get it all perfect.
     
    I will be using the Nokia 7110 LCD... dipmicro still has a fair stock of them, I'm going to order 100 of them when I get my next paycheck.
     
    Thoughts?
     
    I will be taking a minor loss to make this happen at $4.30 each, it's still cheaper than a day at the slopes!
  13. Like
    NullColaShip got a reaction from dacoffey in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  14. Like
    NullColaShip got a reaction from thanhtran in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  15. Like
    NullColaShip got a reaction from larsie in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  16. Like
    NullColaShip got a reaction from bluehash in Display based on LPD8806 RGB LED strips   
    I had some spare screw terminals kicking about, but they weren't quite the right pitch - so I tore the plastic off and used the individual terminals within. They were just slightly too wide to comfortably fit side-by-side without touching, so I left a single gap between each one. I've contemplated using some Sugru to turn them into a solid block again, but they seem fine as they are so I'll probably just leave them bare.
  17. Like
    NullColaShip got a reaction from RobG in Display based on LPD8806 RGB LED strips   
    I've been too busy to do much on this project lately, but since I just received the stuff I bought from the 43oh store, I couldn't resist transferring everything to a ProtoPad BoosterPack. Here's what it looks like now:

    1. Microchip 23K256 32KB SRAM chip (for storing pixel data)
    2. 5V input for LED array
    3. To LED array (from left to right: GND, data, clock, +5V)
    4. Socket for Bluetooth module (not yet wired in), made from stackable headers with the pins bent 90 degrees
     
    I have the Bluetooth module, but haven't yet wired it in or written any code to support it. The module I have is this one - $8.60 from DealExtreme (cheaper if you buy 3 or more). The aim of the Bluetooth module is to allow wireless control from an Android app (and possibly some kind of desktop interface too).
  18. Like
    NullColaShip reacted to jotux in LaunchLib - a new library for the launchpad and fraunchpad   
    Long-time lurker here to share a library I've been working on.
     
    LaunchLib is an easy-to-use (you still need to know C) library to help quickly develop projects on the launchpad (MSP430G2553) and fraunchpad (MSP430FR5739). The code is all open source and hosted on github. Most of it is well documented (doxygen style) and whenever I make changes I update the docs -- so they're always up-to-date.
     
    http://jotux.github.com/LaunchLib/
    https://github.com/jotux/LaunchLib
     
    Some unique features:
    - Selectable blocking or non-blocking UART
    - State machine framework
    - Scheduling mechanisms (callbacks and callouts)
    - GPIO interrupt handler (attach functions to interrupts)
    - Hardware PWM generation
    - Lots of examples
    - Cute logo
     
    I've licensed all the code with the open source MIT license and would love to see some forks and pull requests on github.
     
    (Admin: please whitelist so I can add links)
  19. Like
    NullColaShip reacted to jim940 in OBD-II (On-Board Diagnostic) project idea   
    I just realized I forgot the "u" in forums. :oops:
     
    Anyways, I know more about the CAN Bus now then any other network protocol, spent a entire semester at my college studying it (first Semester of Project Design) so that when I did my project the next semester (Semester 2 we are supposed to build and make work the project) I was decently well versed in it:
     
    http://www.northerndtool.com/bionx
     
    Its Arduino I know, (don't kill me), but that is what I was asked to work with, so that is what I did. :shh:
     
    One thing that confused me as I learned about it, knowing the OSI model, is that technically the CAN Bus forgets about that style of operation. For example, for layer 1, connector types etc should be specified, instead, the higher OSI layers that are implemented on top of the CAN Bus Specifications (such as OBD-II) specify the connectors themselves, and while the OSI model relies heavily on the addressing of the node you wish to speak to, the CAN Bus system, is designed so that each and every node will get the same packets and will use the Message ID as a means to detect whether or not the data is useful to them.
     
    Say you have a home monitoring system running on the CAN Bus, you have a master home controller, a secondary back up controller, and a dozen temperature probes, a couple thermostats, a humidity sensor, oxygen sensor, a couple of smoke sensors and a dozen door sensors.
     
    You'd assign the smoke sensors, lower message ID's, to give them priority, as the CAN Bus will detect "on the fly" if there is a collision, and the lower the message ID bits, the higher priority it gains and wins out arbitration. As in the case of a fire, you want the data to always reach your main controller. So each message ID will be unique to the sensor itself and not its address, instead its what the smoke sensor will use to broadcast its data.
     

     
    Now, your worried about a B&E, so the next lowest set of ID's will go to your door sensors, followed by your oxygen sensor, humidity sensor, thermostats and temperature probes etc. or your own unique priorities.
     
    Since it doesn't rely on a messaging format such as IP routing in your home, BOTH your main controller and your back up controller will receive every packet from every sensor, however, while your programming the main controller regularly, your back up controller is programmed as a watch dog, so that, you'll have code such as, if (Temperature_probe1 < setpoint) && (main_con !sending_messages) then take over the bus and assume the main controller is "dead". And since all the probes, scattered throughout the house can be "dumb", and not actually know who they are sending the packages to, you can have any combination of back up systems in place that will allow your system to survive any number of failures. So any back up "master" nodes, just need to listen as my above example for the sensors (dumb devices) sending requests and the "master" nodes responses. If the master node is not responding, and the back up takes over, the furnace wouldn't know the difference between a packet from the master node, or from the back up master, it will just do what its told, and the system will not be compromised cause of a single (or multiple) failures.
     
    This is one of the reasons why, one of the neat things that the CAN Bus is being used for, beyond the typical industrial automation and automotive sectors, is aerospace, for both planes and space bound satellites, due to its redundancy which doesn't require human intervention to correct itself when properly implemented.
     
    Jim
  20. Like
    NullColaShip got a reaction from Fe2o3Fish in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  21. Like
    NullColaShip got a reaction from bluehash in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  22. Like
    NullColaShip got a reaction from RobG in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  23. Like
    NullColaShip got a reaction from gwdeveloper in Display based on LPD8806 RGB LED strips   
    Hi all,
    Having purchased a bunch of the addressable RGB LED strips from Adafruit (with the newer LPD8806 high-speed PWM control chips for full colour), I set about getting an MSP430 (in this case, an MSP430G2553) on a Launchpad to control them. I stumbled across gwdeveloper's post and GitHub repo for the WS2801 RGB LED strip, and figured it'd be a good starting point.

    I've so far managed to adjust the code (using the Adafruit-supplied Arduino library for the LPD8806 strips) from WS2801 to LPD8806, and made some tweaks to gwdeveloper's demo sequences to deal with a couple of issues which cropped up (attempting to add data directly to the pixels[] array at invalid indexes, which for some reason caused certain colours of the strip to then fail to light when subsequently told to). The LPD8806 code is available from my GitHub repo.

    Update: Now that I have finally assembled the whole thing, here's a video (it's not mounted yet, so the alignment isn't perfect but it's sufficient to see what it'll be like):


    (you might want to click through to YouTube to see it full size - and make sure you have annotations on for details!)
  24. Like
    NullColaShip got a reaction from bluehash in Display based on LPD8806 RGB LED strips   
    I finally managed to get the 23K256 up and running, and now have my LED array code storing pixel data in the 23K256. The pixel data is streamed directly from SRAM to the LED strip - primarily for performance reasons (and because there's no reason to pull chunks of the data back into the MSP430), though I also had trouble trying to read the pixel data out in chunks for some reason. I'll probably look into that again at a later date, but for now I'll continue to focus on adding functionality to the display. I also boosted the CPU clock to 16MHz, which is giving a pretty fast refresh rate.
     
    If you'd like to check out the code, it's currently sitting ina new branch of my Github repository, though I may reorganise the repo soon.
     
    Now that I have the SRAM working and can therefore drive the display at the size I originally planned, I'll work on putting the display together and recording some video of it in action.
  25. Like
    NullColaShip reacted to Fe2o3Fish in Display based on LPD8806 RGB LED strips   
    SPI and I2C are both fairly easy to use although SPI is the easier of the two.
    A quick look through the Mouser website came up with a number of possibilities
    but, hey, there's already a recent article about using the Microchip 23K256 w/ 32K
    of static RAM (viewtopic.php?f=10&t=1056) and they're
    fairly inexpensive at US$1.46 in unit quantities. Not sure how you're wanting to use
    RAM for your project. If you just want to store and not often change your patterns
    then a serial FLASH, EEPROM, or FRAM memory chip is a possibility too.
     
    -Rusty-
×
×
  • Create New...