• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Zeitgesteuertes im Wald mit Tiny AVR + RTC Chip

Portitzer

Geocacher
Noch eine kleine Korrektur: Gut, es sind zwei Dioden nötig, damit die Schaltung beim Akkuwechsel die Knopfzelle nicht leer saugt. Aber das ist eigentlich ein so kurzer Zeitraum, der fällt beim Verbrauch eines AVR kaum ins Gewicht.
Davon mal abgesehen:
Bei einer angenommenen Betriebszeit von etwa einem Jahr mit einem Batteriesatz wäre ein Verlust der Zeit in der RTC sicher hinnehmbar. Nach so einer langen Zeit würde ich die Uhrzeit ohnehin prüfen bzw. die Uhr neu stellen...

Gruß
Kurt
 
OP
K

KrasserMann

Geocacher
Portitzer schrieb:
Richtig, Anschlüsse für ein Batterie-Backup hat der nicht, aber wo ist das Problem? Du betreibst das ganze doch sowieso mit einer Batterie. Gut, wenn Du bei einem Batteriewechsel die Zeit nicht verlieren willst, wirds problematisch. Aber was hindert Dich daran, eine zweite (Knopf-)Zelle mit einer Diode entkoppelt als Backup an den Chip anzuschließen? Die Uhr im Chip arbeitet ab 1V, da ist der Spannungsverlust durch die Diode nicht so dramatisch.
Außerdem hat die Uhr eine tolle Alarmfunktion (Timer!), die könntest Du nutzen, um den AVR tagsüber auch länger als die maximal 8s der Watchdog schlafen zu legen.
Der Aufwand ist mit einer Diode also nicht sehr groß, dafür kannste auf die aufwändige 5V Stromversorgung verzichten.

Gruß
Kurt


Danke, du hast recht :)

manchmal kann die welt so einfach sein *g* werd mir den chip mal organisieren.

Martin
 

stonewood

Geowizard
KrasserMann schrieb:
Danke fürs testen, werde heute oder morgen das Programm mal ausprobieren, bin gespannt. nur ein "STOP ADC" bekomm ich nicht hin, bascom kompiliert nicht da der 2313 keinen ADC hat???

Meinem Bascom war das egal, ich vermute mal daß das in ein nop umgesetzt wurde. Beim tiny13 ist das wichtig, beim tiny2313 braucht man das eh nicht.

Code:
BASCOM-AVR IDE Version : 1.11.8.3
Compiler: Version 1.11.8.3
Serial : Serial  DEMO
Dont forget that Serial numbers should not be sent to the user list
 
OP
K

KrasserMann

Geocacher
So, hier geht es nun weiter!


Es ist mir gelungen mit dem Tiny 2313 + I2C RTC PCF8583 einen "Wecker" zu bauen der eine LED zu 4 Alarmzeiten blinken lässt.

Die Stromaufnahme beträgt 0.015mA im Ruhezustand.

Das sollte ausreichen um die Schaltung eine Weile im Wald am Leben zu halten.

Ich kämpfe nur noch mit dem einstellen der Uhrzeit da Serielle Komunikation bei 3V und 128khz nur noch schweer machbar ist.

Heut abend werd ich sehen ob es möglich ist die Uhrzeit nach anlegen der Spannung per Fernbedienung (RC5) einzugeben.

Der Code passte so gerade in den Tiny, leider hab ich die FB gerad nicht zur hand.


Wenns klapt folgt schaltung und code!


Martin
 

Swunn

Geocacher
Zur Genauigkeit: Erwarte nicht zu viel. Ich habe eine DS1307 mit 32kHz-Quarz im Ausseneinsatz, der kann übers Jahr temperaturbedingt durchaus mal 15-20min falsch gehen.

Ein stabilisierter Quarzgenerator scheidet wegen der Stromaufnahme aus. Eine Synchronisation über DCF wäre vielleicht machbar, wenn der Empfänger nur mal alle paar Tage zugeschaltet wird. Dann wirst Du aber um ASM-Programmierung nicht rumkommen, da das mit BASCOM sicher nicht in den Speicher passt.

Zum Stellen der Uhr: Brauchst Du die RS232 wirklich? Du könntest ein Portpin abfragen, wenn das auf low gezogen wird, setzt der AVR die RTC auf eine bestimmte Zeit, z.B. 12:00:00. Dann mußt Du nur den richtigen Zeitpunkt erwischen, sonst hast Du am nächsten Tag nochmal die Chance... ;-) Das Datum scheint ja gal zu sein.

