Pulse Width Modulation (PWM) Few microcontrollers have a true analog voltage output (though the MKR1000 does), but most have a set of pins connected to an internal oscillator that can produce a pseudo-analog voltage using PWM. This is how the analogWrite() function in Arduino works.

1byte = 8 bit

kb =2^10=1024byte

https://itp.nyu.edu/physcomp/lessons/variables/

The ADC in the Arduino can read the input voltage at a resolution of 10 bits. That’s a range of 1024 points. If the input voltage range (for example, on the Uno) is 0 to 5 volts, that means that the smallest change it can read is 5/1024, or 0.0048 Volts. For a 3.3V board like the Nano 33 IoT, it’s 0.0029 volts. When you take a reading with the ADC using the analogRead() command, the microcontroller stores the result in memory. It takes an int type variable to store this, because a byte is not big enough to store the 10 bits of an ADC reading. A byte can hold only 8 bits, or a range from 0 to 255.

The number produced in sensor reading is will be between 0 and 1023.

pull-down resistor

inside of the Arduino: pull-up resistor ( INPUT_PULLUP)

Pulse sensor: detect the blood pulse

https://itp.nyu.edu/physcomp/videos/videos-sensors/#Sensors_Survey

Labs

Digital Input and Output:

IMG_9408.jpg

IMG_9409.jpg

Analog in with an Arduino

IMG_9401.HEIC

IMG_9405.JPG