Sida 1 av 1
Räknare Arduino EEprom
Postat: 10 oktober 2016, 19:57:25
av Stene
Hej!
Jag ska börja med ett projekt med en arduino uno där jag vill att den ska räkna antalet gånger den strömsätts. Varje gång den strömsätts ska den +1 till det talet som den hade i minnet. När den tex har nått 50 påslag ska den aktivera en digital utgång.
Någon som har något exempel på kod för det ändamålet?
Re: Räknare Arduino EEprom
Postat: 10 oktober 2016, 20:12:24
av sodjan
Är det det ända den ska göra? Det finns alltså ingen
annan ordinarie applikation i Arduinon? Det kan inte bli
så många rader för att läsa EEPROM, öka med ett, och
skriva tillbaka till EEPROM. Sedan låsa den i en loop.
EDIT: Ja, kolla om värdet >= 50 och dra en utgång också...

Re: Räknare Arduino EEprom
Postat: 10 oktober 2016, 20:29:36
av johano
Kanske såhär (utan att ha provat annat än i kompilatorn):
Kod: Markera allt
#include <EEPROM.h>
const byte PIN=10;
const byte MAGIC=42;
void setup()
{
byte magic = EEPROM.read(0);
byte v = EEPROM.read(1);
if(magic!=MAGIC) {
v=0;
EEPROM.write(0, MAGIC);
}
v++;
if(v>=50) {
digitalWrite(PIN, HIGH);
v=0;
}
// write
EEPROM.write(1, v);
}
void loop()
{
}
Anledningen till det magiska numret är att jag inte vet om eepromminnet kommer vara initierat till något värde (kanske 0 eller 255), så
därför kollar den mot 42 som får antas vara hyffsat säkert, och om det inte är satt så initieras räknaren med 0.
vill man vara ännu säkrare kan man köra en liten längre sekvens av det magiska numret, t.ex. 0xdeadbeef eller nåt sånt, men det kräver då fler läsningar/skrivningar.
/j
Re: Räknare Arduino EEprom
Postat: 10 oktober 2016, 20:33:06
av Stene
Den ska räkna påslag och sedan skriva talet till en lcd. Jag har tittat lite på arduinos sida med exempel för att läsa, skriva mm men jag har svårt att få ihop något bra av det. Behöver hjälp! Hur ska jag lägga upp det enklast?
Skriva det räknade talet till en lcd tror jag att jag har koll på.
johano // tack för exemplet. Ska kolla på den
Re: Räknare Arduino EEprom
Postat: 11 oktober 2016, 20:36:20
av Stene
Jag fick det att fungera efter lite tittande på johano kod. Tack för hjälpen!!