Ankündigung

Einklappen
Keine Ankündigung bisher.

Erste Bilder und Bestückungsplan HW1.1, HW1.2 & Aufsteckplatine

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    Bin gerade nicht in Deutschland. Erinnere mich bitte nächste Woche noch einmal daran.

    Kommentar


      #47
      Kleiner Hinweis !!!
      Ich habe für einen Forums-Kollegen wieder mal ein paar HW1.2 Platinen aufgebaut. Davon sind noch welche abzugeben. Bei Interesse einfach bei mir melden.

      Kommentar


        #48
        Habe gerade gesehen, dass man wenn man die Platine mit einer Siemens BCU verwendet, noch weitere Lötbrücken geschlossen werden müssen. Nutzt ihr einen Arduino mit 5V, dann müsst ihr die rote Lötbrücke schließen und bei einem 3,3V Arduino die grüne Lötbrücke . Präsentation1.png

        Kommentar


          #49
          PROBLEM:
          Ich hatte vor dem Schließen der Lötbrücke die Situation, dass ich mit angeschlossenem USB Kabel alles programmieren konnte und auf dem Bus auch Telegramme empfangen habe.

          Nach dem Schließen der roten Brücke bei meinem Pro Micro 5V leuchten zwar die LEDs vom Arduino, es werden aber keine Telegramme mehr auf den Bus geschickt und ein Programmieren scheitert wieder..?

          Any ideas?
          Zuletzt geändert von Onkelandy; 15.11.2018, 07:48.

          Kommentar


            #50
            Warum das technisch der Fall sein soll ist mir nicht ganz klar. Da da schließen der Lötbrücke nur bedeutet, das der Promicro seinen Strom über die BCU bezieht und nicht mehr nur über den USB. Auf die Kommunikation zwischen Arduino und BCU sollte das keinen Abbruch tun.

            Wenn der Arduino nur an der BCU hängt und der USB ist NICHT angeschlossen, kannst du dann die Prog LED ein und wieder ausschalten !? wenn ja heißt das, dass der Arduino mal in seiner Loop Schleife läuft.

            Ich habe auf der Rückseite der Platinen markiert, ob es sich um eine 3,3V oder 5V Variante handelt. Hast du den richtigen Arduino auf die richtige Platine gesteckt?

            Kommentar


              #51
              Ja, hab die richtige Platine hergenommen und logisch ist mir das Ganze auch nicht. Es muss also effektiv am Arduino Code liegen, seh ich das richtig? Die Prog LED würde leuchten, sobald ich 1 Mal den Button betätige und abschalten, sobald ich nochmals auf den Button drücke? Oder einfach, solange man den Button hält? Dann werde ich das nochmals mit einem Beispielcode testen. Auf welchem Pin ist die LED denn? Sie blinkt bei mir immer, wenn es eine Übertragung gibt (TX-LED auf dem Arduino). Beim Drücken des Buttons ist mir noch nichts aufgefallen.

              Gibt's irgendwo einen getesteten Arduino Sketch, der einfach nur zB alle 10 Sekunden was per Serial Monitor in die Debug Konsole und auf den Bus schickt? Ohne zusätzliche Libraries, etc. Das wäre extrem hilfreich, um grundsätzliche Fehler auszuschließen.

              Vielen lieben Dank für den super Support!

              Kommentar


                #52
                Zitat von Onkelandy Beitrag anzeigen
                Auf welchem Pin ist die LED denn?
                Die liegt auf D8 und muss im Code auch so ausgewählt werden.

                beim drücken leuchtet die LED und beim wiederholten drücken geht sie wieder aus. Im Debug Fenster wird das so auch angezeigt. Das muss mal funktionieren, sonst brauchst du noch nicht nach das Senden von Nachrichten denken.
                Ich habe leider keinen Code mehr für die Arduino Micros.

                Kommentar


                  #53
                  Oki, prinzipiell funzt es nun. Danke für die Info. Ich habe versucht, einen Dummy Code zu basteln, den man zum Testen nutzen kann.. Ich wundere mich gerade, dass es ca. 10 Mal genau so funktioniert wie ich dachte.. nämlich 1 Mal pro Sekunde Wert senden. Danach läuft es aber plötzlich ca. 10 Mal so schnell.. Was hab ich da denn falsch?
                  Code:
                  #include <KonnektingDevice.h> 
                  #include "Konnekting_Blank.h"
                  
                  // ################################################
                  // ### KONNEKTING Debugging
                  // ################################################
                  // #define KDEBUG // comment this line to disable DEBUG mode
                  #ifdef KDEBUG
                    #include <DebugUtil.h>
                    // Get correct serial port for debugging
                    #ifdef __AVR_ATmega32U4__
                      // Leonardo/Micro/ProMicro use the USB serial port
                      #define DEBUGSERIAL Serial
                    #elif ESP8266
                      // ESP8266 use the 2nd serial port with TX only
                      #define DEBUGSERIAL Serial1
                    #else
                      // All other, (ATmega328P f.i.) use software serial
                      #include <SoftwareSerial.h>
                      SoftwareSerial softserial(11, 10); // RX, TX
                      #define DEBUGSERIAL softserial
                    #endif
                  #endif
                  //-----------
                  
                  // ################################################
                  // ### KONNEKTING Configuration
                  // ################################################
                  #ifdef __AVR_ATmega328P__
                    #define KNX_SERIAL Serial // Nano/ProMini etc. use Serial
                  #elif ESP8266
                    #define KNX_SERIAL Serial // ESP8266 use Serial
                  #else
                    #define KNX_SERIAL Serial1 // Leonardo/Micro etc. use Serial1
                  #endif
                  //-----------
                  
                  // PIN for programming LED
                  #define PROG_LED_PIN 8
                  // PIN for programming button
                  #define PROG_BUTTON_PIN 7
                  //LED heartbeat
                  #define PROG_LED_HEARTBEAT 1
                  #define COMPILE_TIMESTAMP __DATE__ " " __TIME__
                  
                  #ifdef PROG_LED_HEARTBEAT
                    int last_blink = millis();
                    bool state = false;
                  #endif
                  
                  int last_write = millis();
                  int delay_write = 10000;
                  
                  void setup() {
                    #ifdef KDEBUG
                      // Start debug serial with 9600 bauds
                      DEBUGSERIAL.begin(9600);
                      #ifdef __AVR_ATmega32U4__
                          // wait for serial port to connect. Needed for Leonardo/Micro/ProMicro only
                          while (!DEBUGSERIAL)
                      #endif
                      // make debug serial port known to debug class
                      // Means: KONNEKTING will use the same serial port for console debugging
                      Debug.setPrintStream(&DEBUGSERIAL);
                      Debug.println(F("Setup... compiletime: %s"), COMPILE_TIMESTAMP);
                    #endif
                  
                    // Init KONNEKTING ...
                    Konnekting.init(KNX_SERIAL, PROG_BUTTON_PIN, PROG_LED_PIN, MANUFACTURER_ID, DEVICE_ID, REVISION);
                  
                    /*
                       Delay
                    */
                    uint8_t val = Konnekting.getUINT8Param(PARAM_startupDelay);
                    // int paramStartupDelay = (val == 0xff ? 0 : val * 1000); //seconds
                    // initial delay
                    Debug.print(F("Startup delay delay %ims "), PARAM_startupDelay);
                    delay(PARAM_startupDelay);
                    Debug.println(F(" *done*"));
                  }
                  
                  
                  void loop() {
                    // process KNX stuff
                    Knx.task();
                  
                    // it's not ready, unless it's programmed via Suite
                    if (Konnekting.isReadyForApplication()) {
                      writeValue();
                    }
                  
                    #ifdef PROG_LED_HEARTBEAT
                      progLedHeartbeat();
                    #endif
                  }
                  
                  void writeValue() {
                    if (millis() - last_write > delay_write) {
                      #ifdef KDEBUG    
                        Debug.println(F("COMOBJ_testValue %i "), COMOBJ_testValue);
                      #endif
                      Knx.write(COMOBJ_testValue, !COMOBJ_testValue);
                      last_write = millis();
                     }
                  }
                  
                  
                  #ifdef PROG_LED_HEARTBEAT
                  void progLedHeartbeat() {
                  
                    if (Konnekting.isReadyForApplication()) {
                      // Blink Prog-LED SLOW for testing purpose
                      if (millis() - last_blink > 1000) {
                        if (state) {
                          digitalWrite(PROG_LED_PIN, HIGH);
                          state = false;
                        } else {
                          digitalWrite(PROG_LED_PIN, LOW);
                          state = true;
                        }
                        last_blink = millis();
                      }
                    } else {
                      // Blink Prog-LED FAST for testing purpose
                      if (!Konnekting.isProgState() && (millis() - last_blink > 200)) {
                        if (state) {
                          digitalWrite(PROG_LED_PIN, HIGH);
                          state = false;
                        } else {
                          digitalWrite(PROG_LED_PIN, LOW);
                          state = true;
                        }
                        last_blink = millis();
                      }
                    }
                  }
                  #endif
                  
                  // Callback function to handle com objects updates
                  void knxEvents(byte index) {
                      // nothing to do in this sketch
                  };

                  Kommentar


                    #54
                    warum willst du denn die Prog LED blinken lassen !?

                    Kommentar


                      #55
                      Soll nur ein Testbeispiel sein. Den led heartbeat hab ich aus nem anderen Beispiel auf github.

                      Kommentar

                      Lädt...
                      X