Orodha ya maudhui:

Arduino Kufanya Kazi na Faili Nyingi (SOMA / ANDIKA): Hatua 4
Arduino Kufanya Kazi na Faili Nyingi (SOMA / ANDIKA): Hatua 4

Video: Arduino Kufanya Kazi na Faili Nyingi (SOMA / ANDIKA): Hatua 4

Video: Arduino Kufanya Kazi na Faili Nyingi (SOMA / ANDIKA): Hatua 4
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Julai
Anonim
Arduino Kufanya Kazi na Faili Nyingi (SOMA / ANDIKA)
Arduino Kufanya Kazi na Faili Nyingi (SOMA / ANDIKA)

Halo jamani

Leo ninawasilisha mradi wa Arduino ambao unafanya kazi na ngao ya RTC ambayo inaweza kuhifadhi data. Kazi kuu ya mradi huu ni kufanya kazi na faili nyingi ambazo zimehifadhiwa kwenye kadi ya sc. Mradi huu una nambari inayofanya kazi na faili tatu ambazo zinahifadhiwa moja kwa moja kwenye kadi ya SD na arduino na ngao ya RTC. Kwa sababu mradi huu unafanya kazi na ngao ya DataLogger, data hiyo pia itahifadhiwa kwa wakati sawa na ilivyo kwenye PC yako.

Mradi huu ni toleo lililoboreshwa la mradi wangu wa mwisho. Mradi huo unaweza kupatikana kwenye wavuti inayofundishwa kwa jina Mradi mdogo wa Arduino Data Logger Shield. Ikiwa una shida kuelewa mradi huu, nakushauri uone moja rahisi kwanza.

Tofauti kuu kati ya miradi hiyo miwili ni kwamba mradi huu unatumia faili 3 za maandishi, pia wakati huu tunasoma data kutoka kwa mbili kati yao. Kwa sababu tunaweza kusoma data, tunaweza kupata thamani ya katikati ya unyevu na joto, ambayo imehifadhiwa kwenye kadi ya sd. Hii pia itaonyeshwa kwenye LCD iliyounganishwa na Arduino.

Kwa mara nyingine tena, ikiwa wewe ni mpya kwa Arduino na huu ni mradi wako wa kwanza ambao unatumia DataLogger, ninashauri kwenda na kuangalia kiunga hiki https://www.instructables.com/id/Arduino-Data-Logg ……. na unapopata kila kitu juu ya hilo, njoo hapa na kuburudika zaidi. Tuanze.

Hatua ya 1: Sehemu

Sehemu
Sehemu
Sehemu
Sehemu
Sehemu
Sehemu

Kama kila wakati ninapoandika miradi kama hii nitaanza na sehemu zote ambazo nilitumia na mradi huu. Pia nitapendekeza sensorer zingine ambazo zinaweza kutumika na zinaweza kufanya mradi huu kuwa tofauti kidogo.

Sehemu:

  • Arduino uno rev3
  • Arduino Data logger ngao
  • Kadi ya kumbukumbu ya SD
  • Onyesho la kijani la LCD 1602 na I2C (unaweza kutumia onyesho lingine lolote)
  • DHT22 (DHT11 inafanya kazi vizuri pia, lakini usahihi wake sio sawa na dht22)
  • Kamba chache za jumper
  • Bodi ya mkate
  • Betri 9v

Unaweza kubadilisha sehemu zingine. Upande mzuri wa mradi huu ni kwamba inaweza kutumika kuhifadhi data kutoka kwa sensorer nyingine yoyote. Ningejaribu kufanya kazi na sensorer ya moshi, au sensa ya infrared. Inafanya kazi na sensorer nyingine yoyote. Unaweza pia kubadilisha Arduino yako pia, lakini kumbuka kuwa Arduino ndio bora kwa kufaa kumbukumbu ya data.

Hatua ya 2: Kuunganisha Sehemu Zote Pamoja

Kuunganisha Sehemu Zote Pamoja
Kuunganisha Sehemu Zote Pamoja

Hii ni rahisi kuunganisha. Hata skimu ni sawa na mradi rahisi. Lakini ningesema kwamba unahitaji kuangalia ni pini gani utakayotumia. Kila wakati angalia karatasi ya data ya kumbukumbu ya data ili kuona ni pini zipi bora kutumia, kwa sababu ninapokumbuka pini zingine tayari zimefafanuliwa na wakati nilijaribu kutumia sensa yangu kwenye moja ya pini zilizoainishwa haikufanya kazi.

Juu ya hatua hii unaweza kuona muundo uliofanywa na fritzing. Jambo rahisi ni kwamba unahitaji kuunganisha kumbukumbu yako ya data juu ya arduino yako. Unganisha kadi yako ya sd na logger ya data, na jambo la mwisho unahitaji kufanya ni unganisha sensor ya dht na lcd. Tunatumia 5V kutoka arduino kwa + sehemu kwenye ubao wa mkate, GND kwa - sehemu, na kwa kufuata laini hizo unaunganisha pia + laini ya sensa na LCD kwa + mstari wa bodi ya mkate. Same huenda kwa - sehemu, huenda tu kwenye mstari unaofuata -. Sensor ya Dht imeunganishwa na kubandika 7 wakati huu. LCD imeunganishwa na A4 na A5. Rahisi, sivyo?

LCD:

  • VCC hadi 5V (+ sehemu kwenye ubao wa mkate)
  • GND hadi gnd (- sehemu kwenye ubao wa mkate)
  • SDA kwa pini ya analog A4
  • SCL kwa pini ya Analog A5

DHT22:

Nilitumia dht na bodi ambayo kuna pini tatu za kutumika:

  • + hadi 5V
  • - kwa GND
  • nje kwa pini ya dijiti 7

Hatua ya 3: Kusimba

Nambari hii ya wakati ni ngumu zaidi. Sehemu nzuri yake imetolewa maoni ili uweze kuielewa kwa urahisi.

Nitaelezea nambari hii kwa sehemu fupi.

1. Jambo la kwanza kukumbuka kuwa nambari hii itahitaji maktaba machache yaliyowekwa kwenye PC yako. Hizo ni: Muda (TimeLib), Waya, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Labda unaweza kutumia maktaba zingine lakini maktaba hizi zilinifanyia kazi. Baada ya hapo tunafafanua kila kitu kinachohitajika kwa mradi huu. Sensorer ya DHT ni rahisi kufafanua, unahitaji tu kusema pini ambayo sensor imeunganishwa na aina ya sensorer. Baada ya hapo unahitaji kufafanua pini zingine ambazo zitatumika kwa kadi ya SD na pini ya RTC. Na baada ya hapo unaweza kuona vigeuzi vilivyotumika kwa mradi huu.

3. Mradi hutumia njia chache na zote ni kwa kufanya kazi na sensor ya DHT. Ikiwa unafanya kazi kwenye mradi na aina hii ya sensa unaweza kuitumia. Njia hizo ni GetTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. Katika usanidi kuna vitu vichache ambavyo vinahitajika kufanywa. Kwanza kabisa unahitaji kufafanua wakati. Kwa sababu tunatumia RTC hapa tunataka kuwa na wakati mzuri wakati Arduino yetu inaokoa data kutoka kwa sensorer. Sehemu hiyo itatolewa maoni kwa nambari. Ikiwa uncomment //RTC.adjust(DateTime(_DATE_, _TIME_)); mstari unaweza kuweka wakati kwenye mradi wako. Baada ya kuweka wakati unaofaa unaweza kutoa maoni yako sehemu hiyo tena, na unaweza kutumia arduino yako bila kompyuta. Hii ni nzuri kwa sababu unaweza kutumia sensorer yako ya joto kwenye chumba kingine na ufuatilie joto bila hitaji la kompyuta yako. Sehemu ya pili ambayo inapaswa kufanywa ni kutumia kadi yako ya SD ambayo kutakuwa na data iliyohifadhiwa. Ngao itajaribu kuona ikiwa kuna kadi na kuisanikisha. Ikiwa hakuna ujumbe wa makosa utaonyeshwa kwenye skrini ya Serial kwenye Arduino IDE.

