My Arduino code simulates a mini DJ player by incorporating a potentiometer and a switch. The potentiometer, connected to analog input pin A1, emulates a DJ slider or knob, allowing you to control the brightness of an LED connected to PWM pin 11. This provides a visual representation of adjustments such as volume or fading effects.
Meanwhile, the switch, connected to digital input pin A2, mimics a button on the DJ player. When the button is pressed, a yellow light connected to pin 13 is activated briefly, creating a visual cue for a button press or an effect. The code establishes a loop that continuously reads the analog sensor value, and button state, and adjusts LED brightness accordingly, producing a dynamic and interactive simulation of a basic DJ player interface.
It does not look like DJ player in the bright light, and it was hard for me to take a video with one hand and simultaneously press the button with another hand.
int led = 11; //the PMW pin the LED is attached to
void setup(){
Serial.begin(9600);
//declare pin 11 to be output:
pinMode(led,OUTPUT);
pinMode(13, OUTPUT); //yellow light
pinMode(A2, INPUT); //button
}
// put your setup code here, to run once:
void loop() {
// put your main code here, to run repeatedly:
int sensorValue = analogRead(A1);
//Serial.println(sensorValue);
int buttonState = digitalRead(A2); //button
Serial.println(buttonState);
if (buttonState == 1) {
digitalWrite(13, HIGH);
delay(100);
} else {
digitalWrite(13, LOW);
//delay(300);
}
//set the brightness of pin 11 according to the sensor value/4)
analogWrite(led, sensorValue/4);
//wait for 30 milliseconds to see the diming effect
delay(30);
}
One particularly interesting aspect of the code is the use of the analog input from a potentiometer to control the brightness of an LED. The line int sensorValue = analogRead(A1); reads the analog input from pin A1, representing a DJ slider or knob. The subsequent analogWrite(led, sensorValue/4); adjusts the brightness of an LED on pin 11 based on this input, creating a dynamic and interactive simulation of volume or fade control. This part of the code adds a tangible and intuitive user interface element to the mini DJ player simulation.
(I also refer to the slides from Professor!)

