Innehållsförteckning:

Arduino som arbetar med flera filer (LÄS/SKRIV): 4 steg
Arduino som arbetar med flera filer (LÄS/SKRIV): 4 steg

Video: Arduino som arbetar med flera filer (LÄS/SKRIV): 4 steg

Video: Arduino som arbetar med flera filer (LÄS/SKRIV): 4 steg
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, November
Anonim
Arduino som arbetar med flera filer (LÄS/SKRIV)
Arduino som arbetar med flera filer (LÄS/SKRIV)

Hej grabbar

Idag presenterar jag dig Arduino -projekt som fungerar med RTC -sköld som kan lagra data. Projektets huvuduppgift är att arbeta med flera filer som lagras på sc -kortet. Detta projekt innehåller kod som fungerar med tre filer som lagras direkt på SD -kort med arduino och RTC -sköld. Eftersom det här projektet fungerar med DataLogger -sköld kommer data också att lagras på exakt samma tid som det är på din dator.

Detta projekt är en uppgraderad version av mitt senaste projekt. Det projektet kan hittas på instruerbar webbplats med namnet Arduino Data Logger Shield Small Project. Om du har några problem med att förstå detta projekt föreslår jag att du ser det enklare först.

Den största skillnaden mellan dessa två projekt är att detta projekt använder tre textfiler, även den här gången läser vi data från två av dem. Eftersom vi kan läsa data kan vi få medelvärdet av luftfuktighet och temperatur som lagras på SD -kort. Detta kommer också att visas på LCD -skärmen som är ansluten till Arduino.

Återigen, om du är ny på Arduino och det här är ditt första projekt som använder DataLogger, föreslår jag att du går och tittar på den här länken https://www.instructables.com/id/Arduino-Data-Logg… och när du får allt på det, kom hit och ha lite mer kul. Låt oss börja.

Steg 1: Delar

Delar
Delar
Delar
Delar
Delar
Delar

Som varje gång jag skriver projekt så här kommer jag att börja med alla delar som jag använde med detta projekt. Jag kommer också att föreslå några av de sensorer som kan användas och kan göra detta projekt lite annorlunda.

Delar:

  • Arduino uno rev3
  • Arduino Datalogger -sköld
  • SD -minneskort
  • LCD 1602 grön display med I2C (du kan använda valfri annan display)
  • DHT22 (DHT11 fungerar också bra, men precisionen i den är inte densamma som dht22)
  • Några bygelkablar
  • Bakbord
  • Batteri 9v

Du kan ändra vissa delar. Bra sida med detta projekt är att det kan användas för att lagra data från alla andra sensorer. Jag skulle försöka arbeta med röksensor eller infraröd sensor. Det fungerar med alla andra sensorer. Du kan också ändra din Arduino också, men kom ihåg att Arduino är bäst för att passa datalogger.

Steg 2: Anslut alla delar tillsammans

Koppla ihop alla delar
Koppla ihop alla delar

Den här är lätt att ansluta. Även det schematiska är detsamma som det enklare projektet. Men jag skulle säga att du måste se upp vilken stift du ska använda. Varje gång, kolla databladet för datalogger för att se vilka stift som är bäst att använda, för när jag minns har några stift redan definierats och när jag försökte använda min sensor på en av de definierade stiften fungerade det inte.

Högst upp i det här steget kan du se schematisk med fritzing. Enkel sak är att du måste ansluta din datalogger på toppen av din arduino. Anslut ditt SD -kort till datalogger, och det sista du behöver göra är att ansluta dht -sensor och lcd. Vi använder 5V från arduino för + del på brödbrädan, GND för - del, och genom att följa den raden ansluter du också + sensorlinje och lcd till + linje på brödbrädet. Detsamma gäller - delar, de går bara till raden som följer -. Dht -sensorn är ansluten till stift 7 den här gången. LCD -skärmen är ansluten till A4 och A5. Lätt, eller hur?

LCD:

  • VCC till 5V (+ del på brödbräda)
  • GND till gnd (-del på brödbräda)
  • SDA till analog stift A4
  • SCL till analog stift A5

DHT22:

Jag använde dht med bräda där det finns tre stift som ska användas:

  • + till 5V
  • - till GND
  • ut till digital stift 7

Steg 3: Kodning

Denna tidskod är mer komplex. En bra del av det kommenteras så att du lätt kan förstå det.

Jag förklarar denna kod i några korta delar.

1. Först att komma ihåg att denna kod kommer att behöva få bibliotek installerade på din dator. Det är: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Du kan förmodligen använda några andra bibliotek men det här biblioteket fungerade för mig. Efter det definierar vi allt som behövs för detta projekt. DHT -sensor är lätt att definiera, du behöver bara säga stiftet som sensorn är ansluten till och typ av sensor. Efter det måste du definiera några stift som ska användas för SD -kort och RTC -stift. Och efter det kan du se variabler som används för detta projekt.

3. Projektet använder få metoder och alla är för att arbeta med DHT -sensor. Om du arbetar med projekt med denna typ av sensorer kan du använda den. Dessa metoder är getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. I installationen är det få saker som behövs för att bli klara. Först och främst måste du definiera tid. Eftersom vi använder RTC här vill vi ha rätt tid när vår Arduino sparar data från sensorn. Den delen kommer att kommenteras i kod. Om du avmarkerar //RTC.adjust(DateTime(_DATE_, _TIME_)); linje kan du ställa in tid på ditt projekt. När du har ställt in rätt tid kan du kommentera den delen igen, och du kan använda din arduino utan dator. Det här är coolt eftersom du kan använda din temperatursensor i något annat rum och hålla koll på temperaturen utan att behöva din dator. Den andra delen som ska göras är att använda ditt SD -kort som det kommer att lagra data på. Shield kommer att försöka se om det finns ett kort och initiera det. Om det inte finns kommer felmeddelandet att visas på serieskärmen på Arduino IDE.

I installationen är första steget där vi arbetar med att skriva filer på minneskort. Det första som skrivs på kortet är filen datalog.txt. Den här gången skriver vi bara tiden för att logga vår enhet, och vi skapar också en liten rad med namn (variabler som används för att spara, och även tid)

Den sista delen av installationen är att initiera LCD och dht -sensor.

5. Loop -delen är projektets huvuddel. Det är mycket enkelt att arbeta med sensorn den här gången eftersom den bara använder en metod som läses av värdena som sensorn får. LCD -delen är också mycket lätt. Nästa del är en som vi måste förklara här. Detta projekt gör något varje minut. En minut lagras data till datalog.txt. Denna data kan läsas av någon som inte ens vet hur man programmerar arduinos. På andra sidan. En minut sparar det temperatur på datalogB.txt och en minut sparar det fuktighet på datalogC.txt. Vi behöver datalogB.txt och dataLogC.txt så att vi kan läsa från vårt minneskort. Så om vi fortsätter läsa vår kod kan du också se att den här koden läser mitten av temperatur och luftfuktighet och lagrar dem i en rad. Jag ville göra en enhet som bara tar de sista tio siffrorna i filen. Så det här projektet går alltid igenom värdena från kortet och sparar de tio sista siffrorna. Dessa siffror lagrade i rader används så att vi kan få medelvärde för temperatur och medelvärde för luftfuktighet. Som också visas på vår LCD efter en tid

Steg 4: Använda Arduino och SD -kort efteråt

Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt
Använda Arduino och SD -kort efteråt

Här kan du se vad som visas på LCD och hur projektet fungerar. Jag lägger också här bilder på dataloggarna jag sparade. Datalog.txt är den som kan användas för att se hur enheten lagrar varje värde. DatalogB och datalogC finns där så att du kan se hur de ser ut. De är skrivna så att du kan använda analysmetod och läsa data utan problem.

Hela poängen med detta projekt är manipulation av filerna som finns på sd -kort. Ibland behöver vi enheter som kan lagra minne och avläsningstemperatur är också en sådan gång. Bra är att skärmen som används på den här enheten också har en RTC -modul, vilket är det bästa för tiden. När vi kan läsa realtid och lagra data med vår enhet betyder det att den kan vara bärbar.

Tack för att ni läser detta projekt. Jag hoppas att det kommer att hjälpa dig. Tack.

Med alla hälsningar Sebastian

Rekommenderad: