Mündəricat:

Arduino birdən çox faylla işləyir (oxuyun/yazın): 4 addım
Arduino birdən çox faylla işləyir (oxuyun/yazın): 4 addım

Video: Arduino birdən çox faylla işləyir (oxuyun/yazın): 4 addım

Video: Arduino birdən çox faylla işləyir (oxuyun/yazın): 4 addım
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Noyabr
Anonim
Arduino birdən çox faylla işləyir (oxuyun/yazın)
Arduino birdən çox faylla işləyir (oxuyun/yazın)

Salam uşaqlar

Bu gün sizə məlumatları saxlaya bilən RTC qalxanı ilə işləyən Arduino layihəsini təqdim edirəm. Bu layihənin əsas vəzifəsi, sc kartda saxlanılan çoxsaylı fayllarla işləməkdir. Bu layihə, arduino və RTC qalxanı ilə birbaşa SD kartda saxlanılan üç faylla işləyən kodu ehtiva edir. Bu layihə DataLogger qalxanı ilə işlədiyi üçün bu məlumatlar da PC -də olduğu kimi eyni zamanda saxlanılacaq.

Bu layihə son layihəmin təkmilləşdirilmiş versiyasıdır. Bu layihəni Arduino Data Logger Shield Small Project adı ilə öyrədilə bilən saytda tapa bilərsiniz. Bu layihəni başa düşməkdə probleminiz varsa, əvvəlcə daha asan olanı görməyi təklif edirəm.

Bu iki layihə arasındakı əsas fərq, bu layihənin 3 mətn faylından istifadə etməsidir, həm də bu dəfə onlardan ikisinin məlumatlarını oxuyuruq. Məlumatları oxuya bildiyimiz üçün SD kartda saxlanılan rütubət və temperaturun orta dəyərini əldə edə bilərik. Bu da Arduinoya qoşulmuş LCD -də göstəriləcək.

Bir daha, Arduinoda yenisinizsə və bu, DataLogger-dən istifadə edən ilk layihənizdirsə, bu linki https://www.instructables.com/id/Arduino-Data-Logg… və hər şeyi əldə etdikdə yoxlamağı təklif edirəm. Bura gəl və daha çox əylən. Gəlin başlayaq.

Addım 1: hissələr

Hissələri
Hissələri
Hissələri
Hissələri
Hissələri
Hissələri

Hər dəfə belə layihələr yazdığım kimi, bu layihədə istifadə etdiyim bütün hissələrdən başlayacağam. İstifadə edilə bilən və bu layihəni bir az fərqli edə biləcək bəzi sensorları da təklif edəcəyəm.

Parçalar:

  • Arduino uno rev3
  • Arduino Data Logger qalxanı
  • SD yaddaş kartı
  • I2C ilə LCD 1602 yaşıl ekran (hər hansı digər ekrandan istifadə edə bilərsiniz)
  • DHT22 (DHT11 də yaxşı işləyir, amma dəqiqliyi dht22 ilə eyni deyil)
  • Bir neçə keçid kabeli
  • Çörək lövhəsi
  • Batareya 9v

Bəzi hissələri dəyişə bilərsiniz. Bu layihənin yaxşı tərəfi, hər hansı digər sensordan verilənləri saxlamaq üçün istifadə oluna bilməsidir. Tüstü sensoru və ya infraqırmızı sensoru ilə işləməyə çalışardım. Hər hansı digər sensorla işləyir. Arduino -nu da dəyişə bilərsiniz, ancaq unutmayın ki, Arduino Data Logger üçün ən əlverişlidir.

Addım 2: Bütün hissələri bir -birinə bağlayın

Bütün hissələri bir -birinə bağlamaq
Bütün hissələri bir -birinə bağlamaq

Bu bağlamaq asandır. Hətta sxem də daha asan layihə ilə eynidir. Ancaq deyərdim ki, hansı pindən istifadə edəcəyinizə diqqət yetirməlisiniz. Hansı pinlərin istifadə edildiyini görmək üçün hər dəfə Data Logger -in məlumat vərəqini yoxlayın, çünki xatırladığım kimi bəzi sancaqlar artıq təyin olunmuşdur və sensorumu təyin olunmuş pinlərdən birində istifadə etməyə çalışanda bu işləməmişdir.

Bu addımın üst hissəsində fritzing ilə düzəldilmiş sxemləri görə bilərsiniz. Asan şey, məlumat qeyd cihazınızı arduinonun üstünə bağlamanızdır. SD kartınızı data logger -ə qoşun və etməniz lazım olan son şey dht sensor və lcd -ni bağlamaqdır. Çörək taxtasında + bir hissəsi üçün arduino -dan 5V, bir hissəsi üçün GND istifadə edirik və bu xətti izləyərək eyni zamanda + sensor xəttini və lcd -ni + çörək lövhəsinin xəttinə bağlayırsınız. Eyni şey hissələrə aiddir, sadəcə aşağıdakı xəttə gedirlər. Dht sensoru bu dəfə pin 7 -yə qoşulur. LCD A4 və A5 -ə qoşulur, elə deyilmi?

LCD:

  • VCC -dən 5V -ə qədər (+ hissə çörək taxtasında)
  • GND to gnd (-çörək lövhəsində hissə)
  • SDA -dan analoq pin A4 -ə
  • A5 analog pininə SCL

DHT22:

Üç sancağın olduğu lövhəli dht istifadə etdim:

  • + 5V -ə qədər
  • - GND -ə
  • rəqəmsal pin 7 -ə çıxın

Addım 3: Kodlaşdırma

Bu zaman kodu daha mürəkkəbdir. Yaxşı bir hissəsi şərh olunur, buna görə asanlıqla başa düşə bilərsiniz.

Bu kodu bir neçə qısa hissədə izah edəcəyəm.

1. İlk növbədə bu kodun PC -də quraşdırılmış bir neçə kitabxanaya ehtiyac duyacağını unutmayın. Bunlar: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Yəqin ki, başqa kitabxanalardan istifadə edə bilərsiniz, amma bu kitabxanalar mənim üçün çalışdı. Bundan sonra bu layihə üçün lazım olan hər şeyi müəyyənləşdiririk. DHT sensorunu təyin etmək asandır, sadəcə sensorun qoşulduğu pimi və sensorun növünü deməlisiniz. Bundan sonra SD kart və RTC pin üçün istifadə ediləcək bəzi pinləri təyin etməlisiniz. Və bundan sonra bu layihə üçün istifadə olunan dəyişənləri görə bilərsiniz.

3. Layihə bir neçə metoddan istifadə edir və hamısı DHT sensoru ilə işləmək üçündür. Bu tip sensorlar ilə bir layihə üzərində işləyirsinizsə, istifadə edə bilərsiniz. Bu üsullar getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. Quraşdırma zamanı görülməsi lazım olan bir neçə şey var. Əvvəlcə vaxtı təyin etməlisiniz. Burada RTC -dən istifadə etdiyimiz üçün Arduino -nun məlumatları sensordan saxladığı vaxta sahib olmaq istəyirik. Bu hissə kod şəklində şərh ediləcək. Əgər şərh verməsəniz //RTC.adjust(DateTime(_DATE_, _TIME_)); Layihəniz üçün vaxt təyin edə biləcəyiniz xətt. Düzgün vaxt təyin etdikdən sonra həmin hissəni yenidən şərh edə bilərsiniz və kompüteriniz olmadan arduino istifadə edə bilərsiniz. İstilik sensörünüzü başqa bir otaqda istifadə edə və kompüterinizə ehtiyac olmadan temperaturu izləyə biləcəyiniz üçün bu çox gözəldir. Ediləcək ikinci hissə, məlumatların saxlanılacağı SD kartınızı istifadə etməkdir. Shield kartın olub olmadığını görməyə və onu işə salmağa çalışacaq. Əks təqdirdə, səhv mesajı Arduino IDE -də Serial ekranında görünəcək.

Quraşdırma, yaddaş kartına fayl yazmaqla işlədiyimiz ilk addımdır. Kartda yazılan ilk şey datalog.txt faylındadır. Bu dəfə yalnız cihazımıza giriş vaxtını yazırıq və eyni zamanda kiçik bir ad sırası da yaradırıq (qənaət etmək üçün istifadə olunan dəyişənlər, həm də vaxt)

Quraşdırmanın son hissəsi LCD və dht sensorunun işə salınmasıdır.

5. Döngə hissəsi layihənin əsas hissəsidir. Bu dəfə sensorla işləmək çox asandır, çünki sensorun əldə etdiyi dəyərləri oxuyan yalnız bir metoddan istifadə edir. LCD hissəsi də çox asandır. Növbəti hissə burada izah etməmiz lazım olan bir hissədir. Bu layihə hər dəqiqə bir şey edir. Bir dəqiqə ərzində məlumatları datalog.txt -də saxlayır. Bu məlumatları arduino proqramlaşdırmağı belə bilməyən bir adam oxuya bilər. Digər tərəfdə. Bir dəqiqə datalogB.txt və bir dəqiqə datalogC.txt üzərindəki rütubətə qənaət edir. Yaddaş kartımızdan oxuya biləcəyimiz üçün datalogB.txt və dataLogC.txt lazımdır. Beləliklə, kodumuzu oxumağa davam etsək, bu kodun temperaturun və rütubətin orta dəyərlərini oxuduğunu və bir cərgədə saxladığını da görə bilərsiniz. Faylda yalnız son on rəqəmi tutan bir cihaz etmək istədim. Beləliklə, bu layihə həmişə kartdakı dəyərlər üzərində işləyir və son on rəqəmi saxlayır. Satırlarda saxlanılan bu rəqəmlər istifadə olunur ki, biz temperaturun orta dəyərini və rütubətin orta dəyərini əldə edə bilək. Bir müddət sonra LCD -də də göstərilir

Addım 4: Arduino və SD Kartdan sonra istifadə edin

Arduino və SD kartdan sonra
Arduino və SD kartdan sonra
Arduino və SD kartdan sonra
Arduino və SD kartdan sonra
Arduino və SD kartdan sonra
Arduino və SD kartdan sonra
Arduino və SD kartdan sonra
Arduino və SD kartdan sonra

Burada LCD -də nəyin göstərildiyini və layihənin necə işlədiyini görə bilərsiniz. Həm də burada saxladığım məlumatların şəkillərini yerləşdirirəm. Datalog.txt, cihazın hər bir dəyəri necə saxladığını görmək üçün istifadə edilə bilən biridir. DatalogB və datalogC var, buna görə necə göründüklərini görə bilərsiniz. Analiz üsulundan istifadə edə və məlumatları problemsiz oxuya biləcəyiniz üçün belə yazılırlar.

Bu layihənin bütün mahiyyəti sd kartdakı faylların manipulyasiyasıdır. Bəzən yaddaş saxlaya bilən cihazlara ehtiyacımız var və oxuma temperaturu da bir dəfə belədir. Yaxşı bir şey budur ki, bu cihazda istifadə olunan qalxanın da zaman üçün ən yaxşı şey olan bir RTC modulu var. Cihazla real vaxt oxuya bilsək və məlumatları saxlaya bilsək, bu, portativ ola bilər.

Uşaqlar bu layihəni oxuduğunuz üçün təşəkkür edirəm. Ümid edirəm sizə kömək edəcək. Çox sağ ol.

Hörmətlə Sebastian

Tövsiyə: