Remove these ads by
Signing UpStep 1Parts List
Digital Window Sticker Parts List
|
1x
|
Arduino Compatible Bare Bones Board KIT (BBBKit)
Ask for the LM7805 regulator!
|
$15.00
|
|
1x
|
Optional, see below…
|
$12.00
|
|
2x
|
SEE IMPORTANT NOTE BELOW
|
$11.64
(23.28)
|
|
1x
|
See PCB note below
|
$2.99
|
|
1x
|
$6.99
|
|
|
1x
|
$0.09
|
|
|
1x
|
$0.75
|
|
|
1x
|
$1.75
|
|
|
1x
|
$0.32
|
|
|
1x
|
$0.19
|
|
|
1x
|
$0.11
|
|
|
1x
|
See Header Receptacle note below.
|
$0.75
|
|
1x
|
$0.49
|
|
|
1x
|
See SD-MMC Card note below.
|
$17.95
|
|
8x
|
$3.98
|
|
|
1x
|
Low Capacity SD Card (e.g. 512 MB)
|
|
|
1x
|
9-volt power source
|
|
|
|
Solder and 22-gauge wire of various colors
|
|
The BBB Kit is an Arduino clone produced by moderndevice.com. At $15.00 for a complete Arduino kit, it is one of the least expensive options. I could have cut a few dollars off of the cost by using an alternate Arduino board and a separate supply list for each Arduino component, but the convenience of a single supplier for the Arduino portion of this project was worth the $3 to $5 I may have saved. You should be able to make this project with any Arduino. It can be prototyped on a breadboard as shown below, with a Boarduino, a Bare Bones Board, or other breadboard adaptable Arduino clones. You can also purchase the BBB fully assembled for an additional $10. The owner of moderndevice.com is very helpful and will work with you if you run into problems. Download the BBB assembly instructions and follow them carefully. MAKE SURE to request the LM7805 voltage regulator for the board, or purchase one separately and use it in place of the smaller regulator that he ships by default.
The USB BUB Board plugs into the BBB (Arduino). It has the FTDI USB to serial converter needed to program your BBB Arduino. If you have already have an ICSP programmer, or an Arduino with a ZIF socket for programming the Atmega 328p, it is not necessary to purchase the USB BUB, though it is useful if debugging the microcontroller code, through the Arduino IDE's Serial Port Monitor.
IMPORTANT NOTE regarding the 2416 Dot Matrix Displays. As you view my construction photos you will notice that my 2416 Dot Matrix Display boards don't match. One has white (when not powered) L.E.D.s, the other has transparent ones. The transparent set is slightly dimmer than the diffused set. When I contacted Sure Electronics about the problem they agreed to send a replacement board. It arrived just in time to complete this article, and the final photos and introduction video show the matching set. Unfortunately, the new board they sent me uses the dimmer, transparent L.E.D.s. Be sure to let Sure Electronics know that you need a matching set! You may want to order 3 boards just to be safe. Also, the green boards came out recently. I don't have experience with them, but had they been available when I made my purchase I would have used the green. Finally, remember that Sure Electronics is based in China. Plan on waiting a while for your product to arrive, and arrange for someone to sign for the package. The folks there are easy to work with.
PCBs: If you wish to follow the step-by-step instructions I am providing you will need the Radio Shack printed circuit board, and you will need to trim the ends of it to fit properly in the enclosure. This also means you need a right-angle connector on the 2x8 Shrouded Box Header (that the ribbon cable from the displays plugs into). The right-angle connector is required so that the pins can be bent to bridge the breadboard gap on the Radio Shack PCB. If I were to start from scratch, I'd try using one of the following prototype PCBs, which would also allow you to wire-up a straight 2x8 shrouded box header:
- Prototype PCB with 3-holes per pad, pads spaced .1"
- 103RAW Wireless Prototype PCB with copper traces to each pad which then can be cut, preventing the need for (as many) wires
- Create a custom printed circuit board
Jameco*: Each of the items listed above with an asterisk(*) can be purchased from Jameco, but require a minimum order of 10, so if calculating the cost keep this in mind. (It is always good to have extra parts!)
Header Receptacle: The BBB has 18-pins for the power-supply and Arduino pins to plug into a breadboard. Use the 20-pin header receptacle to plug the BBB into your printed circuit board as shown in the following instructions, with the following variations:
- I did not have a 20-pin header receptacle, but I did have 2 8-pin receptacles. This will work fine. It is a tight fight to get them to align properly, but it works. Just make sure to follow the pictures provided. You'll notice that 2 of the BBB pins are left unconnected.
- If you use the 20-pin header receptacle, 2-pins will remain unconnected. Mark your board so that when you plug-in the BBB you know where it goes.
- You could also forgo the breadboard pins on the BBB, and the socket on the secondary PCB, and simply run wires directly to the needed locations. This may provide some flexibility with enclosures.
SD-MMC Card: Wow, this is an over-priced component if there ever was one. It works great! In fact, don't bother with any of the Arduino SD card Shields. They all seem to use a resistor network to drop the signal voltage to the 3.3 volts required by the SD card. This will not work with all SD cards. In fact, my card worked for only a few minutes this way, and when I put it back in the PC I had to format it, and then it never worked again with the Arduino until I used the 74HC4050 for the signal level conversion. I had other cards that didn't work at all without this as well. If you decide to use a different circuit board, and could plan out the fitting in the enclosure better, I would try to solder a much less expensive SD card socket to the board directly, instead of using the costly breakout board. Incidentally, NKC Electronics has the same breakout board listed for much less, but it was unavailable when I last checked. I don't remember if the breakout board includes header pins. You will need 11. A spare set can be ordered from Jameco: http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?langId=-1&storeId=10001&catalogId=10001&productId=53532, for $0.75.
SD Card Addendum: I've commented at length in the comments (below) about alternatives to the relatively expensive SD Card breakout board. In short, the photos below show experiments I've done with spare parts on a breadboard, using the alternatives for the SD Card socket. Please read the comments and related Instructables for more information.
As for the SD card itself, smaller is better! The Arduino code provided works only with a FAT16 filesystem, and only reads files from the root directory. That means you have a limit of 512 image files on the card, and the files are only 100 bytes. A very small card will work fine, and a card larger than 2GB probably will not work at all. There are FAT32 libraries for the ATMega328, but in the time I had, it was more work than it was worth to get it working with the Arduino. (More later.)
Finally, use a variety of wires when wiring the PCB. It will make it easier to trace connections. As you will see, I used red, black, green, yellow, and white. I wish I had more colors.
Regarding the 9-volt power supply: A 9 volt battery will work, but you will have strange problems when it begins to diminish. Once the battery voltage (when tested on a meter) drops below 7 volts your display may light up fine, but there will be insufficient current to power the Arduino and the behavior is somewhat unpredictable. A 9 volt wall-wart works great, and the LM7805 on the BBB should be able to handle a 12-volt input, like that from an auto-adapter. (Please use caution though if you put this in a moving vehicle! You alone are responsible for what happens if you distract other drivers! You might even want to consider wiring up an accelerometer and disable the displays when the unit is in motion. The circuit is yours as is the responsibility. I recommend it for a home Window or Desktop, or shop Window, not a moving vehicle! I love the idea of it as a bumper sticker, but not at the risk of anyone's life or health! In general however this should be much less distracting than most roadside digital signs, and many printed bumper stickers with hard to read text.)
Tools
I used the following tools to complete this project:
- A quality, variable wattage soldering iron
- Wire cutters
- Wire strippers
- A multimeter (helpful for testing)
- A large solder-less breadboard, for testing - you may not need this
- A Dremel, with cutting wheels and drill bits (for making openings in the enclosure case)
- A variable speed drill and various drill bits
- Arduino IDE 0017
- My micro controller code (see Step 3)
- GIMP image editor, or another editor capable of producing .xbm files
- My xbmtodws code, to create image files for the SD card from .xbm files
| « Previous Step | Download PDFView All Steps | Next Step » |














































thanks.
It's fantastic.
Well, I've thought of various things like getting the various colors of 'spray-down' parking lot marker paint all over my street to at least confuse those driving my into thinking there's something official going on and maybe they better slow down.
My main problem is I don't want to make a halfway decent instructable and just have someone walking down the street give it a kick and rip off all my parts!!! With that, I've considered trying to come up with something which would work in conjunction with solar cells and separate batteries than my car battery and have signs/flashers, etc. inside my car. Of course, I'm sure I would get the occasional nut that thinks someone who would dare tell him/her what to do only deserves broken head/tail lights, windows, can opener down the length of my car, etc.
I am a utiliti systems electrical engineer and our neighborhood is fed underground (dang in!), but if I just wanted to borrow a few pennies of the City's 208 V (or whatever they use - maybe 277) and power whatever I want with that AND keep it far enough off the ground to keep only the paint ball gunners and real zealots from getting to it.
But, with that beside, There's the 'ol visibar cop cars have and when those come on, speeders suddenly become model citizens instantly.
I don't know if you have ever seen that artist who, with sidewalk chalk makes the most amazing 3-D looking images when the viewer stands in one particular place. He can make a flat sidewalk look like he's crawling into a deep dark cave or whatever. But, even if I could afford him and put permanent pigments on both ends of my street, people would figure that out also pretty quickly, but filming their faces would be priceless.
In keeping with my desire that I keep things inside some kind of enclosure, or out of reach, I could go with something like the IR critter-cam setups that sense motion and snap a photo of something. But, if I put that near the ground, Gone it will be.
So, anyone have inexpensive ideas for a citizen to try to slow the traffic down on his street all by himself. It's not that my neighbors don't agree with me, it's just more they have other things to do, so I'm a committee of ONE. I do have an over-riding neighborhood association, but I think I would rather go to the City Counsel than deal with them sometimes. Of course none of you have ever been part of a small group and had ANY kind of disagreements on anything, have you? *grin*
All ideas are welcome short of breaking the law. Which does remind me of the two Austin late Teens who pretty much shut down the City of Boston, in the Commonwealth of Massachusetts several years ago with their little magnetic gadgets that were supposed to look like The Cartoon Network critter and planted them all over the country. If I had known they were going to put those things up, I would have tried to join them in order to get one of those!! God, I loved that.
Some years later, it was obvious the same programmer got hold of one of our TXDOT temp signs and re-programmed it, instead of something like "EXPECT ROAD DELAYS" TO "WARNING, ZOMBIES AHEAD."
i THINHK THE Cartoon Network, part of Ted Turner's "Empire along with Time Warner just wrote Boston a check for the alleged $0.333 million it supposedly cost Boston to react to their little LED gizmos designed to be put up into metal bridge pieces, so they would be hard to get down, yet advertise for "Adult Swim"
I don't want to go quite that far, and I've read physiological studies that something as simple perpendicular white stripes on a road slow people down because they are trying to figure out why the lines are there, so, with the possible threat of DPS, local cops, etc., they will drop below the speed limit to try to figure out what's going on.
But, that's far too blase' for me. I don't want to get a 1 kW pulsed laser and shoot them in the face (well, maybe sometimes after they've almost run over my kind), or make them swerve into several cars parked on the street, I just want to get their attention long enough to get them to slow down a bit.
If this is the wrong place for this, I would greatly appreciate anyone putting my quest in the proper forum
Sincerely,
ElctroKV in Austin, TX
First of all great project als_liahona. Unfortunately it looks like SURE ELECTRONICS rev'd the display board and changed the write progression. Your code appears to assume that the first byte written is in the first column in the upper left corner of the display and works its way right. This seems like the logical progression. Now the first byte starts in the 8th column and works its way to the 1st then jumps to the 16th column works left to 9th then to the 24th, etc, etc. I have attached two photos. One using your code and a second where I flipped the bytes to the new progression.
I can not believe SURE changed the display to this write progression. I looked at the PDF manual for the RED and GREEN LED displays and they both seem to have this progression now. I'm trying to decide if I should include the code to rearrange the bits in the Arduino, or externally rearrange the bits before writing to the SD card. If I fix the code in the Arduino, I'll send you a copy to post.
Here is code you can use to fix the bit swapping on the SURE 16x24 LED display boards (My board is REV 1.1 of the green LED board). To fix for the bit swapping issue simply replace the DisplayBuffer() function of the Digital Window Sticker code with the following:
**********************************************************************************
void DisplayBuffer(const unsigned char *pucData192, bool bReverse=false)
// pucData192 must by 192 bytes!
{
unsigned char sucData192[192]; // Register for swapped data
for(int j = 0; j < 8; j++)
{
for(int i = 0; i < 8; i++)
{
*(sucData192+((j*16)+(2*i))) = *(pucData192+((j*16)+14-(2*i)));
*(sucData192+((j*16)+(2*i)+1)) = *(pucData192+((j*16)+15-(2*i)));
}
}
// Data swapped, display swapped data
DisplayBufferOnSide(sucData192, m_iCS1Pin, bReverse);
DisplayBufferOnSide(sucData192+48, m_iCS2Pin, bReverse);
}
***********************************************************************************
Thanks again for posting your fix dirty_valentine.
Thanks in advance!!!
I elected to only draw images to the DWS, but there is plenty of code out there on the Internet showing how to write characters to a 2416 display. The easiest thing is to create inline bitmaps for each character and then write a simple function for outputting them. I like using images, because I can use different fonts and effects. It is a lot of work making scrolling text one image at a time, but there is a lot more flexibility. I've done it several times.
A countdown timer should be fairly easy, especially if all you need is numbers. You can use images, or you can write code to produce the digits. Changing code to do a countdown would be very easy.
The "Insert SD Card" image is stored in the arduino as part of the code. It is a static global used when needed. The code is sufficiently small that you can get several of these images compiled in and still fit easily on an ATMega 328.
I hope that helps.
1) Build your own socket following this instructable: http://www.instructables.com/id/Cheap-DIY-SD-card-breadboard-socket/ This is a great idea from Kroden.
2) Use an Floppy drive cable as shown in this instuctable -- you could use another DIP socket like that shown above for the other end of the cable: http://www.instructables.com/id/SDMMC-fits-in-floppy-edge-connector/
3) Use a variation on 1 or 2 where you actually solder the pins directly to an Micro or Mini SD Card Adapter, and mount the Adapter in your enclosure. At roughly $2 a piece, it is much less expensive than the socket for something like this where you aren't going to be inserting and removing the card all that often.
Again, I hope that helps... It would be nice if the Arduino SD card shields out there were affordable AND didn't use resistor networks (that produce lacking results) to convert the 5v signals to 3.3v. Maybe I'll put a board together that includes the 74HC4050 and a 3.3v regulator... Any potential buyers to make it worth the effort?
Nevertheless, both would be acceptable if you could get it seated properly using an adapter for a micro or mini SD Card. I'd then glue the adapter in place in the IDC socket, or solder the adapter in place on the header pins. Then when you remove the card you remove only the micro (or mini) SD card and use another adapter when plugging it into the PC. This isn't as nice as the push-push socket, but it would work fine even if the mini or micro card was extracted frequently. And the combination of the adapter(s) and header pins or cable are still much less expensive than the socket + breakout board from Sparkfun. (Maybe they can do something about the cost though if we let them know we have alternatives.)
I paid $1 for the IDC ribbon cable from a used computer (junk) store in Austin, TX. On the other end of the cable I placed a 14-pin IDC DIP plug that I had on hand. 16-pins would be better if you are ordering them. (And if anyone knows where to get a proper crimping tool, please comment!)
The header pins I used were the 2-row pins soldered to a single row set. Bending the pins to get good contact was very difficult. I'd have all of them right but one, fix it, and then another would be just slightly off. Hopefully you will have better luck. If solder will stick to the adapter, that will be a good solution. The adapters can be found for as little as $2.
I'll attach photos of my breadboard tests with these solutions to the Instructable. Look for them above!
One adapter is used to plug the cards into the PC to add files, the other is soldered directly to the header pins for the "socket" I created by improvising on Kroden's Instructable "Cheap DIY SD card breadboard socket".
This works great and is much more stable than the bent header pin method. Also, the adapter could easily be glued in place in the project case and still allow the mini-SD to be removed without problems. You just need to be careful to position it such that the mini/micro card will not easily fall or be knocked out of the adapter since it doesn't hold as well as the push-push sockets.
Photos below...
http://www.instructables.com/id/xmas-box-ArduinoioBridge-internet-controlled-Chr/
For sure will implement it next year!!!
FWIW, these plugs work on breadboards as well and are an excellent option for prototyping with components connected via ribbon cable. Below is an image of one that is offered by Digikey. There are less expensive versions, but this is a good photo.
I hope that is helpful!
2nd try at adding the image...
This is awesome, I never knew the arduino was capable of such things, (and yes i know 4 million pixels would be pretty near impossible)
Rated! Favorite-ed!
BTW, if anyone is building this I'd love to hear to how it goes and how you improve on what I've presented. Also, if you are looking to use the green display boards check with Sure Electronics before ordering if you are in a hurry. They show up on the website, but an e-mail from them led me to believe that they might not be in stock yet. If you find out otherwise also please comment.
Now if I can find an affordable and appropriately sized OLED display, or even a large, well backlit LCD I might do a high-res version of this!
Justin