Skip to content

KhazanahAmericasInnovationLab/scrolling-sign

 
 

Repository files navigation

Story/Progress:

  • Started wanting to clone https://wp.josh.com/2016/05/20/huge-scrolling-arduino-led-sign/
  • Successfully cloned it by following instructions
  • Wanted to add dynamic messages
  • Modified Arduino sketch to accept new strings
  • Enabled the RX pin using a trick I found on stackoverflow - see code
  • Tried using bluetooth to send strings but strings came out garbled
  • Had a LOT of trouble getting the string to read properly via serial - thought it was grounding issues or serial was too fast
  • Slowed down the serial code because I thought it was too fast
  • Turned out you needed a ferrite bead to reduce noise
    • So serial may not have been a problem the whole time
  • After ferrite bead was added everything worked more or less perfectly
  • Box was added for polish
  • Colors were added
    • for green, use [these brackets] and for red, use {these brackets}
    • this works well well enough for the ticker, but see to do list

Links:

Hardware:

  • A Raspberry Pi running some version of Rasbian
    • If you need to reflash the SD card, any version of linux will do.
    • To install the software on a new raspberry pi:
  • Arduino Uno
    • No modifications needed. Any Arduino Uno should work. There are a bunch in the innovation office
  • 5V 60A PSU
  • 7x 60LED/meter LED strips
    • If you want to make another one, I recommend using 90LED/meter strips for higher resolution
  • Yardsticks for the back
    • Literally any backing structure will work. The LED strips are pretty versatile

Software:

  • Firebase database
    • See improvements
  • Python client script that updates from firebase (currently checks every X seconds - could change to streaming)
    • See improvements
  • Arduino sketch
    • Probably the most important component
    • Really difficult to wrap your head around because it uses low level stuff
    • Available on github as well - pls fork it
  • The config.h file contains all the parameters you need to change the basic parameters (for Teresa)
  • To access the pi, SSH into it
    • Find the IP address by going on the shellfire router page and checking the latest connections
    • You can also plug in a wireless keyboard, but Gabi stole it from the pi for her fish thing lol

Improvements / To do

  • Make tablet mobile-friendly
  • I’m using the kraken API which may not be ideal for displaying all sorts of crypto prices
    • May want to find a better API
  • Catch exceptions when there is no internet connection so the script doesn’t just stop
  • You may need to replace the SD card at some point. I had to reformat it initially so it could act up in the future.
  • Replace my API keys with your own API keys please lol
  • Try to speed up the LED sign
    • Try putting in a “normal” Serial read and write
      • Just use readString()
    • May even want to shoot an email to the Josh guy that made it
      • In doing research Josh comments on his own post about how easy it is to add dynamic strings
  • Add an interface for the twitter API.
    • May want to read up on Foundation for Apps
      • They have a really great doc page and tutorials are everywhere
      • But you could probably figure everything out just from my code
    • Just copy what I did for the other templates
    • May be tricky getting Foundation for Apps working
      • If it’s a problem, clone the repo from github - that version works for sure
  • Try to fix the color problem
    • This pretty much requires you to fully understand how the code work
    • I only got so far in my understanding
    • The farthest I got was putting a special character before each character you wish to color but obviously this isn’t ideal
      • There was a problem when each invisible character causing a pause in the scrolling. Couldn’t figure it out.

About

web app to control LED sign

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 74.0%
  • Python 7.8%
  • HTML 6.4%
  • JavaScript 6.1%
  • Other 5.7%