Forum: Mikrocontroller und Digitale Elektronik Qlocktwo IR Fernbedienung Arduino


von Marc2805 (Gast)


Lesenswert?

Hallo,

Ich einige Tests mit einem Programm gemacht wo ich eine FB an einem 
Atmega
328p betreiben kann.
Jetzt wollte ich dieses Programm in das Programm der Qlocktwo einfügen.
bis auf den void loop hat auch alles geklappt.
Allerdings funktioniert die Uhr nicht mehr nachdem ich das Programm in 
den void loop einfüge Compile ist nicht das Problem.
Ich gehe davon aus das mein Programm, das Qlocktwo Programm im void loop
in einen Wartezustand versetzt und somit nicht weiter ausgeführt wird.
Allerdings ist mir das ganze Programm zu Komplex und ich bräuchte hilfe

von W.S. (Gast)


Lesenswert?

Versuche doch als erstes einmal, ein wenig Ordnung und Struktur in deine 
Gedanken und dein posting zu bekommen. Das hilft ungemein. Meist ist es 
auch hilfreich, sich nen Stift und ein Blatt Papier herzunehmen und dort 
zu allererst zu formulieren was man hat und dann, was man erreichen 
will. Anschließend die Gedanken, die einem kommen, klar ausformulieren. 
Beim zweiten oder dritten Draufschauen sieht man zumeist schon die 
Lösung.

W.S.

von Michael (Gast)


Lesenswert?

Netiquette

