Att hitta Lychee - hund GPS Offline Tracker (3 / 5 steg)

Steg 3: Programvara - EEPROM


Arbetar med EEPROM vänden ut för att vara svårare än jag trodde. AT24C256 chip har 256 Kbit minne som är 32 Kbyte.

Jag använder koden på Arduino Playground för I2C EEPROM som inkluderar 2 sätt att arbeta med minnet: en byte i taget eller en sida en tid. Den har små varning varning: adressen är en sida adress, 6-bitars slutet radbryts runt - som innebär att på grund av den fysiska strukturen i detta chip skriva operation måste göras inuti en enda sida, om du går över en enda sida skriva kommer att linda runt till början av sidan. Du kan läsa alla detaljer och hur man kan lösa det i det här inlägget men jag har väljer att helt enkelt arbeta med ett byte i taget.

Datastrukturerna jag arbetar med i denna app är följande

struct tid
{
byte timme;
byte minut.
byte andra;
};

struct LocationItem
{
float lat;
flyta lng,
Tid tid;
};

float är 4 byte så jag måste skriva 1 byte i taget och för att jag skrev write_float funktion och read_float.

Tid struktur består av 3 byte men jag har lyckas att driva det i 2-byte av begränsa timmen att vara bara 12 timmar istället för 24 (eftersom inspelningen kan göras ca 2,7 timmar det är ingen mening i ta tid på 24 timmar). Siffrorna 0-11 kräver 4 bitar. Minuter och sekunder är 0-59 värden som kräver 6 bitar tillsammans 4 + 6 + 6 = 16 bitar som är exakt 2 byte. Du kan se write_timewrite_time och read_time för lite hantering att serialisera och deserialisera tid struktur till bitar och tillbaka.

Det enda som återstår är hantera listan över inspelade platser. För att jag håller en int (2 byte) på position 0 för EEPROM och det int är antalet platser vi spelade in förrän nu. Varje gång vi spela in en ny plats vi läser detta värde som ger oss möjlighet att beräkna platsen för att skriva den nya platsen och sedan vi öka antalet poster och skriva det tillbaka till läge 0. Titta på add_location_item för koden.

Se Steg
Relaterade Ämnen

Hur att hitta rätt hund rasen för dig!

De flesta familjer har eller kommer att ha en hund någon gång i sitt liv. Är att välja en hund så enkelt som att hitta beroende på vilket som ser den sötaste? Nej, det finns många viktiga aspekter som man bör titta på när hitta en hund. Detta kommer...

Hur till undervisa din hund att hitta dina nycklar

har du någonsin varit i en hast och kunde inte hitta dina nycklar? Du börja leta överallt runt ditt hus och kämpar för att hitta dem. Vore det inte enklare om vi kunde vädra ut dem som en hund kunde? Ja, det skulle men det kommer aldrig att hända. Va...

GPS bil Tracker - billigt och hemliga

Jag satte mig en utmaning denna vecka! Bygga en förtäckt Diy GPS Vehicle Tracker för mindre än $20!Självklart kunde jag köpa och installera en fast tracker (eller batteri tracker) men de är ganska dyra och där är roligt i det? Jag vill se om jag kan...

Arduino GPS/GSM Tracker

Vårt samhälle kan golfbilar på allmänna vägar att minska föroreningar och trängsel och min mamma använder hennes utförligt. Golfbilar har inte mycket i vägen för säkerhet, så för sinnesfrid, jag tänkte jag skulle rulla mina egna fordon plats system....

Arduino GPS/GSM Tracker (WatchDog aktiverat)

Vad är GPS och GLONASS?En GPS tracking enhet är en enhet, som normalt bärs av ett rörligt fordon eller person, som använder Global Positioning System för att fastställa och följa upp dess exakta läge, och därmed av dess bärare, med mellanrum. Den ins...

Hur att återuppliva en bärbar 8-Track bandspelare

*** detta instructable tar hänsyn till att du har några mekaniska fingerfärdighet och en del erfarenhet av demontering hemelektronik ***lalala musik musik KERCHUNK!ödmjuk 8-track bandet, länge sedan överges till förmån för kassettband. de kan fortfar...

