PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierung Schulglocke



david_bw
08.04.2008, 16:15
Guten Tag,

Vielleicht finde ich ja hier Hilfe :)
Meine Idee ist es, mit Hilfe eines DCF Empfaengers und der C-Control 1 Station, einen Ton zu erzeuge, der nur an bestimmten Tagen bzw. Uhrzeiten, dieser Ton soll dann an ein Verstärker weitergeleitet werden.
Leider kann ich soetwas nicht programmieren, da ich nur etwas C++ und Assembler gelernt habe. Könnte mir da eventuell jemand helfen ?

Dürfte ja eigentlich nicht so schwer sein denke ich... brauche eine Syntax zum erhalten der Uhrzeit, sowie eine Syntax zum Ton erstellen und diese beiden werden dann mit If verknüpft... danach hald noch ne Syntax die desen Ton an den Verstärker sendet... Danke :)

Dirk
08.04.2008, 20:37
Das kriegst du in Ccbasic selbst hin:
Die Uhrzeit kriegst du mit den Variablen Hour, Minute, Second, Year, Month, Day.
Einen Ton kann man mit Beep erzeugen.

Gruß Dirk

david_bw
09.04.2008, 17:32
Hi

danke erstmal für die Tipps, also sollte es quasi so aussehen ?

'**************************************
'
' C-Control/BASIC Schulglocke.BAS
'
' Aufgabe:
'
' - Signal, dass nur an bestimmten Tagen und Uhrzeiten leutet

'
'**************************************
' --- Definitionen --------------------
define Verstärker port [1]

' --- Programmoperationen -------------
#loop
if (((hour==7) and (min==45) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==9) and (min==15) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==9) and (min==30) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==11) and (min==00) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==11) and (min==15) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==12) and (min==45) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==13) and (min==15) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==14) and (min==45) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==15) and (min==00) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri))
or ((hour==16) and (min==30) and (second==0) and ((day==mon)or (day==tue) (day==wed) (day==thur) (day==fri)))
then goto Alarm else goto loop

#Alarm
Beep=on
Verstärker=1
pause 10
Beep=off
verstärker=0
goto loop

Wie kann ich nun einstellen dass dieses Signal an den Verstärker (hab den einfach mal auf port1 gesetzt, da ich gerade c-control nicht da habe) geschickt wird.
Der DCFF Empfänger läuft ohne irgendwelche Einstellungen davor zu machen bzw die Variablen Hour Minute etz. zu setzen?
Wobei ich aber denke dass die Tage auch nur mit ner Zahl laufen, also 1-7 ;)

*Edit* Sehe dass man für einen Ton ja nen Piezoo an den Beep Port setzen müsste... hmmm wie könnte ich es mit dem Verstärker verwirklichen !?


Danke :)

Dirk
09.04.2008, 20:51
Ja, so ähnlich.

deine If-Schlange ginge auch einfacher und das (a == b) stammt eher aus C und nicht aus CCBasic.
Die Beep-Syntax stimmt so auch nicht: Siehe Anleitung.

Für den DCF-Empfänger muss man nichts mehr tun, das Betriebssystem macht das alles.

Deinen "Verstärker" müßtest du an den Beep-Port (nicht Port1)anschließen, am besten über ein RC-Glied.

Gruß Dirk