Jump to content

CChris

Members
  • Gesamte Inhalte

    128
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von CChris

  1. Also für mein Vorhaben brauche ich die Möglichkeit, verschiedene Anschlüsse der Bricks nach außen an ein Gehäuse zu bekommen...

     

    sowohl den USB Anschluss, wie auch einen Anschluss für z.B. 5V, Ethernet (wenn entsprechende BrickExtensions verfügbar sind) und den Antennenanschluss der WiFi Extension.

     

    Zusätzlich dann noch Anschlüsse um Verbraucher anzuschließen (Relays z.B.) und TempSensoren anzuschließen.

     

    d.H. ich brauche für so ziemlich jeden Anschluss der TF_Hardware eine entsprechende BreakOut möglichkeit ... und die werde ich mir wohl selber bauen müssen^^

  2. es muss eine einfachere und simplere methode geben, meiner meinung nach...

    daher würde ich die schaltung "versuchsweise" erst einmal mit normalen schaltern aufbauen um ein Bild von der Logik dahinter zu bekommen... ich denke, dann lässt es sich auch eher in elektronischer bauweise reallisieren.

     

    z.B.

                                          |---- OUT 1
    IN A ----|                            |
             |---SWITCH 1 ---- SWITCH 2---|---- OUT 2
    IN B ----|                            |
                                          |---- OUT 3
    
    

     

    Switch 1 schaltet die Eingangsquelle zwischen A und B

    Switch 2 (3-Kontaktschalter) schaltet auf den entsprechenden Ausgang...

     

    Allerdings ist das eben "nur" ein einfacher Aufbau...

    die mir "spontan" eingefallen ist...

     

    man könnte hier halt nicht IN A auf OUT1 und IN B auf OUT 3 "gleichzeitig" legen...

     

  3. da war ich auch schon: ich suche den "männlichen" Stecker. Trotzdem Danke.

     

    so etwas suche ich auch... nur ich fürchte, da wird ein "eigenbau" notwendig sein, da meistens der weibliche Stecker genommen wird und dann nach Intern das Breakout stattfindet.

     

    bin am Überlegen, ob ich das ggf. mit einem kleinen USB Kabel "löse" - ist dann zwar nicht "schön" aber sollte funktionieren.

     

    Oder ich bastel selber einen entsprechenden BreakOut

  4. wie "laut" bzw. "leise" war das alte denn?

    Weil ein dezentes Signal wäre im Falle einer offenen Tür - oder vergessenen Tür im Zimmer schon ausreichend...

     

    Falls Ihr also irgendeinen "Restbestand" haben solltet, würde ich auch so eines mal nehmen (zumindest zum Testen)...

    -> kann man später immer noch durch ein lauteres Signal austauschen...

     

    Also als Testbaustein oder ähnliches, durchaus noch zu verwenden...^^

  5.  

    Problematischer wird es mit 2 Quellen auf 3 Zielen. Pluto, ich denke du solltest dir als erstes einmal Gedanken machen wie du eine Satz von Schaltern verbinden musst damit das richtig schaltbar ist, bevor du dir Gedanken über die elektrische Umsetzung machst.

     

    Nun: Ich möchte die zwei Quellen mit einem der Audio Ziele verbinden.

     

    Also ich würde auch erst mal versuchen, dass auf Mechanischem Weg über Schalter oder so zu regeln...

    dann könnte man eher ein Bild davon bekommen, wie das auf Elektronischem / automatisiertem Weg laufen könnte.

     

    Letztendlich wird dann ja auch nur der Hardwareschalter durch einen Softwareschalter und einer entsprechenden Logik dahinter umgesetzt.

     

  6. hm... ich hab gestern mal meinen Audio "verteiler" für Headset/Microphon vom PC angeschaut... da ist ein Eingang und zwei Ausgänge für die Kopfhörer/Lautsprecher.

     

    Das kann man dann per Schalter umstellen.

     

    Ganz simpel gelöst - 2 Klinkebuchsen f. Ausgang, ein Klinkestecker für Eingang.

    Dann wird das ganze mit einem Schiebeschalter von Ausgang A nach Ausgang B gelegt.

     

    sowas müsste sich doch wirklich relativ einfach ohne viel Mühe via Software umsetzen lassen, oder?

  7. Hi,

     

    das Piezo Buzzer Bricklet wäre eine "interessante" Ergänzung für meine Terrariensteuerung, als z.b. Akustisches Signal, wenn eine der Schiebetüren nicht korrekt geschlossen ist o.ä. - allerdings fine ich den seit kurzem nicht mehr im Shop... ist der "nur" ausverkauft, oder komplett aus dem Programm genommen?

     

    Gruß,

    Chris

  8. Also brauche ich einen Counter, der Anspringt, sobald das Relay durch den Monoflop ausschaltet - und wenn der Timer seine Zeit durch hat, wird das Relay wieder mit SetState(true, ...) eingeschaltet - bis das Monoflop ihn wieder ausschaltet...

     

    hm...

    Generell wäre das ja komplett dann über eigene Timer steuerbar - mit dem Unterschied, dass der Heizer im Schlimmsten Falle bei einem Disconnect der Verbindung oder einem Absturz der Software aktiviert bleibt... stimmts?

  9. Hallo Zusammen,

     

    ich möchte mein DualRelay gerne wie folgt ansteuern:

    Wenn die Temperatur unter XGrad ist, dann soll Relay1 des DualRelayBricklets für den Zeitraum A eingeschaltet werden.

    Danach soll es für den Zeitraum B ausgeschaltet sein und nach ablauf dieser Zeit wieder eingeschaltet werden.

    Das ganze so lange im Wechsel, bis die Temperatur X erreicht ist...

     

    Ist diese erreicht, soll das Relay1 ausgeschaltet bleiben, bis die Temperatur wieder unter X Grad liegt.

     

    Lässt sich das mit SetMonoflop(); machen?

    oder muss ich einen eigenen Counter laufen lassen, um den Statuswechsel durchführen zu können?

     

    private void TemperatureBricklet(object tmpObj)
            {
                while (myTemp < 3000)
                {
                    startHeating();
                }
            }
    
            private void startHeating()
            {
                TF_Bricklets.BrickletDualRelay.SetMonoflop(1, true, 10000);
            }
    

  10. Und weiter geht's...

     

    Derzeit hab ich noch ein kleines Problem mit dem Beispielcode aus der Dokumentation, bzw. mit einem Reconnect zu den Bricks...

     

    Im Beispielcode für C# wird die Sache mit den Callbacks wie folgt beschrieben:

    static void Main() 
        {
            // Create IP Connection
            ipcon = new IPConnection();
    
            // Register IP Connection callbacks
            ipcon.EnumerateCallback += EnumerateCB;
            ipcon.Connected += ConnectedCB;
    
            // Connect to brickd, will trigger cb_connected
            ipcon.Connect(HOST, PORT); 
            ipcon.Enumerate();
    
            System.Console.WriteLine("Press key to exit");
            System.Console.ReadKey();
            ipcon.Disconnect();
        }
    

    static void EnumerateCB(IPConnection sender, string UID, string connectedUID, 
                                char position, short[] hardwareVersion, 
                                short[] firmwareVersion, int deviceIdentifier, 
                                short enumerationType)
        {
            if(enumerationType == IPConnection.ENUMERATION_TYPE_CONNECTED ||
               enumerationType == IPConnection.ENUMERATION_TYPE_AVAILABLE)
            {
    ......
    }
    }
    

    static void ConnectedCB(IPConnection sender, short connectReason)
        {
            // Enumerate devices again. If we reconnected, the Bricks/Bricklets
            // may have been offline and the configuration may be lost.
            // In this case we don't care for the reason of the connection
            ipcon.Enumerate();
        }
    

     

    Ich habe den Code jetzt wie folgt übernommen:

    private void button2_Click(object sender, EventArgs e)
            {
                // Register IP Connection callbacks
                ipcon.EnumerateCallback += EnumerateCB;        
                //ipcon.Connected += ConnectedCB;
                // Connect to brickd, will trigger cb_connected
                try
                {
                    ipcon.Connect(TF_Bricklets.HOST, TF_Bricklets.PORT);
                }
                catch (Exception exceptionMsg)
                {
                    MessageBox.Show(exceptionMsg.Message + "\n\nDas Programm wird beendet.", "Fehler!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.Close();
                }
                try
                {
                    ipcon.Enumerate();
                }
                catch (Exception exceptionMsg)
                {
                    MessageBox.Show(exceptionMsg.Message, "Fehler!", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error);
                }
                //ipcon.Disconnect();
            }
    

    private void EnumerateCB(IPConnection sender, string UID, string connectedUID,
                                    char position, short[] hardwareVersion,
                                    short[] firmwareVersion, int deviceIdentifier,
                                    short enumerationType)
            {
                if (enumerationType == IPConnection.ENUMERATION_TYPE_CONNECTED ||
                   enumerationType == IPConnection.ENUMERATION_TYPE_AVAILABLE)
                {
                    // create the subitems to add to the list
                    string[] myItems = new string[] { UID.ToString(), connectedUID.ToString() };
                   
                    // insert all the items into the listview at the last available row
                    listView1.Invoke(new Action(() => listView1.Items.Add(deviceIdentifier.ToString()).SubItems.AddRange(myItems)));

    private void ConnectedCB(IPConnection sender, short connectReason)
            {
                // Enumerate devices again. If we reconnected, the Bricks/Bricklets
                // may have been offline and the configuration may be lost.
                // In this case we don't care for the reason of the connection
                ipcon.Enumerate();
            }
    

     

    Wenn ich

    ipcon.Connected += ConnectedCB;

    nicht auskommentiere, werden mir alle Verbundenen Bricks und Bricklets doppelt ausgegeben - ich vermute mal, durch den erneuten Aufruf von ipcon.Enumerate() in ConnectCB... ?!

    Desweiteren musste ich das ipcon.Disconnect() auskommentieren, da das Programm ansonsten hängen bleibt, bzw. in diesem Fall keine Verbindung aufbaut...

     

    Ich gehe davon aus, dass der Grund hierfür relativ einfach sein dürfte, aber ich komme leider nicht drauf... Vermutlich, weil der Code unter "Robuster Ansatz" als Consolenprogramm geschrieben ist, ich aber eine GUI nutze?

     

    Zusätzlich habe ich versucht, das ganze nochmal als WPF in C# zu machen... funktioniert auch einiger Maßen, allerdings habe ich hier ein kleines Problem mit dem Disconnect und der ListView...

    dazu aber ggf. später mehr ^^

     

    Habt Ihr noch nen Tipp für mich?

     

  11. hier mal vielleicht als Hinweis, was ich per PN noch bekommen habe:

     

    im Bricker viewer stehen keine Optionen zur Verfügung.

    Wenn ich Bricker Viewer starte und auf connect klicke, kann ich nur auf Updates/Flashing klicken. und ich das tue, taucht ein Dialog auf und zeigt flogendes could not connect to tinkerforge.com , Firmwares and plugins be flashed from local files only.

     

    Ich glaube, da läuft der BrickDeamon nicht richtig?!

  12. ich bin gerade am Überlegen... man könnte natürlich einerseits einfach nur das Signal "durchleiten" - andererseit könnte man ggf. etwas mit den Analog IN und Analog OUT Bricklets machen...

     

    da bin ich mir aber ehrlich gesagt nicht so sicher...

    ein Digitalsignal dürfte nicht gehen, da das ja nur 1 und 0 kann... für Audio brauchste aber m.W.n. Analogwerte

  13. Wobei du es ja auch so machen könntest,

    dass die Relais in der nähe der Schaltung sind - und dann nur die Stromkabel verlegt werden... diese sind ja sowieso bereits vom Schalter bis zu den Motoren gelegt - oder?

     

    das meinte ich ja... die Kabel, welche den Motor ansteuern sind ja aber sowieso bis zum Schalter gezogen, vermute ich mal... d.h. da, wo der Schalter sitzt, müsstest du deine TF Schaltung unterbringen... oder zumindest in der nähe...

     

    Aber das ist schwer zu sagen, ohne wirklich die Verkabelung der ganzen Geschichte zu kennen - wäre auch möglich, dass man das ganze irgendwie über den Schaltkasten verkabeln kann...

     

    Kabel vom Schalter gehen zum Schaltschrank - dort sitzt die TF Schaltung - und von dort zurück zum Rollo...?!

  14. nein, da kann ich dir leider noch keine Antwort geben, da ich selber erst seit gestern die ersten TF-Bricklets daheim hab und selber noch am herumexperimentieren bin...

     

    Geschirmtes Kabel macht denke ich zumindest für das Verlegen über eine längere Strecke in meinen Augen sinn machen ... vor allem als Schutz, aber auch, falls weitere Stromleitungen in der nähe sind usw.

    Über die Länge... ich weiß nicht, ob es funktioniert - aber eigentlich sollte es in meinen Augen bei einer einfachen Schaltung weniger Probleme geben.

     

    Wobei du es ja auch so machen könntest,

    dass die Relais in der nähe der Schaltung sind - und dann nur die Stromkabel verlegt werden... diese sind ja sowieso bereits vom Schalter bis zu den Motoren gelegt - oder?

  15. also normale Webcams lassen sich ja relativ gut ohne Zusätzliche Stromversorgung über USB versorgen - klar, in diesem Fall fallen dann andere Verbraucher wie Motoren, etc. weg...

    Aber ich würde schon sagen, dass es möglichkeiten gibt, wie z.B. eine Zusätzliche Stromversorgung für das Camera-Brick

     

    Ich glaube als Bricklet wäre das schlecht machbar, aber als Brick, wie z.B. eben den IMU oder DC Brick usw. wäre es möglich.

×
×
  • Neu erstellen...