Editing Using The Big Digit Driver

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
This page covers basic usage of the Evil Mad Scientist [[Big_Digit_Driver|Big Digit Driver]] (BDD).
+
This page covers basic usage of the Evil Mad Science [[Big_Digit_Driver|Big Digit Driver]] (BDD).
 
 
== Safety ==
 
 
 
The Big Digit Driver is an electrical device that uses voltages and currents in excess of used by many hobby electronics projects. Care should be taken to avoid touching or shorting out any exposed traces, pins, or contacts when the BDD is powered. You should also be aware that 12" displays, including those sold by Evil Mad Scientist, commonly have uninsulated traces on their back sides.
 
 
 
Important note: Components on the BDD - especially the LM317 current regulators - will run very hot during normal use.  Allow to cool before handling.
 
  
  
 
== Power ==  
 
== Power ==  
 +
A single 12 inch LED display (as sold by Evil Mad Science), when attached to a BDD, uses about 0.7 amps at 36 volts DC. Do not exceed 40 volts when using the BDD.
  
A single 12 inch LED display (Model BL-SE1200B-11UHR, red), when attached to a BDD, uses about 0.7 amps at 36 volts DC. Do not exceed 40 V DC input at the BDD input.
+
The BDD has two methods for accepting power: a 2.1mm barrel jack (center positive), and a pair of screw terminals. The barrel jack has a power rating suitable only for powering a single digit and should NOT be used for powering a series of digits. The two screw terminals on the board are for attaching a power supply in permanent installations and for powering a series of digits in a 'daisy chain' configuration. Do not exceed five amps of current through any given board.
 
 
The BDD has two methods for accepting power: a 2.1 mm barrel jack (center positive), and a pair of screw terminals. The barrel jack has a power rating suitable only for powering a single digit and ''should not'' be used for powering a series of digits. The two screw terminals on the board are for attaching a power supply in permanent installations and for powering a series of digits in a 'daisy chain' configuration. Do not exceed five amps of current through any given board.
 
  
Plug-in power supplies must not be connected to each other, through a BDD or otherwise. If you are using a large number of digit in series, the series should instead be split into group of digits, each with their own power supply.  
+
Do not connect multiple power supplies to one BBD. If you are using a large number of digit in series, the series should be split into group of digits, each with their own power supply. Do not wire power supplies in parallel! This may damage your BDD's and/or the power supplies and/or you.
  
