Pulse Width Modulation (PWM) ની સંપૂર્ણ સમજૂતી
ડિજિટલ સિગ્નલ દ્વારા એનાલોગ કંટ્રોલ કરવાની કળા
PWM શું છે?
સામાન્ય રીતે ડિજિટલ પિન માત્ર On (5V) અથવા Off (0V) હોઈ શકે છે. પરંતુ જો આપણે LED ની તેજસ્વીતા (Brightness) બદલવી હોય અથવા મોટરની સ્પીડ કંટ્રોલ કરવી હોય, તો આપણે PWM નો ઉપયોગ કરીએ છીએ. આ ટેકનિકમાં આપણે સિગ્નલને ખૂબ જ ઝડપથી સ્વીચ કરીએ છીએ, જેથી સરેરાશ વોલ્ટેજ બદલાય છે.
Duty Cycle અને બ્રાઇટનેસ

Duty Cycle D = Ton/ Ton+Toff = Ton / Ttotal
| Duty Cycle (%) | Arduino Value (0-255) | પરિણામ (Output) |
|---|---|---|
| 0% | 0 | LED સંપૂર્ણ બંધ |
| 25% | 64 | ઓછી બ્રાઇટનેસ |
| 50% | 127 | મધ્યમ બ્રાઇટનેસ |
| 100% | 255 | ફુલ બ્રાઇટનેસ |
Arduino Uno માં PWM પિન:
બધા પિન PWM સપોર્ટ કરતા નથી. Arduino Uno માં 3, 5, 6, 9, 10, અને 11 પિન પર ~ ચિન્હ હોય છે, જેનો અર્થ છે કે તે PWM પિન છે.
LED Brightness કંટ્રોલ કરવા માટેનો કોડ
આ કોડમાં analogWrite() ફંક્શનનો ઉપયોગ થાય છે, જે 0 થી 255 ની વચ્ચે વેલ્યુ સ્વીકારે છે.
int ledPin = 9; // PWM સપોર્ટેડ પિન
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// LED ને ધીમે ધીમે તેજસ્વી કરવી (Fade In)
for (int i = 0; i <= 255; i++) {
analogWrite(ledPin, i);
delay(10); } // LED ને ધીમે ધીમે ઝાંખી કરવી (Fade Out)
for (int i = 255; i >= 0; i--) {
analogWrite(ledPin, i);
delay(10);
}
}
PWM ના મુખ્ય ઉપયોગો:
- LED Dimming: બ્રાઇટનેસ કંટ્રોલ કરવા માટે.
- Motor Speed Control: DC મોટરની ગતિ વધારવા કે ઘટાડવા.
- Servo Motors: સર્વો મોટરના એન્ગલ (0-180 ડિગ્રી) સેટ કરવા.
- Sound Generation: બઝરમાં અલગ-અલગ ટોન ઉત્પન્ન કરવા.




0 Comments