Zeitmessung mit Countdown und Buzzer

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo liebe Raspberry Pi Gemeinde,

    da mein Englisch "not the yellow from the Egg ist" ( :lol: ) dachte ich mir ich spreche das Thema zunächst im deutschsprachigen Forum an.

    Ich möchte gerne unser Üben für Wettkämpfe bei der Feuerwehr digitalisieren. So, wie das beim richtigen Wettkampf auch gemacht wird. Ich habe auf meiner Arbeit schon mal was von Raspberry Pi und Arduino gehört, wobei ich den Raspberry Pi wegen der Computer ähnlichen Visualisierung bevorzuge.

    Das ganze soll wie folgt ablaufen:

    Auf dem Bildschirm soll durch klicken auf das Feld "Start" eine Audiodatei abgespielt werden. "Nach dem Countdown beginnt die Zeitmessung. 5, 4, 3,..." so etwas in der Art. Nach dem der Countdown abgelaufen ist, soll automatisch die Zeitmessung los gehen. Am besten auch auf 0.01 Sekunden genau.
    Wenn dann der Akt vollzogen ist soll man mit Hilfe von einem Buzzers(Hot Button) die Zeit anhalten können.
    Nun wäre es gut wenn man die Zeit Speichern, oder heraus kopieren könnte, um eine Tabelle anzufertigen.

    So sollte es im besten Fall aussehen. Zum einen die Technik aber auch wir *grins*:

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Soweit alles verstanden? Danke schon mal im Vorraus!
    Tobias

  • Danke für die schnelle Antwort.

    Ich habe bis jetzt nur den Buzzer und den Pi.
    Ich hoffe das mir hier jemand ein bisschen bei der umsetzung helfen kann.

    Ich bräuchte Infos wie z.B.:
    Kann ein einfach einen Buzzer anschließen an den Pi? Reicht das oder soll ich das über ein Relais laufen lassen?
    Ist es überhaupt möglich eine Visualisierung zu bastel wie ich das möchte? Photoshop "Künste" sind vorhanden.
    Wie läuft das mit dem Countdown (Audiodatei) ab.
    Kann man sich irgendwo ein Grundgerüst holen?
    Ist die ganze Sache für einen der sich nicht so ganz mit der Materie auskennt überhaupt annehmbar?
    Sollte ich auf den Pi Noob packen oder doch Raspbian? Programmiert man das mit Phyton oder gibt es andere Sprachen die dafür vielleicht besser sind?

    Ja genau das ist echt viel aber ich hoffe ihr seid Hilfbereit :)

  • na ja - ich hab auch wenig Ahnung

    nur gibt es hier keinen der ,, ich hab eine Idee und brauche ein Lösung gebt sie mir,, mach was, zeig was du gemacht hast und wo du hängst dann gibt es (vielleicht) jemand der hilft

    aber Noobs ist eine Sammlung von Betriebssystemen wo du bei der Installation eins aussuchen kannst und Raspian ist ein einzelnes Betriebssystem - sorry an die experten wenn ich mich jetzt falsch ausgedrückt habe

    dann hast du auch keine SD Karte - wo willst du dann das Betriebssystem installieren ?

    Fang mit dem Betriebssystem an, dann hast du schon mal den ersten erfolg.

    Zum suchen kann ich Google empfehlen :lol:

    Was für Programmiersprachen kannst du?

    gruß

  • Hallo Tobias,

    herzlich Willkommen in unserem Forum!


    Hm, da hat Genco schon irgendwo Recht.

    Das hier ist kein Wunschkonzert. Einer wünscht sich dann was, und 100 Entwickler werfen ihren Ideen zusammen und 20 Programmierer hauen in ihre Tastaturen, als wenn es keinen Morgen gäbe.

    Das Stichwort heißt Eigeninitiative.


    Ich habe bis jetzt nur den Buzzer und den Pi.

    1. Die essentielle Hardware hast Du schon einmal
    2. Dir fehlt es an Software - und Programmierfertigkeiten
    3. Dir fehlt ein Schaltplan, um zusammen mit der Software und der vorhandenen sowie noch zu ergänzenden Hardware DEIN Projekt zu entwickeln und einen Prototypen zu erzeugen.



    Ich bräuchte Infos wie z.B.:
    Kann ein einfach einen Buzzer anschließen an den Pi? Reicht das oder soll ich das über ein Relais laufen lassen?
    Ist es überhaupt möglich eine Visualisierung zu bastel wie ich das möchte? Photoshop "Künste" sind vorhanden.


    Das hängt vom Buzzer ab. Keine Ahnung, welchen Buzzer Du gekauft hast. Welche Spannung erwartet er? Wieviel Strom zieht er? Packt der Raspberry Pi das?


    Ist es überhaupt möglich eine Visualisierung zu bastel wie ich das möchte? Photoshop "Künste" sind vorhanden.


    Das ist die geringste Kleinigkeit des Ganzen... Dazu brauchst Du kein Photoshop sondern, Du musst Dich für ein Framework einer der geeigneten Programmiersprachen entschieden haben. Und 5 bis 10 Minuten später steht Deine Benutzeroberfläche. Und damit auch der Grundgerüst des Quellcodes.


    Wie läuft das mit dem Countdown (Audiodatei) ab.


    10-9-8-7-6-5-4-3-2-1-0 ? (Computer sind super, wenn es ums Zählen geht!)


    Kann man sich irgendwo ein Grundgerüst holen?


    Das Gerüst steht, wenn Du die Oberfläche erstellt hast.


    Ist die ganze Sache für einen der sich nicht so ganz mit der Materie auskennt überhaupt annehmbar?


    Du brauchst ein wenig Elektronikkenntnisse und Kenntnisse in irgendeiner Programmiersprache wären auch ganz schick.


    Sollte ich auf den Pi Noob packen oder doch Raspbian? Programmiert man das mit Phyton oder gibt es andere Sprachen die dafür vielleicht besser sind?


    Raspbian - ganz eindeutig!


    Ja genau das ist echt viel aber ich hoffe ihr seid Hilfbereit :)

    Wie gesagt, Eigeninitiative ist ganz wichtig!

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas (February 29, 2016 at 2:43 PM).

  • Hallo nochmal,
    ich habe an meinem Projekt ein wenig weitergearbeitet und habe folgendes aus anderen Programmen übernommen bzw. umgeformt.
    So sieht nun mein Programm aus:

    from RPi import GPIO
    from time import *
    from tkinter import *
    import _thread

    def check_switch():
    state = "Anfang"
    while True:
    if GPIO.input(10):
    if state == "Anfang":
    state = "Uhr läuft"
    t_start = time ()
    elif state == "Uhr läuft":
    state = "Uhr gestoppt"
    t = time()- t_start
    text = "Zeit: "+ str(round(t,2)) + " Sekunden"
    label.config(text=text)
    else:
    state = "Anfang"
    label.config(text="0.00 Sekunden")
    while GPIO.input(10):
    sleep(0.01)
    else:
    if state == "Uhr Läuft":
    t = time()- t_start
    text = str(round(t)) + " Sekunden"
    label.config(text=text)
    sleep(0.01)

    window = Tk()
    button1= Button (master=window,
    text="Start",
    font=("Arial", 40), fg="green",)

    button2= Button (master=window,
    text="Reset",
    font=("Arial", 40), fg="red",)

    label= Label(master=window,
    font=("Arial", 50),
    bd=2,
    relief =SUNKEN,
    text = "0.0 Sekunden")

    label.pack()
    button1.pack(side=LEFT)
    button2.pack(side=RIGHT)

    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(10, GPIO.IN)
    _thread.start_new_thread(check_switch, ())
    window.mainloop()

    Um den Buzzer anzuschließen gehe ich von GPIO10 mit einem Taster auf Pin1 (3,3 Volt). Pin 10 ist außerdem mit einem 10Kiloohm Widerstand auf Pin6 (GND).

    Im Moment wird "Zeit starten" Zeit stoppen" und Zeit zurücksetzten alles über den Buzzer gemacht.
    Gedacht was es über die Buttons zu machen. Start und Reset ergibt sich und der Buzzer soll die Zeit anhalten. Nun scheiter ich beim umschreiben. Kann man das über eine Schrittkette machen? Oder denke ich zu kompliziert?

    Auch das Problem mit der Audio Datei habe ich noch nicht gelöst bekommen.

    MfG
    Automatisch zusammengefügt:
    Durch das erstellen der Antwort hat er die eingliederung nicht übernommen. Die ist selbstverständlich ordnungsgemäß ausgeführt.

    Edited once, last by Tobuscus (March 19, 2016 at 4:02 AM).

  • Hallo Tobias,

    bitte Deinen Code in sog. Code-Tags einbinden - und bitte darauf auchten, dass die Einrückungen richtig angezeigt werden. Sonst kann mit Deinem Code keiner was anfangen.

    Die Code-Tags findest Du über die Symbollleiste direkt über dem Eingabefeld. Es ist dieses blaue Symbol mit den Zeichen <> (links von php). Solltest Du die Symbolleiste nicht sehen, dann probiere es mal mit
    [ c o d e ]

    [ / c o d e ]

    (aber ohne Leerzeichen). Dann sieht das in der Vorschau oder nach dem Absenden so aus:

    Code
    Hier steht
        dann Dein
           Code drin

    Was dann noch besser wäre, wenn Du Deine Schaltung mit dem Programm Fritzing erstellst. Fritzing läuft auf PC unter Windows, Linux (Ubuntu) und auch auf dem Raspberry Pi.

    Dann kann man auch Deine Schalte besser erfassen und Fehler ausschließen.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas (March 20, 2016 at 9:20 AM).

  • Hallo,

    den Buzzer habe ich noch nicht angeschlossen aber ich werde ihn über ein Schütz an den Pi anschließen.

    Mein Code hat sich geändert und nun sieht er so aus:

    Ich bin damit zufrieden.
    Wenn ich nun aber den Befehl zum abspielen einer Datei einfüge, funktioniert das auch aber logischerweise fängt die Zeit sofort an zu stoppen. Ich möchte allerdings das die Zeit erst startet wenn das Soundfile zu ende ist.

    Hier der Musik Code:

    Code
    import pygame, random, time
    
    
    pygame.mixer.init()
    sound = pygame.mixer.Sound("Countdown.wav")
    sound.play()

    Wenn ich den dazwischen setzte und noch ein:

    Code
    sleep.(time)

    einfüge hängt sich das Programm auf da er meiner Meinung nach aus der Nachrichtenschleife fliegt und nicht mehr weiß was er abarbeiten soll. Richtig?
    Automatisch zusammengefügt:
    Chris1893
    "Um den Buzzer anzuschließen gehe ich von GPIO10 mit einem Taster auf Pin1 (3,3 Volt). Pin 10 ist außerdem mit einem 10Kiloohm Widerstand auf Pin6 (GND)."

    Statt dem Taster nun ein Schütz einsetzten und das Schütz wird von dem Buzzer geschaltet. Nun kannst du Problemlos die 3,3V mit einer Höheren Spannung schalten.

    Edited once, last by Tobuscus (March 31, 2016 at 6:07 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!