Sisällysluettelo:
- Vaihe 1: Osat
- Vaihe 2: Yhdistä kaikki osat yhteen
- Vaihe 3: Koodaus
- Vaihe 4: Arduinon ja SD -kortin käyttö jälkikäteen
Video: Arduino työskentelee useiden tiedostojen kanssa (LUE/KIRJOITA): 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Hei kaverit
Tänään esittelen sinulle Arduino -projektin, joka toimii RTC -kilven kanssa, joka voi tallentaa tietoja. Tämän projektin päätehtävänä on työskennellä useiden tiedostojen kanssa, jotka on tallennettu sc -kortille. Tämä projekti sisältää koodin, joka toimii kolmen tiedoston kanssa, jotka on tallennettu suoraan SD -kortille arduino- ja RTC -suojauksella. Koska tämä projekti toimii DataLogger -kilven kanssa, myös nämä tiedot tallennetaan täsmälleen samaan aikaan kuin tietokoneellasi.
Tämä projekti on päivitetty versio edellisestä projektistani. Tämä projekti löytyy ohjeiden sivustolta nimeltä Arduino Data Logger Shield Small Project. Jos sinulla on ongelmia tämän projektin ymmärtämisessä, suosittelen, että näet ensin helpomman.
Suurin ero näiden kahden projektin välillä on, että tämä projekti käyttää 3 tekstitiedostoa, myös tällä kertaa luemme tietoja kahdesta niistä. Koska voimme lukea tietoja, voimme saada SD -kortille tallennetun kosteuden ja lämpötilan keskiarvon. Tämä näkyy myös Arduinoon kytketyssä nestekidenäytössä.
Jälleen kerran, jos olet uusi Arduinolla ja tämä on ensimmäinen projektisi, joka käyttää DataLoggeriä, suosittelen menemään ja tarkistamaan tämän linkin https://www.instructables.com/id/Arduino-Data-Logg… ja kun saat kaiken tule tänne ja pidä hauskaa. Aloitetaan.
Vaihe 1: Osat
Kuten aina, kun kirjoitan tällaisia projekteja, aloitan kaikista osista, joita käytin tässä projektissa. Ehdotan myös joitain antureita, joita voidaan käyttää ja jotka voivat tehdä tästä projektista hieman erilaisen.
Osat:
- Arduino uno rev3
- Arduino Data Logger kilpi
- SD -muistikortti
- Vihreä LCD 1602 -näyttö ja I2C (voit käyttää mitä tahansa muuta näyttöä)
- DHT22 (DHT11 toimii myös hyvin, mutta sen tarkkuus ei ole sama kuin dht22)
- Muutama hyppyjohto
- Leipälauta
- Akku 9v
Voit vaihtaa joitain osia. Tämän projektin hyvä puoli on, että sitä voidaan käyttää minkä tahansa muun anturin tietojen tallentamiseen. Yritän työskennellä savuanturin tai infrapuna -anturin kanssa. Se toimii minkä tahansa muun anturin kanssa. Voit myös vaihtaa Arduinoasi, mutta muista, että Arduino on paras dataloggeriin.
Vaihe 2: Yhdistä kaikki osat yhteen
Tämä on helppo yhdistää. Jopa kaavio on sama kuin helpompi projekti. Mutta sanoisin, että sinun on tarkkailtava, mitä tappia aiot käyttää. Tarkista aina Data Loggerin tietolomakkeesta, mitkä nastat ovat parhaita käyttää, koska muistaakseni jotkut nastat on jo määritetty ja kun yritin käyttää anturia jollakin määritetyistä nastoista, se ei toiminut.
Tämän vaiheen yläosassa näet kaavion, joka on tehty friteerauksella. Helppo asia on, että sinun on liitettävä dataloggeri arduino -laitteen päälle. Liitä sd -korttisi dataloggeriin, ja viimeinen asia, joka sinun tarvitsee tehdä, on liittää dht -anturi ja lcd. Käytämme 5 V: aa arduinosta + osalle leipälevyä, GND: tä - osaan, ja seuraamalla näitä linjoja yhdistät myös + anturilinjan ja lcd + leipälevyn riville. Sama koskee osia, ne menevät vain seuraavalle riville -. Dht -anturi on tällä kertaa kytketty nastaan 7. Nestekidenäyttö on liitetty A4- ja A5 -liitäntöihin.
LCD:
- VCC - 5 V (+ osa leipälevyltä)
- GND-gnd (-osa leipälaudalla)
- SDA analogiseen nastaan A4
- SCL analogiseen nastaan A5
DHT22:
Käytin dht: tä levyn kanssa, jossa on kolme nastaa käytettäväksi:
- + 5V
- - GND: lle
- ulos digitaaliseen nastaan 7
Vaihe 3: Koodaus
Tämä aikakoodi on monimutkaisempi. Hyvä osa siitä on kommentoitu, jotta voit ymmärtää sen helposti.
Selitän tämän koodin muutamassa lyhyessä osassa.
1. Ensimmäinen asia pitää mielessä, että tämä koodi tarvitsee vain muutamia kirjastoja, jotka on asennettu tietokoneellesi. Nämä ovat: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Voit luultavasti käyttää joitakin muita kirjastoja, mutta tämä kirjasto toimi minulle. Sen jälkeen määrittelemme kaiken, mitä tähän projektiin tarvitaan. DHT -anturi on helppo määritellä, sinun tarvitsee vain sanoa anturi, johon anturi on kytketty, ja anturin tyyppi. Tämän jälkeen sinun on määritettävä joitakin nastoja, joita käytetään SD -kortille ja RTC -nastalle. Ja sen jälkeen näet tässä projektissa käytetyt muuttujat.
3. Projekti käyttää vain vähän menetelmiä, ja ne kaikki on tarkoitettu DHT -anturin kanssa työskentelyyn. Jos työskentelet projektissa tämän tyyppisellä anturilla, voit käyttää sitä. Näitä menetelmiä ovat getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().
4. Asennuksessa tarvitaan vain muutamia asioita. Ensinnäkin sinun on määritettävä aika. Koska käytämme RTC: tä täällä, haluamme, että meillä on oikea aika, kun Arduino tallentaa tietoja anturista. Tämä osa kommentoidaan koodilla. Jos poistat kommentin //RTC.adjust(DateTime(_DATE_, _TIME_)); rivillä voit asettaa projektillesi ajan. Kun olet asettanut oikean ajan, voit kommentoida tätä osaa uudelleen ja voit käyttää arduinoasi ilman tietokonetta. Tämä on siistiä, koska voit käyttää lämpötila -anturia toisessa huoneessa ja seurata lämpötilaa ilman tietokonetta. Toinen osa, joka on tehtävä, on käyttää SD -korttia, johon tiedot tallennetaan. Shield yrittää tarkistaa, onko korttia, ja alustaa sen. Jos sitä ei ole, virhesanoma näkyy Arduino IDE -sarjan sarjassa.
Asennus on ensimmäinen vaihe, jossa työskentelemme tiedostojen kirjoittamisen kanssa muistikortille. Ensimmäinen asia, joka kirjoitetaan kortille, on tiedostossa datalog.txt. Tällä kertaa kirjoitamme vain laitteen kirjaamisen ajankohdan ja luomme myös pienen rivin nimiä (tallennusmuuttujia ja aikaa)
Asetusten viimeinen osa on LCD- ja dht -anturin alustaminen.
5. Silmukkaosa on projektin pääosa. Tällä kertaa anturin kanssa työskentely on erittäin helppoa, koska se käyttää vain yhtä menetelmää, joka lukee anturin saamat arvot. LCD -osa on myös erittäin helppo. Seuraava osa on selitettävä täällä. Tämä projekti tekee jotain joka minuutti. Yhden minuutin ajan se tallentaa tiedot datalog.txt -tiedostoon. Nämä tiedot voivat lukea joku, joka ei edes osaa ohjelmoida arduinoja. Toisella puolella. Yksi minuutti säästää datalogB.txt -tiedoston lämpötilaa ja minuutti säästää kosteutta datalogC.txt -tiedostossa. Tarvitsemme datalogB.txt ja dataLogC.txt, jotta voimme lukea muistikortiltamme. Joten jos jatkamme koodimme lukemista, näet myös, että tämä koodi lukee lämpötilan ja kosteuden keskiarvot ja tallentaa ne yhdelle riville. Halusin tehdä laitteen, joka sisältää vain kymmenen viimeistä numeroa. Joten tämä projekti kulkee aina kortin arvojen läpi ja tallentaa kymmenen viimeistä numeroa. Näitä riveihin tallennettuja numeroita käytetään, jotta voimme saada keskimääräisen lämpötilan arvon ja kosteuden keskiarvon. Ne näkyvät myös nestekidenäytössämme jonkin ajan kuluttua
Vaihe 4: Arduinon ja SD -kortin käyttö jälkikäteen
Täältä näet, mitä LCD -näytöllä näytetään ja miten projekti toimii. Laitan tähän myös kuvia tallentamistani datalogeista. Datalog.txt -tiedoston avulla voidaan nähdä, miten laite tallentaa kaikki arvot. DatalogB ja datalogC ovat siellä, joten voit nähdä miltä ne näyttävät. Ne on kirjoitettu näin, joten voit käyttää jäsennysmenetelmää ja lukea tietoja ilman ongelmia.
Koko tämän projektin tarkoitus on SD -kortilla olevien tiedostojen manipulointi. Joskus tarvitsemme laitteita, jotka voivat tallentaa muistia, ja lukulämpötila on myös kerran sellainen. Hyvä asia on, että tässä laitteessa käytetyssä kilvessä on myös RTC -moduuli, mikä on parasta aikaa. Kun voimme lukea reaaliajassa ja tallentaa tietoja laitteellemme, se tarkoittaa, että se voi olla kannettava.
Kiitos kaverit, jotka luitte tämän projektin. Toivottavasti se auttaa sinua. Kiitos.
Terveisin Sebastian
Suositeltava:
UK Ring Video Doorbell Pro työskentelee mekaanisen äänimerkin kanssa: 6 vaihetta (kuvilla)
UK Ring Video Doorbell Pro työskentelee mekaanisen kellon kanssa: *************************************** *************** Huomaa, että tämä menetelmä toimii tällä hetkellä vain verkkovirralla Päivitän, jos/kun löydän ratkaisun tasavirtaa käyttäville ovikelloille Sillä välin, jos sinulla on tasavirta tarjontaa, tarvitset
Useiden analogisten arvojen lukeminen yhdellä analogisella nastalla: 6 vaihetta (kuvien kanssa)
Useiden analogisten arvojen lukeminen yhdellä analogisella nastalla: Tässä opetusohjelmassa näytän sinulle, kuinka voit lukea useita analogisia arvoja käyttämällä vain yhtä analogiatulonappia
Stranger Things Wall kehyksessä (kirjoita omat viestisi!): 8 vaihetta (kuvilla)
Stranger Things Wall in a Frame (Kirjoita omat viestisi!): Olen ajatellut tehdä tämän kuukausia nähtyäni opetusohjelman jouluvalojen avulla (se näytti hyvältä, mutta mitä järkeä ei ole näyttää viestejä, eikö?). Joten olen tehnyt tämän Stranger Things Wallin jonkin aikaa sitten ja se kesti melko kauan
Lue ja kirjoita sarjaportista Raspberry Pi: n avulla Wemosin avulla: 5 vaihetta
Lue ja kirjoita sarjaportista Raspberry Pi: n avulla Wemosin käyttäminen: Viestintä Raspberry Pi: n kanssa Wemos D1 mini R2: n avulla
Kirjoita ensimmäinen C# -koodisi (Windows) !: 7 vaihetta
Kirjoita ensimmäinen C# -koodisi (Windows) !: Tässä ohjeessa opetan sinulle ystävällisesti, kuinka voit luoda oman koodisi C# -kielellä! Tarvitset vain tietokoneen/kannettavan tietokoneen ja hieman kärsivällisyyttä. Latausaikaa lukuun ottamatta tämä vie vain noin