INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
digitale Werte trotz Stromunterbrechung nicht verlieren
31.12.2015, 08:38
Beitrag #49
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
(31.12.2015 02:18)Lötzinnerhitzer schrieb:  die Anzahl der Klick's lassen sich doch in einer Adresse speichern
- ich vergleiche einmal mit einem Schrank: Adresse EEProm = Schublade und in die Schublade packst Du die Anzahl der Klick's
und genau das meinte ich am Anfang (ca. Seite 1): Anzahl der Klick's = counter
oder willst Du jeden Klick in einer eigenen Adresse(Schublade) ablegen ?
die Sache mit dem Spannungsausfall haben wir ganz zu Anfang auch schon vorgeschlagen - Puffer-Elko und Spannungsüberwachung (wenn Spannung weg, mit der Energie aus dem Puffer noch "einmal schnell" den letzen Klick speichern oder die simple Variante (ungeprüft ?): wenn keine Spannung mehr da ist wird kein Klick mehr gespeichert, aber der letzte Klick vor dem Ausfall sollte ja im EEprom abgelegt sein ...

und wenn Du Angst um die Speicherzyklen des EEProm hast, nimmst Du alle 50.000 Klick's eine neue Speicherzelle (Schublade)

oder liege ich jetzt völlig daneben Huh
(liebe Kollegen, bitte korrigiert mich, wenn ich absoluten Blödsinn von mir gegeben habe - es ist schon spät)

Moin Kollege,
also ich bin nun ausgeschlafen...Wink
Also diese Schubladen bringste am besten zum Schreiner weil die verwirren den Goldfisch mehr als das sie ihm helfen...Tongue

Das mit der Hardewarelösung und dem Kondensator wäre eine Lösung aber die erfordert dann auch Hardwarekenntnise bzw. Grundlagen in der Elektronik.

Und alle 50.000 Klicks eine neue Speicherstelle im EEPROM zu beschreiben erfordert dazu einen kleinen Programmabschnitt der das verwaltet und ist kein wirklich großer Aufwand. Für einen Tiny habe ich das mal so verwirklicht:
Code:
//##########################################################
byte epromwrite(byte stellung){
    eeaddress = EEPROM.read(stateverw);   // aktuelle speicheradresse holen
    writeerr = 0;
    do{
    EEPROM.write(eeaddress, stellung);   // Neue Stellung speichern
    byte buffer = EEPROM.read(eeaddress);  // Testlesen
    if (buffer != stellung){                           // Vergleichen
      writeerr = 1;                                     // Flag setzen bei Fehler
      eeaddress++;                         // Speicheradresse erhöhen
      if(eeaddress >= 250)eeaddress = 0;   // Adressueberlauf verhindern.
      EEPROM.write(stateverw, eeaddress);  // neue Speicheradresse speichern
      }
    else writeerr = 0;   // wenn alles klar Flag loeschen
    }while (writeerr == 1);   // weitermachen wenn Fehler
}
Das müßte man dann für die 4 Bytes aus long int anpassen. Aber hier liese sich ja noch .get und .put verwenden.

Was in der Lib zum FRAM von Github realisiert ist weis ich nicht...aber ein FRAM kann mehrere Millionen Schreibzyklen verkraften.

@Goldfisch... es mag sein das in der Reference nur long steht und kein long int....schreiben kann man das auf jeden Fall so...mach ich z.B. immer so um klarheit zu haben was da gemeint ist... z.B. geht auch "unsigned long int" als Datentyp.
UND
Code:
int Adresse_im_EEPROM = 0; <== zum Beispiel
WIESO definieren....ähm Computer sind zwar fürchterlich schnell...aber genauso DUMM... und wenn du denen nicht exakt vorgibst was sie machen sollen dann gehts zu schnell schief....in dem Fall ist zwar eine Variable angelegt aber der Wert der da drinsteht ist ohne Initialisierung dem Zufall nach dem einschalten überlassen...wenn man Glück hat steht da meistens eine 0 drin....aber das ist nicht gesichert Big Grin - deshalb gezielt vorgeben Dodgy

Soviel mal dazu...Frau winkt mit dem Kaffeebecher...bis später...
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.12.2015, 17:39
Beitrag #50
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
das mit dem kasten und den schubladen hätte mir gefallen - und in die schublade hätte ich jeweils ein byte packen können oder? und ein immer wieder neu generiertes neues byte 255 mal in die gleiche schublade rein tun können - und dann hätte sich die schublade verklemmt, ich könnte nix mehr reintun (nur noch rausnehmen) - und dann hätte ich für das 256-igste mal eine neue schublade gebraucht - ist das nicht so?
an diese geschichte angehängt - wenn ich pro schublade 255 x ein byte hineintun kann - ich aber pro mal 4 byte gleichzeitig zu versorgen habe - dann brauche ich doch 4 schubladen gleichzeitig - wie bei einem 2 meter langen brot, das nicht in eine 50 cm schublade passt - ich muss es 4 x zerschneiden - richtig?
mein problem ist, dass ich nicht weiss wie ich 4 schubladen gleichzeig öffenen kann und gleichzeitig die 4 bytes (brotstücke) rausnehmen und anschauen kann... und ob ich insgesamt 300'000 mal 4 bytes (4 bytes braucht es um die zahl 300'000 schreiben zu können) reintun kann.
soviel zu meinem vorstellungsvermögen, was in einem eeprom so vor sich gehen könnte.

int_Adresse_im_EEPROM = 0;
das heisst doch, dass er immer wieder bei null reinschreibt und da auch gucken geht, ob es was drin hat oder? wenn er jetzt aber beim ausschalten aus platzgründen (wegen der 4bytes) bereits platz 40 belegt hat, geht er dann nicht bei platz 0 gucken anstatt bei platz 40?

und das script von bitklopfer - vielen dank dafür - hab ich mal versucht in menschensprache zu übersetzen, um zu sehen, ob ich verstehe, was da passiert - irgendwas scheint mir mit meiner übersetzung allerdings nicht logisch zu sein - wo mache ich den überlegungsfehler?
ich hab das beispiel mit briefen und briefkästen anstatt mit schubladen mit irgendwas drin gemacht.

Code:
byte buchstaben (byte brief){ //8 buchstaben ergeben einen brief
    briefkasten = EEPROM.read(geöffneterBriefkasten);// aktuell geöffneten briefkasten suchen und diesen briefkasten anzeigen
    writeerr = 0; //aufschreiben, dass kein brief drin ist
    do{
    EEPROM.write(briefkasten, brief);   //  briefkasten öffnen, und  brief reinlegen
    byte buffer = EEPROM.read(briefkasten);  // Testlesen - briefkasten öffnen, reingucken, brief rausnehmen und in puffer-schachtel reinlegen
    if (buffer != brief){                           //Vergleichen ob in puffer-schachtel bereits ein anderer brief drin ist
      writeerr = 1;                                     // wenn ja dann aufschreiben, dass schon ein anderer brief drin ist
      briefkasten++;                         // vom bereits geöffneten briefkasten zum nächsten briefkasten gehen, ihn öffnen und reingucken
      if(briefkasten >= 250)briefkasten = 0;   // wenn in diesem nächsten briefkasten mehr als 250 briefe drin sind, alles wegwerfen was drin ist, damit briefkasten wieder leer ist - Adressueberlauf verhindern.
      EEPROM.write(geöffneterBriefkasten, briefkasten);  // geöffneten briefkasten als briefkasten anzeigen
      }
    else writeerr = 0;   // wenn kein anderer brief drin ist ist der briefkasten leer
    }while (writeerr == 1);   // sonst sage, dass ein anderer brief drin ist
}

was für mich aber ausserdem immer noch nicht klar ist, ist, ob ich jetzt genug platz auf dem eeprom habe oder nicht...
wenn ich 50'000 clicks in eine einzige adresse speichern könnte - dann wäre doch das eeprom gross genug? es hat ja 512 adressen...
ich bin wirklich verwirrt.... Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.12.2015, 17:54
Beitrag #51
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
(31.12.2015 17:50)Lötzinnerhitzer schrieb:  
Zitat:ich bin wirklich verwirrt....

und ich gebe auf ...

viel Spaß noch

oh nein - ich weiss ja, dass das alles zu hoch für mich ist - aber ich brauche das ding - bitte bitte weiterhelfen Undecided
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.12.2015, 18:34
Beitrag #52
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
..ob es wohl auch Schubladen für Fische gibt...Big GrinBig GrinBig Grin

irgendwie sollte man den Kasten mit den Schubladen abschließen und den Schlüßel im Bodensee versenken...RolleyesRolleyesRolleyes

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2016, 17:38
Beitrag #53
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
ok ok - der goldfisch ist in der schublade und der schlüssel dazu ist unterwegs zum bodensee - wo ist der denn? Big GrinBig GrinBig Grin

ich habe jemand gefunden, der mir das ding jetzt so programmiert, dass es richtig gut funktionieren wird. bis dahin werde ich wohl einen kurs in programmierung machen - also sollte jemand ein gutes buch, onlinekurs oder sonst was kennen - lasst es mich wissen. ich suche so was wie - programmieren für dummies Cool

