This guide explores analog input and output (I/O) with MicroPython. Previously you saw with digital I/O how values can be ‘on’ or ‘off’ depending on their high or low voltage value. You might wonder though can you deal with values somewhere in-between on and off or high and low? With analog signals you absolutely can go beyond simple digital on/off or high/low. In fact an analog signal can be any one of infinite values between on and off!
In this guide you’ll see how to use an analog to digital converter (ADC) to read an analog voltage value. You’ll also learn about a digital to analog converters (DAC) and pulse-width modulation (PWM) that let you go the other way and effectively output voltages of a certain value. Using analog I/O you can read sensors or potentiometers, and control the intensity of signals like when driving a speaker or just dimming a LED. MicroPython makes it just as quick and easy to perform analog I/O as it does digital I/O.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.