Es fehlen:
- eine Angabe was GENAU du schon versucht hast, demonstriert anhand des 
verwendeten Codes
- eine genaue Fehlerbeschreibung, denn "funktioniert nich mehr" ist 
NICHT ausreichend!
- es gibt meines Wissens in keiner Programmiersprache eine Void-Loop ? - 
um welche geht es hier also?
- "Das programm der Qlocktwo" ist auch nicht ausreichend, um eine Ahnung 
zu bekommen, womit du hantierst (allein hier im Forum sind mindestens 2 
Codevarianten der Qlocktwo bekannt (Nachbau Originalgröße, Nachbau als 
Tischuhr) und drei zumindest der Existenz nach (Original, 
Original-Tischuhr, Original Armbanduhr)
- es fehlen Punktuation, Groß-/Kleinschreibung, Grammatik

Nächstes mal durchlesen und versuchen, dein Problem nur mit Hilfe der 
Angaben im Posting genau zu erfassen und überlegen, welche Informationen 
deine Gegenüber wohl benötigen, ohne auf Nachfrage zu warten!

von Marc2805 (Gast)


Lesenswert?

Das Programm ist in Arduino geschrieben.
Beide Programme laufen einzeln.
Allerdings nicht wenn ich sie zusammenfüge auch wenn mir Arduino keine 
Fehlermeldung bei Compile bringt.
Alles was im void Setup steht wird noch geladen und ausgeführt.
Das heist die Uhr Pipst kurz beim einschalten.
Allerdings fehlen die die ansteuerungen der Matrix. Meiner meinung nach 
geht der komplette void loop nicht da das programm irgentwo aufgehalten 
wird. werde morgen mal die 2 Programme mit einer genauen anleitung 
Hochladen.
Die Wordclock besteht aus der anleitung von

http://www.google.de/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=9&ved=0CGgQFjAI&url=http%3A%2F%2Fgrosses-bastelwochenende.googlecode.com%2Ffiles%2FAnleitung%2520v1.4%2520Web.pdf&ei=fyNJUKvuHsTNsgb9moGwCw&usg=AFQjCNGtnVAeG4rBlWkSVyASF0n658yW-g

Und die Platine ist die von Wyolum

http://wyolum.com/shop/nachbau/17-nachbau-complete-kit.html

Den rest poste ich morgen
Gute Nacht
Gruß Marc

von Michael (Gast)


Lesenswert?

"Rest Poste ich morgen" <- das Prinzip "hauptsache ich habe den Thread 
schonmal gestartet, dann schaue ich, was kommt und dann kleckere ich das 
Zeugs hin, bis ich meine Lösung bekomme" ?

Du solltest CODE posten, keine Links, darunter ALLES relevante. Das 
"void Setup" <- ist das eine Datei? Eine Funktion? eine *.exe für den 
PC?
Und was, aber warum frage ich das jetzt zum zweiten mal, ist eine _"void 
loop"_ ?
Eine Schleife ohne Rückgabewert? Die 5. Schleife im unbekannten 
Programm? (zumindest meine Kristallkugel sieht das so)


Poste zusammenhängende Sätze mit Informationen, die dir selber helfen 
würden, das Problem zu erfassen. Und wenn du erkennst, wo das Problem 
NICHT liegt, warum weißt du dann nicht, wo es liegt ("nicht im void 
setup, weil..."). Vllt. liegt es aber doch genau da, ein Piepsen zeigt 
nicht an, dass das Programm noch gleich funktioniert.

Unabhängig davon: Du nimmst Fremdcode, den du nicht verstehst und willst 
eigenen Code dazubauen. Keine gute Idee. Besser aufgehoben wärst du 
damit im Forum wo auch der Fremdcode herkommt oder per eMail an den 
Entwickler, oder ...

von Programmierer (Gast)


Lesenswert?

Michael schrieb:
> Du solltest CODE posten, keine Links, darunter ALLES relevante. Das
> "void Setup" <- ist das eine Datei? Eine Funktion? eine *.exe für den
> PC?

Er hantiert mit der Arduino IDE (im wesentlichen C++ mit vielen Makros 
und einem Startup Code). Die setup() Funktion wird einmalig nach dem 
Reset des MC aufgerufen.

> Und was, aber warum frage ich das jetzt zum zweiten mal, ist eine _"void
> loop"_ ?

Diese Funktion wird nach der setup() Funktion immer wieder aufgerufen. 
Sie ist das Aequivalent zum while(1){} / for(;;){} Konstrukt in einem C 
Programm in der main() Funktion. Arduino Programme haben keine main() 
Funktion (oder sie hat keine besondere Bedeutung).

Nungut, soviel zu Arduino. Bin gespannt auf den Code... :)

von Michael (Gast)


Lesenswert?

Dass er mit der Arduino IDE hantiert weiß ich seit seinem zweiten (!!!) 
Post auch, aber ich bin mir immernoch sicher es gibt keine sogenannte 
"void loop". Es gibt vllt eine Funktion "loop" mit Rückgabetyp "void", 
darauf wollte ich hinaus. Equivalent bei "void setup".. aber egal
Nichts desto trotz schließt er Fehler in der Setup-Funktion aus, welche 
er NICHT gepostet hat und bietet auch sonst keine vollständigen 
Informationen die zur Lösung seines Problems beitragen. Nachdem er erst 
morgen posten kann hätte er lieber mal den ganzen Thread erst morgen 
gestartet und dann VOLLSTÄNDIG zusammengeschrieben was, wann und wo 
passiert, passieren sollte oder nicht passiert.
Punkt

von Marc G. (marc2805)


Angehängte Dateien:

Lesenswert?

So hab jetzt mal 2 dateien angehängt
Die datei Qlockthree31 ist das eigentliche Programm der Uhr.
gleich nach dem void loop habe ich ein paar zeilen frei gelassen das man 
die stelle besser findet da fängt das IR programm an.
Nach dem Programm hab ich wieder ein paar zeilen freigelassen.

Die datei IRfb ist das eine Fernbedienungs Programm was aber schon im 
Qlockthree enthalten ist und bis auf den void loop stimmen müsste.

von Christoph (Gast)


Lesenswert?

Ein wenig zur Sprache unter Programmierern:
1. Wir können auch große Anfangsbuchstaben; geschickt eingesetzt liest 
sich der Text leichter.
2. Man sagt nicht "der void loop". loop ist eine Funktion, void zeigt 
an, dass es keinen Rückgabewert gibt (also ist es eigentlich eine 
Prozedur). Du könntest also sagen: "Beim Aufruf von loop ..." oder "der 
Code in loop ..."

Und nun sag endlich wo Dein Problem liegt. Der Code enthält doch jede 
Menge Serial.print-Anweisungen. Kommt da was raus? Bis wohin wird der 
Code ausgeführt? Weißt Du denn wenigstens, was da rauskommen soll? Falls 
Du nicht genau sagen kannst, was passiert, füge weitere Ausgaben ein. 
Und nun mach Dir noch klar, dass hier und weiter oben schon jede Menge 
Fragen gestellt wurden, und Du bist der Einzige, der sie beantworten 
kann, das muss doch ein gutes Gefühl sein.

von Marc G. (marc2805)


Lesenswert?

Ja genau das ist ja das Problem.
Das Programm bleibt direkt im Loop stehen.
Es wird weder die Matrix angesteuert, noch der DCF oder die Realtime 
Clock.
Ich gehe davon aus das das IR Programm den loop in eine Warte Schleife 
versetzt. Normalerweise müsste er mir das IR Programm im Debug einen 
Wert zurückgeben. Aber auch da kommt nichts.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.