Detta instructable är inte komplett och närvarande arbetar inte jag på den. HELIOSTAT experiment och att hitta sann norr med ekvatoriella montera.

Om en spegel kretsar på ekvatorn montering på 7,5 grader per timme kommer det kasta solens ljus i samma riktning hela dagen?Detta är en mycket låg tech experiment så att jag kan bättre förstå heliostater.Jag gör detta experiment på grund av min brist...

Att hitta norr riktningen och tid av stjärnor

av tonytran2015 (Melbourne, Australien).Att hitta norr riktningen och tid av stjärnor är mer än bara identifiera Polaris och Little Dipper runt norra himmelska stången eller södra korset runt den södra Polen! Det kräver kunskaper i representerar sfär...

Att hitta kreativa lösningar

Tjena,Så du vill veta hur man kan vara kreativ, lil' ärt picker?Inte vi alla?Tja, är här ett smart trick från snår till att hjälpa dig att ta din idé från grop till topp.Så för att börja, låt oss få en tilldelning. Eftersom ingen skrek för en ännu, s...

Att hitta volymen av ett objekt med hjälp av Integration

antar att du ville hitta volymen av ett objekt. För många objekt är detta en mycket intuitiv process. volymen av en kub är lika med längden multiplicerad med bredden multiplicerad med höjden. För en cylinder volym är lika med området för basen (radie...

Att hitta tjärved

Fire är en av om inte de viktigaste verktygen i naturen. Det kan hålla dig varm, laga din mat, rena vatten, signalerar för hjälp, och hjälp du känner dig säkrare i en stressande situation.Hitta rätt naturliga material för att starta en brand under og...

Att hitta refraktionen av en Gummy Bear

optik klass experiment visar svårigheten att hitta refraktionen av en gummy bear.För att utföra detta experiment, behöver du:-En optik bänk-En ray tabell och bas-En ljuskälla (vi använde en laser)-GelékonfektyrVi valde Gelékonfektyr eftersom vi var i...

3 sätt att hitta positiva och negativa på din Led

im användande en grundläggande bild av en led för att visa dig detta eftersom alla mina LED var lödda till något annat. Det finns tre sätt att hitta vilken ände är positve och negativa på din ledde första det är ibland på basen av led en platta delen...

Att hitta den täthet av mat du äter

om du någonsin använt en online-kalkylator för att hitta volymen vikten av ett visst livsmedel, som Online omvandlingar, ser du det är inte alltid lista mat objekt du söker efter. Du kan hitta din egen mat densitet enhet, lätt, göra din egen konverte...

Att hitta Herobrine i Minecraft P.E.

* måste vara överlevnadSteg 1: skapa För att hitta Herobrine världen generatorn utsäde måste vara "Behöver vatten" med huvudstäder och utrymmen.Steg 2: Spawn punkt Här är din spawn punkt. Hämta sugar canes att göra papper, böcker, bokhyllor för...

Hur man bygger en tillfällig vedeldad Pizza tegelugn med billiga, lätt att hitta material

om du gillar DIY projekt (och pizza projekt), kolla in min sida, mikesenese.com/DOIT och följ mig påDenna pizzaugn är nästan lika enkelt att bygga som stapla block, men skapar en mycket effektiv trä vedeldad ugn med ett välvt tak som kan nå 800-900 g...

Hur att hitta nyckeln till Kryptos

Detta är en metod att hitta nyckeln till Kryptos, skulptur av James Sanborn och som ligger på CIA: S högkvarter. Jag kommer inte att täcka den historia eller Detaljer om skulpturen så om inte du är bekant med den, kan du göra några snabba forskning.H...

Flickvän: Episode 2: att hitta en tjej och få telefonnumret

om du inte har läst min första Instructable i frågan, sedan få din rumpa till den första och läsa den! (Det hjälper dig att förstå detta instructable)Steg 1: Plats flickan och prata med henne Det första du behöver göra är att hitta en flicka eftersom...

Att hitta slutet av tejp då lyfta avsluta

Mitt namn är Dr Bernie Omodei och jag har uppfunnit en ny metod för att hitta slutet av tejp och sedan lyfta i slutet. Allt du behöver är Talk och en cigarettändare. Anvisningar finns i följande YouTube-video (endast en minut):https://www.youtube.com...