AM2320 - Problem

  • Hallo in die Runde, ich habe heute obigen Sensor nach dem Tutorial von Adafruit angschlossen was stellenweise auch läuft....

    Gibt man die Codezeilen einzeln in die Konsole ein werden die Messwerte korrekt angezeigt:

    macht man daraus ein am2320.py mit dem Inhalt:

    wird der Sensor bockig und es erscheint die Fehlermeldung:

    ich habe es schon ohne while True getestet - leider ohne Erfolg.

    Wo kann der Fehler liegen, wie kann das geändert werden?

    Danke für jeden Tip......

  • Ich bin leider auch nicht der Python Spezialist. Ich denke mal, dass der print Befehl mit dem Rückgabewert als Zahl nicht klar kommt.

    Gibt es einen bestimmten Grund, warum Du im Programm einen andern Code zur Ausgabe nimmst als in der Komandozeile? Verwende doch mal den Programmcode in der Komandozeile und den Komandozeilencode im Programm und schau was passiert...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Da hast Du mich falsch verstanden: Ich meinte nicht die While Schleife oder die Benennung der Variablen. Ich schrieb ja "...im Programm einen andern Code zur Ausgabe nimmst als in der Kommandozeile?"

    print('Temperature: {0}C'.format(sensor.temperature))

    print("Temperature: ", am.temperature)

    Siehst Du den Unterschied?

    Nimm doch mal Print Befehle der Konsole und verwende sie im Programm bzw. verwende mal die vom Programm in der Konsole... Aber bitte die richtigen Variablennamen verwenden - es geht hier nur um die richtige Syntax von print(...)

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • i2c ist ja ein Bus-System. Vielleicht ist da etwas blockiert.

    Klappt es nach einem Neustart des Raspi?

    Oder wenn es manuell in der Shell klappt, danach in einem Script aber nicht (mehr),

    klappt es dann direkt in der Shell wieder?

    So kann der Effekt vielleicht eingegrenzt werden.

  • Moin Himbaerchen,

    sensor.temperature hiermit wird die Temperatur gemessen. In jeder Programmiersprache muss der Rückgabewert irgendwie gespeichert werden, damit er weiter verarbeitet werden kann.

    print("Temperature: ", sensor.temperature)

    Wo ist da die Variable die speichert?

    print('Temperature: {0}C'.format(sensor.temperature))

    Ein Pythonianer könnte es dir genauer erklären. Aber auch für mich ist der Unterschied auf dem ersten Blick erkennbar.

    Tausche deine Zeile gegen die aus dem 2ten Zitat aus.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!