Advertisement
Guest User

Untitled

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