Beiträge von AliceDeh

    Guuuuten Morgen.

    meigrafd: DU packst einfach so den Code aus? :D Ich bin überwältigt!!
    Ich werde nachher die Schaltung aufbauen und das Skript sofort testen!!
    Wahnsinn meigrafd, Wahnsinn!!!!

    Eine kleine Frage: Arbeitet Python das Skript von oben nach unten ab? Wie eine Batch-Datei?
    Wahrscheinlich nicht oder? Wie nennt man denn eine solche Programmiersprache die nicht alles stur von oben nach unten abarbeitet, sondern ... äh ja schwer zu beschreiben :D

    Worauf ich hinaus will: Laufen die Funktionen die du definiert hast alle Parallal? Es würde in meinen Augen keinen Sinn machen, wenn er alle paar Sekunden das Skript von oben beginnt oder ist es doch so??

    Gruß und schicken Sonntag

    Danke für deine Antwort. Hast du Lektüre zur Hand für "Cllback" und "Interrupts".
    Damit kenne ich mich nicht aus. Bei Google finde ich sicher schnell was, aber kannst du mir ein explizites Tutorial oder Buch empfehlen?

    Grüße,

    ich habe auf meinem Breadboard ein kleines Spiel gebastelt,
    wo es darum geht schneller als der gegnerische Spieler auf den Buzzer zu drücken,
    wenn das Licht leuchtet.

    Hier ist meine Schaltung:

    [/img]

    Hier die Wiring-Pi Library:

    wiringPi_l4d96.jpg

    Nun möchte ich mit der Programmierung anfangen und möchte mit euch ein geeignets Konzept für mein Vorhaben erötertn.

    Der Code beinhaltet bereits die Initialisierungen der PIN's. Ich arbeite mit der WiringPi-Library 2.

    PUD_DOWN habe ich importet, da sonst der Buzzer nicht richtig funktioniert und ein kleines Signal auch bei nicht gedrückter Taste sendet.
    Randint habe ich importiert um die LED später zufällig blinken zu lassen.
    (Hier ist dann die Reaktion der Spieler gefragt!!)

    Wie ihr seht habe ich auf dem Breadboard 3 LED's auf jeder Spielerseite installiert.
    Das ist der Punktestand. Das Spiel endet sobald ein Spieler 3 Punkte hat.

    Wie realisiere ich nun am besten den Ablauf?
    Mit einen Haufen if's? Einem Case?

    Habt ihr Ideen? :daumendreh2:

    Gruß

    Hier nochmal dein Code:

    Der erneute Fehler:


    Traceback (most recent call last):
    File "led_5_reihe_taster_six.py", line 35, in <module>
    main()
    File "led_5_reihe_taster_six.py", line 31, in main
    buzz(200, 1000) # 1000 = 1sec laut Doku von wringpi
    File "led_5_reihe_taster_six.py", line 25, in buzz
    time.sleep(delay)
    NameError: global name 'time' is not defined

    Funktioniert leider auch nicht.
    Komische Funktion .. man übergibt 'pitch' und es wird einfach nichts geändert. Das kenne ich so aus dem Unterricht auch nicht ..
    Muss mir wohl oder übel ein neues Projekt einfallen lassen. Meine Idee scheint nicht umsetzbar zu sein.

    Danke euch trzdem für die Hilfe bis dahin :/


    Das könnte das ä im kommentar sein.
    mach mal alle umlaute raus.
    Kann es gerade nicht testen.
    Gruß Nylan

    Habe oben

    #!/usr/bin/Python
    #-*- coding: utf-8 -*-

    hinzugefügt, dann war es ok, aber es treten andere Fehler auf.

    File "led_5_reihe_taster_two.py", line 7
    for i = 0 to AnzahlPins-1: # schleife um alle auf einmal zu ändern
    ^
    SyntaxError: invalid syntax

    Ich danke dir für deinen Versuch, aber wenn du die Sprache nicht kennst, wird es schwer da was aufzustellen :)


    Offensichtlich kommt der Code von hier

    AliceDeh
    1. du sollst Codewiederholung meiden. Dies wurde dir schon im anderen Strang mitgeteilt
    2. ``if`` ist eine Anweisung und keine Funktion. Also lass die Klammern da weg.
    3. schreibe aussagekräftige Name. ``a = 1`` was soll a sein?? In Python gibt es eine Namenskonvention an die man sich halten muss/soll
    4. wie oben erwähnt, ist es besser, sich zuerst mit den Grundlagen vertraut zu machen, bevor man sich Hals über Kopf in grössere komplexere Projkte stürzt. Dazu noch ein bekannter Artikel.

    Sehr sauberer Code auf jeden Fall, aber dennoch erscheint ein Fehler:

    'Traceback (most recent call last):
    File "led_5_reihe_taster_six.py", line 35, in <module>
    main()
    File "led_5_reihe_taster_six.py", line 31, in main
    buzz(200, 1000) # 1000 = 1sec laut Doku von wringpi
    File "led_5_reihe_taster_six.py", line 25, in buzz
    wiringpi.delay(delay)
    TypeError: in method 'delay', argument 1 of type 'unsigned int'
    '

    Zitat


    if __name__ == '__main__':
    main()

    Den versteh ich gar nicht :( Hier geht es auch nur um den Pieper.
    In deinem Skript wurde mein Buzzer (Taster) ignoiert.

    Nochmal:

    Mein Buzzer funktioniert und die LED's leuchten, doch ändert der Buzzer sein Tonlage nicht.

    Wer kann mir helfen?


    Dein Ansinnen ist mir klar, die Funktio buzz passt nicht. Wie Du erkannt hast, hängt sind pitch und duration sinnlos. Einzig cycle und sleep bestimmen Länge und Höhe des buzzers. Was hast Du am GPIO 6 dran?

    Code
    def buzz(pitch, duration):
    
        for i in range(duration):#Hier müsstest Du ausprobieren wie hoch duration sein muß, ich würde aber lieber mit time arbeiten
            wiringpi.digitalWrite(6, True)
            sleep(pitch/1000) #die Dauer des sleep bestimmt die Frequenz pitch = 1 wäre hier 1kHz
            wiringpi.digitalWrite(6, False)
            sleep(pitch/1000)

    Wo hast Du die Ursprungsfunktion her?

    An GPIO 6 ist mein Buzzer. Wenn der Strom an PIN 6 fließt geht die LED an.

    PS: Übersprungfunktion?


    Dein Ansinnen ist mir klar, die Funktio buzz passt nicht. Wie Du erkannt hast, hängt sind pitch und duration sinnlos. Einzig cycle und sleep bestimmen Länge und Höhe des buzzers. Was hast Du am GPIO 6 dran?

    Code
    def buzz(pitch, duration):
    
        for i in range(duration):#Hier müsstest Du ausprobieren wie hoch duration sein muß, ich würde aber lieber mit time arbeiten
            wiringpi.digitalWrite(6, True)
            sleep(pitch/1000) #die Dauer des sleep bestimmt die Frequenz pitch = 1 wäre hier 1kHz
            wiringpi.digitalWrite(6, False)
            sleep(pitch/1000)

    Wo hast Du die Ursprungsfunktion her?

    Meinst du so?

    Ne oder? Geht nämlich nicht^^

    Habe ihn jetzt umgeschrieben:

    Die Tonlage bleibt dennoch unverändert :/

    Grüße,

    vorab der Code:

    Wie ihr seht, wird mit jedem Tastendruck auf den Buzzer eine LED angeschaltet und der BiepTon wird ausgelöst. Dafür benutze ich die Funktion "Buzz". Buzz benötigt 'pitch' & 'duration', wie hier in diesem Code-Beispiel.

    Ich erhöhe immer den Pitch und Duration doch es kommt kein hörbarer Unterschied.
    Hat dieser "nicht-eintretende" Effekt etwas mit dem:

    Code
    def buzz(pitch, duration):
    	period = 1.0
    	delay = period / 2
    	cycles = 1
    	for i in range(cycles):
    		wiringpi.digitalWrite(6, True)
    		sleep(0.5)
    		wiringpi.digitalWrite(6, False)
    		sleep(0.5)

    period und delay erscheinen mir ziemlich ungenutzt. Und warum benutze ich 'cycles' wenn ich bei die Dauer mit 'duration' bestimme? :@ :@
    Kennt sich jemand mit der Funktion "Buzz" aus? Benötige eure Hilfe :)

    Ich versuche zu realisieren, dass bei jedem Tastendruck und eine weitere LED angeht der Ton umso höher wird pro angeschalteter LED.

    Gruß


    Dann probiert doch wenigstens Sachen aus, die noch ansatzweise funktionieren können!
    Denn das kann, wird nie funktionieren.
    Und der Kerl aus dem anderen Forum ist ein Depp. Erst redet er von LAN mit USB verdrahten und dann hat er plötzlich 4/5 WLAN Balken. Der hat sie doch nicht mehr alle..
    LG

    Ja sehr komisch,aber wollten es einfach mal nachbauen...

    Dann erklär ich mal den Thread für erledigt. Danke euch


    Freie Zeit auf Arbeit und wir sitzen im Labor und wollten experimentieren :)

    Daher ... wundert euch nicht. Wir probieren nur einige Sachen aus :)

    Danke euch trotzdem bis dahin!

    Auf anderen Seiten wird ein USB-A mit RJ-50 verwendet um mein Vorhaben zu realisieren.

    Aber es geht eben nicht mit RJ-45.


    Hy ich habs mal ein wenig umgeschrieben.
    Es sollte so funktionieren.
    Sicher bin ich mir aber nicht, hab noch nie Phyton geschrieben :D könnten halt ien paar Syntaxfehler drin sein.

    Ich hoffe mal es klappt ;)

    Gruß Nylan

    WoW Danke dir!!

    Doch leider erscheint ein Fehler auf den ich noch nie gestoßen bin.

    ' File "led_5_reihe_taster_two.py", line 3
    SyntaxError: Non-ASCII character '\xc3' in file led_5_reihe_taster_two.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
    '

    Schade,

    mit Konverter meinst du nen A/D-Wandler?
    Nun habe ich beides aufgeschnitten und würde es gern funktionsfähig machen^^

    Nochmal mein Problem:

    Mit diesem Code:

    Funktioneren alle LED's auf Knopfdruck und gehen ordnungsgemäß wieder aus, aber wenn ich in der 'if-Schleife' die LE ausklammer, dann gehen trotzdem alle LED's auf Knopfdruck an.

    Bei diesem Code:

    Gehen nur die LED's die nicht ausgeklammert sind und sleep funktionert.

    Doch ich würde gerne realisieren, dass bei 1x Tastendruck 1. LED angeht und erst beim 2x Tastendruck die 2. LED angeht.

    Danke euch trotzdemfür die Antworten bisher.

    Grüße,

    zu Anfang mein Code:

    Mit diesem simplen Code steuere ich gleichzeitig 5 LED über einen Taster an.

    Nun würde ich gerne das jede Lampe bei gedrückthalten des Tasters einzeln mit Verzögerung leuchten oder dass wenn man 1x auf den Buzzer drückt auch nur eine Lampe leuchtet und beim wiederholten Drücken die zweite anfängt zu leuchten bis zur letzten.

    Könnt ihr mir behiflich sein? Mit 'sleep' zwischen der Ansteuerung der LED'S hat es leider nicht funktioniert.

    Gruß

    EDIT:

    Wenn ich bei:

    In:

    Code
    try:  
        while True:  
            if wiringpi.digitalRead(5):     # If button on PIN 5 pressed  
                    wiringpi.digitalWrite(0, 1) # switch on LED. Sets port 0 to 1 (3V3, on)
            else:  
                    wiringpi.digitalWrite(0, 0) # switch off LED. Sets port 0 to 0 (0V, off)
            sleep(0.05)                      # delay 0.05s


    umbenne, dann leuchten trotzdem alle LED's wenn ich das Skript starte und den Buzzer drücke.

    Was ist der Fehler?


    Hallo AliceDeh,

    in den meisten elektrischen Leitern besteht das Kabel aus Kupfer.

    Ich hatte mal ein USB-KAbel aufgeschnitten. Einen Querschnitt von 1 mm² hatte das nicht - es war wesentlich weniger. Dies würde den Wiederstand noch weiter erhöhen (der Widerstand ist umgegekhrt proportional zum Quadrat des Durchmessers).

    Beste Grüße

    Andreas

    Ok, dann werde ich auf jeden Fall vor dem Kauf dieses Kabels zur Stromversorgung den Leitungsdurchnschnitt in Erfahrung bringen!! :)

    Danke


    Hallo AliceDeh

    schau Dir mal das vor kurzem erfolgreich gelaufene Kickstarter Projekt PiJuice an. Die PiJuice Solar Variante dürfte für Dich möglicherweise die einfachste Lösung sein.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Misteeq

    Schaue ich sofort an wenn ich daheim bin :) Ich bin gespannt!!

    Aber ich werde es ohne Akkus/Batterien betreiben, weil wie schon gesagt die Macht des Kabels niemand schlagen kann :D

    Evtl. ja. Interessant wäre es, wenn dein Freund einen LTE-Router hätte und dein Handy, das WLAN dieses LTE-Routers benutzen würde.

    Hallo rpi,

    ich bin die Woche über nicht zuhause, aber habe jetzt eine Möglichkeit gefunden wie ich meinem Pi mit einem speziellem Treiber vorgaukeln kann das meine Pi-Kamera als Gerät 'video0' eingebunden wird und ich kann daher auch mit Motion und den Befehl

    Zitat

    sudo mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -n -y -r 640x480 -f 15" -o "/usr/local/lib/output_http.so -n -w /usr/local/www -p 8080"

    anwenden um direkt von der Kamera zu streamen, statts mit Raspistill jede Sekunde ein Bild zu machen es dann die Bilder zu streamen.

    Werde ich gleich am Wochenende zuhause versuchen und hier wieder ein Post schreiben :thumbs1:

    Doch doch ich hatte deine anderen Beiträge gelesen!!

    Nettes Beispiel in deinem Post jetzt habe ich das mit dem Leiterdurchschnitt und den Spannungsverlust verstanden!!

    Ich werde auf jeden Fall einen Step-Down-Wandler nehmen und die zusätzlichen Gadegts zur optimierung die du beschrieben hattest verbauen. :)


    Ich werde gleich mal eine Liste von einem Onlineshop erstellen wo ich sofort die Komponenten bestellen werden, aber vorher natürlich nicht ohne deine Absegnung :bravo2:

    Kannst du mir einen guten Onlineshop empfehlen?

    Bisher hatte ich immer bei Conrad und SparFun bestellt.

    PS: Welches Material ist in USB Kabeln verbaut? Ich würde gerne nach dem spezifischen Widerstand der USB Kabel gucken.