0% found this document useful (0 votes)
13 views12 pages

Project Report

Project report

Uploaded by

Arafat Hossain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views12 pages

Project Report

Project report

Uploaded by

Arafat Hossain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Project Report: Enhancing the deej Project with LCD Display and

Volume Control Logic


Project Overview:
The deej project is an open-source hardware volume mixer for PCs that allows users to control
the volume of various applications using physical potentiometers. In this enhancement, we
have integrated a 16x2 LCD display using an I2C controller and added several new
functionalities, including a scrolling message and logic to handle high-volume conditions.

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:

• Add LCD display functionality.


• Display volume levels in real-time.
• Implement scrolling messages.
• Manage high-volume conditions through dynamic warnings.

1. LCD Integration:

We replaced the original LiquidCrystal library with LiquidCrystal_I2C to reduce


the number of pins required for the LCD and simplify the wiring process.

• I2C Setup:

cpp
Copy code
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

• Initialization in setup():
cpp
Copy code
lcd.init();
lcd.backlight();

2. Volume Control Logic:

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.

• Reading Potentiometer Values:

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:

1. Default Message: "INTERACTIVE SOUND MANAGEMENT SYSTEM made by


SIYAM, FARHAN, RAMIM".
2. "VOLUME IS VERY HIGH" Warning: Triggered when the volume exceeds a
critical level.

Default Scrolling Message:

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();
}
}

4. High Volume Condition Logic:


We implemented logic to detect when the volume is too high. If the product of the MASTER
volume and any other program's volume exceeds 4800, the system triggers a warning message.

High Volume Warning:

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.

• Volume Check Logic:

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();
}
}

5. Dynamic Message Handling:


The system pauses the high volume warning message for 2 seconds if the user changes the
volume, allowing them to see the updated volume. If the condition persists after 2 seconds, the
warning message reappears.

• Temporarily Hiding the Warning:


cpp
Copy code
if (showingVolumeHighMessage) {
showingVolumeHighMessage = false;
lcd.clear();
volumeHighEndTime = millis() + 2000; // Hide the message
for 2 seconds
}

Importance to Gamers and Streamers


The deej project, enhanced with LCD display and high-volume control logic, offers significant
benefits to gamers and streamers who need precise control over their audio. These users often
have to manage multiple audio channels, such as game audio, voice chat, music, and alerts, in
real time.

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.

4. Customizable and Expandable:

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.

Comparison to Ready-Made Products


We compared the deej project to popular commercial audio mixers like the GoXLR Mini and
the Elgato Wave XLR in terms of price, functionality, and economy.
GoXLR Mini:
• Price: $150 to $200 USD
• Features:
o Sliders for independent control of different audio channels.
o Integrated USB audio interface.
o No LCD display for volume levels.
• Comparison: While the GoXLR Mini offers great functionality, it is more expensive
and lacks the real-time visual feedback that the deej project provides through its LCD
display.

Elgato Wave XLR:

• Price: $130 USD


• Features:
o XLR input for professional microphones.
o Software-based volume control for inputs, not outputs.
• Comparison: The Elgato Wave XLR is designed for input control rather than output
control. While useful for professional audio, it doesn't offer the multi-channel output
control that the deej project excels at.

deej Project (Enhanced):


• Price: $40 to $60 USD
• Features:
o Control for 4 audio channels via potentiometers.
o Real-time volume feedback through a 16x2 LCD display.
o Scrolling warning for high volumes to protect users' hearing.
o Customizable and expandable at a fraction of the cost of commercial solutions.

Price and Economic Consideration


Affordability:

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:

1. Click on the volume icon in the system tray.


2. Adjust the master volume or open the "Volume Mixer" for individual programs.
3. Drag sliders to modify specific program volumes.

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.

1.2. Real-Time Feedback

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.

1.3. Multiple Volume Controls at Once

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.

1.4. Physical Interface vs. Software Interface

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.

2. Gamers and Streamers Perspective: Why the deej Project is Superior

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.

2.1. Real-Time Adjustments Without Interrupting Gameplay

For gamers, especially in competitive or fast-paced environments, alt-tabbing or using a


mouse to adjust volume is distracting and can disrupt focus or even cost you a 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.

2.2. Instant Volume Balancing for Streamers

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.

2.3. Avoiding Audio Clipping and Overload

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.

2.5. Better Control During Streaming and Recording

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.

For Gamers and Streamers:

• 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:

Features of the Enhanced deej Project Code:

1. Control Multiple Audio Sources:


o The project uses four potentiometers to control the volume of different audio
channels.
o Each potentiometer is mapped to a specific program:
▪ A0 = MASTER volume
▪ A1 = FIREFOX
▪ A2 = PROGRAM 3
▪ A3 = PROGRAM 4
2. Real-Time Volume Display:
o The current volume levels of the programs are displayed in real-time on the
16x2 LCD display.
o Each volume is shown as a percentage (e.g., "MASTER 60%", "FIREFOX
75%"), including leading zeros for single-digit percentages (e.g., "02%").
3. Scrolling Messages:
o A custom scrolling message ("INTERACTIVE SOUND MANAGEMENT
SYSTEM made by SIYAM, FARHAN, RAMIM") continuously scrolls across
the upper portion of the LCD display during normal operation.
o The message scrolls from right to left, ensuring that long text fits within the
display's 16-character width.
4. High-Volume Detection and Warning:
o The code detects when the volume is too high based on a combination of the
MASTER volume and any other program's volume.
o If the MASTER volume is above 60% and the multiplication of MASTER and
any program's volume exceeds 4800, a warning is triggered.
o The message "VOLUME IS VERY HIGH" scrolls across the upper part of the
display to alert the user.
5. Scrolling of Affected Program Volumes:
o When the high-volume warning is triggered, the lower portion of the display
shows a scrolling message with the specific programs contributing to the high
volume (e.g., "FIREFOX 70%, PROGRAM 3 85%").
o The affected programs' names and their current volume percentages are
displayed in real-time.
6. Pause and Reappear High-Volume Warning:
o If the user changes any program's volume while the "VOLUME IS VERY
HIGH" warning is active, the message temporarily disappears for 2 seconds to
allow the user to see the updated volume levels.
o After 2 seconds, if the high-volume condition still exists, the warning message
reappears.
7. Simultaneous Multi-Program Volume Control:
o Multiple programs' volumes can be controlled at the same time by turning the
respective potentiometers, allowing for real-time volume balancing between
programs.
8. Visual Feedback:
o The LCD provides immediate visual feedback for all volume adjustments,
showing the exact volume levels of each program.
o This allows the user to monitor and adjust volumes without guessing or
checking software settings.
9. Customizable and Expandable:
o The project is easily customizable and can be expanded to include more audio
sources or additional features like integration with streaming software,
additional displays, or more advanced warning systems.

You might also like