Editing Using The Big Digit Driver
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 | + | This page covers basic usage of the Evil Mad Science [[Big_Digit_Driver|Big Digit Driver]] (BDD). |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== 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. | ||
− | + | 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 powering a series of digits and they are intended to be used to 'daisy chain' power through multiple BDD boards. (That is, a power supply may be attached to one side of BDD-A, and BDD-B may be wired to the opposite side of BDD-A.) Do not exceed five amps of current through any given board - this is enough to run seven digits. | |
− | + | 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. | |
− | + | (Power supply recommendations?) | |
− | + | (Isolating board ground from SPI ground?) | |
− | |||
− | |||
− | |||
− | |||
== 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 | ||
− | |||
− | To connect an Arduino to a BDD, use a | ||
− | |||
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 | + | 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 88: | Line 75: | ||
|---- | |---- | ||
|} | |} | ||
− | + | ||
+ | (Segment diagram image here.) | ||
Line 185: | Line 173: | ||
== 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 | + | 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 | ||
− | |||
− | |||
− | |||
== Code Examples == | == Code Examples == | ||
− | === | + | === Arduinio === |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== 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. |