Projektvorstellung Terrarium Controller

@mpl1337:Wenn ich deinen Code so ansehe, denke ich das du schon genau weißt was du tust. :slight_smile:

Arduino Digitalread/Write verbrät auch auch dem Due viel Zeit.

In verwende deshalb diese Funktionen

inline void digitalWriteDirect(int pin, boolean val){
  if(val) g_APinDescription[pin].pPort -> PIO_SODR = g_APinDescription[pin].ulPin;
  else    g_APinDescription[pin].pPort -> PIO_CODR = g_APinDescription[pin].ulPin;
}

inline int digitalReadDirect(int pin){
  return !!(g_APinDescription[pin].pPort -> PIO_PDSR & g_APinDescription[pin].ulPin);
}

Ich habe die Funktion vor einiger Zeit mit dem Scope gegen Arduino Digitalread verglichen, der Performancefaktor war enorm.
Kann ja mal auch einen Blick in die UTFT Klasse werfen, wie dort auf die Pins gegriffen wird.
Evtl. kann man da auch was pimpen.

Stimmt. Hab das auch mal irgendwo gesehen aber ganz vergessen. Werde es morgen mal ausprobieren. Aber warum wird sowas nicht gleich in die arduino ide bzw den Compiler gepackt?

Hab mal reingeschaut, Da werden die register direkt beschrieben wenn ich das richtig deute. An min. einer stelle wird jedoch digitalwrite benutzt

es geht vorran wenn auch langsam... mein esp8266 modul lenkt mich zu sehr ab :smiley:

Na toll, jetzt hab ich so ein Touch Display und kann dein Sketch nicht nutzen weil kein DUE vorhanden. Werd ich wohl bei Zeit und Langeweile selbst was basteln müssen, für den Mega.

aufm mega2560 läufts aber...

Der Sketch verwendet 73.444 Bytes (28%) des Programmspeicherplatzes. Das Maximum sind 253.952 Bytes.
Globale Variablen verwenden 7.491 Bytes (91%) des dynamischen Speichers, 701 Bytes für lokale Variablen verbleiben. Das Maximum sind 8.192 Bytes.
Wenig Arbeitsspeicher verfügbar, es können Stabilitätsprobleme auftreten.

allerdings wird die finalle version nicht mehr laufen. dann wird der ram überfüllt sein.

oder jemand macht sich die mühe F() macros einzubauen :smiley:

Na dann werd ich den mal testen, wenn der Mega wieder verfügbar sein wird.
Momentan wird kein einziger Mega von Mac OS erkannt.

Oder einen Due nehmen, der beißt nicht. Ist sehr brav, und rennt wie ein Windhund :wink: :wink:

@mpl1337: Cooles Projekt, zeigt was der Due kann.

Mein Due wird langsam zu einer Krücke... Bzw will mir sagen das es reicht :smiley: anfangs ging die Touchabfrage noch im ms Bereich... Und musste die Touch Buttons "entstellen" Jetzt bin ich gefühlt bei einer Sekunde. Oder ich hab irgendwo Mist gebaut und habe ungewollt die Touchabfrage verringert.

So er flitz wieder..

Ganzen morgen damit verbracht...

Homesite - 17ms
Setup - 15ms
Zeitmenu - 11ms
Klima - 40ms
graphen zeichnen - 440 ms
statistiken aufrufen - 1ms

die DHT lib war schuld.. hab ne andere genommen.

Hy!

Wie weit ist denn das Projekt schon?

Gibt es eventuell mal ein Code-Update?

Sieht ganz gut aus, was sitzt denn im Terra drin?^^
Hab für mein Terra auch ein Automatisierungssystem gebastelt, ich empfehle Dir noch nen Watchdogtimer, meine beiden Systeme sind ab und zu eingefroren (1-2x im Monat).

Hast Du das mit der Funkuhr bereits ausprobiert? Habe mich bewusst dagegen entschieden, da in der Nähe ja mehrere Stromleitungen laufen, die das Signal gerne stören.....

Da haust ein Madagaskar Taggecko :slight_smile: aktuelle "Technik" läuft noch analog.... Mit der dcf habe ich unter dem Terrarium die Uhrzeit Empfangen können.. aber mir reicht es auch wenn ich die Uhr nur Nacht aktualisiere (wenn vorschaltgeräte aus sind) aktueller Stand ist der selbe wie der letzte plus logging und Graph für 2 Temperaturen plus Luftfeuchtigkeit, vorbereitung für mehr Kanal Zeitschaltuhr, nen kleiner "bildschirmschoner", uptime Zähler für Verbraucher. Pwm Dimmer für LCD Beleuchtung. Ich werde am Wochenenden mal den aktuellen Stand samt libs hier posten..(darf ich libs mit posten?)

Watchdog kommt auch noch.. aber ob der due interne oder ob ich das den ESP8266 machen lasse weiß ich noch nicht. Somit könnte ich übers WLAN die Steuerung neustarten... Bzw bei Kompletausfall sofort informieren..

so hier der aktuelle code inkl sketch zum einspielen meiner eeprom werte.. läuft aber auch ohne diesem eeprom backup

Controller läuft seit 2 wochen ohne absturz oder sich aufzuhängen auf dem schreibtisch....

ist aber noch nicht so weit das man das ding einsetzen kann... mit fehlt leider die künstlerische ader um das LCD schöner aussehene zu lassen.

Hast leider den Code vergessen :stuck_out_tongue_winking_eye: aber sehr schönes Projekt! Arbeite zur Zeit an nem ähnlichem (Due, 7" Touch und noch 1 oder 2 Seperate Mega 2560 für ein Großraumterrarium mit Leguanen :slight_smile:

ups :smiley: passiert... hier isser

terrarium.zip (28.8 KB)

Und jetzt erstmal 6 Wochen Zwangspause... Hab den due gegrillt beim Versuch einer dali Anbindung...

Hallo mpl1337!

Kurze Frage, aber woher hast du denn die UTFT_CTE Lib und die Libs für den FontIC?

Bei mir will das auf dem Due einfach nicht laufen :confused:

Warum nimmst nicht Mega?

Weil der DUE schon vorhanden ist und mit 7" das auch spaß m,achen sollte :slight_smile: