analogWrite()
The analogWrite() function takes two parameters, a pin_number and a value between 0-255. It is called using the following syntax: analogWrite(pin_number, value)
The function uses a digital pin marked with a tilda (~). In the Arduino Uno or the SparkFun Red kit, there are 6 pins (11,10,9,6,5,3) that can be used to provide an analog value. Arduino is a digital computer. Hence, it is actually incapable of actually producing a true digital output. So instead of writing an actual analog value, it uses the concept of a Pulse-Width-Modulation (PWM) to write an Average Analog Value.
Pulse Width Modulation (PWM) is a method for changing how long a square wave stays “on”. The on-off behavior changes the average power of the signal.
The following video provides a brief explanation of analogWrite and shows a TinkerCAD simulation of varying power supplied to an LED.