danke euch allen! Heart happy new year
goldfisch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2016, 19:20 (Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2016 19:50 von avoid.)
Beitrag #54
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
Glaub mir, am Bodensee willst du nicht sein, zwischen der länderübergreifenden Schickeria Dekadenz. Da ich keine Ahnung habe welche Schulbildung du mit bringst gebe ich einfach mal eine allgemeine Buchempfehlung ab.

- "Arduino für Einsteiger" -> ab Seite 97 (Anhang C/Kurzreferenz zu Arduino)
Das könnte nicht schaden, doch das buch richtet sich an jene die noch nie was mit Elektronik gemacht haben also erwarte nicht zu viel.

- "Arduino in der Praxis" -> Kapitel 2 (Arduino-Software-Entwicklung) und Kapitel 4 (Arbeiten mit LCDs)
Das könnte auch etwas sein das dir hilft, der Rest geht dann schon speziell in die Robotik und bringt kaum was zum lernen der Materie.

- "Arduino Kochbuch" -> Sollte jeder als Nachschlagewerk haben
Da steht so gut wie alles drin, auch wenn es mir vor kommt als währen einige Kapitel in der deutschen Ausgabe kürzer als in der englischen. Allerdings ist das nichts für Einsteiger weil viel Grundwissen vorausgesetzt wird. Leider sind die Codebeispiele darin noch für eine sehr alte Version der Programmierumgebung, funktionieren also nicht immer auf anhieb. Da muss man dann lernen auch mal die Debug Meldungen zu lesen. Wink

- "Google Suche" -> Dieses Buch sollte mittlerweile auch jeder kennen
Immerhin sind wir im Zeitalter in dem man schon in der Grundschule Medienkompetenz lernen sollte. Also versuch dein Glück und finde die Information zwischen all dem Müll. Wink

Gruß,
Avoid

---- nachtrag ----
Hier hab ich noch drei bücher die man evtl. auch haben sollte wenn man mit dem Arduino und der Elektronik noch neu ist.
"Arduino: Hard- und Software Open Source Plattform"
"Mikrocontroller in Kürze"
"Bauelemente und Grundschaltungen der Mikroelektronik: Lehrbuch"

Kann mir mal wer sagen warum es bei den einschlägigen Händlern fast nur noch englische Fachbücher zur Mikroelektronik gibt? Sind die deutschsprachigen Fachbuchautoren ausgestorben oder haben die nur die selbe Rechtschreibung wie ich und schreiben darum nix. Wink

Gute Fragen sind wie ein wissenschaftliches Experiment. Sie setzen eine Menge Wissen bereits voraus.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2016, 12:20
Beitrag #55
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
hallo avoid
vielen dank für all die tips und....
Zitat:"Google Suche" -> Dieses Buch sollte mittlerweile auch jeder kennen
Zitat:....finde die Information zwischen all dem Müll.
weil google eben kein buch ist, ist das wahrscheinlich der grund, warum bücher immer noch ihre existenzberechtigung haben. die filtern all den müll raus Smile
gruss goldfisch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.01.2016, 13:03
Beitrag #56
RE: digitale Werte trotz Stromunterbrechung nicht verlieren
(02.01.2016 17:38)goldfisch schrieb:  (...)

ich habe jemand gefunden, der mir das ding jetzt so programmiert, dass es richtig gut funktionieren wird.
(...)
goldfisch

Nur so aus Interesse:

Was wird denn bei so einer Dienstleistung berechnet ?

Meinetwegen gern per PN Wink
Und nein, ich werde keinesfalls dazwischenfunken.
Dieser Auftrag ist jetzt vergeben, basta.


Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino lässt sich nicht installieren bergfrei 4 146 20.11.2016 18:34
Letzter Beitrag: bergfrei
  Arduino Mega 2560 läuft nicht Wolfgang50 6 185 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Ardublock übertragt nicht an IDE oder UNO R3 tobi83 5 341 16.10.2016 14:07
Letzter Beitrag: Pit
  Upload funktioniert nicht Levi 5 244 22.09.2016 20:19
Letzter Beitrag: hotsystems
  ESP8266 tuts nicht sowerum 7 393 19.09.2016 21:01
Letzter Beitrag: sowerum
  If-Bedingung funktioniert nicht bei Serial1.write Datatom 6 225 16.09.2016 20:36
Letzter Beitrag: Datatom
  SD Karte wird nicht erkannt... Maxi290997 2 207 16.08.2016 14:36
Letzter Beitrag: Maxi290997
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 979 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Arduino Uno+Motor Shield+Velleman Mustercode funktionieren nicht Dubidu 8 488 20.07.2016 19:05
Letzter Beitrag: Scheams
  Sketch konnte nicht angelegt werden Sarius 2 240 16.07.2016 15:59
Letzter Beitrag: Sarius

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste