So many buttons so little IO. When you want to drive a large number of LEDs or read buttons the obvious choice is multiplexing them. But there is a method called charlieplexing that lets you use even more LEDs and buttons with even less IO pins. Clem wants to interface a large amount of buttons and LEDs with a microcontroller but has a limited number of pins. He's also trying to save money on parts. Could you just replace expensive signal diodes with cheap LEDs? Could you use the same pins to read buttons and drive LEDs in the same matrix? Could you also achieve true n-key rollover without having a diode on every single button? How hard can it be?
Watch the Video:
Bonus Content:
Bill of Material:
Product Name | Manufacturer | Quantity | Buy Kit |
---|---|---|---|
LED, Super Red, Through Hole, T-1 3/4 (5mm), 12 mA, 5 V, 640 nm | Multicomp | 9 | Buy Now |
Arduino Mega 2560, ATmega2560, 54 I/O, 256KB Flash, 8KB SRAM, 4KB EEPROM | Arduino | 1 | Buy Now |
Jumper Wire Kit, Multicolour, 2 mm - 125 mm, 22 AWG, 140 Piece | Multicomp | 1 | Buy Now |
Breadboard, Mounted, 1580 Pin, 10mm, x 135mm | Multicomp | 1 | Buy Now |