Arduino: Input styr produktionen (2 / 4 steg)
Steg 2: Använda Pulse bredd Modulation (PWM)
Pulse bredd modulering (PWM) är en teknik för att simulera analoga värden på en digital pin. Det finns flera digitala stiften på Arduino som stöder PWM beroende på styrelsen du använder. Yun vi använder i denna workshop stöder exempelvis 8-bitars (0-255) PWM på digital stift 3, 5, 6, 9, 10, 11 och 13 med funktionen analogWrite().
PWM simulerar analoga data genom att skapa en fyrkantsvåg (i grunden upprepande växla mellan på och av) där 'på' tid varar pulse bredd. Om den kvadratiska våg har en 50% puls bredd (mer känd som en arbetscykel), då är produktionen från det klämmer fast lika mycket på och av. Om intermittensen är 25% sedan utdata från PIN-koden kommer att vara avstängd för gånger tre så länge som det är på (25% på 75% rabatt).
Eftersom tid Fönstren i en cykel är för snabb för det mänskliga ögat att uppfatta (ca 2 millisekunder på Arduino stiften som stöder PWM), i stället för orsakar en LED att strobe eller flimmer, verkar det helt enkelt vara mer eller mindre ljusa. Med en 25% arbetscykel skulle LED vara på (hög effekt) för halva en millisekund och off för 1.5 millisekunder som gör lampan verkar vara på 25% ljusstyrka. Så även om vi inte är verkligen skicka analoga data till en digital LED, använder vi PWM för att simulera effekten av analoga data.