Stap 3: Hoe om het volume van de zoemer met behulp van PWM
PWM staat voor Pulse Width Modulation
Analoog signaal kan worden weergegeven in de digitale wereld door middel van pulse trein. In een Pulse Width Modulation vertegenwoordigen wij in principe analoge spanning het termijn van de pulsbreedte. In de arduino gebruiken we de functie analogwrite om een PWM-golf die de functie genereert een blokgolf van opgegeven taakcyclus waarvan de waarde wordt bepaald door de gebruiker. In de onderstaande afbeelding geven de groene lijnen een normale periode. Deze duur of periode is de inverse van de PWM-frequentie. Met andere woorden, met de Arduino PWM frequentie ongeveer 500 Hz, zou de groene lijnen meten elk 2 milliseconden. Een oproep tot analogWrite() is op een schaal van 0 - 255, zodanig dat analogWrite(255) vraagt een taakcyclus van 100% (altijd aan), en analogWrite(127) is de plicht van een 50% cyclus (op de helft van de tijd)