Pimp Tschoeatschi's "Laterne mit Kunstfeuer"

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Pimp Tschoeatschi's "Laterne mit Kunstfeuer"

      Als Erweiterung zu Tschoeatschi's Laterne, habe ich ein Bluetooth Modul (BT222) angebaut und eine kleine Android App mit Hilfe des AppInventor2 entwickelt.
      Link zu Tschoeatschi's Projekt
      Video zu seinem Projekt

      Tschoeatsch bat mich, dies zu veröffentlichen, dem ich gerne nachkomme.
      Ohne seine großartige Vorarbeit wäre dieses Projekt nicht entstanden; for sure... also an dieser Stelle nochmals: Vielen Dank Mike!



      In Abänderung zum ursprünglichen Entwurf von Tschoeatsch, habe ich zwei Ausgänge der Stripes Ansteuerung ändern müssen, da ich TXD und RXD für die Anbindung zum Bluetoothmodul benötigte.
      Die Belegung des ATMega können dem Programmcode entnommen werden.

      Der ursprüngliche Entwurf von Tschoeatsch sah die Einstellung der Flamme über drei Einsteller vor. Dies habe ich insoweit beibehalten, als dass nach dem Einschalten des Kunstfeuers die Werte von den Einstellern übernommen werden.
      Verbindet man sich über Bluetooth, wird dieser "manuelle Modus" verlassen und die verwendeten Werte an die App übertragen und dort dargestellt.
      Ab diesem Zeitpunkt erfolgt die Einstellung der Flamme komplett über die App und die Einsteller bleiben unberücksichtigt.

      Screenshot_2017-05-22-10-26-02.png

      Bluetooth
      über diesen Button erhält man eine Liste der gekoppelten Geräte. Das BT Modul der Laterne sollte also vorher gekoppelt worden sein.

      Disconnect
      beendet die BT Verbindung zur Laterne

      Ein/Aus
      dient zum Ein- oder Ausschalten der Laterne

      Abschalttimer
      hiermit kann die Laterne für die ausgewählte Zeit eingeschaltet werden
      Die Restlaufzeit wird bei > 1 min in Minuten herunter gezählt, bei < 1 min in Sekunden

      Flammen-Größe
      Einsteller, um die Höhe der Flamme einzustellen

      Flamen-Bewegung
      Einstellung für "ruhige Flamme" bis "hektische Flamme"

      Flammen-Temperatur
      Gelb bis weiß Verschiebung der Flammenquelle


      Flamme_Klein.png
      Abruf des Presetting "Flamme klein"

      Flamme_Mittel.png
      Abruf des Presetting "Flamme mittel"

      Flamme_Gross.png
      Abruf des Presetting "Flamme groß"


      Die App wurde mit AppInventor2 von Goggle erstellt.
      Ich persönlich empfinde diese Art zu "programmieren" nicht schön und äußerst unübersichtlich.
      Es ist ein "ewiges ge-klicke" und es sind, im Vergleich zu anderen Programmiersprachen, wenige Objekteigenschaften änderbar.
      Man hat bei dieser Art zu programmieren keinen Zugriff auf den eigentlichen Quellcode, alle Änderungen sind im vorgegebenen Baukasten zu tätigen.
      Das AppInventor2 Projekt ist beigelegt, schaut es euch selbst an und bildet euch eine Meinung.

      Für GANZ kleine Projekte sicherlich eine Alternative, um schnell ans Ziel zu kommen, für größere Sachen mir persönlich zu unfelxibel.


      Da ich das Projekt als Geschenk für meine Frau erstellt habe, heißt die Anwendung "Ute Laterne".
      Wer sich daran stören sollte, muss dies im AppInventor2 beheben :D


      Download Laterne_2 1,61 MB (Android App und Bascom Code)


      Einkauftipp zu diesem Projekt (Stand 22.05.2017)

      Bluetooth Module bei Banggood 3 Stck. ca. 11$
      LED Stripes mit 10 Stck WS2812 10 Stripes für ca. 16 $ (werden 12 Stck benötigt)
      ATMEGA328 328P 5V 16MHz Stck 2,95$
      Code first, think later - Natural programmer :D
    • six1 schrieb:

      Ohne seine großartige Vorarbeit wäre dieses Projekt nicht entstanden
      Sowas les' ich natürlich gerne, aber man sollte auch die nicht vergessen, die ich dazu brauchte, da wären:
      Fire2012 by Mark Kriegsman, July 2012, der Erdenker des Algorithmus und @R2D2 Bastler, der den code auf der Suche nach Effekten für seinen Nachtflieger gefunden hat. Also auch ein Dank an die. a_42_02cc30b2

      Was ich jetzt gut finde ist das hiermit eine Anwendung für den Appinventor vorgestellt wurde. Zusammen mit der Anleitung von @Michael hat man jetzt ein schönes Beispiel. Ein Abändern für eine eigene Anwendung ist oft leichter, als alles neu zu machen, zumindest beim Einstieg in das Thema. Also ein Danke an @six1 a_42_02cc30b2
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Super, das kleine Schmankerl wertet das ganze nochmal auf.
      Nur wo finde ich das, "Die Belegung des ATMega können dem Programmcode entnommen werden.", fehlt irgendwie.
      Irgendwo im Netz habe ich mal gelesen das die Ansteuerung der WS28xx sehr Zeitkritisch ist.
      Würde das ganz eventuell auch noch mit einen Attiny85 mit 8Mhz laufen?
      Mir schweben das so ein paar Kerzen vor die man auf den Tisch stellen kann, mit nur wenigen LEDs.
    • Ganz unten in meinem Beitrag "Download".
      In der Zip ist die Datei "Kunstfeuer_Laterne-regelbar-V1.1 Bluetooth und Timer.bas" enthalten.
      Außerdem wird die "Rainbow.lib" benötigt, welche in der Vollversion von Bascom dabei ist.

      PortD.2 Ausgang-1 Rainbow Stripe
      PortD.3 Ausgang-2 Rainbow Stripe
      PortD.4 Ausgang-3 Rainbow Stripe
      PortD.5 Ausgang-4 Rainbow Stripe

      Portd.7 /CS BT222

      ADC(0) Cooling
      ADC(1) Sparking
      ADC(2) Spark

      TXD BT222
      RXD BT222
      Code first, think later - Natural programmer :D
    • Also diese hier verwendete rainbow.lib ist die Vorgängerversion von der, die bei der Vollversion dabei ist. Ich hab' die 'alte' verwendet, um evtl mit der Demoversion von bascom so ein Feuerchen zu machen. Bislang war der code noch zu lang, ist aber in der ursprünglichen Version (ohne bluetooth) noch so zu verbessern, dass man mit 4k aus kommt. Die Rainbow.lib der Vollversion hat eine etwas andere Syntax.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • DIVX schrieb:

      Super, das kleine Schmankerl wertet das ganze nochmal auf.
      Irgendwo im Netz habe ich mal gelesen das die Ansteuerung der WS28xx sehr Zeitkritisch ist.
      Würde das ganz eventuell auch noch mit einen Attiny85 mit 8Mhz laufen?
      Mir schweben das so ein paar Kerzen vor die man auf den Tisch stellen kann, mit nur wenigen LEDs.
      Jede Led braucht 3 bytes sram plus noch paar Variablen und für jede Led noch 1 byte in einem array für 'heat'. Programmspeicher kann man bei den data für die Farbpalette sparen. Jetzt kannst du abchecken, ob das in den attiny passt. Aber- die Flamme wirkt durch das Lodern, es 'reisen' immer wieder mal leuchtende Gase von der Restflamme ab, das klappt nur bei einer gewissen Anzahl von Leds gut. Der Algorithmusist echt gut. Viele Leds bedeuten wieder mehr Berechnungen, bei den 120 Leds waren 8Mhz zu lahm, aber wenn's nur einige Leds sind, wird es passen. Die Rainbow.lib geht mit 8Mhz gut.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • businski schrieb:

      im Programm steht was von ATmega8
      $regfile = "m8adef.dat"
      und in der Beschreibung Atmega328
      welchen habt ihr den Eingesetzt?
      Mein erster Aufbau war in smd, da hatte ich einen mega328 hineingepappt. Dann hatte ich noch eine bedrahtete Version gebaut, da hab' ich den mega8 verwendet. Geht alles. Das bt-modul braucht die serielle Schnittstelle, die pins dafür hatte ich aber bei meinem Aufbau mit den stripes belegt. Deswegen stripes an andere pins und bt-modul an rxd/txd pins.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Ich muss gestehen, ich habe das BT222 verwendet. Dies ist aber nicht so "anwenderfreundlich", als das schicke BT Modul vom freundlichen Chinesen.
      Im Grunde einfach BT-Modul-RXD mit TXD und BT-Modul-TXD mit RXD vom Atmega verbinden.
      Über AT Befehle kann man die BT Module konfigurieren, so dass diese sich z.B. als "Laterne" in der BT Auswahl melden.
      Code first, think later - Natural programmer :D
    • @DIVX master und slave beziehen sich nach meiner Kenntniss auf das pairing. Hc05 kann auch zum pairing auffordern, wobei Hc06 nur aufgefordert werden kann. Wenn gepaired ist, geht die Datenverbindung in beiden Richtungen.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Du könntest recht haben, nur liest man überall unterschiedlich, mal so wie Du es sagst, mal so zB:
      "Mit dem Bluetooth Modul HC-05 ist eine drahtlose Kommunikation zwischen einem Arduino Mikrocontroller und z.B. einem Smartphone oder Laptop möglich. Es können Daten zum Mikrocontroller gesendet aber auch vom Mikrokontroller empfangen werden (Slave und Master). Das HC-06 Bluetooth Modul kann lediglich Daten empfangen (Slave). "


      Ich habe es mit dieser App vergeblich versucht.

      play.google.com/store/apps/det…wl.arduinobluetooth&hl=de

      Es ging nur mit HC-05, die Module habe ich aber auch schon ca 2 Jahre, möglich das sich da was geändert hat, bzw man muss die erst noch konfigurieren.