DISCLAIMER: If you choose to attempt any of these modifications, you assume all risks thereof. I just wanted to share my experiences here. Neither Fanhome, nor myself, are responsible for any damages that may occur.
One of the most common, most available, and cheapest microprocessor platforms out there is the Arduino. Arduino is open-source, so you can find Arduino boards in many different sizes, designs, and from different manufacturers. For example, I started learning Arduino on an Elegoo Uno Rev3 clone. This board was a little less expensive than the ‘official’ Uno Rev3 but it has been 100% compatible and works perfectly:
There are other Arduino boards available such as the Nano, Mega, and Leonardo. However, for the functions I wanted to add to my Enterprise D model, the Uno met all of my requirements. It has enough pins for all of the lighting and sound effects, the pin headers are already installed, and it supports a ton of accessories and shields.
Shields are modules that can be stacked on top of the Uno to provide additional functionality. For example, I bought this Screw Terminal Shield that stacks on top of my Uno and allows for more secure wiring connections:
Powering an Arduino Uno
To power an Arduino Uno, we have four options:
The USB Port
The Arduino can power itself when connected to a standard USB port on your computer. USB is only capable of providing between 500 ma and 900 ma (milliamps) of current, so this must be kept in mind if you also power other components along with the Arduino on the same USB connection.
NOTE: When programming an Arduino, using USB power is fine. However, not much else should be hooked up to it or the upload process might fail.
The Barrel Plug Connection
An on-board 5.5mm barrel plug socket that can accept 7-12 Volts of Direct Current (VDC) power from an external AC-DC wall adapter. The tip of this plug is the positive connection, while the sleeve is the negative connection. The Arduino contains an on-board 5V regulator that will convert these 7-12 VDC inputs to the 5V it needs to operate correctly.
The Vin and GND Pins
Alternatively, 7-12 VDC can also be connected directly to the Vin (positive Voltage in) and GND (negative Ground) pins. The same on-board 5V regulator mentioned above will convert these 7-12 VDC inputs to the 5V the Arduino needs to operate correctly. For example, many people have connected a common 9V battery to these inputs to power their Arduinos for a short time.
TIP: There are usually multiple GND pins on an Arduino. All of these pins are connected together so any of them can be used as a negative Ground connection point, even for the power supply.
The 5V and GND Pins
Finally, there is a 5V (positive) pin where we can directly supply power from a regulated 5 VDC source. A ‘regulated’ power source means it will always provide the desired voltage up to the rated current maximum of the source. These power supplies typically take the form of an AC-DC wall adapter or a bench power supply. Batteries should not be used on these pins as they are not considered a ‘regulated’ power source (they supply lower and lower voltage as they die).
Choosing the Right Power Source
There are pros and cons to each power option and it depends on your project and needs. With my project, I want to power my entire Enterprise D from a single power source. However, because the LED strips I am using consume more power on their own than USB can provide, this eliminates using USB power.
I could use a 7-12 VDC power supply, but this means I would have to use the 5V output of the Arduino to power other 5V components and we could quickly overload the Arduino’s maximum current limits. There was one benefit of using a 12V power supply: we could use brighter 12V LED Strips to light the windows, but they would also create more heat inside the model. The added complexity and heat issues of this option made it undesirable to me.
In the end, I wanted to keep my project simple. I decided to go with a simple AC to 5 VDC wall adapter to power the entire model. I will connect this wall adapter to the 5V and GND pins and supply regulated 5 VDC power to my Arduino.
The Arduino Input/Output Pins
All of the pins on an Arduino board are labeled with their various purposes. But, other than the power pins, the next most important pins for this project are the input and output pins. Each of these pins can be used to either receive (input) or send (output) a 5 VDC signal. There are fourteen (14) DIGITAL pins along the top labeled 0 to 13, and six (6) ANALOG IN pins along the bottom labeled A0 to A5:
The DIGITAL pins only have two states: HIGH or LOW. When programming the Arduino, these are considered the ON or OFF states, respectively.
The ANALOG IN pins can receive any voltage from 0 to 5 VDC and send that as a numeric value to the microprocessor. Interestingly enough, the ANALOG IN pins can also be used as extra DIGITAL output pins. This functionality will come in handy as this project will need to take advantage of these extra DIGITAL outputs.
Next Arduino Page
OUR FIRST SKETCH – Writing the first programming code for our Arduino