Jump to content

tatzemax

Members
  • Gesamte Inhalte

    71
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von tatzemax

  1. Die beiden Anschlusspunkte an einem Schaltkontakt am Quadrelais sind nicht Galvanisch getrennt hatte das Problem auch.

     

    Mit Galvanischetrennung ist gemeint dass das Steuersignal  welches durch dein Programm erzeugt wird Galvanische vom "Laststromkreis" getrennt ist.

    Weil es halt ein das Schaltelement ein Transistor Typ ist und diese können die Stromkreise nicht wie ein Herkömmlicher Schalter trennen.

  2. Ich weiß nicht wie das mit von 3D Drucker erstellten  Gehäusen ist,

    da in dem Fall mit deine Spannung von 230V AC gearbeitet wird da gibt es eine Grätenorm (IEC oder DIN VDE Nummer habe ich nicht im Kopf) ich meine da steht drinne das die Gehäuse bis 1000 V isolierend sein müssen.

     

    Um mit 230V AC die TF Produkte zu versorgen ist eigentlich kein Problem

    das geht recht fix Prittrafo auf Gleichrichterdioden und Einen Kondesator zum glätten.

     

     

    Ich könnte mir vorstellen wenn dieser Zwischenstecker eine Komplett neue Platine Entwickelt würde das die dort drinnen ist, das die günstiger wird als vorhandenen Bricks und Bricklets dort einzubauen, da man dort nur Produkte dauf platzieren würde die benötigt werden

    z.b. Nur 1 Relais und nicht 2, vielleicht auch einen Kleineren Mikrocontroller ...

     

    Und wer sich nicht an 230V traut den würde wohl Unterstützen

  3. Wenn ich das Richtig verstehe soll TF einen Zwischenstecker entwickeln der über Chibi o.ä. Modulen kommuniziert.

     

    Was wäre z.b. mit W-LAN in Fast jedem Haus verfügbar und es erreicht wenn es gut ausgerichtet ist ziemlich alle Ecken im Haus.

    und in den Zwischenstecker wird halt eine Platinlayout  angefertigt in dem sich ein Relais befindet und ein "Funkmodul", USB zum Konfigurieren, einen Mikrocontroller. und denn andren Kram der Benötigt wird

     

    Finde ich das ist eine Super Idee

  4. Um die Spannungsspitzen messen zu können wirst du ein gutes Messgerät haben müssen.

    Da diese Spannungsspitzen entstehen wenn die Spannung an der Spule die Spannung abgeschaltet wird, dieses Prinzip nutzt man als Zündenergie bei Leuchtstofflampen (Starter und Drossel) da sagt man, dass über dem Daumen gepeilt dort Spannungen an 1kV erzeugt (induziert) werden.

     

    Das diese Spannungen aber nicht energiereich sind und daher sehr kurzzeitig wird man das schlecht messen können. Aber vielleicht klappt es ja mit ein bisschen Glück.

     

    Ich würde jetzt spontan mal sagen das bei 8V Spannung die sog. Spannungsspitze bei etwa 20-30 V (Schätzwert) liegen.

  5. der Step down würde ich sagen ist nur für Gleichspannung aber da ist wirklich Verbesserungsbedarf in der Doku,  ansonsten bei 8V AC einfach einen Gleichrichter zwischen bauen da ist man auf der sicheren Seite..... bleibt aber dennnoch die frage wegen dem spannungseinbruch

     

    um das ganze einfacher zu gestallten mach es doch so das ein input Modul das drücken der klingel erkennt und ein dual quad Relais die klingel aktiviert da bin ich mir sicher das elektrisch aufjedenfall funktioniert....

  6. Normalerweise sollte das so funktionieren,

    es kommt halt auf den Widerstand der Klingelspule an und ob noch genug Strom fließen kann damit die Spule anzieht wenn du das Bricklet angeschlossen hast.

    Ich habe mal Ausgerechnet über das Bricklet fließen 1,7mA (8V/4k7Ohm=1,7mA)daher denke ich das es für die Klingel kein Problem wird.

     

    Wichtig ist das deine Stromversorgung genug Energie für die zusätzlichen Verbrauch also deine TF Produkte liefert, daher wäre es interessant zu wissen wie viel Strom über die Klingel fließt.

  7. Hallo und Frohe Weihnachten.

     

    An dieser Stelle wollte ich mal ein kleines Projekt vorstellen.

    Ich habe dafür das Segment Display 4x7 und das Temperature Bricklet genutzt,

    auf dem Segment Display lasse ich abwechseld die Systemuhrzeit und die Temperatur vom Temperature Bricklet anzeigen.

    Das ganze habe ich C++ geschrieben,

    denn Quellcode habe ich mal angefügt,

    falls jemand Tipps und Verbresserungen für den Code hat... ich würde mich freuen. (Ich bin Anfänger seih mir das zusammenkopiern der einzelnen Quellcode verziehen).

    #include <stdio.h>
    #include <time.h>
    
    #include "ip_connection.h"
    #include "bricklet_segment_display_4x7.h"
    #include "bricklet_temperature.h"
    
    #define HOST "localhost"
    #define PORT 4223
    
    
    
    const uint8_t digits[] = {0x3f,0x06,0x5b,0x4f,
                              0x66,0x6d,0x7d,0x07,
                              0x7f,0x6f,0x77,0x7c,
                              0x39,0x5e,0x79,0x71}; // 0~9,A,b,C,d,E,F
    int main(void)
    {
    
    // Create IP connection
        IPConnection ipcon;
        ipcon_create(&ipcon);
    
        // Create device object
        SegmentDisplay4x7 sd4x7;
        segment_display_4x7_create(&sd4x7, "iX8", &ipcon); 
        // Create device object
        Temperature t;
        temperature_create(&t, "dX3", &ipcon); 
    
    // Connect to brickd
        if(ipcon_connect(&ipcon, HOST, PORT) < 0) {
            fprintf(stderr, "Keine Verbinung möglich\n");
            exit(1);
        }
    while('a'=='a')
    {
    
    struct tm *newtime;
    time_t long_time;
    
    time( &long_time );
    newtime = localtime( &long_time );
    
    int stunde = newtime->tm_hour;
    int minute = newtime->tm_min;
    
    //Befehl an die Anzeige senden
    uint8_t segmentsuhr[4] = {digits[stunde/10], digits[stunde%10], digits[minute/10], digits[minute%10]};
    segment_display_4x7_set_segments(&sd4x7, segmentsuhr, 1, true);
          	usleep(10000000);//10 Sekunden
    
     // Temperatur auslesen (°C/100)
       		  int16_t temperature;
      		  if(temperature_get_temperature(&t, &temperature) < 0) {
        		  fprintf(stderr, "Kein Wert abrufbar\n");
       		  exit(1);
      		  }
    
    temperature = temperature/100.0;//Temperatur auf 2 Ziffern vor dem Komma bringen
    // Temperatur auf Anzeige schreiben
    uint8_t segmentstemp[4] = {digits[temperature/10], digits[temperature%10],0x63, digits[12]};
    segment_display_4x7_set_segments(&sd4x7, segmentstemp, 1, false);
    
    usleep(10000000);//10 Sekunden
    
    }
    ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally
    } 

    IMAG1316.thumb.jpg.171b932a26a4ec3bba2a795fb731351c.jpg

    IMAG1315.thumb.jpg.3506660049a9b015f843225c47f8ea58.jpg

  8. Hallo,

     

    ich habe den Motion Detector selbst nicht, aber auf dem Bild in der Doku habe ich einen kleinen Gelben Jumper gefunden

    Wenn du mal Links in die Ecke schaust dort ist der gelbe Jumper zu erkennen.

    bricklet_motion_detector_potentiometer_caption_350.jpg

     

    Alledings ist der Jumper entfernt,

    die Pinne wurden dann an der Leiterplatte von TF befestigt und der Jumper ist somit über, man könnte sagen das der Jumper ein kleines Geschenk an den Kunden ist...

     

    Frohe Weihnachten und viel Spas mit dem Bewegungsmelder  ;):D

  9. Hallo,

    bin Frischling bei der C++ Programmierung

    Ich habe vor das 7 Segment-display als Uhr zu nutzen, habe da auch schon Erfolge zu verzeichen, allerdings weiß ich nicht wie ich die Schleife zeitlich pausiern lassen kann

     

    des weitern hatte ich vor dass duch die eingabe von "a" das Programm/die Schleife beendet wird, klappt auch aber die schleife wird erst wiederholt wenn enter gedrückt wird, sollte sich aber wiederholen.

    
    #include <stdio.h>
    #include <time.h>
    
    #include "ip_connection.h"
    #include "bricklet_segment_display_4x7.h"
    
    
    #define HOST "localhost"
    #define PORT 4223
    
    
    
    const uint8_t digits[] = {0x3f,0x06,0x5b,0x4f,
                              0x66,0x6d,0x7d,0x07,
                              0x7f,0x6f,0x77,0x7c,
                              0x39,0x5e,0x79,0x71}; // 0~9,A,b,C,d,E,F
    int main(void)
    {
    
    // Create IP connection
        IPConnection ipcon;
        ipcon_create(&ipcon);
    
        // Create device object
        SegmentDisplay4x7 sd4x7;
        segment_display_4x7_create(&sd4x7, "iX8", &ipcon); 
    
    // Connect to brickd
        if(ipcon_connect(&ipcon, HOST, PORT) < 0) {
            fprintf(stderr, "Could not connect\n");
            exit(1);
        }
    
    
        while(getchar()!='a')
        {
        
        struct tm *newtime;
        time_t long_time;
    
        time( &long_time );
        newtime = localtime( &long_time );
    
        int stunde = newtime->tm_hour;
        int minute = newtime->tm_min;
    
        //Befehl an die Anzeige senden
        uint8_t segments[4] = {digits[stunde/10], digits[stunde%10], digits[minute/10], digits[minute%10]};
        segment_display_4x7_set_segments(&sd4x7, segments, 1, true);
              
        }
    ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally
    } 
    

×
×
  • Neu erstellen...