Germany, Osnabrück
Online
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #15 on: November 21, 2012, 05:26:29 pm » |
Solange ich nicht den ganzen Code sehen kann, kann ich nur Tipps geben.
Mikrocontroller haben die Eigenschaft schnell zu sein, da ich in deinem Code viele Delays (die Stoppen das Programm) sehen kann, vermute ich als erstes das es daran liegt. Solange ein Delay aktive ist, wird kein Button erkannt. Es könnte nun sein, dass du im falschen Moment druckst, oder es kann sein das ein anderer Fehler vorliegt. Bitte poste mal den ganzen Code oder lad ihn irgendwo hoch. Gruß Jomelo
|
|
|
|
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
|
|
Bardowick
Offline
Newbie
Karma: 0
Posts: 7
|
 |
« Reply #17 on: November 23, 2012, 04:47:33 pm » |
Fehler gefunden das ist in void setup() gewandert: t = rtc.getTime(); // Get data from the DS1307 dzien=t.date; miesiac=t.mon; rok=t.year; und dzien, miesiac, rok sind jetzt globale Variable Funktionscode ohne Fehler: http://pastebin.com/aBd0b5GAGruß offtopic
|
|
|
|
|
Logged
|
|
|
|
|
Cloppenburg
Offline
Full Member
Karma: 4
Posts: 161
|
 |
« Reply #18 on: March 01, 2013, 03:14:51 pm » |
Wie kann man es denn hier mit umlaute benutzen? Ich benutze im moment dieses hier: void lcdPrint(char* buf) { for(byte i=0;i<strlen(buf);i++) { switch (buf) { case 0xC2: case 0xC3: case 0xCE: case 0xCF: break; // filtering UTF-8 highbyte case 'ä': lcd.print('\xE1');break; // translate UTF-8 lowbyte case 'ö': lcd.print('\xEF');break; // translate UTF-8 lowbyte case 'ü': lcd.print('\xF5');break; // translate UTF-8 lowbyte case 'α': lcd.print('\xE0');break; // alpha case 'ß': lcd.print('\xE2');break; // beta, sz case 'µ': lcd.print('\xE4');break; // micro case '°': lcd.print('\xDF');break; // degree symbol case 'Ω': lcd.print('\xF4');break; // omega case 'σ': lcd.print('\xE5');break; // sigma case 'Σ': lcd.print('\xF6');break; // Sigma default: lcd.print(buf); } } }
Aber beim #define ist ja nix mit lcdprint
|
|
|
|
|
Logged
|
Arduino UNO, Ethernet Shield, Keypad Shield 1284p, Arduino MEGA.
|
|
|
|
Germany S-H
Offline
God Member
Karma: 27
Posts: 774
|
 |
« Reply #19 on: March 02, 2013, 04:37:50 am » |
Aber beim #define ist ja nix mit lcdprint
Wenn Deine print-Befehle für das LCD-Display in einer Library stecken statt in Deinem Sketch, dann mußt Du meine Umwandlungsroutine natürlich erstmal in Deine Library einbauen, bevor Du sie aufrufen kannst.
|
|
|
|
|
Logged
|
|
|
|
|
Germany, Osnabrück
Online
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #20 on: April 13, 2013, 05:49:56 am » |
Hi, ich habe mal dieses Thema auf den neusten Stand gebracht. Die Lib wurde aktualisiert und das Tutorial angepasst. Mehr Informationen gibt es im ersten Beitrag: http://arduino.cc/forum/index.php/topic,73816.0.html
|
|
|
|
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 24
|
 |
« Reply #21 on: April 14, 2013, 02:45:59 am » |
Hallo,
erstmal danke für dieses gelugene Projekt. Ich konnte damit als Anfänger ein sehr komplexes Menü mit sauberer Steuerung und IR-Fernbedienung in wenigen Stunden realisieren. Die Steuerung und die Menüfunktionen als solches habe ich jetzt fertig. Nuin stehe ich vor der Frage wo und wie ich permanent laufende Hintergrundprozesse integriere.
Ich bin dabei eine recht komplexe Steuerungseinheit aufzubauen. Dazu arbeite ich mit einer RTC und verschiedenen Alarmen. Prinzipiell sind es eine Vielzahl von Zeitschaltuhren, welche einen Schaltkreis grundsätzlich aktiven. Dazu kommen nach der Aktivierung verschiedene Prüfparameter durch Sensoren. Wenn alle Bedingungen erfüllt sind wird der jeweilige Pin HIGH oder ein PWM startet.
Die ganzen kleinen Subfunktionen werde einfach im Funktionsbereich als Subfunktionen aufbauen. Aber wo und wie integriere ich die Funktion die im Hintergrund immer läuft, sobald der Controller, sprich der Arduino, aktiv ist.
EDIT: Ich glaube ich kann im loop auch Funktionen aus Menu_Func direkt aufrufen. Wenn dem so ist hab ich mein Problem gelöst.
Danke vorab.
|
|
|
|
« Last Edit: April 14, 2013, 02:52:45 am by Rtdler »
|
Logged
|
|
|
|
|
Germany, Osnabrück
Online
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #22 on: April 14, 2013, 02:55:10 am » |
Vermutlich in der Loop Funktion, ich bastel gleich mal ein Beispiel wie das dann aussehen könnte.
|
|
|
|
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 24
|
 |
« Reply #23 on: April 14, 2013, 05:13:49 am » |
Ein kleinen Verbesseungsvorschlag:
Das Preogramm merkt nicht, wenn ich verschiedene Funktion am gleichen Eintrag habe. Wenn ich in der Itemdefinition zu Item 1 Funktion a und zum gleichen Item in der Funktionsobjektauflistung Funktion b hinschreibe wirds übersehen.
VG Torsten
|
|
|
|
|
Logged
|
|
|
|
|
Germany, Osnabrück
Online
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #24 on: April 14, 2013, 08:56:47 am » |
Hi,
das kann das Programm auch nicht feststellen, daher muss man ja die Auflistung immer anpassen. Man müsste den Compiler anpassen um so einen Fehler abfangen zu können, das geht aber viel zu tief und ist keine Lösung.
|
|
|
|
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #25 on: May 17, 2013, 03:10:48 am » |
Hallo, ich bin wirklich begeistert von diesem Menü, vielen vielen Dank. Nur habe ich noch ein Problem: Ich möchte längere Texte anzeigen (über mehrere Zeilen), und brauche dafür also eine Scrollfunktion (nach unten). Natürlich könnte ich jede Zeile als eigenen Menüpunkt nehmen aber das wäre wohl nicht der richtige Weg. Außerdem würden die Pfeile in der ersten Spalte stören. Wie kann ich eine solche Scrollfunktion realisieren? Danke im Voraus bekas
|
|
|
|
|
Logged
|
|
|
|
|
Germany, Osnabrück
Online
Sr. Member
Karma: 8
Posts: 338
E-Technik Student - Master
|
 |
« Reply #26 on: May 17, 2013, 01:14:00 pm » |
Das funktioniert genauso wie eine normale Scroll Funktion auf dem Display. Da ich so etwas bisher noch nicht gebraucht habe, existiert dafür keine fertige Funktion. Du könntest aber mit if(CTR_check_button()) { und if(g_button_up > 0) { und if(g_button_down > 0) { die Scroll Funktion steuern.
Vielleicht gibt es hier ja irgendwo schon eine Lib im Forum die sich mit dem Scrollen durch längere Texte beschäftigt.
|
|
|
|
|
Logged
|
~Es ist so grausam, das der Intelligenz Grenzen gesetzt sind und der Dummheit keine.~
|
|
|
|
|