34
34
35
35
**Hardware:**
36
36
37
- * Adafruit `Character LCDs
38
- <http://www.adafruit.com/category/63_96>`_
37
+ "* `Adafruit Character LCDs <http://www.adafruit.com/category/63_96>`_"
39
38
40
39
**Software and Dependencies:**
41
40
@@ -117,11 +116,8 @@ def _map(xval, in_min, in_max, out_min, out_max):
117
116
118
117
# pylint: disable-msg=too-many-instance-attributes
119
118
class Character_LCD :
120
- """Base class for character LCD."""
121
- LEFT_TO_RIGHT = const (0 )
122
- RIGHT_TO_LEFT = const (1 )
123
- """
124
- Interfaces with a character LCD
119
+ """Base class for character LCD.
120
+
125
121
:param ~digitalio.DigitalInOut rs: The reset data line
126
122
:param ~digitalio.DigitalInOut en: The enable data line
127
123
:param ~digitalio.DigitalInOut d4: The data line 4
@@ -130,12 +126,11 @@ class Character_LCD:
130
126
:param ~digitalio.DigitalInOut d7: The data line 7
131
127
:param columns: The columns on the charLCD
132
128
:param lines: The lines on the charLCD
133
- :param ~digitalio.DigitalInOut backlight_pin: The backlight pin, usually
134
- the last pin. Check with your datasheet
135
- :param bool backlight_inverted: False if LCD is not inverted, i.e. backlight pin is connected
136
- to common anode. True if LCD is inverted i.e. backlight pin is connected to common cathode.
137
129
138
130
"""
131
+ LEFT_TO_RIGHT = const (0 )
132
+ RIGHT_TO_LEFT = const (1 )
133
+
139
134
# pylint: disable-msg=too-many-arguments
140
135
def __init__ (self , rs , en , d4 , d5 , d6 , d7 , columns , lines
141
136
):
@@ -191,10 +186,9 @@ def clear(self):
191
186
import time
192
187
import board
193
188
import busio
194
- import adafruit_character_lcd.character_lcd_mono as character_lcd
189
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
195
190
196
191
i2c = busio.I2C(board.SCL, board.SDA)
197
-
198
192
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
199
193
200
194
lcd.message = "Hello, world!"
@@ -215,10 +209,9 @@ def cursor(self):
215
209
import time
216
210
import board
217
211
import busio
218
- import adafruit_character_lcd.character_lcd_mono as character_lcd
212
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
219
213
220
214
i2c = busio.I2C(board.SCL, board.SDA)
221
-
222
215
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
223
216
224
217
lcd.cursor = True
@@ -260,10 +253,9 @@ def blink(self):
260
253
import time
261
254
import board
262
255
import busio
263
- import adafruit_character_lcd.character_lcd_mono as character_lcd
256
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
264
257
265
258
i2c = busio.I2C(board.SCL, board.SDA)
266
-
267
259
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
268
260
269
261
lcd.blink = True
@@ -293,10 +285,9 @@ def display(self):
293
285
import time
294
286
import board
295
287
import busio
296
- import adafruit_character_lcd.character_lcd_mono as character_lcd
288
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
297
289
298
290
i2c = busio.I2C(board.SCL, board.SDA)
299
-
300
291
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
301
292
302
293
lcd.message = "Hello, world!"
@@ -324,10 +315,9 @@ def message(self):
324
315
import time
325
316
import board
326
317
import busio
327
- import adafruit_character_lcd.character_lcd_mono as character_lcd
318
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
328
319
329
320
i2c = busio.I2C(board.SCL, board.SDA)
330
-
331
321
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
332
322
333
323
lcd.message = "Hello, world!"
@@ -371,10 +361,9 @@ def move_left(self):
371
361
import time
372
362
import board
373
363
import busio
374
- import adafruit_character_lcd.character_lcd_mono as character_lcd
364
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
375
365
376
366
i2c = busio.I2C(board.SCL, board.SDA)
377
-
378
367
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
379
368
380
369
scroll_message = "<-- Scroll"
@@ -396,19 +385,15 @@ def move_right(self):
396
385
import time
397
386
import board
398
387
import busio
399
- import adafruit_character_lcd.character_lcd_mono as character_lcd
388
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
400
389
401
390
i2c = busio.I2C(board.SCL, board.SDA)
402
-
403
- lcd_columns = 16
404
- lcd_rows = 2
405
-
406
- lcd = character_lcd.Character_LCD_I2C(i2c, lcd_columns, lcd_rows)
391
+ lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
407
392
408
393
scroll_message = "Scroll -->"
409
394
lcd.message = scroll_message
410
395
time.sleep(2)
411
- for i in range(len(scroll_message) + lcd_columns ):
396
+ for i in range(len(scroll_message) + 16 ):
412
397
lcd.move_right()
413
398
time.sleep(0.5)
414
399
"""
@@ -428,10 +413,9 @@ def text_direction(self):
428
413
import time
429
414
import board
430
415
import busio
431
- import adafruit_character_lcd.character_lcd_mono as character_lcd
416
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
432
417
433
418
i2c = busio.I2C(board.SCL, board.SDA)
434
-
435
419
lcd = character_lcd.Character_LCD_I2C(i2c, 16, 2)
436
420
437
421
lcd.text_direction = lcd.RIGHT_TO_LEFT
@@ -513,21 +497,20 @@ def _pulse_enable(self):
513
497
514
498
# pylint: disable-msg=too-many-instance-attributes
515
499
class Character_LCD_Mono (Character_LCD ):
516
- """Base class for character LCD."""
517
- """
518
- Interfaces with a character LCD
519
- :param ~digitalio.DigitalInOut rs: The reset data line
520
- :param ~digitalio.DigitalInOut en: The enable data line
521
- :param ~digitalio.DigitalInOut d4: The data line 4
522
- :param ~digitalio.DigitalInOut d5: The data line 5
523
- :param ~digitalio.DigitalInOut d6: The data line 6
524
- :param ~digitalio.DigitalInOut d7: The data line 7
525
- :param columns: The columns on the charLCD
526
- :param lines: The lines on the charLCD
527
- :param ~digitalio.DigitalInOut backlight_pin: The backlight pin, usually
528
- the last pin. Check with your datasheet
529
- :param bool backlight_inverted: False if LCD is not inverted, i.e. backlight pin is connected
530
- to common anode. True if LCD is inverted i.e. backlight pin is connected to common cathode.
500
+ """Interfaces with monochromatic character LCDs.
501
+
502
+ :param ~digitalio.DigitalInOut rs: The reset data line
503
+ :param ~digitalio.DigitalInOut en: The enable data line
504
+ :param ~digitalio.DigitalInOut d4: The data line 4
505
+ :param ~digitalio.DigitalInOut d5: The data line 5
506
+ :param ~digitalio.DigitalInOut d6: The data line 6
507
+ :param ~digitalio.DigitalInOut d7: The data line 7
508
+ :param columns: The columns on the charLCD
509
+ :param lines: The lines on the charLCD
510
+ :param ~digitalio.DigitalInOut backlight_pin: The backlight pin
511
+ :param bool backlight_inverted: ``False`` if LCD is not inverted, i.e. backlight pin is
512
+ connected to common anode. ``True`` if LCD is inverted i.e. backlight pin is connected
513
+ to common cathode.
531
514
532
515
"""
533
516
# pylint: disable-msg=too-many-arguments
@@ -558,7 +541,7 @@ def backlight(self):
558
541
import time
559
542
import board
560
543
import busio
561
- import adafruit_character_lcd.character_lcd_mono as character_lcd
544
+ import adafruit_character_lcd.character_lcd_i2c as character_lcd
562
545
563
546
i2c = busio.I2C(board.SCL, board.SDA)
564
547
@@ -577,22 +560,21 @@ def backlight(self):
577
560
@backlight .setter
578
561
def backlight (self , enable ):
579
562
self ._enable = enable
580
- if enable and not self . backlight_inverted or not enable and self . backlight_inverted :
581
- self .backlight_pin .value = 1
582
- if enable and self . backlight_inverted or not enable and not self . backlight_inverted :
583
- self .backlight_pin .value = 0
563
+ if enable :
564
+ self .backlight_pin .value = not self . backlight_inverted
565
+ else :
566
+ self .backlight_pin .value = self . backlight_inverted
584
567
585
568
586
569
class Character_LCD_RGB (Character_LCD ):
587
- """Base class for RGB character LCD."""
570
+ """Interfaces with RGB character LCDs.
588
571
589
- """ Interfaces with an RGB character LCD
590
572
:param ~digitalio.DigitalInOut rs: The reset data line
591
573
:param ~digitalio.DigitalInOut en: The enable data line
592
- :param ~digitalio.DigitalInOut d4 : The data line 4
593
- :param ~digitalio.DigitalInOut d5 : The data line 5
594
- :param ~digitalio.DigitalInOut d6 : The data line 6
595
- :param ~digitalio.DigitalInOut d7 : The data line 7
574
+ :param ~digitalio.DigitalInOut db4 : The data line 4
575
+ :param ~digitalio.DigitalInOut db5 : The data line 5
576
+ :param ~digitalio.DigitalInOut db6 : The data line 6
577
+ :param ~digitalio.DigitalInOut db7 : The data line 7
596
578
:param columns: The columns on the charLCD
597
579
:param lines: The lines on the charLCD
598
580
:param ~pulseio.PWMOut, ~digitalio.DigitalInOut red: Red RGB Anode
@@ -603,7 +585,8 @@ class Character_LCD_RGB(Character_LCD):
603
585
604
586
"""
605
587
# pylint: disable-msg=too-many-arguments
606
- def __init__ (self , rs , en , db4 , db5 , db6 , db7 , columns , lines , red , green , blue , read_write = None ):
588
+ def __init__ (self , rs , en , db4 , db5 , db6 , db7 , columns , lines ,
589
+ red , green , blue , read_write = None ):
607
590
608
591
# Define read_write (rw) pin
609
592
self .read_write = read_write
@@ -613,9 +596,6 @@ def __init__(self, rs, en, db4, db5, db6, db7, columns, lines, red, green, blue,
613
596
self .read_write .direction = digitalio .Direction .OUTPUT
614
597
615
598
# define color params
616
- self .red = red
617
- self .green = green
618
- self .blue = blue
619
599
self .rgb_led = [red , green , blue ]
620
600
621
601
for pin in self .rgb_led :
@@ -648,11 +628,11 @@ def color(self):
648
628
import time
649
629
import board
650
630
import busio
651
- import adafruit_character_lcd.character_lcd_rgb as character_lcd
631
+ import adafruit_character_lcd.character_lcd_rgb_i2c as character_lcd
652
632
653
633
i2c = busio.I2C(board.SCL, board.SDA)
654
634
655
- lcd = character_lcd.Character_LCD_I2C_RGB (i2c, 16, 2)
635
+ lcd = character_lcd.Character_LCD_RGB_I2C (i2c, 16, 2)
656
636
657
637
lcd.color = [100, 0, 0]
658
638
lcd.message = "Hello, world!"
@@ -671,5 +651,4 @@ def color(self, color):
671
651
# If we don't have a PWM interface, all we can do is turn each color
672
652
# on / off. Assume a DigitalInOut (or compatible interface) and write
673
653
# 0 (on) to pin for any value greater than 0, or 1 (off) for 0:
674
- pin .value = 0 if color [number ] > 0 else 1
675
-
654
+ pin .value = not color [number ] > 1
0 commit comments