Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Confluence
/
Pulse Width Modulation

Pulse Width Modulation

Aug 24, 2020

Analytics

Loading data...

English Version

Um z.B. eine LED zum ‘Faden’ zu bringen benötigen wir eine Pulse-Width Modulation. Dabei wird ein digitales Signal am Arduino ausgegeben, welches den entsprechenden PIN (PWM Pins sind mit PWM bzw. ~ gekennzeichnet) sehr schnell EIN und AUS schaltet. Je länger nun die EIN-Zeiten des Pins sind, desto heller erscheint uns die LED – im Gegensatz dazu erscheint uns die LED dunkler, wenn die AUS-Zeiten länger sind. Die PWM Funktion des Mikrocontrollers ermöglicht es uns einfache Werte an dem entsprechenden PIN zu setzen 0 entspricht dabei 0V oder AUS und 255 entspricht 5V bzw. EIN. Jeglicher Zwischenwert (z.B. 127) kann als eine Zusammensetzung aus 0V und 5V gesehen werden und entspricht dann z.B. 2.5V.

Visualisierung

Diese Visualisierung zeigt, wie ein PWM Wert vom Arduino generiert wird. 

Funktion
 

Um über einen PWM fähigen Pin am Arduino z.B. eine LED zu dimmen rufen wir für diesen Pin folgende Funktion auf:

analogWrite(PIN, Wert);
Ausgeben des Wertes (0-255) am angegebenen PIN


Hier ein kurzes Beispiel, welches eine LED fadet

Beispiel PWM Expand source
#define LED_PIN 11 // PWM fähiger PIN
 
void setup()
{
  pinMode(LED_PIN, OUTPUT); 
}
 
void loop()
{
  for(int i=0; i<255; i++)
  {
    analogWrite(LED_PIN, i); // Den Wert i an LED_PIN setzen
    delay(10);
  }
   
  for(int i= 255; i>0; i--)
  {
    analogWrite(LED_PIN, i); // Den Wert i an LED_PIN setzen
    delay(10);
  }
}

Weitere Informationen:

PWM - auf Arduino.cc
The Secrets of Arduino PWM - auf Arduino.cc
analogWrite() - auf Arduino.cc
Pulse-Width-Modulation - auf Wikipedia.org

, multiple selections available,
For you

Electrical Engineering
Results will update as you type.
  • Aesthetic elements in Eagle
  • Actuators and Outputs
  • Aktuatoren (DE)
  • Analog Input
  • Analog Sensors
  • Arduino Grundlagen
  • Arduino Programmieren
  • Arduino und Processing
  • Shift Registers
  • Carvey
  • Capacitors
  • Bread Boards
  • Digitaler Input
  • Digitaler Output
  • Eagle
  • Energy Harvesting
  • H-Bridge
  • I2C (en)
  • Interrupt Service Routine
  • Mosfet Transistor
  • LED
  • PCBs Herstellen
  • Pololu Servo Controller
  • Relays as Switches
  • Pulse Width Modulation
  • RFiD
  • Schrittmotorentreiber
  • SD Karten
  • Signal Filtering
  • Transistors as Switches
  • Widerstand
  • PCB Manufacturing
  • PlatformIO
  • Lynx Smart Motion Servo
  • Electronics Basics (EN)
  • Arduino Basics (en)
  • Arduino Programming (EN)
  • Digital Outputs (en)
  • Digital Input (en)
  • Serial Communication (en)
  • Pulse Width Modulation (en)
  • Resistors (en)
  • Arduino and P5.js
  • Arduino and ml5.js
  • Project box 2021
  • Servo Motors
  • H-Bridge (DE)
  • Networking
  • Bit Shifting
  • C++ (Arduino) Variables
  • Stepper Motor Drivers
  • Interrupt Service Routine (en)
  • Common Arduino Problems
  • Finite State Machine
  • Voltage Regulators
  • Arduino USB HID (Human Interface Devices)

{"serverDuration": 30, "requestCorrelationId": "fabb4fa1590c4985a4795a777e36dd6b"}