Circuit Documentation
Summary
This circuit incorporates a variety of components including microcontrollers, multiplexers, potentiometers, pushbuttons, and resistors. The primary microcontroller is a SparkFun Pro Micro, which interfaces with a 16-channel analog multiplexer and an 8-channel multiplexer breakout. The circuit includes multiple rotary and membrane potentiometers for variable input, as well as pushbuttons for user interaction. The resistors are likely used for pull-up or pull-down configurations for the pushbuttons. The circuit's design suggests a complex input system with multiple channels being read by the microcontroller, potentially for a control interface or sensor array.
Component List
Microcontrollers
- SparkFun Pro Micro: A microcontroller board based on the ATmega32U4. It has numerous digital and analog pins for interfacing with various components.
Multiplexers
- 16-Channel Analog Multiplexer Bob: Allows for multiple analog inputs to be channeled through a single analog pin on the microcontroller.
- SparkFun 74HC4051 8-Channel Mux Breakout: An 8-channel multiplexer that can handle both digital and analog signals.
Potentiometers
- Rotary Potentiometer: A variable resistor with a knob that can be turned to provide varying resistance. Used for analog input.
- SoftPot Membrane Potentiometer - 50mm: A thin and flexible potentiometer that changes resistance when pressure is applied to its surface.
Pushbuttons
- Pushbutton: A simple switch mechanism for control or input. When pressed, it closes the circuit allowing current to flow.
Resistors
- Resistor: A passive two-terminal electrical component that implements electrical resistance as a circuit element. In this circuit, they are likely used for pull-up or pull-down configurations for the pushbuttons.
Wiring Details
SparkFun Pro Micro
- VCC: Connected to the VCC of both multiplexers.
- GND: Common ground with multiplexers and pushbuttons.
- A0: Receives the analog signal from the 16-channel analog multiplexer.
- D2-D9: Digital pins connected to control lines of both multiplexers for channel selection.
16-Channel Analog Multiplexer Bob
- VCC: Power supply.
- GND: Ground connection.
- EN: Enabled when connected to ground.
- S0-S3: Control pins connected to the Pro Micro for channel selection.
- SIG: Output signal connected to the Pro Micro's A0 pin.
- C0-C15: Input channels connected to various potentiometers.
SparkFun 74HC4051 8-Channel Mux Breakout
- VCC: Power supply.
- GND: Ground connection.
- !E!: Active low enable pin, connected to ground.
- S0-S2: Control pins connected to the Pro Micro for channel selection.
- Z: Common output/input connected to the Pro Micro's D9 pin.
- Y0-Y7: Input/Output channels connected to pushbuttons through resistors.
Rotary Potentiometer
- leg1: One side of the potentiometer, typically connected to a voltage source or ground.
- wiper: The variable output of the potentiometer, connected to the multiplexer input channels.
- leg2: The other side of the potentiometer, typically connected to a voltage source or ground.
SoftPot Membrane Potentiometer - 50mm
- leg1: One side of the potentiometer, typically connected to a voltage source or ground.
- wiper: The variable output of the potentiometer, connected to the multiplexer input channels.
- leg2: The other side of the potentiometer, typically connected to a voltage source or ground.
Pushbutton
- Pin 1 (in): One side of the pushbutton, typically connected to a voltage source or ground through a resistor.
- Pin 2 (in): The other side of the pushbutton, typically connected to a voltage source or ground through a resistor.
- Pin 3 (out): Connected to the common line with other pushbuttons.
- Pin 4 (out): Connected to the common line with other pushbuttons and the VCC of the 8-channel multiplexer.
Resistor
- pin1: One side of the resistor, connected to the pushbutton and the multiplexer.
- pin2: The other side of the resistor, connected to the ground.
Documented Code
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
The provided code is a template with empty setup() and loop() functions, which are the standard structure for Arduino sketches. The setup() function is intended to contain code that should run once when the microcontroller is reset or powered on, such as pin mode configurations. The loop() function is for code that should run continuously as long as the microcontroller is powered. Actual implementation code for the circuit's functionality would be added within these functions.