Swunn
 

Windi

Geoguru
Ich würd mir ja in der Bucht einen Funkwecker kaufen. Geht für 5 Euro her. Dort einen täglichen Alarm einstellen und wenn dieser auslöst damit die RTC synchronisieren.
Programmtechnisch wesentlich einfacher zu realisieren als eine DCF77-Dekodierung. Die externe Schnittstelle spart man sich auch. Allerdings wird es vom Einbauen her etwas größer wegen dem Wecker.
 
OP
K

KrasserMann

Geocacher
Hmmm das mit der Gangabweichung aufs jahr gesehen ist ja mal nicht so schön.

Weiß jemand ob der PCF8583 da auch so "problematisch" ist?

Das mit der Eingabe per RC5 klappt noch nicht so, entweder hab ich nen Programmfehler, oder der TSOP mag nicht mit 3V


Code:
'------------------------------------------------------
' AVR I2C RTC Wecker mit 4 Alarmzeiten
'------------------------------------------------------
$regfile = "ATTiny2313.dat"                                 ' specify the used micro
$crystal = 113000
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               ' default use 10 for the SW stack
$framesize = 40                                             ' default use 40 for the frame space

Stop Ac
Stop Watchdog


'Setup I2C

Config Sda = Portd.5
Config Scl = Portd.4

'Ports

Config Portd.6 = Output                                     'ALARM LED
Config Portb.2 = Output                                     'Prog LED
Config Portb.5 = Output                                     ' Power RC5
Config Rc5 = Portb.7

Aled Alias Portd.6
Pled Alias Portb.2
Rcp Alias Portb.5


rcp = 0
pled = 0

'irq

Config Int0 = Falling
On Int0 Blink
Enable Interrupts

'declare used subs
Declare Sub Settime
Declare Sub Setalarm(byval S As Byte , Byval M As Byte , Byval H As Byte)
Declare Sub Setal(byval N As Byte , Byval S As Byte , Byval M As Byte , Byval H As Byte)
Declare Sub Al2rtc(byval N As Byte)


'declare vairables
Dim S As Byte , M As Byte , H As Byte , D As Byte , Month As Byte
Dim Wm As Byte , Yd As Byte

Dim Currental As Byte                                       'Z�ler welches der aktuelle Alarmist
Const Maxal = 3                                             'Anzahl Alarme im Speicher

Currental = 0

'Get TIME from RC5

Call Settime()                                              'set time

'Alarmzeiten in RTC Spiecher > &h10 ablegen

Call Setal(0 , 30 , 0 , 8)
Call Setal(1 , 0 , 1 , 8)
Call Setal(2 , 30 , 1 , 8)
Call Setal(3 , 0 , 2 , 8)

Enable Int0

Do
   Call Al2rtc(currental)
   Waitms 100
   Idle
Loop
End

Sub Settime
    Aled = 1                                                'leds an fuer debug
    Pled = 1
    Rcp = 1                                                 'power to tsop chip on
    Waitms 500
    Aled = 0
    Pled = 0

    Local X As Byte
    Local Tmp1 As Byte
    Local Tmp2 As Byte
    Local Adress As Byte
    Local Command As Byte

    I2cstart                                                'generate start
    I2cwbyte &HA0                                           'write address
    I2cwbyte 0                                              'select control register
    I2cwbyte &B00001100                                     'set year and day bit for masking + Enable Alarm
    I2cstop                                                 'generate stop


    I2cstart                                                'generate start
    I2cwbyte &HA0                                           'write mode
    I2cwbyte 2                                              'select seconds Register

' 3 mal ein Zahlenpaar vom RC5 holen, 1. Sekunden 2. Minuten 3. Stunden

    For X = 1 To 3

      Do
         Getrc5(adress , Command)
         Command = Command And &B10111111
      Loop Until Adress < 255 And Command >= 0 And Command =< 9
      Tmp1 = Command * 10
      Pled = 1
      Waitms 200
      Pled = 0
      Do
         Getrc5(adress , Command)
         Command = Command And &B10111111
      Loop Until Adress < 255 And Command >= 0 And Command =< 9
      Pled = 1
      Waitms 200
      Pled = 0
      Tmp2 = Tmp1 + Command
      Tmp2 = Makebcd(tmp2)
      I2cwbyte Tmp2

    Next X
    I2cwbyte &H01                                           'write day
    I2cwbyte &H01                                           'write month
    I2cstop

    Rcp = 0                                                 'Power to TSOP Chip Off


End Sub


Sub Setalarm(s As Byte , M As Byte , H As Byte)
    'values are stored as BCD values so convert the values first
    S = Makebcd(s)                                          'seconds
    M = Makebcd(m)                                          'minuts
    H = Makebcd(h)                                          'hours

    I2cstart                                                'generate start
    I2cwbyte &HA0                                           'write address
    I2cwbyte 8                                              'select alarm control register
    I2cwbyte &B10010000                                     'Activate AlarmIRQ
    I2cwbyte &B00000000                                     '100tel
    I2cwbyte S                                              'write seconds
    I2cwbyte M                                              'write minuts
    I2cwbyte H                                              'write hours
    I2cstop
End Sub

Sub Setal(n As Byte , S As Byte , M As Byte , H As Byte)
    'values are stored as BCD values so convert the values first
    Local Adr As Byte
    N = N * 3
    Adr = &H10 + N
    S = Makebcd(s)                                          'seconds
    M = Makebcd(m)                                          'minuts
    H = Makebcd(h)                                          'hours
    I2cstart                                                'generate start
    I2cwbyte &HA0                                           'write address
    I2cwbyte Adr                                            'select alarm control register
    I2cwbyte S                                              'write seconds
    I2cwbyte M                                              'write minuts
    I2cwbyte H                                              'write hours
    I2cstop
End Sub


Sub Al2rtc(n As Byte)

    Local Adr As Byte
    N = N * 3
    Adr = &H10 + N
    I2cstart                                                'generate start
    I2cwbyte &HA0                                           'write addres of PCF8583
    I2cwbyte Adr                                            'select second register
    I2cstart                                                'generate repeated start
    I2cwbyte &HA1                                           'write address for reading info
    I2crbyte S , Ack                                        'read seconds
    I2crbyte M , Ack                                        'read minuts
    I2crbyte H , Nack                                       'read hours
    I2cstop
    S = Makedec(s)
    M = Makedec(m)                                          'generate stop
    H = Makedec(h)
    Call Setalarm(s , M , H)

End Sub

Blink:
       Disable Interrupts
       'Reset Alarm Flag
       I2cstart                                             'generate start
       I2cwbyte &HA0                                        'write address
       I2cwbyte 0                                           'select alarm control register
       I2cwbyte &B00001100                                  'Activate AlarmIRQ
       I2cstop

       'Print Currental

       Dim X As Byte
       For X = 1 To 5
       Aled = 1
       Waitms 300
       Aled = 0
       Waitms 300
       Next X


       If Currental = Maxal Then
         Currental = 0
         'Print "R"
       Else
         Currental = Currental + 1
       End If

       Enable Interrupts

Return
 

Swunn

Geocacher
KrasserMann schrieb:
Hmmm das mit der Gangabweichung aufs jahr gesehen ist ja mal nicht so schön.

Weiß jemand ob der PCF8583 da auch so "problematisch" ist?

Das liegt nicht am PCF, das liegt am Temperaturgang des Quarzes. 32kHz-Quarze sind da nicht so toll. Abgesehen davon sind 100ppm nunmal immerhin 52min / Jahr, und Du musst mit Temperaturen zwischen -20 und +30°C rechnen, wenn das Ding in der Sonne hängt noch deutlich mehr.

Alternativen wären:

  • ein 4.1irgendwasMHz-Quarz, sollen besser sein, gehen aber nicht mit der RTC, nur direkt am AVR, dürfte den Stromverbrauch erhöhen
  • ein temperaturstabilisierter Quarz, fällt wegen des extrem höheren Stromverbrauches aus
  • klevere Lösung wäre eine Temp-Messung mit einem NTC alle paar min durch den AVR (muss dann einen Analogeingang haben) und eine Korrektur der Zeit anhand einer hinterlegten Kalibrierkurve, dürfte eine ausreichende Genauigkeit bei geringem Stromverbrauch haben, aber der Aufwand für die Kalibrierung ist erheblich (Klimabox, sehr genauer Referenzquarz, viel Zeit), es gibt aber Quarzgeneratoren, die sowas ähnliches machen, ich glaube von Maxim (http://www.maxim-ic.com, gibts auch kostenlose Samples), aber achte auf den Stromverbrauch
  • schon erwähnt: eine Synchro über DCF
  • oder ab und zu mal hingehen und neustellen ;-)

Swunn
 

Swunn

Geocacher
Sag ich doch: http://para.maxim-ic.com/results.mvp?q=tcxo&r=0&an_1=Family&av_1=Temperature-Compensated%20Crystal%20Oscillators&mh_1=1&wt_1=0&an_2=Frequency&av_2=32.768kHz&tree=clkgen&p=1

Stabilität von 7.5ppm im Bereich -40 bis +85°C sollte dann wohl reichen.

Swunn
 
OP
K

KrasserMann

Geocacher
Hmmm ich denk die Gangabweichung ist nicht sooo ein Problem, dann wird die Uhr eben zweimal im Jahr bei ner Cachekontrolle neu gestellt.

DCF77 wär sicher nett aber da explodiert die Bauform doch etwas.

Was das RC5 angeht, fehlanzeige, der TSOP läuft nicht mit UB < 5V und bei 5V geht es erst mit ner höheren Taktfrequenz. :/

Kann man die Interne Clock im Betrieb verändern?

Werd wohl auf ne 4x4 Tastatur ausweichen müssen :/
 

Portitzer

Geocacher
Wieso sollte mit nem DCF-Modul die Bauform explodieren, wenn sie's bei ner 4x4er Tastatur nicht tut?!
Das größte am DCF-Modul ist doch die Ferritantenne, aber die ist flächenmäßig doch kleiner als die Tastatur.
Und die neueste Bascom-Version unterstützt DCF-Empfang fabelprächtig...
Da würd ich im Zweifelsfall lieber auf einen anderen Controller mit größerem Programmspeicher ausweichen, z.B. den Attiny45.

Gruß
Kurt
 
A

Anonymous

Guest
hi

hab hier nen dcf77 Empfänger von Reichelt rumliegen die Platine ist etwa Fingernagelgroß und die Ferritkernantenne vllt. so lang wien Mittelfinger (und auch so dick)

nur laufen tut das doofe ding noch nicht so wie ich es will ;) (bin kein bascom Mensch sondern schreib in c++ und fertige Programme mag ich auch net nutzten also ist selbstschreiben angesagt)

mfg

chris
 
OP
K

KrasserMann

Geocacher
Portitzer schrieb:
Wieso sollte mit nem DCF-Modul die Bauform explodieren, wenn sie's bei ner 4x4er Tastatur nicht tut?!
Das größte am DCF-Modul ist doch die Ferritantenne, aber die ist flächenmäßig doch kleiner als die Tastatur.
Und die neueste Bascom-Version unterstützt DCF-Empfang fabelprächtig...
Da würd ich im Zweifelsfall lieber auf einen anderen Controller mit größerem Programmspeicher ausweichen, z.B. den Attiny45.

Gruß
Kurt

Naja die Tastatur würde nach einstellen der Zeit abgestöpselt sozusagen als tool
 
OP
K

KrasserMann

Geocacher
Soooooo Update!

Die erste Version die so funktioniert wie ich es mir vorstelle ist fertig.

1. Passt in einen 13cm Petling
2. Vier mögliche Alarmzeiten / 24h
3. 3V @ 19,8uA Stromaufname
4. Einstellen der Uhrzeit nach Anlegen der Betriebsspannung per mini Tastatur

Die Ganggenauigkeit muss sich jetzt im langzeit Test zeigen.

Eine detailierte Beschreibung zum Download findet ihr hier:

http://www.krasser-mann.com/div/downloads/rtcblinker.zip

Beschreibung, Schaltplan und Code ist da drin.

Viel Spaß damit!


Gruß Martin / Team KrasserMann
 
OP
K

KrasserMann

Geocacher
Hier der Code:

Code:
'------------------------------------------------------
' AVR I2C RTC Wecker mit 4 Alarmzeiten
' CPU:   ATTINY 2313 @ int. 128khz Osc
' Clock: PCF8583 I2C
' Stromaufname Ruhezustand 19,8 uA
' M.Schenkelberg AK Team KrasserMann
'------------------------------------------------------
$regfile = "ATTiny2313.dat"                                 ' Wir nehmen nen Tiny 2313
$crystal = 113000
$hwstack = 32                                               ' 32 hardware stack
$swstack = 10                                               ' 10 software stack
$framesize = 40                                             ' 40 frame space

Stop Ac                                                     ' Analog Komperator aus
Stop Watchdog                                               'Watchdog aus


'Unterroutinen Definieren
Declare Sub Initclock                                       'Konfiguriert PFC Chip Alarm + IRQ Mode
Declare Sub Setclock                                        'Holt Uhrzeit HHMM von 4x4 Keyb. und setzt RTC
Declare Sub Al2rtc(byval N As Byte)                         'Lädt Alarm Nr. N in den RTC Speicher
Declare Sub Flash(byval N As Byte)                          'Flasht die LED N mal / Fehleranzeige etc
Declare Function Key() As Byte                              'Holt Gedrückten wert von Keyboard

'globale variablen definieren
' S = Sekunden / M = Minuten / H= Stunden / D = Tag / Month = Monat
Dim S As Byte , M As Byte , H As Byte , D As Byte , Month As Byte

Dim Currental As Byte                                       'Zäler welches der aktuelle Alarm ist
Const Maxal = 3                                             'Anzahl Alarme im Speicher

Currental = 0                                               'Aktueller Alarm = 0

Config Sda = Portd.5                                        'I2C Leitungen definieren
Config Scl = Portd.4

Call Initclock                                              'PFC Chip Initialisieren (Muss immer von ENABLE INTERRUPTS STEHEN)


Config Portd.6 = Output                                     'Port der Alarm LED definieren

Config Kbd = Portb , Debounce = 100 , Delay = 200           'Keyboard Port definieren

Aled Alias Portd.6                                          'Alias ALED für den Port der Alarm LED festlegen

Aled = 1                                                    'Einschaltkontrolle
Wait 5
Aled = 0

'Interrupt Konfigurieren


On Int0 Blink                                               'Wenn IRQ dann Unterprogramm BLINK anspringen
Enable Int0                                                 ' IRQ 0 Aktivieren
Config Int0 = Falling                                       'und auf die fallende Flanke konfigurieren


Enable Interrupts                                           'Alle Interrupts freigeben

Call Setclock()                                             'Als erstes muss die Uhrzeit eingestellt werden

Wait 1

'Hauptschleife
'lädt den Alarm Nr Currental in die RTC und wechselt in IDLE Mode bis der IRQ ihn weckt
Do
   Call Al2rtc(currental)
   Waitms 100
   Idle
Loop
End

'Unterprogramme

Sub Initclock

    I2cstart                                                'Starte I2C Kommunikation
    I2cwbyte &HA0                                           'PFC Schreibadresse
    I2cwbyte 0                                              'Kontrol register auswählen (&h00)
    I2cwbyte &B00001100                                     'Schreibe Jahr/Tag Maskiert + Alarm Aktiv
    I2cstop                                                 'Stoppe I2C Kommunikation

    I2cstart                                                'Starte I2C Kommunikation
    I2cwbyte &HA0                                           'PFC Schreibadresse
    I2cwbyte 8                                              'Alarm Kontroll Register wählen
    I2cwbyte &B10010000                                     'Alarm Konfig: IRQ AN / Täglicher Alarm
    I2cstop                                                 'Stoppe I2C Kommunikation

End Sub


Sub Setclock
    Dim K As Byte                                           'K nimmt den ersten Tastendruck auf
    Dim K2 As Byte                                          'K2 den zweiten
    Dim Hr As Byte                                          'Hr ist die Stunde in DEC
    Dim Mi As Byte                                          'Mi ist die Minute in DEC
    K = 0
    K2 = 0                                                  'K = 0 ;)
                                                            'K2 dito
    'Get hour
    K = Key()                                               'Ersten Tastendruck holen
    K2 = Key()                                              'Zweiten Tastendruck holen
    Hr = K * 10                                             'Der erste war die Zehner stelle also mit 10 Multiplizieren
    Hr = Hr + K2                                            'und die einer stelle dazu addieren

    If Hr < 24 Then                                         'gucken obs gültige stunden werte sind
       Nop                                                  'JO -> OK
    Else
         Do                                                 ' Nö -> Fehler Blinken (endlos)
            Call Flash(10)
            Wait 1
         Loop
    End If

    'Get minute
    K = 0                                                   'Kommentare wie oben bei Get Hour
    K2 = 0

    K = Key()
    K2 = Key()
    Mi = K * 10
    Mi = Mi + K2


    If Mi < 60 Then
         Nop
    Else
         Do
            Call Flash(20)
            Waitms 100
         Loop
    End If
    Call Flash(10)                                          ' Alles OK dann Kurzen Flash zur bestätigung

    H = Makebcd(hr)                                         ' Werte in BCD umwandeln
    M = Makebcd(mi)
    S = Makebcd(0)

    I2cstart                                                'und in den PFC Chip schreiben
    I2cwbyte &HA0
    I2cwbyte 0
    I2cwbyte &B00001100
    I2cstop
    I2cstart
    I2cwbyte &HA0
    I2cwbyte 2
    I2cwbyte S
    I2cwbyte M
    I2cwbyte H
    I2cwbyte &H01
    I2cwbyte &H01
    I2cstop

End Sub


Sub Al2rtc(n As Byte)

    Local Adr As Byte                                       ' Tempräre Adresse um die Stelle in den Alarm Datalines (ALTAB) anzuspringen

    Adr = N * 3                                             ' Da jede Alarmzeit aus 3 Werten besteht geht es immer in dreierschritten

    H = Lookup(adr , Altab)                                 'Stunden aus ALTAB holen
    Incr Adr                                                'Eine Speicherstelle weiter
    M = Lookup(adr , Altab)                                 'Minuten Holen
    Incr Adr                                                'Eine Speicherstelle weiter
    S = Lookup(adr , Altab)                                 'Sekunden holen

    S = Makebcd(s)                                          'Alles wieder BCD wandeln
    M = Makebcd(m)
    H = Makebcd(h)

    I2cstart                                                ' und in den Chip Schreiben
    I2cwbyte &HA0
    I2cwbyte 8
    I2cwbyte &B10010000
    I2cwbyte &B00000000
    I2cwbyte S
    I2cwbyte M
    I2cwbyte H
    I2cstop


End Sub

Blink:
       Disable Interrupts
       'Reset Alarm Flag
       I2cstart                                             'Den vom PFC gesetzten Alarm Flag zurücksetzen
       I2cwbyte &HA0                                        'um die IRQ Leitung freizugeben
       I2cwbyte 0
       I2cwbyte &B00001100
       I2cstop
                                                             'Lustiges Blinken
       Dim X As Byte
       For X = 1 To 50                                      ' 50 Mal 330 Msec
         Aled = 1
         Waitms 30
         Aled = 0
         Waitms 300
       Next X

       If Currental = Maxal Then                            'Wenn Maximale Anzahl Alarme erreicht wieder bei 0 anfangen
         Currental = 0
       Else
         Currental = Currental + 1                          'Ansonsten der nächste bitte
       End If

      Enable Interrupts

Return

Sub Flash(byval N As Byte)                                  'Bischen Flaschen sollte jeder verstehen

       Local Z As Byte
       For Z = 1 To N
       Aled = 1
       Waitms 10
       Aled = 0
       Waitms 30
       Next Z

End Sub


Function Key()                                              'Einlesen der Matrix Tastatur

   Local B As Byte
   Do
      B = Getkbd()                                          'solange nix gedrückt wird (Wert 16) endlos schleife

   Loop Until B <> 16

   Select Case B                                            'Dieser Case übersetzt die Werte der Tastatur in die passende Dec Zahl

   Case 0
      B = 1
   Case 1
      B = 2
   Case 2
      B = 3
   Case 4
      B = 4
   Case 5
      B = 5
   Case 6
      B = 6
   Case 8
      B = 7
   Case 9
      B = 8
   Case 10
      B = 9
   Case 13
      B = 0
   End Select
   Call Flash(1)                                            'Nach jedem Tastendruck mal blinken als bestätigung
   Waitms 100
   Key = B


End Function

'Tabelle mit den Alarmdaten / jede zeile eine Alarmzeit im Format HH,MM,SS

Altab:
Data 16 , 15 , 0
Data 16 , 16 , 0
Data 16 , 17 , 0
Data 16 , 18 , 0

'ende
 
OP
K

KrasserMann

Geocacher
Bilder:

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg
 

snaky

Geowizard
Krass. ;)

Aber was ich nicht erkennen kann: Was genau ist denn jetzt mit der LED passiert? Hängt die einfach so im Petling?
 

Windi

Geoguru
snaky schrieb:
Aber was ich nicht erkennen kann: Was genau ist denn jetzt mit der LED passiert? Hängt die einfach so im Petling?
Die ist doch am linken Ende derPlatine angelötet.

Das Programm läßt sich übrigens problemlos mit der Demo-Version compilieren.
 
OP
K

KrasserMann

Geocacher
@Wind, danke für die Info

Ja die LED ist mit einem Bein noch angelötet, ist der Prototyp

für Produktiv Einsatz werd ich ne 3mm Led einlöten.

Hätt ich das nicht so gestutzt wär der Petling nimmer zu gegangen


Martin
 
Oben