Tag 13: Smarter Schalter für ein Soundboard

Hinter dem Türchen des heutigen Tages befindet sich ein weiterer Widerstand mit 1 kOhm, der heute noch keine Rolle spielt. Stattdessen möchte ich Ihnen zeigen, wie man einen smarten Touch-Schalter baut. Dazu ist folgender Aufbau nötig, der nur aus vier lose hängenden Drähten als Touch-Buttons und einer Drahtbrücke an Pin 23 besteht.

Vier gelbe Drähte als Touch-Buttons

Vier gelbe Drähte als Touch-Buttons

Die Besonderheit des heutigen Versuchs besteht vor allem im Programm selbst, das Sie an dieser Stelle über die Konfigurationsseite aktivieren können. Nach dem Aktivieren werden Sie feststellen, dass die Status-LED kurz blinkt und dann erlischt. Das liegt daran, dass das Board wieder im stromsparenden Deep-Sleep-Modus betrieben wird. Aufgeweckt wird es aber nicht nach einer gewissen Zeit, sondern erst, wenn Sie einen der Touch-Buttons berühren. Das Board sendet dann Infos über den Touch-Button zum Broker, der das Aufwecken ausgelöst hat. Das sieht dann z. B. so aus:

{"cmd":"get_touch_state","pin_name":"Touch4″,"pin_id":6,"pin_nr":14,"pin_state":true}

Während des Verbindungsaufbaus können Sie sehen, dass die Status-LED grün blinkt. Nach dem Senden leuchtet sie grün und zeigt so das erfolgreiche Übertragen an. Sollte die LED rot aufleuchten, hat die Übertragung nicht funktioniert. Direkt danach geht das Board wieder in den Deep-Sleep-Modus. Das System ist so stromsparend, dass man das Board wieder über die Batterien versorgen kann, um den smarten Schalter irgendwo in der Wohnung zu platzieren.

Hinweis: Um vom Deep-Sleep-Modus wieder in den normalen Modus zu wechseln, müssen Sie einfach nur die Drahtbrücke an Pin 23 herausziehen und das Board resetten

Der smarte Schalter selbst ist schon eine Besonderheit, aber wir wollen den Schalter nun auch mit NodeRED und einer Anwendung verbinden. Wir werden in dem Node-RED-Flow von heute noch einmal den Audio-out-Node bemühen, diesmal aber auch, um Audiodateien abzuspielen. Dazu müssen Sie zunächst einmal den Flow des heutigen Tages importieren, natürlich nicht, ohne die alten Flows zu deaktivieren, und Ihre persönliche ID statt des [PID]-Platzhalters einfügen.

Der Flow des heutigen Tages

Der Flow des heutigen Tages

Nun können Sie einfach mal ausprobieren, was die einzelnen Buttons eigentlich für Funktionen versteckt halten. Aber nicht vergessen, die Lautsprecher leiser zu stellen.

9 Kommentare

  1. Bernd

    Es hat alles so funktioniert wie beschrieben. Die Sounddateien waren auch alle auf Anhieb (wieder?) da. Zum Unterbrechen der Sounddateien war der Tipp von Paulaner (Reload Dashboard) wertvoll :-) Mit angefeuchteten Fingern war die Empfindlichkeit dann auch hinreichend gut.

    Mir ist es übrigens nicht gelungen, auch mit nachinstallierten Nodes, ein lokales Audio-File (WAV, MP3) abzuspielen. Hat jemand eine Anleitung oder Beispiel dafür?

    Antworten
  2. Marco81

    Eine Audiodatei ist nicht mehr verfügbar. Alternativ habe ich diesen Link gefunden (wer Wert drauf legt). ;-)
    http://www.rosswalker.co.uk/movie_sounds/sounds_files_20150201_1096714/2001_and_2010/cantdo.wav bei sorry dave.

    Antworten
  3. Ulrich

    Bis jetzt hat alles bestens funktioniert. Schade nur, dass "HiveMQ" die "try-out"-Seite seit gestern gesperrt hat und man jetzt eine kostenpflichtige Version kaufen muss. Die haben wohl gemerkt, dass alle Conrad-Adventskalender-Nutzer auf der Seite unterwegs sind und sofort Dollar-Zeichen in die Augen bekommen.

    Antworten
    1. Mirko

      Man kann die Websocket Demo noch unter
      http://www.hivemq.com/demos/websocket-client/
      finden.

      Antworten
  4. Maik

    Bei mir funktioniert das "touchpad" auch nur zufällig. Über das UI im Browser funktioniert es einwandfrei.
    Kann man die audiowiedergabe auch abbrechen? Grad bei article sehr nervig weil das einfach ewig geht. Kann ich selbst auch andere audios importieren?

    Antworten
    1. paulaner

      Hallo,

      abbrechen meines Wissen nur mit Seite neu laden, F5 oder Kreissymbol.

      Eigene Wave, schau mein Bild, in 'Dog' und 'Eastwood' verbergen sich die Links zu den Wave’s.

      Antworten
  5. paulaner

    Hallo,
    ich habe etliches versucht und hier mein Fazit.

    Der Link zu 'Dave', 'Sorry Dave' funktionierte nicht, 2001 Odyssee, darum hab
    ich gleich mal Clint genommen.

    Da ich annahm, ich verschiebe das Potential beim Berühren der Sensoren nach GND,
    habe ich die Emfindlichkeit in den 'General Settings' des NodeESP auf 5 runter
    gezogen. Das Berühren der Drahtenden an GND war dann auch nicht der Bringer.
    Es startete zufällig irgend eine Datei, meist 'Last Article'.

    Also versuchte ich es gegen Plus. Damit der Eingang nicht volles Pluspotential
    erhält (3.3V) habe ich den 1K Widerstand dazwischen.
    Aber das ging schon besser, es uß ja nicht immer einn Sensor sein, ein 'Taster'
    tut es auch, gerade wenn der Sensor so nicht 100% funktioniert.

    Der Hautwiderstand beträgt normalerweise so um die 2-2.5 kOhm. Der
    Übergangswiderstand (Berührungs-) ist ~10MOhm und bei jeden in in jeder
    Situation verschieden.

    Also ein bischen versuchen ist angesagt.
    Schade auch das sich die Empfindlichkeit der Sensoren nur global, also für alle einstellen läßt und nicht für jeden Eingang/Sensor getrennt.

    Antworten
  6. Martin Klein

    Bis Tag 12 hat alles perfekt funktioniert.
    Aber im Tag 13 Pojekt kommen keine Audios. Touch Empfindlichkeit habe ich auf 49 gestellt (weiter rauf trau ich mich nicht weil sich dann ev. das Board aufhängt – siehe Kommentare Tag 6).
    Wenn ich einen der Drähte berühre blinkt die Grüne Lampe 2 mal, dann geht sie für 10 Sekunden aus dann leuchtet sie konstant grün. Aber kein Sound…
    Viele Grüße
    Martin Klein

    Antworten
    1. paulaner

      Berühren, ist ein Thema für sich, zeigt sich bei einer kurzen Berührung, das Verhalten des Aufwachens des NodeESP (grüne LED blinkt hell) aber es wird nichts übertragen.

      Man sollte den Kontakt etwas länger betätigen.

      Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.