7-Segment for micro:bit
This four-digit 7-segment display for micro:bit, can be used to display numbers, letters and other characters, albeit with the limits imposed by the 7 segments of each digit.
NOTE: Micro:bit and cables not included.
- Easy to connect (just needs one micro:bit pin plus power)
- Powered directly from micro:bit pins
- Send messages to the display using the micro:bit’s Serial blocks
- Useful for displaying readings from sensors, making clocks etc
Connecting to your micro:bit
Connect the power pins GND and 3V between the micro:bit and the 7-Segment for micro:bit. Connect the Rx (receive) pin of the 7-Segment for micro:bit to any of the micro:bit’s pins.
The serial redirect to block allows the micro:bit to send (TX) serial messages on pin 0. It sets the RX pin to pin 16, but this is not used. When using the 7-segment display, the micro:bit only transmits messages, it does not receive them.
Note that you need to set at baud rate to 9600 as this is the speed of communication that the display is expecting.
The pause is necessary after redirecting serial communication to allow time for communication to start.
Using the serial write number block writes a value to the display.
This timer starts at a number (change n to the number up to 9999 that you want to count down from). When the countdown reaches 0 the message “Done” will be displayed.
The value of count actually increases from 0 to whatever n is, but the number displayed is n – count, so the number displayed decreases.
Each time around the loop four spaces are sent to the display to clear it of any existing number. This is an alternative to using “/” but unlike “/” does not change the display mode back to non-buffered. The number is then sent to the display followed by the “,” (comma) command to tell the display to swap its current contents for the new value.
When the count down has finished, the message “done” is displayed. The “/” at the start of this message puts the display back into non-buffered mode so that a final comma is not needed to refresh the display.
Clearing the Display
If you just send text or numbers to the display using serial write string or serial write number, then each time you send another character it pushes all the currently displayed characters one position to the left and then puts the new character in the right-most position. If you send the special character “/”, the display will be cleared.
If you want your display to update repeatedly, then just writing new values as described above will result in the display flickering. To avoid this you need to use the display in buffered mode. In this mode, you compose what you want to be displayed and then when you are ready to tell the display to change whatever is currently being displayed to what you now want to be displayed.
The special character “,” (comma) is used to switch the display into the buffered mode and also to update the display. The next example uses the display in buffered mode.