Advertisement
Guest User

Untitled

a guest
May 24th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. !/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # Copyright (c) 2017-18 Richard Hull and contributors
  4. # See LICENSE.rst for details.
  5. import time
  6. from datetime import datetime
  7.  
  8.  
  9.  
  10.  
  11. from luma.led_matrix.device import max7219
  12. from luma.core.interface.serial import spi, noop
  13. from luma.core.virtual import viewport, sevensegment
  14.  
  15.  
  16. def date(seg):
  17. now = datetime.now()
  18. seg.text = now.strftime("%y-%m-%d")
  19.  
  20.  
  21.  
  22.  
  23. def clock(seg, seconds):
  24. interval = 0.5
  25. for i in range(int(seconds / interval)):
  26. now = datetime.now()
  27. seg.text = now.strftime("%H-%M-%S")
  28.  
  29.  
  30. if i % 2 == 0:
  31. seg.text = now.strftime("%H-%M-%S")
  32. else:
  33. seg.text = now.strftime("%H %M %S")
  34.  
  35.  
  36. time.sleep(interval)
  37.  
  38.  
  39.  
  40.  
  41. def show_message_vp(device, msg, delay=0.1):
  42. # Implemented with virtual viewport
  43. width = device.width
  44. padding = " " * width
  45. msg = padding + msg + padding
  46. n = len(msg)
  47.  
  48.  
  49. virtual = viewport(device, width=n, height=8)
  50. sevensegment(virtual).text = msg
  51. for i in reversed(list(range(n - width))):
  52. virtual.set_position((i, 0))
  53. time.sleep(delay)
  54.  
  55.  
  56.  
  57.  
  58. def show_message_alt(seg, msg, delay=0.1):
  59. width = seg.device.width
  60. padding = " " * width
  61. msg = padding + msg + padding
  62.  
  63.  
  64. for i in range(len(msg)):
  65. seg.text = msg[i:i + width]
  66. time.sleep(delay)
  67.  
  68. ddef main():
  69. serial = spi(port=0, device=0, gpio=noop())
  70. device = max7219(serial, cascaded=1)
  71. seg = sevensegment(device)
  72.  
  73. date = 'date'
  74. scroll = 'scroll'
  75. exit = 'exit'
  76. display = 'display'
  77. Display = 'Display'
  78. clear = 'clear'
  79. while True:
  80. print("")
  81. print("time = Uhrzeit")
  82. print("date = Datum")
  83. print("scroll = Scrolling-Text")
  84. print("display = Displaying-TExt")
  85. print("exit = Exit")
  86. print("")
  87. Input = raw_input("What will you do? ")
  88.  
  89.  
  90. if Input == time:
  91. print ("")
  92. print ("Time will be showen for 60 ")
  93. clock(seg, seconds=60)
  94. seg.text = ""
  95.  
  96.  
  97. elif Input == date:
  98. print ("")
  99. print ("Datum fΓΌr 60 Sekunden aktiviert")
  100. date(seg)
  101. time.sleep(60)
  102. seg.text = ""
  103.  
  104.  
  105. elif Input == scroll:
  106. print("")
  107. Scroll = raw_input("What should scroll? ")
  108. print ("Scrolling "+Scroll+" ")
  109. show_message_alt(seg,""+Scroll+"")
  110. # print ("Scrolling "+Scroll+" ")
  111.  
  112.  
  113. elif Input == display:
  114. print ("")
  115. print ("Maximal 8 Buchstaben / Zeichen")
  116. Display = raw_input("What should display? ")
  117. print ("Displaying "+Display+"; 'clear' for a clean Display")
  118. seg.text = (" "+Display+" ")
  119. # time.sleep(10)
  120. # seg.text = ""
  121.  
  122.  
  123. elif Input == clear:
  124. print("")
  125. print("Clean Display")
  126. seg.text = ""
  127.  
  128.  
  129. elif Input == exit:
  130. seg.text = (" ")
  131. break
  132.  
  133.  
  134. else:
  135. print ("Unkown command / For Exit 'exit' or 'Ctrl + C'")
  136.  
  137.  
  138. if __name__ == '__main__':
  139. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement