My kind Mape introduced me a new kind of LED: WS2812B
Serial Communication Crash Course (Sparkfun)
There are two different kinds of Serial Communication: Synchronous & Asynchronous. I will concentrate on Asynchronous. There is no one way to send data serially. However you need to have both devices on a serial bus configured to use the same protocol.
Baud Rate: how fast data is sent over a serial line. bits-per-second(bps). Both devices should operate at the same rate.
RX: receiver serial pin
TX: transmitter serial pin
!!! RX and TX labels are with respect to the device itself. So when connecting two devices, RX connects to TX.
Full-duplex: Exchange data simultaneously
Half-duplex: Takes a turn sending and receiving
Simplex: No turn. There is one sender and one receiver and they keep their role for good. e.g. LCD, button-LED
Hardware implementation: There are two popular implementations of serial: logic-level(TTL) and RS-232. TTL is easier solution for two serial signal standards. However the low voltage levels are more susceptible to losses across long transmission lines.(How long?) When you connect two serial devices, match up their signal voltage!!
That’s pretty much what I need to know for my projects. Sparkfun has great resources about basic concepts which many tutorial pages lack. Thank you Sparkfun!
Charlieplexing – n*(n-1) LED’s to n pins.
However, I found out that those WS2812B LEDs are addressable so I don’t need charlieplexing.
Red tactile button seems like a good option for my buttons.
Here’s an application of WS2812B LEDs.