Project Report
Project Report
Hardware Components:
1. Arduino: The microcontroller that reads the input from potentiometers and controls the
LCD.
2. 4 Potentiometers: Each potentiometer controls the volume of a different program.
o A0 = MASTER volume
o A1 = FIREFOX
o A2 = PROGRAM 3
o A3 = PROGRAM 4
3. 16x2 LCD Display: Displays real-time volume data and system messages.
4. I2C Controller: Manages the communication between the Arduino and the LCD
display.
Software Enhancements:
The core Arduino code was modified to:
1. LCD Integration:
• I2C Setup:
cpp
Copy code
#include <LiquidCrystal_I2C.h>
• Initialization in setup():
cpp
Copy code
lcd.init();
lcd.backlight();
We used four potentiometers connected to A0, A1, A2, and A3 on the Arduino to control the
volume of different programs. The potentiometer readings are mapped to volume percentages
(0 to 100%) and displayed on the LCD.
cpp
Copy code
for (int i = 0; i < NUM_SLIDERS; i++) {
analogSliderValues[i] = analogRead(analogInputs[i]);
volumeValues[i] = map(analogRead(analogInputs[i]), 0,
1023, 0, 100);
}
• Displaying Volume on the LCD: Each volume value is displayed in a format like
MASTER 60% or FIREFOX 45%, with single-digit values padded with a leading zero.
cpp
Copy code
lcd.print(volumeValues[index] < 10 ? "0" : "");
lcd.print(volumeValues[index]);
lcd.print("%");
3. Scrolling Messages:
Two scrolling messages were implemented:
The default message continuously scrolls across the top line of the LCD when the volume is at
normal levels.
cpp
Copy code
String scrollMessage = "INTERACTIVE SOUND MANAGEMENT SYSTEM made
by SIYAM, FARHAN, RAMIM";
• Scrolling Logic:
cpp
Copy code
void scrollTextUpper() {
if (millis() - lastScrollTimeUpper >=
scrollIntervalUpper) {
lcd.setCursor(0, 0);
lcd.print(scrollMessage.substring(scrollIndexUpper,
scrollIndexUpper + 16));
scrollIndexUpper++;
if (scrollIndexUpper + 16 >
scrollMessage.length()) {
scrollIndexUpper = 0;
}
lastScrollTimeUpper = millis();
}
}
The system checks if the MASTER volume is above 60% and if multiplying the MASTER
volume by another program's volume exceeds 4800. If so, the "VOLUME IS VERY HIGH"
warning is displayed.
cpp
Copy code
if (volumeValues[0] > 60) {
for (int i = 1; i < NUM_SLIDERS; i++) {
if (volumeValues[0] * volumeValues[i] >= 4800) {
// Trigger high volume warning
}
}
}
"VOLUME IS VERY HIGH" Scrolling Warning:
The "VOLUME IS VERY HIGH" message scrolls across the top part of the LCD when
triggered.
cpp
Copy code
String volumeHighMessage = "VOLUME IS VERY HIGH";
void scrollVolumeHighMessage() {
if (millis() - lastScrollTimeUpper >= scrollIntervalUpper)
{
lcd.setCursor(0, 0);
lcd.print(volumeHighMessage.substring(scrollIndexVolumeHigh,
scrollIndexVolumeHigh + 16));
scrollIndexVolumeHigh++;
if (scrollIndexVolumeHigh + 16 >
volumeHighMessage.length()) {
scrollIndexVolumeHigh = 0;
}
lastScrollTimeUpper = millis();
}
}
Affected Programs Display:
In the lower portion of the LCD, the affected programs and their volumes scroll, indicating
which programs are contributing to the high volume condition (e.g., "FIREFOX 70%,
PROGRAM 3 85%").
cpp
Copy code
void scrollTextLower() {
if (millis() - lastScrollTimeLower >= scrollIntervalLower)
{
lcd.setCursor(0, 1);
lcd.print(affectedPrograms.substring(scrollIndexPrograms,
scrollIndexPrograms + 16));
scrollIndexPrograms++;
if (scrollIndexPrograms + 16 >
affectedPrograms.length()) {
scrollIndexPrograms = 0;
}
lastScrollTimeLower = millis();
}
}
1. Precision Control:
Gamers and streamers can adjust the volume of individual audio sources without switching
between applications or using software controls. This allows them to balance game audio, voice
chat, and stream sound easily and on the fly.
2. Quick Adjustments:
With physical potentiometers, users can quickly tweak their audio without needing to open any
software, which is especially useful during live streams or gaming sessions when fast
adjustments are necessary.
3. Visual Feedback:
The LCD screen gives streamers real-time feedback about their audio levels, ensuring that their
audience experiences balanced sound. The high volume warning also helps protect users'
hearing during long gaming sessions or intense streams.
Unlike fixed-functionality commercial products, the deej project can be customized and
expanded. Additional potentiometers or features like integration with streaming software (e.g.,
OBS) can be added to enhance functionality further.
At $40 to $60, the deej project is far more affordable than commercial options like the GoXLR
Mini ($150 to $200) and Elgato Wave XLR ($130). For streamers and gamers on a budget, this
project offers excellent value.
Customization:
Unlike ready-made products, which often have fixed functionality, the deej project can be
customized to fit the specific needs of the user. This includes adding additional potentiometers,
integrating streaming software, or adding extra displays.
Upgradability:
Components of the deej project can be replaced or upgraded individually as technology
evolves. Commercial products often require full upgrades, making the deej project a more
sustainable choice in the long term.
Conclusion
The deej project is an affordable, customizable, and powerful solution for gamers and
streamers who need fine-tuned control over multiple audio channels. Compared to more
expensive, ready-made alternatives, this DIY project offers greater flexibility, personalized
control, and excellent value for money, making it an ideal choice for anyone looking to enhance
their audio control setup without breaking the bank.
The deej project is better than using a mouse and adjusting sound from the taskbar, from
both a general perspective and a gamer/streamer perspective.
1. General Perspective: Why the deej Project is Better than Using a Mouse
1.1. Speed and Convenience
Adjusting the volume via the taskbar with a mouse can be slow and tedious. You have to:
This requires multiple clicks and actions, which can interrupt whatever you're doing, whether
it’s work, watching videos, or casually playing games.
• With the deej project, you can instantly adjust volume by turning a physical knob
for each program. This is much faster and more intuitive than using a mouse, allowing
you to focus on your task instead of being distracted by having to click and drag
volume sliders.
When adjusting volume from the taskbar, you don't get real-time, precise feedback on the
current volume levels of different programs. You have to guess the exact volume level,
especially when working with fine adjustments.
• With the deej project, the LCD display provides immediate, accurate feedback on
the volume level for each program. You always know the exact volume percentages
for each audio source, which makes fine-tuning much easier and more precise.
The taskbar volume control can only adjust one program at a time. If you want to balance
multiple audio sources (like music and system sounds), you have to open the mixer, adjust
one, then adjust another.
• With the deej project, you can control multiple audio sources at once using separate
potentiometers. This allows you to quickly balance audio levels between programs
with a simple twist of the knobs, saving time and hassle.
A physical interface offers tactile feedback that a software-based system can't replicate.
Using a mouse and clicking through menus can feel disconnected, whereas turning a physical
knob provides a sense of precision and control that enhances the user experience.
• With the deej project, you get the satisfaction of tactile control. It's faster, more
precise, and feels more natural than using a mouse and navigating through software.
1.5. No Interruptions
Adjusting audio through the taskbar can interrupt your workflow. You have to pause
whatever you’re doing, whether it’s writing, browsing, or gaming, to change the audio levels.
• With the deej project, you don’t need to alt-tab or interrupt your workflow. You can
continue whatever you’re doing and adjust the volume seamlessly in the background.
For gamers and streamers, precise audio control is vital. The deej project enhances the
overall experience by offering quick, on-the-fly adjustments that a mouse simply cannot
match.
• With the deej project, you can adjust individual audio sources (like game sound,
voice chat, and music) instantly without leaving the game. This gives you real-time
control over your audio mix, which is crucial in dynamic environments where audio
cues are important.
Streamers often need to adjust the balance between their game audio, microphone,
background music, and alerts to ensure the best possible experience for their audience. Doing
this with a mouse is cumbersome and time-consuming, especially while streaming live.
• With the deej project, streamers can adjust the volume of their microphone, game, or
music independently with a quick twist of a knob, maintaining smooth transitions and
preventing audio overloads. The visual feedback on the LCD also ensures they know
exactly where each volume level is set, ensuring their stream sounds professional.
One of the most significant issues streamers face is sudden changes in volume, which can
cause audio clipping or result in an unbalanced stream (where the game is too loud or the
microphone too quiet). Adjusting these settings with a mouse often results in delayed
reactions, which can negatively affect the stream quality.
• With the deej project, streamers can quickly lower or increase the volume of any
source, helping them avoid sudden volume spikes. Additionally, the high-volume
warning system ensures that they can prevent harmful volume levels both for
themselves and their audience.
2.4. Multitasking for Streamers
Streamers juggle multiple tasks: reading chat, monitoring video output, adjusting scenes,
interacting with their audience, and managing audio. Having to open a software mixer via the
taskbar adds an extra layer of complexity and can result in slower responses.
• With the deej project, streamers have dedicated physical controls for each audio
channel. This allows them to balance audio in real-time without having to stop what
they're doing, maintaining a smooth, professional stream without disruptions.
Streaming platforms like Twitch or YouTube require streamers to manage multiple audio
sources, such as game sounds, voice chat, music, and notifications. Achieving the right
balance is critical for creating an engaging experience for viewers.
• With the deej project, streamers can easily adjust the volume of these audio sources
on the fly, ensuring that the audio balance is always optimal. This is far more efficient
than clicking through the taskbar mixer and guessing audio levels.
Conclusion: Why the deej Project is Better than Taskbar Sound Control
General Benefits:
• Speed: Adjusting audio is instant with physical knobs, compared to the multi-step
process in the taskbar.
• Precision: Real-time, tactile control over individual programs allows for more precise
volume adjustments.
• Convenience: With physical controls, you can adjust audio without leaving your
current activity, saving time and frustration.
• Uninterrupted Gameplay and Streaming: The deej project allows gamers and
streamers to make adjustments without alt-tabbing or leaving their current activity.
• Real-Time Volume Balancing: Streamers can instantly balance game audio,
microphone levels, and background music to ensure the best quality for their
audience.
• Professional Setup: The visual feedback on the LCD display allows for accurate
monitoring of audio levels, giving streamers the tools they need to deliver high-
quality sound without hassle.
Here’s a list of what the enhanced deej project code can do: