Hallo,
ich habe ein 16x1 Zeichen LCD an mein RPi angehängt und mit folgendem Code von der Adafruit HP funktioniert es auch:
Code:
#!/usr/bin/python
from Adafruit_CharLCD import Adafruit_CharLCD
from subprocess import *
from time import sleep, strftime
from datetime import datetime
lcd = Adafruit_CharLCD()
cmd = "ip addr show wlan0 | grep inet | awk '{print $2}' | cut -d/ -f1"
lcd.begin(16,1)
def run_cmd(cmd):
p = Popen(cmd, shell=True, stdout=PIPE)
output = p.communicate()[0]
return output
while 1:
lcd.clear()
ipaddr = run_cmd(cmd)
lcd.message(datetime.now().strftime('%b %d\n'))
lcd.message(datetime.now().strftime('%H:%M:%S\n'))
# lcd.message(datetime.now().strftime('%b %d %H:%M:%S\n'))
# lcd.message('IP %s' % ( ipaddr ) )
sleep(1)
Nun will ich die Messwerte des Ultraschallmodules auf dem LCD ausgeben und folgenden Code in den obigen integrieren:
Code:
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO_TRIGGER = 14
GPIO_ECHO = 15
adjustment = 7
print "Ultraschallmessung mit SRF04"
while True:
GPIO.setup(GPIO_TRIGGER,GPIO.OUT)
GPIO.setup(GPIO_ECHO,GPIO.IN)
GPIO.output(GPIO_TRIGGER, False)
time.sleep(0.5)
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
start = time.time()
GPIO.output(GPIO_TRIGGER, False)
while GPIO.input(GPIO_ECHO)==0:
pass
start = time.time()
while GPIO.input(GPIO_ECHO)==1:
pass
stop = time.time()
elapsed = stop-start
distance = elapsed * 17000 + 8
distance = distance - adjustment
print "Abstand: %.1f cm" % distance
time.sleep(1)
GPIO.cleanup()
Nur ist das nicht so einfach, zumindest bringe ich es nicht hin - könnte mir bitte hierbei jemand helfen, oder geht das gar nicht?
Lesezeichen