Advertisement
Guest User

Untitled

a guest
Apr 19th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. # file_one
  2.  
  3. import RPi.GPIO as GPIO
  4. import time
  5. import file_two
  6.  
  7. GPIO.setup(21,GPIO.OUT)
  8. GPIO.setup(19, GPIO.IN, pull_up_down=GPIO.PUD_UP)
  9.  
  10. while True:
  11. GPIO.setmode(GPIO.BCM)
  12. input_state = GPIO.input(19)
  13. if input_state == True:
  14. GPIO.output(21,GPIO.HIGH)
  15. file_two.run()
  16. else:
  17. GPIO.output(21,GPIO.LOW)
  18. time.sleep(0.2)
  19.  
  20.  
  21. # file_two
  22.  
  23. #!/usr/bin/python
  24. import time
  25. import RPi.GPIO as GPIO
  26.  
  27. # Zuordnung der GPIO Pins (ggf. anpassen)
  28. LCD_RS = 4
  29. LCD_E = 17
  30. LCD_DATA4 = 18
  31. LCD_DATA5 = 22
  32. LCD_DATA6 = 23
  33. LCD_DATA7 = 24
  34.  
  35. LCD_WIDTH = 16 # Zeichen je Zeile
  36. LCD_LINE_1 = 0x80 # Adresse der ersten Display Zeile
  37. LCD_LINE_2 = 0xC0 # Adresse der zweiten Display Zeile
  38. LCD_CHR = GPIO.HIGH
  39. LCD_CMD = GPIO.LOW
  40. E_PULSE = 0.0005
  41. E_DELAY = 0.0005
  42.  
  43. def lcd_send_byte(bits, mode):
  44. # Pins auf LOW setzen
  45. GPIO.output(LCD_RS, mode)
  46. GPIO.output(LCD_DATA4, GPIO.LOW)
  47. GPIO.output(LCD_DATA5, GPIO.LOW)
  48. GPIO.output(LCD_DATA6, GPIO.LOW)
  49. GPIO.output(LCD_DATA7, GPIO.LOW)
  50. if bits & 0x10 == 0x10:
  51. GPIO.output(LCD_DATA4, GPIO.HIGH)
  52. if bits & 0x20 == 0x20:
  53. GPIO.output(LCD_DATA5, GPIO.HIGH)
  54. if bits & 0x40 == 0x40:
  55. GPIO.output(LCD_DATA6, GPIO.HIGH)
  56. if bits & 0x80 == 0x80:
  57. GPIO.output(LCD_DATA7, GPIO.HIGH)
  58. time.sleep(E_DELAY)
  59. GPIO.output(LCD_E, GPIO.HIGH)
  60. time.sleep(E_PULSE)
  61. GPIO.output(LCD_E, GPIO.LOW)
  62. time.sleep(E_DELAY)
  63. GPIO.output(LCD_DATA4, GPIO.LOW)
  64. GPIO.output(LCD_DATA5, GPIO.LOW)
  65. GPIO.output(LCD_DATA6, GPIO.LOW)
  66. GPIO.output(LCD_DATA7, GPIO.LOW)
  67. if bits&0x01==0x01:
  68. GPIO.output(LCD_DATA4, GPIO.HIGH)
  69. if bits&0x02==0x02:
  70. GPIO.output(LCD_DATA5, GPIO.HIGH)
  71. if bits&0x04==0x04:
  72. GPIO.output(LCD_DATA6, GPIO.HIGH)
  73. if bits&0x08==0x08:
  74. GPIO.output(LCD_DATA7, GPIO.HIGH)
  75. time.sleep(E_DELAY)
  76. GPIO.output(LCD_E, GPIO.HIGH)
  77. time.sleep(E_PULSE)
  78. GPIO.output(LCD_E, GPIO.LOW)
  79. time.sleep(E_DELAY)
  80.  
  81. def display_init():
  82. lcd_send_byte(0x33, LCD_CMD)
  83. lcd_send_byte(0x32, LCD_CMD)
  84. lcd_send_byte(0x28, LCD_CMD)
  85. lcd_send_byte(0x0C, LCD_CMD)
  86. lcd_send_byte(0x06, LCD_CMD)
  87. lcd_send_byte(0x01, LCD_CMD)
  88.  
  89. def lcd_message(message):
  90. message = message.ljust(LCD_WIDTH," ")
  91. for i in range(LCD_WIDTH):
  92. lcd_send_byte(ord(message[i]),LCD_CHR)
  93.  
  94. fun run():
  95. # initialisieren
  96. GPIO.setmode(GPIO.BCM)
  97. GPIO.setwarnings(False)
  98. GPIO.setup(LCD_E, GPIO.OUT)
  99. GPIO.setup(LCD_RS, GPIO.OUT)
  100. GPIO.setup(LCD_DATA4, GPIO.OUT)
  101. GPIO.setup(LCD_DATA5, GPIO.OUT)
  102. GPIO.setup(LCD_DATA6, GPIO.OUT)
  103. GPIO.setup(LCD_DATA7, GPIO.OUT)
  104.  
  105. display_init()
  106.  
  107.  
  108. lcd_send_byte(LCD_LINE_1, LCD_CMD)
  109. lcd_message("Die Alarmanlage")
  110. lcd_send_byte(LCD_LINE_2, LCD_CMD)
  111. lcd_message("wurde ausgeloest")
  112.  
  113. time.sleep(4)
  114.  
  115. GPIO.cleanup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement