Beiträge von rob.z

    Als Elektriker bin ich es gewohnt, mit Menschen umzugehen, die von Elektrotechnik keine Ahnung. Wenn der Kunde eine Glühbirne in seine Leuchte eingesetzt bekommen möchte, dann weiß ich, dass kein Obst meint, sondern ein Leuchtmittel. Das ist kein Orakeln, sondern gesunder Menschenverstand. Aber es stimmt, mehr Information oder besser noch ein Link würden deutlich helfen. Bin mal gespannt. Gruß


    Warum Du für eine Tropfensteuerung 2 GPIOs miteinander koppeln willst, habe ich noch nicht verstanden. :s

    Ich glaube, dieser Satz erklärt es.


    Blöderweise werden die Geräte nicht durch anlegen einer Spannung ausgelöst, sondern durch durchschalten.

    Ich habe das so verstanden, dass mischka128 damit das Schließen eines Stromkreises meint. Wie mit den Schaltkontakten eines Relais.

    Sorry, hab die Fehlermeldung auf der letzten Seite jetzt erst gesehen. Es stimmt was Andreas sagt, last_value muss vor der Schleife einmal gesetzt werden. Aber mit global current_value scheint es auch ein Problem zu geben. Verwendest du die Variable auch außerhalb des Threads. Macht für mich keine Sinn, ich nehme sie mal raus.

    So könnte es funktionieren. Ich würde mir für Thread allerdings noch einen anderen Namen überlegen. Ist ein wenig verwirrend, wenn ein Thread Thread heißt. Fördert nicht gerade die Lesbarkeit.

    du musst die Zuweisung current_value = wert() innerhalb der Schleife machen. Und schreib mal last_value => 10. Also so:

    Hi, also bei 8GB müssen das schon ziemlich viele Programme sein, um die voll zu kriegen. Die Standardinstallation hat irgendwas zwischen 2-3GB und da ist ja schon einiges an Software dabei. Und die meisten Anwendung, die man noch nachinstallieren will, liegen wohl eher im KB bis ein paar MB Bereich. Ok, Officepaket wird wohl ein paar hundert MB sein, aber will man das. Vielleicht noch Kodi (Mediacenter) mit ca. 100MB. Oder meinst du mit deinen Programmen deine Selbstgeschriebenen. Das weist du selbst am besten, wieviel die brauchen. Es gibt ja auch Leute, die nehmen 32GB, warum auch immer. Und der Preisunterschied zwischen 8 und 16GB ist ja jetzt auch nicht so groß. Also da kann ich dir keinen Tipp geben. Normalerweise sollten 8GB locker reichen, aber es kommt eben darauf an, was man machen will. Gruß

    Hi Frank,
    für time.sleep() lässt sich eine Zeit festlegen. Das kann 1 Sekunde sein oder 5 oder 60. Wenn also der Wert nur alle 4s erneuert wird, dann wählst du eben für time.sleep() 4s oder größer. Der Vorschlag von Andreas ist absolut richtig, so wird eine Änderung bzw. Nichtänderung festgestellt, aber ohne time.sleep() fragt deine Schleife den Wert tausendfach pro Sekunde ab. Das ist nicht nur unnütz, sondern belastet auch die CPU. Ich würde also time.sleep() und eine Hilfsvariable verwenden.

    Gruß

    Code
    import time
    while 1:
          current_value = wert()
          if current_value < 10.0 And last_value > 10.0:
                 Message()
          last_value = current_value
          time.sleep(4)

    Wartet denn der Programmablauf in der Zeile (Zeile 2), in der wert() ausgelesen wird, solange bis ein neuer Wert kommt, oder kann es sein, dass da mehrmals der gleiche wert() abgerufen wird, weil er sich so schnell nicht geändert hat. Wenn dann jedesmal der wert() unter der Schwelle liegt, wird auch mehrfach Message() ausgegeben. Ein Schleifendurchlauf liegt ja so im Milli- bzw. Mikrosekundenbereich. Mit time.sleep() in der Schleife ließe sich eine Wartezeit einbauen. Die break-Anweisung beendet die while-Schleife komplett. Das bedeutet, es wird mit dem fortgesetzt, was nach der Schleife kommt. Wenn die wert()-Überwachung aber weiter laufen soll, dann muss das break weg.

    Code
    import time
    while 1:
           current_value = wert()
           if current_value < 10.0:
                  Message()
           time.sleep(1)

    Also abhängig davon, in welchem Zeitabstand wert() sich ändern sollte, eine Pause in der Schleife.

    Hi,
    also nur um erstmal die Gedanken zu sortieren und weil du immer von einer Schleife und dem else-Teil schreibst. Du hast in deinem Script eine while-Schleife, eine if-else-Anweisung und eine for-Schleife. while-Schleife um auf den Wert zu warten, ok. if-Anweisung, um den Wert zu prüfen, ok. Das continue im else-Teil ist überflüssig, da ist nichts mehr zu überspringen. Aber wenn der Event (Message()?) nur einmal ausgeführt werden soll, warum dann in eine for-Schleife, die bis 1 zählt?. Die for-Schleife ist für mich unnütz.

    Woran erkennst du, dass der if-Teil 'unendlich' ausgeführt wird? Wird dann Message() auch unendlich ausgeführt? Der if-Teil kann eigentlich gar nicht unendlich ausgeführt werden, sondern es ist die while-Schleife, die immer wieder durchlaufen wird. Aber sobald die if-Bedingung eintritt müsste nach Message() die break-Anweisung die while-Schleife beenden.

    Gruß

    Hi, vermutlich willst du 2 Lastanschlüsse vom Relais jetzt auf 2 GPIOs übertragen? Das funktioniert so nicht, die sind intern nicht verbunden oder durchschaltbar. Jeder GPIO gibt für sich eine Ausgangsspannung ab, wenn er als Ausgang definiert ist.

    Die Transistorschaltung wäre das richtige. Kollektor und Emitter sind die Lastseite, wie beim Relais, Emitter an Masse. Der dritte Anschluss, die Basis, kommt an den GPIO. GND vom Raspi mit an Masse. Der Steuerstrom vom GPIO an der Basis schaltet den Transistor durch, somit kann der Laststrom fließen. Welche Last soll denn geschaltet werden? Eventuell reicht ein Transistor nicht aus, dann muss ein Darlington Array ran.

    Gruß

    Hallo Justus,

    bei mir, Raspi B Rev.2, steht alles in der /etc/network/interfaces und sieht so aus

    Wichtig ist auch in /etc/modprobe.d/8192cu.conf folgendes einzufügen, um die Stromsparfunktion vom WLAN-Stick zu deaktivieren.

    Code
    options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

    Vielleicht hilft's, Gruß

    Hallo,

    XBMC (jetzt Kodi) ist eine MediaCenter-Software. Du meinst das Raspbmc-Betriebssystem, auf dem XBMC so eingerichtet ist, dass es gleich startet? Ich weis nicht, ob man daneben noch andere Software installieren kann, aber angeblich kann man XBMC (Kodi) auch ganz normal unter Raspbian installieren, so wie andere Software auch. Raspbian ist das Standard-Betriebssystem für den Raspberry.

    Gruß

    Hallo Python.dev,

    wenn du Hardware kennen lernen willst, würde ich auch gleich noch ein Starterpaket mit Steckbrett, Steckleitungen und Bauelementen (Schalter, Taster, LEDs, Widerstände usw.) vorschlagen. Von Sunfounder gibt es da verschiedene. Brauchst du dann noch Steckleitungen male/female oder einen Pi Cobbler, um vom GPIO Header aufs Steckbrett zu kommen. So kannst du die ersten Schaltungen bauen.

    Sorry, Gamefreak23, aber sind die Pi 2 nicht alle aus UK?

    Gruß

    Hallo,

    du brauchst 3 GPIOs. Einen für Start/Stop (Enable), einen für die Drehrichtung und einen für den Impuls. Über die Impulsfrequenz steuerst du die Geschwindigkeit. Bei jeder positiven Flanke dreht der Motor einen Schritt weiter.

    Nachtrag: 3 GPIOs als Ausgänge (s. oben), 3 als Eingänge für Schalter (Enable, Richtung, Geschwindigkeit)

    Enable auf High bedeutet, der Motor ist aus. Bei der Geschwindigkeit habe ich jetzt mal 5 Hz für langsam und 10 Hz für schnell genommen, bei einer Pulsweite von 2 ms. D.h. bei 10 Hz dauert die Periode 'puls + (puls * multi)' also 2 ms + (2 ms * 49) = 100 ms. Ich hoffe, ich habe das richtig gerechnet. Das ist jetzt nur mal ein grober Ansatz, hab's mangels Oszi auch nicht getestet. Aber die Richtung müsste stimmen, denke ich.

    Ach ja, das ganze ist in Python geschrieben. Gruß

    Hallo,

    diese Meldung kommt vom RPi.GPIO-Modul, weil die GPIO 2 und 3 im Gegensatz zu den anderen GPIOs physikalische Pull-Up-Widerstände haben. Wenn sich die Meldung nicht unterdrücken lässt, bleibt wohl nur entweder andere GPIOs zu nehmen oder auf die nächste Version von RPi.GPIO zu warten. Da wird das wohl gefixt.

    Change Log
    ==========

    0.5.12a2
    --------
    - Fix warnings with pull up/down on pins 3/5
    - Correct base address on Pi 2 when devicetree is disabled

    Hallo,
    da ist kein Fehler im Script. Die Meldung wird immer vom RPi.GPIO-Modul ausgegeben, wenn GPIO 2 oder 3 verwendet werden. Kann aber ignoriert werden. Wird wohl in der nächsten Version von RPi.GPIO gefixt.

    Change Log
    ==========

    0.5.12a2
    --------
    - Fix warnings with pull up/down on pins 3/5
    - Correct base address on Pi 2 when devicetree is disabled

    Wenn du nur Server, Media Center und so Sachen machen willst, dann reicht das für den Anfang erstmal aus. Ich hatte meinen auch zunächst an den TV angeschlossen und da ich nur alte PS/2 Tastatur und Maus habe, hatte ich mir auch noch einen Y-Adapter auf USB von Amazon geholt. Das und der Edimax Wireless USB Adapter am Raspi B Rev. 2 mit 1,2 A Netzteil funktionieren wunderbar.

    Für den Raspi 2 B wird meist ein 2 A Netzteil empfohlen, also ok so! Das sollte für Tastatur, Maus und Wireless USB Adapter reichen. Und ein USB Stick sollte auch noch gehen.
    Übrigens ist Ampere die Einheit vom Strom, also im Prinzip beides das Gleiche.

    Achte bei der Speicherkarte auf mind. Class 6. Class 8 oder 10 wären natürlich noch besser, vor einem Jahr wurde von Class 10 aber meistens abgeraten.
    Keine Ahnung wie heute die allgemeine Meinung ist.

    Wie S3raf4n schon schrieb, wenn du auch Elektronikbastelei machen willst, brauchst du natürlich noch Steckbrett, Leitungen und den ganzen anderen Elektronikkram. Dein Gehäuse hat ja schon die entsprechende Aussparung dafür. Daran hatte ich bei meinem Einkauf leider nicht gedacht, weshalb mein Deckel jetzt meist daneben liegt.

    Ich hatte damals die PC Games Hardware Guide Zeitschriften Raspberry Pi Das Handbuch und Das erweiterte Handbuch im Supermarkt gesehen und gekauft. Ein wenig drin geblättert und gelesen, zum ersten Einrichten verwendet und dann nur noch im Internet nach Infos gesucht. Soviel dazu!