ATtiny 84 Speichergröße

  • Nabend

    Bevor ich mich hier völlig verrenne, würde ich gerne folgenden wissen:

    Ist es möglich auf einem ATtiny 84 mit seinen 8kb Sketches zu speichern,
    welche mir das Auslesen von mehr als einem Sensortyp erlauben?

    Also z.B. Temperatur und CO2?

    Grund der Befürchtung ist die Meldung nach dem flashen,
    das 5 von 8kb belegt sind.

    Grüße Kolja

  • Diese Frage wäre im Fun Sensor Thread denk ich besser aufgehoben...

    Wieviele Sensoren du einbinden kannst kommt auf die jeweilig benötigten Libraries an und wie viel diese verballern... Zum Beispiel habe ich mich bewusst gegen die doch sehr mächtige JeeLib entschieden da die viel mehr Flash belegt als mit der kleineren RFM12B-lib

    Manchmal kann man auch aufs extra einbinden von ganzen Libs verzichten und sich nur die Sachen aus den Libs raus kopieren die man tatsächlich benötigt, dadurch kann man oft auch sehr viel einsparen - ist aber eben auch weitaus komplizierter und setzt voraus das man zumindest ein bisschen weiß was man da macht :fies:

    Aber man muss auch beachten das 8kB Flash eigentlich ziemlich viel für so ein Programm (Sketch) ist, damit läßt sich also schon ziemlich viel anstellen... Beispielsweise verbraucht mein weit aus umfangreicherer und komplexerer Sketch fürn RoPi auch nur ca 22kB.. Kommt halt drauf an wie mans Programmiert, man kann auch viel Flash versämeln weil man's eben falsch Programmiert (zu viele globale Variablen, zu große / falsche deklaration usw)


    Diese Frage lässt sich also erst dann vernünftig beantworten wenn man weiß um welche Sensoren es sich tatsächlich handelt (genaue Bezeichnung) und welche Libs dafür zusätzlich eingebunden werden müssten...

  • Nabend

    Also der wahrscheinlichste Fall ist die Benutzung von zwei DS18B20 und einem DHT22.
    Das mit dem CO2 Wert ist erstmal Zukunftsmusik.

    Das Ergebnis werde ich in den Funk Thread übertragen.

    kolja

  • Hm das macht aber eigentlich nicht allzuviel Sinn da sowohl DHT22 als auch DS18B20 Temperaturwerte ermitteln können. Also wenn dann würde es eher Sinn machen zum Beispiel einen DHT22 für Temperatur&Luftfeuchte und einen BMP085 für Luftdruck zu nutzen ; oder einen DHT22 und einen Regensensor..

    Folgender Sketch ist ohne Verschlüsselung 436 bytes zu groß - mit Verschlüsselung wären es 2062 bytes
    (das macht deutlich was encryption bereits verballert)

    Also irgendwo müsste man noch was einsparen... :fies:

  • Für uns mach das mit den zwei Temperatursensoren und dem einen LF-Temp. Sensor Sinn,
    da die beiden DS mit nem Kabel an den Heizkörpern liegen und der DHT die Raumtemperatur bzw. rel. Luftfeuchte messen soll.
    Da die DHT deutlich teurer sind, müssen wir die beiden verschiedenen Sensortypen einsetzten.

    Auf die Verschlüsselung könnten wir verzichten.
    Gruß Kolja


  • was ist denn das für ein sketch?

    copy&paste power! :D

    Da sind noch mindestens zwei Fehler drin ... falsche Version erwischt?

    Welche 2 Fehler? :s

  • Na das ist ja sonderbar :s
    Ich hatte den extra mal in einen leeren sketch bei mir kopiert, um mal zu sehen, ob ich was zum optimieren finde.
    Und in dem sketch werden noch zwei globale long-Werte

    Code
    // Variablen für Temperatur/Luftfeuchtigkeit
    long temp; long humi;


    für das Telegram verwendet, und nicht die lokalen Variablen in loop:

    Code
    int DHT22temp = (myDHT22.getTemperatureC()*100); // Get temperature reading and convert to integer, reversed at receiving end
          int DHT22humi = (myDHT22.getHumidity()*100); // Get humidity reading and convert to integer, reversed at receiving end
          strcat(msg,"&t2=");
          itoa(temp,&msg[strlen(msg)],10);
          strcat(msg,"&h=");
          itoa(humi,&msg[strlen(msg)],10);

    aber jetzt passts ja ...
    cu,
    -ds-

  • Ja das hab ich vorhin noch korrigiert :fies:

    Was man dann eben nur noch optimieren könnte wär nur den Krämpel aus den Libs zu verwenden den man auch wirklich braucht - oder ggf gibts von den Libs mittlerweile auch neuere Versionen die optimiert wurden - Oder vielleicht hat auch jemand anderes "Tiny Libs" davon released... keine Ahnung, lange nicht nach geschaut :)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!