Advertisement
Guest User

Codes

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