CE 351 2020 Fall
Lab 3: SSD Control
Nic Theobald
nstheobald@fortlewis.edu
SSD Control
Introduction
Arduino can simplify the control of outside systems. With only a
few pins, LEDs can be flashed, transistors can be activated, and signal
can be generated. However, the arduino only has so many pins.
Microcontroller boards that have fewer pins can greatly benefit from
pin reduction techniques such as shift registers and digital decoders.
Materials
Material List
Item
X
Arduino IDE
1
22 OHM R
11
Arduino
1
LED
8
SSD
1
4 dig SSD
1
Shift Register
1
Digital Encoder
1
Abbreviated Methods The single SSD was connected to the arduinos
digital pins out. The pins were turned on and off in order to flash the
SSDs. Next the SSD was connected to a Digital Decoder that took in a 4
bit binary number and used its internal logic to switch on an off its
own pin outs. Next, the SSD was connected to a shift register that
required a clock signal, a data pin, and a latch pin. The shift
register output pins were connected to the SSD. The same was used for
the four digit SSD.
Results
Task: Flashing Pin 13
The first step in this lab was to flash pin 13...
Figure 1: Manually displaying
numbers on SSD.
Task 1: Manual Switching
The arduino was directly connected to the SSD through 220 OHM
resistors. Numbers could be displayed by connecting and disconnecting
pins manually.
Figure 2: Manually displaying
numbers on SSD.
Task 2: Digital Decoder Switching
The Digital Decoder was then added to reduced the number of pins
and to make the number changing process a little more automated. A bit
mask was used to interpret the desired number and set the appropriate
arduino pins to HIGH or LOW.
Figure 3: Bit mask used to
assign High and Low values to Arduino pins.
Figure 4: Using Digital decoder
to display numbers on SSD.
Task 3: Shift Register Switching
The SHift Register was then added to reduced the number of pins
to 1 and to make the number changing process even more automated. A
following code was used to determine the desired sequence and set the
appropriate
arduino pins to HIGH or LOW.
. Figure 5: Shift register IC and Schematic.
Figure 5: Code for controlling shift register
Figure 6: Using Shift Register to Sequence Leds
A single digit SSD was then put in the place of the LEDs.
Figure 7: Code for controlling shift register
Figure 8: Using Shift Register to Sequence SSD
The single digit SSD was then
replace by a four digit SSD and the code was changed to display "2019".
The following code was inserted into a four loop in order to change
the delay over time (for visualization purposes). The code worked by
sending 2 to all of the digits but at the same time only activating
digit one. Then it would send 0 to all of the digit but only activate
digit 2, and so on...
Figure 9: Using Shift Register to flash 2019.
Figure 10: Flashing of "2019" at ever increasing delays.
Figure 11: Flashing of "2019" at constant super fast speed.
Discussion
This lab ultimately demonstrated the power of using shift
registers and digital decoders. Both devices are massively useful in
the optimization of output signals.