We recommend [http://shop.evilmadscientist.com/productsmenu/partsmenu/306 this power supply] (36 V DC, 0.7 A)-- one power supply per digit --for powering individual 12" digits in a controlled (e.g., indoor) environment.
+
For powering a single display and BDD in a permanent installation Evil Mad Science recommends using a weather-proofed power supply like the [http://www.meanwell.com/search/lpv-35/ Meanwell LPV-35-36].
  
For powering a single 12" digit in an outdoor installation, we recommend using a weatherproofed power supply like the [http://www.meanwell.com/search/lpv-35/ Meanwell LPV-35-36].    For powering a large number of digits, particularly outdoors, we recommend using a weatherproofed power supply like the [http://www.meanwell.com/search/hlg-240/ Meanwell HLG-240-36].  Note that neither the BDD nor the 12" digits are themselves weatherproofed.  For outdoor installation, they should be housed in a shaded weatherproof box similar to the type used for traffic signals.
+
For power a large number of displays and BDDs, Evil Mad Science recommends using a weather-proofed power supply like the [http://www.meanwell.com/search/hlg-240/ Meanwell HLG-240-36].
  
Note: If custom power wiring is needed, always consult with professional electrician.  
+
'''Note: Evil Mad Science LLC does not provide support for any power supply we do not sell. We recommend that users acquire the services of a professional electrician when installing or maintaining custom power wiring.'''
  
  
 
== Communication ==
 
== Communication ==
 
+
The Big Digit Driver (BDD) was designed with the [http://arduino.cc/  Arduino] platform in mind and thus has a 6 pin (2x3 DIL) header that matches the SPI header found on most Arduino boards. The Arduino can manipulate the pins connected to its SPI header like any of its other pins, and the header makes a handy attachment point. To connect an Arduino to a BDD, use a suitable cable to connect the SPI header on the Arduino to the SPI header on the BDD. Take care to note the placement of pin one on both the Arduino and BDD. The BDD marks pin one on each of its SPI headers with a large triangle.
The BDD has a 3-wire serial (SPI) interface, with inputs and outputs that can be daisy chained.  The interface was designed with the [http://arduino.cc/  Arduino] platform in mind, and thus has a 6 pin (2x3 DIL) header that matches the SPI (aka ICSP/ISP) header found on most Arduino and other AVR-microcontroller based development boards. For the purposes of discussion, we will refer to the controller as an "Arduino," however any AVR or other microcontroller with an SPI interface can be used as well.)
 
 
 
To connect an Arduino to a BDD, use a [http://shop.evilmadscientist.com/productsmenu/partsmenu/534-6pin3inch suitable cable] to connect the SPI header on the Arduino to the SPI input header on the BDD.   Ensure that you have the ribbon cable polarity is correct:  Pin 1 of the ribbon cable is usually marked with a red stripe on one side, and a little arrow on the connector. On the BDD, pin 1 of both SPI headers is marked with a large triangle. On the Arduino side, pin 1 of the 6-pin connector may be marked with a stripe, the number "1" or another indication of polarity.
 
 
 
  
 
The BDD contains a simple eight bit shift register hooked up to the header. Data is shifted in by setting the MOSI pin high or low, and then pulsing the SCK pin to clock the data in. The shift register we use (a 74595) also has a latch between the shift register and the outputs. This allows us to change the contents of the shift register but not 'display' that data until we've finished clocking in all the data. A pulse the MISO pin will copy data to the latches and thus the outputs.
 
The BDD contains a simple eight bit shift register hooked up to the header. Data is shifted in by setting the MOSI pin high or low, and then pulsing the SCK pin to clock the data in. The shift register we use (a 74595) also has a latch between the shift register and the outputs. This allows us to change the contents of the shift register but not 'display' that data until we've finished clocking in all the data. A pulse the MISO pin will copy data to the latches and thus the outputs.
  
Here is an overview of the various signals used by the BDD, along with corresponding pinouts on an Arduino board.
+
Here is an overview of the various signals used by the BDD:
  
 
{| border="1" cellspacing="0" cellpadding="4"  
 
{| border="1" cellspacing="0" cellpadding="4"  
Line 185: Line 174:
  
 
== Driving A Series Of Digits ==
 
== Driving A Series Of Digits ==
 
+
The BDD is designed to be used to drive a large number of digits from a single controller (Arduino or otherwise). As mentioned above, the BDD can carry up to five amps, allowing up to seven displays in series from a single power supply.
BDD boards are designed to allow you to control a large number of digits from a single controller (e.g., Arduino). One Arduino can control a string of potentially dozens of BDDs, each of which is attached to a single 12" LED digit.
+
To propagate data and clock signals down a series of displays BDD boards can be 'daisy chained' by connecting the 'output' SPI header of a display to the 'input' SPI header of the next display in the series. When looking at the silkscreen side of a BDD board (with the text right way up) the input SPI header is on the left-hand side. The output SPI header is on the right-hand side. Ensure that you have the data cables attached correctly. On the BDD, pin one of both SPI headers is marked with a large triangle. We recommend using the Schmitt trigger included with the BDD kit, even for short runs of digits. Refer to the [[Big_Digit_Driver_Assembly_Instructions#21._Optional:_Insert_Schmitt_Trigger|assembly instructions]] for more information.
 
 
To propagate data and clock signals down a series of displays, BDD boards can be daisy chained by connecting the "output" SPI header of one BDD to the "input" SPI header of the next BDD, using 6-pin (2x3) ribbon cables. (One such cable is included with every kit.)  When looking at the printed side of a BDD board, the input SPI header is on the left side and the output SPI header is on the right side.   Take care to notice the location of pin 1 on both SPI headers (marked with an arrow) so that communication works correctly.
 
 
 
Power distribution in large arrays of digits can be a challenge. To make this easier, DC power can also (to a more limited extent) be daisy chained through a series of digits.  
 
As mentioned earlier, the BDD can carry up to five amps, allowing up to seven displays in series from a single power supply, provided that the power is connected in and out through the screw terminals on either side.
 
  
  
 
== Code Examples ==
 
== Code Examples ==
=== Arduino ===
+
=== Arduinio ===
==== Display 123456 ====
+
==== Push 123456 ====
 
This block of code will display the string '123456' on a series of six displays.
 
This block of code will display the string '123456' on a series of six displays.
 
  <nowiki>//This sketch will push the string '123456' out to a series of Big Digit Drivers.
 
  <nowiki>//This sketch will push the string '123456' out to a series of Big Digit Drivers.
Line 226: Line 210:
  
 
}//End loop</nowiki>
 
}//End loop</nowiki>
 
 
==== Test Pattern ====
 
==== Test Pattern ====
 
This block of code will turn half of the segments on, (other) half of the segments on, turn on all the segments, and then turn all segment off. Loops indefinitely. If used on a series of digits, you should see each stage of the pattern work its way down the line.
 
This block of code will turn half of the segments on, (other) half of the segments on, turn on all the segments, and then turn all segment off. Loops indefinitely. If used on a series of digits, you should see each stage of the pattern work its way down the line.

Please note that all contributions to Evil Mad Scientist Wiki are considered to be released under the GNU Free Documentation License 1.3 (see Evil Mad Scientist Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)