Katika usanidi ni hatua ya kwanza ambapo tunafanya kazi na kuandika faili kwenye kadi ya kumbukumbu. Jambo la kwanza ambalo limeandikwa kwenye kadi ni kwenye daftari ya faili.txt. Wakati huu tunaandika tu wakati wa kuingia kwenye kifaa chetu, na pia tunaunda safu ndogo ya majina (vigezo vinavyotumika kuokoa, na pia wakati)

Sehemu ya mwisho ya usanidi ni kuanzisha LCD, na sensor ya dht.

5. Sehemu ya kitanzi ndio sehemu kuu ya mradi. Kufanya kazi na sensa wakati huu ni rahisi sana kwa sababu hutumia njia moja tu ambayo inasoma maadili ambayo sensorer hupata. Sehemu ya LCD pia ni rahisi sana. Sehemu inayofuata ni moja ambayo tunahitaji kuelezea hapa. Mradi huu hufanya kitu kila dakika. Dakika moja huhifadhi data kwenye datalog.txt. Takwimu hizi zinaweza kusomwa na mtu ambaye hata hajui jinsi ya kupanga arduinos. Upande mwingine. Dakika moja inaokoa joto kwenye daftariB.txt na dakika moja inaokoa unyevu kwenye datalogC.txt. Tunahitaji daftariB.txt na dataLogC.txt ili tuweze kusoma kutoka kwa kadi yetu ya kumbukumbu. Kwa hivyo ikiwa tunaendelea kusoma nambari yetu unaweza kuona pia kwamba nambari hii inasoma maadili ya katikati ya joto na unyevu na huyahifadhi katika safu moja. Nilitaka kutengeneza kifaa ambacho kinachukua tarakimu kumi tu za mwisho kwenye faili. Kwa hivyo mradi huu huendesha kila wakati kupitia maadili kutoka kwa kadi, na huhifadhi nambari kumi za mwisho. Hesabu hizi zilizohifadhiwa katika safu hutumiwa ili tuweze kupata wastani wa joto na wastani wa unyevu. Ambayo pia imeonyeshwa kwenye LCD yetu baada ya muda

Hatua ya 4: Kutumia Arduino na Kadi ya SD Baadaye

Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye
Kutumia Arduino na Kadi ya SD Baadaye

Hapa unaweza kuona kile kinachoonyeshwa kwenye LCD na jinsi mradi unavyofanya kazi. Pia ninaweka hapa picha za orodha zilizohifadhiwa. Datalog.txt ndio inayoweza kutumiwa kuona jinsi kifaa kinahifadhi kila thamani. DatalogB na datalogC zipo ili uweze kuona jinsi zinavyoonekana. Imeandikwa kama hiyo ili uweze kutumia njia ya kuchanganua na kusoma data bila shida.

Jambo lote la mradi huu ni kudanganywa kwa faili ambazo ziko kwenye kadi ya sd. Wakati mwingine tunahitaji vifaa ambavyo vinaweza kuhifadhi kumbukumbu na joto la kusoma pia ni wakati mmoja kama huo. Jambo zuri ni kwamba ngao inayotumiwa kwenye kifaa hiki pia ina moduli ya RTC, ambayo ni jambo bora kwa wakati. Wakati tunaweza kusoma wakati halisi, na kuhifadhi data na kifaa chetu, hiyo inamaanisha kuwa inaweza kubebeka.

Asante watu kwa kusoma mradi huu. Natumaini itakusaidia. Asante.

Kwa upande wote Sebastian

Ilipendekeza: