Advertisement
Guest User

Untitled

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