Kazalo:

Inicializacija nastavitev Arduino EEPROM: 5 korakov
Inicializacija nastavitev Arduino EEPROM: 5 korakov

Video: Inicializacija nastavitev Arduino EEPROM: 5 korakov

Video: Inicializacija nastavitev Arduino EEPROM: 5 korakov
Video: Еще один барабанный секвенсор Arduino с минимальным аппаратным обеспечением drumseq81212 2024, November
Anonim
Image
Image
Kaj je EEPROM?
Kaj je EEPROM?

Zdravo vsi, Vsak Arduino ima majhen vgrajen pomnilnik, imenovan EEPROM. To lahko uporabite za shranjevanje nastavitev za vaš projekt, kjer bodo izbrane vrednosti shranjene med cikli napajanja in bodo tam, ko naslednjič vklopite Arduino. Imam kul trik, ki vas bo naučil, kako lahko pri prvem zagonu vnesete niz privzetih vrednosti, zato se držite, da ugotovite, kako.

1. korak: Kaj je EEPROM?

Kaj je EEPROM?
Kaj je EEPROM?

EEPROM je majhen pomnilnik, katerega vrednosti se hranijo tudi, ko je plošča Arduino izklopljena. Ta deluje kot majhen trdi disk, tako da lahko shranite parametre za naslednjič, ko vklopite napravo. Odvisno od vrste plošče Arduino boste imeli na vsaki različno količino prostora za shranjevanje, tako da ima na primer Uno 1024 bajtov, Mega 4096 bajtov in LilyPad 512 bajtov.

Pomembno je omeniti, da imajo vsi EEPROM omejeno število ciklov pisanja. Atmel določa pričakovano življenjsko dobo približno 100 000 ciklov pisanja/brisanja za EEPROM na Arduinu. Morda se sliši kot veliko pisanja, vendar je lahko preprosto doseči to mejo, če berete in pišete v zanki. Ko je lokacija prevečkrat napisana in izbrisana, lahko postane nezanesljiva. Morda ne vrne pravilnih podatkov ali vrne vrednosti iz sosednjega bita.

2. korak: Uvozite knjižnico

Uvozi knjižnico
Uvozi knjižnico
Uvozi knjižnico
Uvozi knjižnico
Uvozi knjižnico
Uvozi knjižnico

Za uporabo tega pomnilnika najprej vključimo priloženo knjižnico Arduina. Knjižnica ponuja dve metodi: branje in pisanje za ustrezna dejanja. Funkcija branja sprejme naslov, s katerega želimo prebrati, medtem ko funkcija pisanja sprejme naslov in vrednost, ki jo želimo zapisati.

V našem primeru je cilj, da imamo ob vsakem zagonu Arduina pripravljeno paleto nastavitev, zato začnemo z opredelitvijo matrike, ki jo bomo uporabili za shranjevanje, in opredelitvijo naslovov za vsako od nastavitev, ki jih želimo shraniti. V čipu, kjer imamo na voljo 1024 bajtov, bodo lokacije naslovov od 0 do 1023.

3. korak: Nastavite zastavico za inicializacijo

Nastavite zastavico za inicializacijo
Nastavite zastavico za inicializacijo

Trik pri začetni nastavitvi privzetih vrednosti za nastavitve je, da uporabite enega od naslovov kot pokazatelj, ali so bile nastavitve inicializirane ali ne. Za to sem uporabil zadnjo lokacijo naslova, saj se pogosto ne uporablja za nič drugega. Funkcija loadSettings bo najprej preverila to lokacijo, če je tam shranjena vrednost "T", v nasprotnem primeru pa bo šla v nastavitev z nastavitvijo in za vsako zapisala začetne vrednosti. Ko bo končano, bo zdaj vrednost lokacije, kjer sledimo inicializiranim nastavitvam, nastavila na znak "T" in naslednjič, ko vklopimo Arduino, vrednosti ne bomo več inicializirali, ampak bomo brali shranjene podatke v naš niz.

4. korak: Posodobitev nastavitev

Posodabljanje nastavitev
Posodabljanje nastavitev

Za posodabljanje vrednosti lahko uporabimo funkcijo pisanja, kot smo jo imeli pri inicializaciji, vendar je boljši način, da uporabite priloženo funkcijo posodobitve. Ta funkcija najprej preveri, ali je vrednost, ki jo poskušamo shraniti, enaka že v EEPROM -u in če je, se ne posodobi. S tem poskuša zmanjšati število operacij pisanja, da bi podaljšala življenjsko dobo EEPROM -a.

5. korak: Uživajte

Uživajte!
Uživajte!
Uživajte!
Uživajte!

Upam, da vam je bil ta Instructable v pomoč in da ste se uspeli kaj naučiti. Izvorna koda je na voljo na moji strani GitHub in spodnja povezava. Če imate predloge, jih pustite v komentarjih in se ne pozabite naročiti na moj YouTube kanal za več podobnih videoposnetkov.

Priporočena: