Indholdsfortegnelse:

Arduino arbejder med flere filer (LÆS/SKRIV): 4 trin
Arduino arbejder med flere filer (LÆS/SKRIV): 4 trin

Video: Arduino arbejder med flere filer (LÆS/SKRIV): 4 trin

Video: Arduino arbejder med flere filer (LÆS/SKRIV): 4 trin
Video: #1 Как запрограммировать ПЛК Outseal Arduino (начало работы) 2024, Juli
Anonim
Arduino arbejder med flere filer (LÆS/SKRIV)
Arduino arbejder med flere filer (LÆS/SKRIV)

Hej gutter

I dag præsenterer jeg dig Arduino -projekt, der arbejder med RTC -skjold, der kan gemme data. Hovedopgaven for dette projekt er at arbejde med flere filer, der er gemt på sc -kortet. Dette projekt indeholder kode, der fungerer med tre filer, der er gemt direkte på SD -kort med arduino og RTC -skjold. Fordi dette projekt fungerer med DataLogger -skjold, gemmes disse data også på nøjagtig samme tid, som det er på din pc.

Dette projekt er en opgraderet version af mit sidste projekt. Det projekt kan findes på instruerbart sted under navnet Arduino Data Logger Shield Small Project. Hvis du har nogle problemer med at forstå dette projekt, foreslår jeg, at du ser det lettere først.

Den største forskel mellem disse to projekt er, at dette projekt bruger 3 tekstfiler, også denne gang læser vi data fra to af dem. Fordi vi kan læse data, kan vi få mellemværdien af fugtighed og temperatur, der er gemt på SD -kort. Dette vil også blive vist på LCD'et forbundet til Arduino.

Endnu engang, hvis du er ny på Arduino, og dette er dit første projekt, der bruger DataLogger, foreslår jeg at gå og tjekke dette link https://www.instructables.com/id/Arduino-Data-Logg…, og når du får alt på det, kom her og have det lidt sjovere. Lad os begynde.

Trin 1: Dele

Dele
Dele
Dele
Dele
Dele
Dele

Som hver gang jeg skriver projekter som dette, starter jeg med alle de dele, jeg brugte med dette projekt. Jeg vil også foreslå nogle af de sensorer, der kan bruges og kan gøre dette projekt lidt anderledes.

Dele:

  • Arduino uno rev3
  • Arduino datalogger skjold
  • SD hukommelseskort
  • LCD 1602 grønt display med I2C (du kan bruge enhver anden skærm)
  • DHT22 (DHT11 fungerer også fint, men præcisionen i den er ikke den samme som dht22)
  • Få springkabler
  • Brødbræt
  • Batteri 9v

Du kan ændre nogle dele. God side ved dette projekt er, at det kan bruges til at gemme data fra enhver anden sensor. Jeg ville prøve at arbejde med røgsensor eller infrarød sensor. Det fungerer med enhver anden sensor. Du kan også ændre din Arduino, men husk på, at Arduino er den bedste til at passe til datalogger.

Trin 2: Tilslutning af alle dele sammen

Tilslutning af alle dele sammen
Tilslutning af alle dele sammen

Denne er let at tilslutte. Selv det skematiske er det samme som det lettere projekt. Men jeg vil sige, at du skal passe på, hvilken pin du skal bruge. Hver gang skal du kontrollere databladet for datalogger for at se, hvilke pins der er bedst at bruge, for som jeg husker, er nogle pins allerede defineret, og da jeg forsøgte at bruge min sensor på en af de definerede pins, fungerede det ikke.

Øverst i dette trin kan du se skematisk fremstillet med fritzing. Let er, at du skal tilslutte din datalogger oven på din arduino. Tilslut dit sd -kort til datalogger, og det sidste du skal gøre er at tilslutte dht -sensor og lcd. Vi bruger 5V fra arduino til + del på brødbrættet, GND til - del, og ved at følge denne linje tilslutter du også + sensorlinje og lcd til + linje på brødbrættet. Det samme gælder for - dele, de går bare til den linje, der følger -. Dht -sensor er tilsluttet pin 7 denne gang. LCD er forbundet til A4 og A5. Let, ikke sandt?

LCD:

  • VCC til 5V (+ del på brødbræt)
  • GND til gnd (-del på brødbræt)
  • SDA til analog pin A4
  • SCL til analog pin A5

DHT22:

Jeg brugte dht med bord, hvor der er tre ben, der skal bruges:

  • + til 5V
  • - til GND
  • ud til digital pin 7

Trin 3: Kodning

Denne tidskode er mere kompleks. En god del af det kommenteres, så du let kan forstå det.

Jeg forklarer denne kode i få korte dele.

1. Første ting at huske på, at denne kode skal bruge få biblioteker installeret på din pc. Det er: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Du kan sikkert bruge nogle andre biblioteker, men disse biblioteker fungerede for mig. Derefter definerer vi alt, hvad der er nødvendigt for dette projekt. DHT -sensor er let at definere, du skal bare sige den pin, som sensoren er forbundet til og sensortype. Derefter skal du definere nogle pins, der skal bruges til SD -kort og RTC -pin. Og derefter kan du se variabler, der bruges til dette projekt.

3. Projektet bruger få metoder, og alle er til at arbejde med DHT -sensor. Hvis du arbejder på projekt med denne type sensor, kan du bruge den. Disse metoder er getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. I opsætningen er der få ting, der er nødvendige for at få gjort. Først og fremmest skal du definere tid. Fordi vi bruger RTC her, vil vi gerne have det rigtige tidspunkt, når vores Arduino gemmer data fra sensoren. Denne del vil blive kommenteret i kode. Hvis du ikke kommenterer //RTC.adjust(DateTime(_DATE_, _TIME_))); linje kan du indstille tid på dit projekt. Når du har indstillet korrekt tid, kan du kommentere den del igen, og du kan bruge din arduino uden computer. Dette er fedt, fordi du kan bruge din temperatursensor i et andet rum og holde styr på temperaturen uden brug af din computer. Anden del, der skal gøres, er at bruge dit SD -kort, hvor der vil blive gemt data. Shield vil prøve at se, om der er et kort, og initialisere det. Hvis der ikke er en fejlmeddelelse, vil den blive vist på Serial -skærmen på Arduino IDE.

I opsætning er første trin, hvor vi arbejder med at skrive filer på hukommelseskort. Det første, der er skrevet på kortet, er filen datalog.txt. Denne gang skriver vi bare tidspunktet for registrering af vores enhed, og vi opretter også en lille række navne (variabler, der bruges til at gemme, og også tid)

Sidste del af opsætningen er initialisering af LCD og dht -sensor.

5. Loop -del er hoveddelen af projektet. At arbejde med sensor denne gang er meget let, fordi den kun bruger en metode, der læses de værdier, som sensoren får. LCD -del er også meget let. Den næste del er en, som vi skal forklare her. Dette projekt gør noget hvert minut. Et minut gemmer det data til datalog.txt. Disse data kan læses af en person, der ikke engang ved, hvordan man programmerer arduinos. På den anden side. Et minut sparer det temperatur på datalogB.txt og et minut sparer det fugtighed på datalogC.txt. Vi har brug for datalogB.txt og dataLogC.txt, så vi kan læse fra vores hukommelseskort. Så hvis vi fortsætter med at læse vores kode, kan du også se, at denne kode læser mellemværdier af temperatur og fugtighed og gemmer dem i en række. Jeg ville lave en enhed, der kun tager de sidste ti cifre i filen. Så dette projekt kører altid gennem værdierne fra kortet og gemmer de sidste ti cifre. Disse cifre gemt i rækker bruges, så vi kan få gennemsnitsværdi af temperatur og gennemsnitlig værdi af fugtighed. Som også vises på vores LCD efter noget tid

Trin 4: Brug bagefter Arduino og SD -kort

Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter
Brug af Arduino og SD -kort bagefter

Her kan du se, hvad der vises på LCD, og hvordan projektet fungerer. Jeg lægger også her billeder af de datalogs, jeg har gemt. Datalog.txt er den, der kan bruges til at se, hvordan enheden gemmer hver værdi. DatalogB og datalogC er der, så du kan se, hvordan de ser ud. De er skrevet sådan, så du kan bruge analysemetode og læse data uden problemer.

Hele pointen med dette projekt er manipulation af de filer, der er på sd -kort. Nogle gange har vi brug for enheder, der kan lagre hukommelse og læsetemperatur er også sådan en gang. God ting er, at skjoldet, der bruges på denne enhed, også har et RTC -modul, hvilket er det bedste for tiden. Når vi kan læse realtid og gemme data med vores enhed, betyder det, at det kan være bærbart.

Tak for at læse dette projekt. Jeg håber, det vil hjælpe dig. Tak skal du have.

Med alle hilsner Sebastian

Anbefalede: