Я пытаюсь создать простой python скрипт, который использует датчик влажности на GOIP 21 и выводит текст на дисплей.
Что у меня есть:
Это всего лишь попытка обучения, после того, как я это выясню, я планирую купить лучшие датчики и на самом деле они отображают точные проценты. Для непростой обнаруженной влажности против неопознанного все в порядке.
Мой код, кажется, работает для вывода на консоль, однако, когда я пытаюсь вывести на ЖК-дисплей, он выдает некоторые странные символы и останавливается. Не уверен, что делать, потому что я не python мудрец (можно подумать, что id больше похож на php, но нах лол).
Вот мой код
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import sys
sys.path.append('/home/pi/lcd')
import lcd
#GPIO SETUP
moist1 = 21
GPIO.setmode(GPIO.BCM)
GPIO.setup(moist1, GPIO.OUT)
def callback(moist1):
if GPIO.input(moist1):
lcd.GPIO.cleanup()
lcd.lcd_init()
lcd.lcd_byte(lcd.LCD_LINE_1, lcd.LCD_CMD)
lcd.lcd_string("Water Is Good", 2)
lcd.lcd_byte(lcd.LCD_LINE_2, lcd.LCD_CMD)
lcd.lcd_string("Don't Add", 2)
lcd.GPIO.cleanup()
else:
lcd.GPIO.cleanup()
lcd.lcd_init()
lcd.lcd_byte(lcd.LCD_LINE_1, lcd.LCD_CMD)
lcd.lcd_string("Add Water Now!", 2)
lcd.lcd_byte(lcd.LCD_LINE_2, lcd.LCD_CMD)
lcd.lcd_string("!!!!!!!!!!!!!!", 2)
lcd.GPIO.cleanup()
GPIO.add_event_detect(moist1, GPIO.BOTH, bouncetime=300) # let us know when the pin goes HIGH or LOW
GPIO.add_event_callback(moist1, callback) # assign function to GPIO PIN, Run function on change
# infinite loop
while True:
time.sleep(1)
Я не могу понять, что я делаю неправильно. Пожалуйста, дайте мне знать, если вы это видите. Спасибо