- LiFePO4 Speicher Test         
Seite 7 von 7 ErsteErste ... 567
Ergebnis 61 bis 65 von 65

Thema: Propeller-Clock aber eigentlich Drehlicht und die Timer ?

  1. #61
    Anzeige

    Powerstation Test
    Zitat Zitat von Ratber
    Wäre für dich aber auch wertlos da man sich die Werte eh erst rechnerisch je nach Geometrie erarbeiten muß.
    Hättest Du einen Tip für mich wo diese mathematischen Zusammenhänge auch für Laien einigermaßen verständlich und nachvollziehbar erklärt sind?

  2. #62
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Zitat Zitat von Bot-Builder
    Zitat Zitat von Ratber
    Wäre für dich aber auch wertlos da man sich die Werte eh erst rechnerisch je nach Geometrie erarbeiten muß.
    Hättest Du einen Tip für mich wo diese mathematischen Zusammenhänge auch für Laien einigermaßen verständlich und nachvollziehbar erklärt sind?
    In anlehnung an eine bekannte Buchreihe suchst du in etwa "Induktion für dummies"

    Das wird es wohl nicht geben.
    Das liegt, vorsichtig gesagt, an der komplexität des Themas selber.

    Genauso könnte man nach "Kernphysik für dummies" suchen wenn man vor hat selber einen Reaktor zu bauen.


    Sorry !
    Gruß
    Ratber

  3. #63
    Zitat Zitat von Ratber
    In anlehnung an eine bekannte Buchreihe suchst du in etwa "Induktion für dummies"
    Das sicherlich nicht.

    Zitat Zitat von Ratber
    Das liegt, vorsichtig gesagt, an der komplexität des Themas selber.
    Das es sich hier um eine komplexes Thema handelt, ist schon klar.

    Zitat Zitat von Ratber
    Genauso könnte man nach "Kernphysik für dummies" suchen wenn man vor hat selber einen Reaktor zu bauen.
    Irgendwie kommen wir, vorsichtig gesagt, nicht wirklich weiter. Weiss Du was, vergiss es einfach.

  4. #64
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Was den nun ?


    Entweder du nimmst dir die nötige Zeit und lernst das Teilgebiet das ich mal vereinfacht mit "Induktion und Magnetismus" betitel.

    Oder du machst es wie viele andere nach der Trial and Error Methode.

    Dazwischen gibt es nichts ausser "nachbauen" von schon vorhandenen und dokumentierten Projekten.


    Mußt dich nur entscheiden.


    Irgendwie kommen wir, vorsichtig gesagt, nicht wirklich weiter. Weiss Du was, vergiss es einfach.

    Auch ne Möglichkeit.....
    Gruß
    Ratber

  5. #65
    Hallo alle zusammen

    Ich weiß zwar das dieses Thema schon länger inaktiv ist trotzt dem wollt ich hier mal eine Frage los werden. Ich bin gerade dabei mir eine Propeller Uhr zu bauen und wollte fragen wie man aus einer Tabelle mit mehren Dateien hinter einander eine nach der andern ziehen kann.
    Oder wie man das mit der Zeichen Auswahl besser machen kam.
    Ich will nämlich die Uhrzeit nicht wie im Original an 4 Sieben Segment anzeigen aus geben sonder über einen Propeller mit 8 led’s . Zu sagen ist noch das an den Itn0 Pin eine Lichtschranke habe die gegen Masse zieht nur an einer Stelle durch eine Blechfahne unterbrochen wird und dann plus potenzial an den Pin anliegt.
    Ich hoffe einer von euch kann mir helfen oder Verbesserungsvorschläge machen.
    Ich wehre sehr dankbar darüber, weil ich auch noch nicht sehr lange mit Bascom arbeite.

    Hier noch mein Quellcode der von der Black- Strom Uhr von Wolfgang Schwarz abgeleitet ist:

    Code:
            '*******************************************************************************
    ' http://www.black-strom.de.vu/
    '
    '
    ' Feature:
    ' - mit Interner Zeitbasis (Timer1)
    ' - Multiplexausgabe auf Siebensegmentanzeige (Timer0)
    ' - Uhr ist über zwei Taster einstellbar.
    '
    ' To Do:
    ' -
    '
    ' Feature for the future:
    ' - anderer µC  evnt. ATMega8, da der 902312 für den rest nicht reichen wird
    ' - Uhr stellen über RC5, braucht Timer0
    ' - Wecker
    ' - DCF77 empfang
    ' - Datum zusätzliche über Alphanumerische anzeigen
    '
    '
    ' History:
    ' - V2.3.3 wird ein taster zum uhr stellen länger betätigt> schnellvorlauf
    ' - V2.3.2 beim uhr stellen die sekunden auf null setzen
    ' - V2.3.1 Uhren Code aus dem Inetrupt Label ind die Hauptschleife verschoben.
    ' - V2.3   Uhren Code umgeschrieben; jede Ziffer wir jetzt einzelnt gezählt,
    '          Function Bcdzahl und Label Multiplex wir überflüssig.
    '          Die Uhr ist jetzt einstellbar.
    ' - V2.2   Bugy  <ö#+Q@
    ' - V2.1   Uhr geeicht auf 4MHz > Load_timer1 = 62755
    ' - V2.0   erster Hardware test
    ' - V1.0   nur am PC getestet
    '
    ' HW Stack: 40 ; SW Stack 20 ; Framesize: 16
    '
    '*******************************************************************************
    
    
    ' µC Deklarationen
    $regfile = "2313def.dat"                                    'AT90S2313-Deklarationen
    $crystal = 4000000
    
    
    ' Variablen
    Dim Temp_ziffer As Byte                                     'welche ziffer soll bearbeitet werden
    Dim Bcd_aus As Byte                                         'enthält den Wert der dez zahl die ausgegeben werden soll
    
    Dim Ausgang As Byte                                         'Segmentfolge die Ausgegeben wird aus Segmentcode - Tabelle
    Dim Sek_blink As Bit                                        'Blinkt im Sekunden Takt
    
    Dim Zl_sekunde As Byte                                      'Zeit Variablen
    Dim Zl_minute As Byte                                       'enthalten die Uhrzeit
    Dim Zl_stunde As Byte                                       'Zl-... => Low Wert der Zeit
    Dim Zh_sekunde As Byte                                      'Zh-... => High Wert der Zeit
    Dim Zh_minute As Byte
    Dim Zh_stunde As Byte
    
    'Dim A As Byte
    'Dim B As Byte
    'Dim B1 As Byte
    'A = 1
    
    ' Ein-/Ausgänge
    Config Portb = Output
    Portb = Ausgang                                             'Port B als Ausgang
    Ddrd = &B1111111
    Config Portd = Input
    Ddrd = &B11111000                                           '1 Ausgang, 0 Eingang
    Portd = &B0000111                                           'pull up w.
    
    
    
    
    'Eingänge:
    T_min_stellen Alias Pind.0
    T_h_stellen Alias Pind.1
    Licht Alias Pind.2
    
    ' Sonstiges
    Const Load_timer1 = 62755                                   'Konstande auf die der Timer1 geladen wird
    '4MHz = 62755 | 62760 etwas zu langsam <> 62750 etwas zu schnell
    
    
    
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ' Timer0 für Multiplexausgabe
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    'On Timer0 7segment                                          'Interrupt-Routine für Timer0-Overflow
    'Config Timer0 = Timer , Prescale = 1                        'Takt: Quarz/Prescale  (möglich: 1, 8, 64, 256, 1024)
    'Enable Timer0                                               'Timer0-Overflow-Interrupt einschalten
    
    
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ' Timer 1 als Zeitbasis
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    On Timer1 Sekunde_plus                                      'Interrupt-Routine für Timer1-Overflow
    Config Timer1 = Timer , Prescale = 64                       'Takt: Quarz/Prescale  (möglich: 1, 8, 64, 256, 1024)
    Enable Timer1                                               'Timer0-Overflow-Interrupt einschalten
    Enable Interrupts                                           'Interrupts global zulassen
    Load Timer1 , Load_timer1                                   'Lädt den Timer auf einen wert vor
    
    
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ' Hauptprogramm
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    
    Do                                                          'Start Hauptschleife
    
    
    ' ### Uhren Code ###
    ' Es wird für jede Ziffer einzelnd gezählt, das ermöglicht eine einfacher ausgabe
    ' auf den 7segmentanzeigen. Der Zählvorgang funktioniert ím prinzip wie z.B.
    ' bei einem normalen Logik Zähler-IC
    
    If Zl_sekunde = 10 Then                                     'Wenn der Sekunden Low Wert = 10
    Zl_sekunde = 0                                              'wird er auf 0 gesetzt
    Incr Zh_sekunde                                             'und der High Wert um eins erhöht
       If Zh_sekunde = 6 Then                                   'Ist der High Wert 6 (entspricht 60 Sekunden)
       Zh_sekunde = 0                                           'wird er auf 0 gesetzt
       Incr Zl_minute                                           'und der Minuten Low Wert um eins erhöht
       End If
    End If
    
    
    If Zl_minute = 10 Then
       Zl_minute = 0
       Incr Zh_minute
    End If
    If Zh_minute = 6 Then
       Zh_minute = 0
       Incr Zl_stunde
    End If
    
    
    If Zl_stunde = 10 Then
       Zl_stunde = 0
       Incr Zh_stunde
    End If
    If Zh_stunde = 2 And Zl_stunde = 4 Then
       Zl_stunde = 0
       Zh_stunde = 0
    End If
    
    
    
    ' ### Uhr stellen ###
    ' Wird der Taster "T_min_stellen" betätigt werden die Minuten um eins erhöht.
    ' Wird der Taster "T_h_stellen" betätigt werden die Stunden um eins erhöht.
    ' Werden beide gleichzeitig betätigt werden Stunden und Minuten auf Null gesetzt.
    ' Wird einer der Taster länger betätigt (> 150ms) gibt es einen schnellvorlauf
    
    If T_min_stellen = 0 Then                                   'Wird "T_min_stellen" betätigt
       Waitms 1                                                 'Entprellen
       If T_min_stellen = 0 Then                                'Ist der Taster immer noch betätigt
       Incr Zl_minute                                           'wird Minute um eins erhöht
       Zl_sekunde = 0                                           'Sekunden auf Null setzen
       Zh_sekunde = 0
       End If
    End If
    
    
    If T_h_stellen = 0 Then
        Waitms 1
        If T_h_stellen = 0 Then
        Incr Zl_stunde
        Zl_sekunde = 0
        Zh_sekunde = 0
        End If
    End If
    
    
    If T_min_stellen = 0 And T_h_stellen = 0 Then               'Wenn "T_Min_stellen" und "T_H_stellen" gleichzeitig betätigt
        Zl_minute = 0                                           'dann werden Minuten und Stunden auf 0 gestzt
        Zh_minute = 0
        Zl_stunde = 0
        Zh_stunde = 0
    End If
    
    
    
    'Loop                                                        'Ende Hauptschleife
    
    'End                                                         'Programm Ende
    
    
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ' Bei jedem Aufruf wir nur eine Ziffer ausgegeben, d.h nur eine Anzeige wird
    ' angesteuert. Die anderen bleiben dunkel. Bei jedem Aufruf wird eine Anzeige
    ' weitergeschaltet.
    '
    ' Anzeigen anordnung
    '
    ' 1111  2222   3333  4444
    ' 1  1  2  2   3  3  4  4
    ' 1111  2222   3333  4444
    ' 1  1  2  2   3  3  4  4
    ' 1111o 2222o  3333o 4444o
    '
    '                        ^-- Dezimalpunkt
    '                      ^---- 4. Ziffer | Minute Low Wert  | Variable Zl_minute
    '                ^---------- 3. Ziffer | Minute High Wert | Variable Zh_minute
    '         ^----------------- 2. Ziffer | Stunde Low Wert  | Variable Zl_stunde
    '   ^----------------------- 1. Ziffer | Stunde High Wert | Variable Zh_stunde
    
    
    '7segment:
    If Licht = 0 Then
    
    
    If Temp_ziffer = 4 Then Temp_ziffer = 0                     'bestimmt die auszugebende Ziffer (1 bis 4)
    Incr Temp_ziffer                                            'bei jedem aufruf des Lable wir eine andere Ziffer ausgegeben
    
    Select Case Temp_ziffer                                     'welche Ziffer soll angesteuert werden
       Case 1 : Bcd_aus = Zh_stunde
       Case 2 : Bcd_aus = Zl_stunde
       Case 3 : Bcd_aus = Zh_minute
       Case 4 : Bcd_aus = Zl_minute
    End Select
    
    
    
    Select Case Bcd_aus
        Case 1 : Ausgang = Lookup(1 , Segmentfolge)
        Case 2 : Ausgang = Lookup(2 , Segmentfolge)
        Case 3 : Ausgang = Lookup(3 , Segmentfolge)
        Case 4 : Ausgang = Lookup(4 , Segmentfolge)
        Case 5 : Ausgang = Lookup(5 , Segmentfolge)
        Case 6 : Ausgang = Lookup(6 , Segmentfolge)
        Case 7 : Ausgang = Lookup(7 , Segmentfolge)
        Case 8 : Ausgang = Lookup(8 , Segmentfolge)
        Case 9 : Ausgang = Lookup(9 , Segmentfolge)
        Case 0 And Temp_ziffer = 1 : Ausgang = Lookup(10 , Segmentfolge)       'Nullstellenunterdrückung  bei der ersten Ziffer
        Case 0 And Temp_ziffer > 1 : Ausgang = Lookup(0 , Segmentfolge)       'wenn nicht erste Ziffer Null anzeigen
        End Select
    Portb = Ausgang
    
    'Ausgabe des 7 Segmentcodes (Invertierend [Not] bei Anz. mit gem. Anode)
    
    End If
    Portb = 0
    Loop
    'Return
    End
    
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ' Interrupt-Routine für Timer1 / Zeitbasis
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    Sekunde_plus:
    
    
    Load Timer1 , Load_timer1                                   'Lädt den Timer auf einen wert vor
    
    Incr Zl_sekunde                                             'Erhöht den Low Wert der Sekunde um eins
    
    Toggle Sek_blink                                            'Ändert sich jede Sek., 1sec an 1sec aus
    
    
    Return
    
    
    ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    ' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    
    
    Segmentfolge:                                               'GFEDCBA / "1" Segment AN
    Data 126 , 131 , 133 , 137 , 145 , 161 , 193 , 126          '0
    Data 0 , 1 , 33 , 97 , 255 , 1 , 1 , 0                      '1
    Data 33 , 67 , 133 , 137 , 145 , 161 , 65 , 1               '2
    Data 130 , 129 , 129 , 145 , 145 , 145 , 145 , 110          '3
    Data 4 , 12 , 20 , 36 , 68 , 132 , 255 , 4                  '4
    Data 226 , 145 , 145 , 145 , 145 , 145 , 145 , 142          '5
    Data 62 , 81 , 145 , 145 , 145 , 145 , 145 , 142            '6
    Data 128 , 128 , 128 , 128 , 143 , 144 , 160 , 192          '7
    Data 110 , 145 , 145 , 145 , 145 , 145 , 145 , 110          '8
    Data 112 , 145 , 145 , 145 , 145 , 145 , 145 , 126          '9
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0                          'Leerzeichen

Seite 7 von 7 ErsteErste ... 567

Berechtigungen

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

Solar Speicher und Akkus Tests