- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 2 von 2

Thema: C-Control I UNIT M2.0 Programmierung

  1. #1

    C-Control I UNIT M2.0 Programmierung

    Anzeige

    Praxistest und DIY Projekte
    Hallo Gemeinde,
    ich habe vor mir eine Terrariumsteuerung zu bauen.
    Zu diesem Zweck habe ich mir ein C-Control I UNIT M2.0 bei CONRAD gekauft. Vorher hatte ich eine einfachere Variante dieser Baureihe.
    Jetz kommt mein Problem: Ich bin nun nicht der Programmierer, aber ich versuche mich in der Materie etwas hinein zu versetzen.
    Ich möchte verschiedene (4) Relais mit einem Zeitprogramm steuern.
    Ich habe da scho einiges probiert. Leider funzt das nicht so, wie ich es will. Die Relais fallen nach dem ansteuern eines zweiten immer wieder ab. Es bleibt sozusagen immer nur ein Relais angesteuert.
    Wie bekomme ich so eine Art Schleife für das Halten des Relaiszustandes hin? Kann man da etwas mit Variablen, die den Zustand speichern arbeiten? Wie geht das denn?

    Code:
    define SDA          as port[9]
    define SCL          as port[10]
    
    define EXTPORT      as byteport[4]
    define REL1         as port[29]
    define REL2         as port[30]
    define REL3         as port[31]
    define REL4         as port[32]
    define LIGHT as port[16]
    
    
    LCD.INIT
    LIGHT=off
    SDA=on
    SCL=on
    EXTPORT=OFF
    
    
    TYPE tUhrzeit
        Stunde AS BYTE
        _Minute AS BYTE
        Sekunde AS BYTE
    END TYPE
    
    DEFINE AlteUhrzeit AS BYTE
    DEFINE Jahr AS WORD
    DEFINE Heizungein AS tUhrzeit
    DEFINE Heizungaus AS tUhrzeit
    DEFINE Beregnungein AS tUhrzeit
    DEFINE Beregnungaus AS tUhrzeit
    
    
    Heizungein.Stunde = 20
    Heizungein._Minute = 36
    Heizungein.Sekunde = 00
    Heizungaus.Stunde = 21
    Heizungaus._Minute = 10
    Heizungaus.Sekunde = 00
    
    Beregnungein.Stunde = 20
    Beregnungein._Minute = 37
    Beregnungein.Sekunde = 30
    Beregnungaus.Stunde = 20
    Beregnungaus._Minute = 37
    Beregnungaus.Sekunde = 30
    
    
    
    DO
    
    IF Heizungein.Stunde = HOUR THEN
    IF Heizungein._Minute = MINUTE THEN
    IF Heizungein.Sekunde = SECOND THEN
    REL1=ON          
    END IF
    END IF
    END IF
    
        
    IF Heizungaus.Stunde = HOUR THEN
    IF Heizungaus._Minute = MINUTE THEN
    IF Heizungaus.Sekunde = SECOND THEN
    REL1=OFF          
    END IF
    END IF
    END IF
    
    
    IF Beregnungein.Stunde = HOUR THEN
    IF Beregnungein._Minute = MINUTE THEN
    IF Beregnungein.Sekunde = SECOND THEN
    REL4=ON
    END IF
    END IF
    END IF
    
    
    IF Beregnungaus.Stunde = HOUR THEN
    IF Beregnungaus._Minute = MINUTE THEN
    IF Beregnungaus.Sekunde = SECOND THEN
    REL4=OFF
    END IF
    END IF
    END IF
    
    
    
        IF AlteUhrzeit <> SECOND THEN
        
            AlteUhrzeit = SECOND
        
            Jahr = YEAR + 2000
               
            LCD.CLEAR
            LCD.POS 1,1
            
            IF HOUR < 10 THEN 
                LCD.PRINT "0" & HOUR
            ELSE
                LCD.PRINT HOUR
            END IF
            
            LCD.PRINT ":"
            
            IF MINUTE < 10 THEN 
                LCD.PRINT "0" & MINUTE
            ELSE
                LCD.PRINT MINUTE
            END IF
            
            LCD.PRINT ":"
            
            IF SECOND < 10 THEN
                LCD.PRINT "0" & SECOND
            ELSE
                LCD.PRINT SECOND
            END IF
            
            LCD.POS 2,1
            
            SELECT CASE DOW
            
                CASE BPPSunday
                    LCD.PRINT "So."
                CASE BPPMonday
                    LCD.PRINT "Mo."
                CASE BPPTuesday
                    LCD.PRINT "Di."
                CASE BPPWednesday
                    LCD.PRINT "Mi."
                CASE BPPThursday
                    LCD.PRINT "Do."
                CASE BPPFriday
                    LCD.PRINT "Fr."
                CASE BPPSaturday
                    LCD.PRINT "Sa."
           
            END SELECT
            
            LCD.PRINT " " & DAY & "." & MONTH & "." 
            LCD.PRINT Jahr
                               
        END IF
    
    LOOP
    
    LCD.OFF
    END

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803

    Prog für Terrariensteuerung

    Hallo tauchmaus63 (oder bist du auch spelli/Christoph?),

    da du jetzt ja bei CONRAD (in Hannover?) warst und dir eine C-Control I 2.0 gekauft hast, legst du jetzt mit der Programmierung deiner Terrariensteuerung los. Gut so.

    Dazu ein paar Anmerkungen:

    1. Dieses Board ist für die C-Control II, du hast aber die C-Control I. Also setz das doch auch in das C-Control I Board rein.

    2. Bleib doch auch sonst 'mal bei einem Board und einem Namen, weil man dann besser helfen kann. Du warst ja (höchstwahrscheinlich) auch im CC2net.de mit ähnlichen Fragen.

    3. Dein Prog sieht ja so zwar umständlich, aber ganz gut aus. Wenn du für die Beregnung die selbe Uhrzeit nimmst, schaltet sich das Relais ein und wieder aus. Eine Variable als Zwischenspeicher brauchst du nicht.

    4. Wenn du ein Prog veröffentlichst, setze es doch zwischen die "Code" Textzeichen, dann kann ein Leser es ausklappen und es nimmt nicht so viel Platz weg.

    Gruß Dirk

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests