1
+ import board
2
+ from adafruit_debouncer import Debouncer
3
+ import digitalio
4
+ import displayio
5
+ from adafruit_display_text import label
6
+ import adafruit_displayio_ssd1306
7
+ from adafruit_bitmap_font import bitmap_font
8
+
9
+ displayio .release_displays ()
10
+
11
+ # Set up button pins
12
+ pin_a = digitalio .DigitalInOut (board .D9 )
13
+ pin_a .direction = digitalio .Direction .INPUT
14
+ pin_a .pull = digitalio .Pull .UP
15
+
16
+ pin_b = digitalio .DigitalInOut (board .D6 )
17
+ pin_b .direction = digitalio .Direction .INPUT
18
+ pin_b .pull = digitalio .Pull .UP
19
+
20
+ pin_c = digitalio .DigitalInOut (board .D5 )
21
+ pin_c .direction = digitalio .Direction .INPUT
22
+ pin_c .pull = digitalio .Pull .UP
23
+
24
+ button_a = Debouncer (pin_a ) #9
25
+ button_b = Debouncer (pin_b ) #6
26
+ button_c = Debouncer (pin_c ) #5
27
+
28
+ # Load font
29
+ font = bitmap_font .load_font ('/mround-31.bdf' )
30
+
31
+ # Set up display & add group
32
+ i2c = board .I2C ()
33
+ display_bus = displayio .I2CDisplay (i2c , device_address = 0x3C )
34
+ display = adafruit_displayio_ssd1306 .SSD1306 (display_bus , width = 128 , height = 32 )
35
+ group = displayio .Group (max_size = 1 )
36
+ display .show (group )
37
+
38
+ # Add content to group
39
+ default_text = "I VOTE !"
40
+ text_area = label .Label (font , text = default_text , color = 0xFFFFFF , x = 0 , y = 17 )
41
+ group .append (text_area )
42
+
43
+ while True :
44
+
45
+ # Debounce buttons
46
+ button_a .update ()
47
+ button_b .update ()
48
+ button_c .update ()
49
+
50
+ # Check for button presses & set text
51
+ if button_a .fell :
52
+ text_area .text = default_text
53
+ text_area .x = 0
54
+ elif button_b .fell :
55
+ text_area .text = "I VOTED!"
56
+ text_area .x = 0
57
+ elif button_c .fell :
58
+ text_area .text = "DID U?"
59
+ text_area .x = 18
60
+
61
+ display .show (group )
62
+
0 commit comments