- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 11

Thema: Hilfe bei Zeit Bedingung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    45
    Beiträge
    642

    Hilfe bei Zeit Bedingung

    Hallo Bascom Programmierer,

    ich benötige mal eure Hilfe bei einem Projekt.
    Ich habe vor bei meier Treppe die Stufen mit LED´s zu beleuchten, dazu sollen die LED´s per PWM gedimmt werden und wie ein Lauflicht von oben nach unten durchlaufen. Die Geschwindigkeit wird so eingestellt das es wie ein Dauerleuchten aussieht. Um Port pins zu sparen mache ich das mit einen 4067 Multiplexer (Im Prog fehlen noch die 8-4-2-1 Code Angaben da die Hardware noch nicht fertig ist). Ein LDR Sensor erfasst die Lichtstärke im Flur und stellt dann die PWN in zwei Stufen ein (Abend und Nachtwert)
    Jetzt zu meinem Problem:
    1. Ich möchte das die Beleuchtung von 10-15 Uhr immer ausgeschaltet ist. Dazu habe ich schon eine Uhr mit einprogrammiert, aber irgendwie habe ich da ein Brett vor dem Kopf...
    2. Könnt ihr mir noch sagen ob ich den Programmteil mit der Lauflichtgeschwindigkeit richtig gemacht habe? konnte ich bisher leider nicht testen.

    PWM, Uhr und LDR funktioniern soweit tadellos.

    Vielen Dank schon mal
    Angehängte Dateien Angehängte Dateien
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Hi,

    was hast du den für ein Problem mit der Uhr und welcher Teil vom Programm ist für die Lauflichtgeschwindigkeit zuständig?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    45
    Beiträge
    642
    Hallo Kampi,

    die Uhr an sich läuft reibungslos ich möchte halt nur das in der Zeit von 10 bis 15 Uhr die LED´s aus sind bzw, keine PWM ausgegeben wird.
    ( siehe Programmteil PWM wir an pin 17 ausgegeben)
    Der teil mit dem Lauflicht ist im Prog beschrieben mit Geschwindigkeit bzw. Variable geschwindigkeitll wird gesteuert vom Timer0
    Das prog. Habe ich eigentlich soweit ganz übersichtlich unterteilt.

    Gruß
    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Hi,

    also die Berechnungen für den Timer0 sehen (soweit ich es sehen kann) gut aus.
    Nur soweit ich das gesehen habe, hast du beim Timer1 für die Uhr einen kleinen Fehler gemacht. Der Timer1 ist ein 16-Bit Timer und zählt bis 65535. Das heißt du musst den Timer mit 3035 vorladen um auf genau 1 Sekunde zu kommen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Stufe 15 wird nie angesteuert.

    Code:
    If Timecount = Geschwindigkeitll Then
       Incr Lednr
       Timecount = 0
    End If
    
    If Lednr = 15 Then
       Lednr = 0
    End If
    
    Select Case Lednr
    Case 1 : Gosub Stufe1
    Case 2 : Gosub Stufe2
    Case 3 : Gosub Stufe3
    Case 4 : Gosub Stufe4
    Case 5 : Gosub Stufe5
    Case 6 : Gosub Stufe6
    Case 7 : Gosub Stufe7
    Case 8 : Gosub Stufe8
    Case 9 : Gosub Stufe9
    Case 10 : Gosub Stufe10
    Case 11 : Gosub Stufe11
    Case 12 : Gosub Stufe12
    Case 13 : Gosub Stufe13
    Case 14 : Gosub Stufe14
    Case 15 : Gosub Stufe15
    
    End Select
    Wenn immer nur eine Stufe leuchten soll, würde es auch per Schieberegister gehen, wo immer nur Bit geschoben wird.

    Z. B.
    Code:
    $regfile = "m8def.dat"
    $crystal = 4000000
    
    Dim Geschwindigkeitll As Byte
    Geschwindigkeitll = 40                                      '40x25ms =1 Sek.
    Dim Timecount As Word
    Timecount = 1
    Dim Lednr As Word
    
    Config Dcf77 = Pind.5 , Timer = 1 , Gosub = Sectic          'DCF-Uhr Routine, lässt sich auch mit einem 4MHZ Quarz ohne DCF-Empfänger nutzen
    
    Pin Alias Portd.6                                           'Angenommen der DataPIN
    Pclock Alias Portd.7                                        'Angenommen, der ClockPIN
    Lednr = 1
    
    Do
    Gosub Lauflicht
    
    
    Loop
    End
    
    
    Lauflicht:
    
    If Timecount = Geschwindigkeitll Then
       If Lednr = 32768 Then                                    'nur 15 Stufen, daher auf die Erste springen
          Lednr = 1
       Else
          Shift Lednr , Left
       End If
       Timecount = 0
    End If
    If _hour > 9 And _hour < 16 Then
       Lednr = 32768
    End If
    
    Shiftout Pin , Pclock , Lednr , 0                           'hier die Schieberegister mit den LEDs ansteuern
    
    Return
    
    Sectic:
    'Uhranzeigen
    Return
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    45
    Beiträge
    642
    Hallo Peterfido,
    Das mit der Stufe 15 ist schon so gewollt, die hatte ich erst mit vorgesehen bekommt aber keine LED´s.
    Das mit dem Schieberegister ist sicherlich auch eine gute möglichkeit das Lauflicht umzusetzen, kommt aber im Endeffekt aber ja auf´s gleiche raus.
    Was viel wichtiger ist: du hast das stück code mit der Uhrzeit mit reingebracht!! Danke!!! Ich werde das mal ausprobieren, werde damit dann den PWM Timer deaktivieren.

    Ich melde mich dann wieder wenn ichs prbiert habe.

    Danke bis hierhein schon mal an alle
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

Ähnliche Themen

  1. Speichern im EEprom und von Zeit zu Zeit abfragen
    Von Duesentrieb im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 07.01.2010, 17:54
  2. Zeit mit DCF-Modul auslesen (brauche noch Hilfe!!!!!!!!!!!!)
    Von BurningWave im Forum C - Programmierung (GCC u.a.)
    Antworten: 34
    Letzter Beitrag: 06.09.2008, 20:23
  3. Motoransteuerung mit Bedingung
    Von Coleone im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 30.06.2008, 20:53
  4. Wassertankanzeige suche schnell Hilfe nur 3 Tage zeit :(
    Von Robotik im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 16.07.2006, 08:21
  5. Fehler in einer if-Bedingung
    Von GoTo im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 29.04.2005, 18:48

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress