Hier mal eins für die C-Contol 1(Grundrobby) als *.bas
https://www.roboternetz.de/phpBB2/dl...d=1&file_id=64
Vielleicht hat einer noch ein ordentliches für die C-Control 2?
Also ich hab ein DCF-Modul an meinen Rp5 Roboter von Conrad montiert.
Jetzt stellt sich mir die große Frage: "Wie stelle ich die korrekte Zeit am auf dem LCD da?" Gibts vielleicht schon ein Programm von jemandem?
Gruß Solo
Hier mal eins für die C-Contol 1(Grundrobby) als *.bas
https://www.roboternetz.de/phpBB2/dl...d=1&file_id=64
Vielleicht hat einer noch ein ordentliches für die C-Control 2?
Hallo Solo,
ich nehme an, Du hast wie ich die CC2 auf dem RP5??
Hier ein Codeschnipsel zum Anzeigen der Uhrzeit:
Du kannst bestimmt was damit anfangen. Bei meinem Robby ist der DCF-Empfänger an die CC1 angeschlossen. Der Code nutzt das Modul ccrp5.c2 ab Version 2.2.Code:ccrp5.getRTC(); //CC1-Uhrzeit lesen lcdext.clear();s=""; str.putstring(s,"RTC1: "); lcdext.print(s); lcdext.time(1); ccrp5.getRTCDATE(); //CC1-Datum lesen lcdext.line(2);s=""; if system.year() == 2097 //CC1-Startdatum ohne DCF: 1.1.xx97 {//Kein DCF-Empfang: str.putstring(s,"DCF not active!!"); lcdext.print(s); } else {//DCF aktiv: str.putstring(s,"DATE: "); lcdext.print(s); lcdext.date(1); //Zu jeder vollen Stunde DCF neu anfordern: if system.minute() == 0 and system.year() != 2097 {system.setdate(2097,1,1); //CC2-Datum auf CC1-Startdatum setzen ccrp5.setRTCDATE(); //CC2-Datum (1.1.97) in CC1 übertragen } }
Gruß Dirk
mal ne ganz andere frage: so weit ich weiß kommt das dcf signal seriell, oder? kann ich die dcf antenne einfach an die serielle schnittstelle z.B. über nen max an nen atmega8 hängen?
MfG Jonas
Danke für den Code!
Leider klappts nicht wenn ich ihn direkt in eine c2p schreibe! Soll ich ihn irgendwo in eine der demo.c2p vom ccnet kopieren? Die benützt auch den Treiber ccrp5.c2.
Meine invertiertes DCF-Signal hab ich auf der Experementierplatine auf den Anschluss Y328 angelötet, welcher zu Frq 1 auf der CC2 führt.
Wo schließt man den das DCF-Modul am Basisroboter an?
Gruß Solo
Hallo Solo,
Da habe ich mein DCF-Modul auch angelötet!Meine invertiertes DCF-Signal hab ich auf der Experimentierplatine auf den Anschluss Y328 angelötet, welcher zu Frq 1 auf der CC2 führt.
Aber: Y328 auf der Experimentierplatine führt zum Freq-Eingang der [highlight=red:f1f7105f40]CC1[/highlight:f1f7105f40] auf dem Robby, NICHT zur CC2.
Daher wertet die CC1 das DCF-Signal aus. Die CC2 kann Datum und Uhrzeit aus der RTC der CC1 lesen und in die eigene RTC übernehmen. Die Funktionen dafür sind im Modul ccrp5.c2 (cc2net.de) zu finden. Mein Code-Beispiel nutzte dieses Modul.
Der DCF-Eingang der CC2 ist auf der Experimentierplatine NICHT zugänglich.
Der Code kann nicht in eine c2p-Datei. Die ist nur für das Projekt. Du must alle Tests in eine c2-Datei tun.Leider klappts nicht wenn ich ihn direkt in eine c2p schreibe! Soll ich ihn irgendwo in eine der demo.c2p vom ccnet kopieren? Die benützt auch den Treiber ccrp5.c2.
Gruß Dirk
Wenn ich den Codeschnippsel als function in eine *.c2p schreibe und zusätzlich einen string s definiere lässt es sich compilieren aber auf meinem Roby tut es nicht!
In einer *.c2 bekomme ich es nicht compiliert und wie nun ein Modul die Zeit anzeigen soll weiß ich nicht.
Weiß nicht mehr was ich noch damit anstellen soll, damit es tut, bin in Sachen c2p und c2 ein blutiger Anfänger.
Hilfeeeeeeeeeee
Hallo Solo,
hier die Datei CCRP5_DCFAnzeige.c2p :
... und die Datei CCRP5_DCFAnzeige.c2 :Code:SYSTEM::vmcodes.c2 SYSTEM::constant.c2 SYSTEM::system.c2 SYSTEM::ports.c2 SYSTEM::plm.c2 SYSTEM::mem.c2 SYSTEM::str.c2 SYSTEM::math.c2 COMMON::strx.c2 COMMON::lcdext.c2 COMMON::ccrp5.c2 ccrp5_dcfanzeige.c2
Ich habs nicht mehr testen können. Müßte aber funzen.Code:/*******************************************************/ /* DEMO-ROUTINE FÜR DEN DCF-Empfang */ /*******************************************************/ /* Autor : Dirk Ottensmeyer */ /* Versionen : 1.0 für CCRP5 */ /* Datum : 10. Dezember 2005 */ /* Getestet : nein!!! */ /* Bemerkung : Demo f. d. DCF-Empfang an d. CC1 */ /*******************************************************/ //---------------- Kurzbeschreibung --------------------- //******************************************************* int i; string s; float result; //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII //IIIIIII THREAD IIIIII //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII thread main { i=ccrp5.init(); //Initialisierung CCRP5 lcdext.init(); // -------------- Startmeldung -------------------------- lcdext.print(" DEMO"); lcdext.line(2); lcdext.print("CC1-DCF-EMPFANG"); sleep 1000;lcdext.clear(); //-- loop { ccrp5.getRTC(); //CC1-Uhrzeit lesen lcdext.clear();s=""; str.putstring(s,"RTC1: "); lcdext.print(s); lcdext.time(1); ccrp5.getRTCDATE(); //CC1-Datum lesen lcdext.line(2);s=""; if system.year() == 2097 //CC1-Startdatum ohne DCF: 1.1.xx97 {//Kein DCF-Empfang: str.putstring(s,"DCF not active!!"); lcdext.print(s); } else {//DCF aktiv: str.putstring(s,"DATE: "); lcdext.print(s); lcdext.date(1); //Zu jeder vollen Stunde DCF neu anfordern: if system.minute() == 0 and system.year() != 2097 {system.setdate(2097,1,1); //CC2-Datum auf CC1-Startdatum setzen ccrp5.setRTCDATE(); //CC2-Datum (1.1.97) in CC1 übertragen } } sleep 3000; } }
Das Modul ccrp5.c2 sollte das letzte vom cc2net.de sein!
Viel Erfolg!
Dirk
@ Dirk
Das Programm läuft! Vielen Dank, echt super !!
Es ha zwar fast 14 Minuten gedauert, wahrscheinlich Aufgrund des Schlechten DCF-Signals, aber dann wurde Uhrzeit und Datum angezeigt!
Danksagend Solo
hiho..
dumme frage, fang grad an mit PIC's zu basteln und hab nach nem billigen dcf empfänger gesucht..(durch google bin ich hier her gekommen ^^)
leider ist bei dem beschriebenen dcf modul keine anfängerfreundliche anleitung dabei und die beispielcodes bringen mir nich viel..
drum wollt ich ma anfragen ob das ding schon mal wer an nen pic (16F873) gebastelt hat und wenn wie ^^
besten dank schon mal
lg der BastelWastel
Lesezeichen