Hur man lagrar en momentan knapptryckning som ett menyval (3 / 4 steg)

Steg 3: anmärkningar

Denna skiss visas hur du använder EEPROM slitage utjämning, spara ett litet heltal värdet urval i EEPROM, och sätta en variabel som är kunna span återställs och power ups.

Att trycka på knappen bifogas stift 12 gör ett menyval, används för att bestämma det önskade uppförandet av andra funktioner eller funktioner i skissen. Det markerade värdet kan användas för att tända en lämplig LED eller Visa lämplig text som visar urvalet gjorts. Sen, resten av skissen kan göra vad det val efterlyser.

Markeringen lagras i EEPROM med en slitage-utjämning algoritm så det inte kommer lägga en hel del slitage på någon enstaka bit. Varje gång en urvalsändring görs av knapp, ändras bara en bit av EEPROM. 1,6 miljoner knapptryckningar kan föras in i de 4 byte av EEPROM-minne används för att lagra markeringsstatusen innan det fått 100.000 skriver för någon en cell överskrids.

Eftersom algoritmen för att lagra aktuella urval värde håller rensa bitar tills den aktuella markeringen representeras ordentligt, spelar vanligtvis rensa endast en bit, det ingen roll om EEPROM initierades till alla värden i synnerhet. Det kommer automatiskt justera och initiera EEPROM byte som behövs.

Denna skiss använder EEPROMex.h för att behandlingen/uppdatera EEPROM. EEPROM.setMaxAllowedWrites är en funktion av EEPROMex.h som är användbara under utveckling och felsökning, att hålla dig från att oavsiktligt kodar en skenande sekvens av skriver och bära ut din Arduino EEPROM minne inom ett par minuter. För produktionsanvändning kommer du vill inaktivera gränsen. EEPROMex.h i dokumentationen för detaljer. Länken till få EEPROMex.h bibliotek är:

http://Playground.Arduino.cc/Code/EEPROMex

Och den här artikeln beskrivs hur du installerar bibliotek:

https://www.Arduino.cc/en/guide/libraries

Jag visar också i denna demo skiss hur man gör flera saker i en slinga utan att blockera och utan förseningar. Det finns många artiklar på webben och i arduino.cc forumet för att göra flera saker samtidigt och looping utan förseningar.

Alla ATmega328P - eller ATmega32U4-baserade Arduino, såsom Uno Pro Mini, Leonardo, Pro Micro, etc., bör kunna använda skissen och lagra till den inbyggda EEPROM. För Pro mikro, som inte har stift 11, 12 och 13 tog fram till huvudet stift, justera skissen för att använda andra stift. PIN 17 i Pro mikro är RXLED och kan användas som en ombord LED, ersätta stift 13. RXLED i Pro mikro är på när produktionen stift går låg, medan stift 13 ledde på UNO är på när produktionen stift går hög. Så, för att se LED glöden dim i Pro mikro du skulle behöva vända pulse bredd så PIN-koden är hög för längre tid än det är låg. Det gör att du kan ändra behandlingen av pin 17, i 2 platser i skissen, från

om (digitalRead(17))

till

om (! digitalRead(17))


Ytterligare läsning:

http://www.Mosaic-Industries.com/Embedded-Systems/SBC-Single-Board-Computers/Freescale-hcs12-9S12-c-language/instrument-Control/EEPROM-Lifetime-Reliability-Wear-Leveling

http://StackOverflow.com/Questions/10667491/is-there-a-General-Algorithm-for-MicroController-EEPROM-Wear-Leveling

http://forum.Arduino.cc/index.php?topic=223286.0

Se Steg
Relaterade Ämnen

Hur man inte ska gråta som ett barn när skära lök

Någonsin undrat varför varje gång du behöver till skiva upp ens en ynka liten lök dina ögon omedelbart börja riva upp? Mina vänner, kampen är verkliga... men det är inte för att säga att det finns ingenting som kan göras åt detta.Mitt namn är Jeff Po...

Hur man måla skåp som ett proffs

målade skåp kan ge nytt liv till något föråldrade utrymme. Jag har drömt om en krämig vit kök i år nu, tyvärr min ser mörkt och grådaskig. Men, säger Scott Fox med Harry's Ace hårdvara jag kan uppnå ett professionellt utseende på en gör-det-självares...

Hur man gör eld med bara ett batteri och stålull

lära sig hur man gör eld med bara ett batteri och stålull.Det är mycket lätt att göra. Bara köpa ett 9 volts batteri och vissa stålull (desto finare desto bättre) och gnid batteriet på ullen. Ullen kommer omedelbart börja gnista. Belysning din fnöske...

Hur man gör en eldstad som inte kommer att bränna ditt hus ner i Minecraft

Eldstäder är stora dekorativa bitar för ditt hus i Minecraft, men om du inte är försiktig, kan du sluta bränna ner ditt vackra hem. Även den övergripande utseendet på din spis är upp till dig, är här vad du behöver se till att du gör så att du inte b...

Hur man bränner Raspbian Weezy till ett SD-kort (FULL)

I denna tutorial kommer jag visa dig hur man installerar Raspbian på ett SD-kort.Steg 1: Vad är Raspbian och varför jag läser detta?Om du just har köpt en Raspberry Pi eller är intresserade av att köpa en, kommer att du behöva välja ett operativsyste...

Hur man gör eld med bara ett batteri

lära sig hur man gör eld med bara ett batteri och stålull.Det är mycket lätt att göra. Bara köpa ett 9 volts batteri och vissa stålull (desto finare desto bättre) och gnid batteriet på ullen. Ullen kommer omedelbart börja gnista. Belysning din fnöske...

Hur man kan blanda färger som en färgskrivare

här är hemligheten till att blanda färger.1. Använd Cyan, Magenta och gul, inte röd, gul och blå2. ordna färgerna i en färg kub, inte ett färghjul.Då kommer du att kunna göra varje enda färg en färgskrivare kan göra. Du kan skriva ut kopior av dina f...

Hur man stämmer en gitarr med ett Floyd Rose (gitarr används: Kramer Striker 211)

Detta instructable visar hur man stämmer en gitarr med ett Floyd Rose tremolo. Jag använder en Kramer Striker 211.Steg 1: MutternI bilden visas muttern är speciell. Vi måste först låsa upp muttern med en Allen Key (det var försedd med Kramer på baksi...

Hur man gör en skena / fixa ett brutet ben

Hey guys i detta instructable jag kommer att lära dig hur man gör en skena som är bra för överlevnad och lätt och snabbt det situationer. Denna uppdelning kommer att se din arm har minimal rörelse så om du arm är trasig det inte kommer bli värre den...

Hur man redigerar action replay koder del ett

har du någonsin spelat ett TV-spel du bara inte tycks slå?Jag har lösningen. hacka spelet med min guide.del ett: bara enkel redigering till mängden koden ger digdel två: kommer snartsaker du behöver:Action replay (jag använder en för min ds)Action re...

Hur man gör en dart som kommer att hålla i väggen

detta instructable kommer att lära dig hur man gör en dart som kommer att hålla in i väggen. Detta är ett enkelt projekt som vem som helst skulle kunna göra.Steg 1: material material --en rulle tejp-vissa sträng eller andra tunna repet-sax-en muttero...

Hur man gör en leksak som dina fåglar kommer att använda för sitt bo

I detta instructable jag kommer att visa dig hur man gör en leksak som dina fåglar absolut kommer att älska och använda för boet.Steg 1: Material och verktygdu behöver:råg gräs eller pinnarett gummibandsträngoch saxSteg 2: skärJag använde råg gräs så...

Matlagning Tips: Hur man gör en rosett med ett äpple

I denna video Visa jag dig hur man gör en rosett med ett äpple. Du kan använda rosetten som garnering i en tallrik.Viktiga anmärkningar: det är viktigt att tvätta äpplet (med en tvål för frukt och grönsaker) och skölj under rinnande kallt vatten. Och...

Hur att rengöra din bil som ett proffs.

Din bil är där du tillbringar en stor del av veckan, pendling till och från arbetet, att få matvaror, med little Jimmy till fotboll praxis och väntar på att ta honom hem. Om du kör en Mustang Mach 1 eller en 1998 svart kan Honda Accord Ex med grå duk...

Hur man gör en skruv och ett gängat hål i 123d Design

Om du gillar mitt arbete så Överväg att gå och donera en liten mängd pengar till mig att hjälpa till att finansiera en öppen källkod tabletter jag arbetar på ett framtida projekt.http://www.Gofundme.com/Rpitablet-Tack---------------------------------...

Hur man gör en robot som kan spela Tower of Hanoi

september, jag har byggt en robot som kan spela Tower of Hanoi av Makeblock. Och vi tog den till World Maker Faire New York 2013.Mer information kan du besöka här.Komma igångJag har nyligen byggts om en ny. Detta instructable, hur man gör en robot so...

Hur man gör en installationsdisk med ett 8gb flashminne

Hur man gör en installationsdisk med ett 8gb flashminnehttp://www.youtube.com/watch?v=FQ4EyWHcSpohttp://www.microsoftstore.com/store/msstore/HTML/pbPage.Help_Win7_usbdvd_dwnToolbehöver Fönstren 7 inorder att göra dettafilen måste vara en ISO...

Hur man gör text visas som en "bakgrund" bakom ett element i Photoshop.

Detta Instructable kommer att förklara hur man gör text visas bakom objekt i ett digitalt foto med hjälp av Photoshop.Steg 1: Dra ett foto till Photoshop ikonen för att öppna bilden.Steg 2: Klicka på text verktyg och välj teckensnitt, storlek och sti...

K40 Laser skärare: hur man skära och gravera i ett jobb

K40 är en budget-vänlig desktop laserskärare. Med tanke på att maskin- och programvara direkt exporteras från Kina, är det dock inte förbrukaren vänlig på alla. Denna handledning visar slutanvändaren hur man skära och gravera ett hänge i ett svep.Obs...