Arduino Bekerja Dengan Berbilang Fail (BACA / TULIS): 4 Langkah
Arduino Bekerja Dengan Berbilang Fail (BACA / TULIS): 4 Langkah
Anonim
Arduino Bekerja Dengan Berbilang Fail (BACA / TULIS)
Arduino Bekerja Dengan Berbilang Fail (BACA / TULIS)

apa khabar semua

Hari ini saya membentangkan anda projek Arduino yang berfungsi dengan perisai RTC yang dapat menyimpan data. Tugas utama projek ini adalah menggunakan banyak fail yang disimpan pada kad sc. Projek ini mengandungi kod yang berfungsi dengan tiga fail yang disimpan terus pada kad SD dengan perisai arduino dan RTC. Oleh kerana projek ini berfungsi dengan perisai DataLogger, data tersebut juga akan disimpan pada masa yang sama seperti pada PC anda.

Projek ini adalah versi projek terakhir saya yang dinaik taraf. Projek itu boleh didapati di laman instruksional dengan nama Arduino Data Logger Shield Small Project. Sekiranya anda menghadapi masalah memahami projek ini, saya cadangkan anda melihatnya lebih mudah terlebih dahulu.

Perbezaan utama antara kedua projek tersebut ialah projek ini menggunakan 3 fail teks, juga kali ini kita membaca data dari dua daripadanya. Kerana kita dapat membaca data, kita dapat memperoleh nilai kelembapan dan suhu pertengahan, yang disimpan pada kad sd. Ini juga akan ditunjukkan pada LCD yang disambungkan ke Arduino.

Sekali lagi, jika anda baru menggunakan Arduino dan ini adalah projek pertama anda yang menggunakan DataLogger, saya cadangkan untuk pergi dan periksa pautan ini https://www.instructables.com/id/Arduino-Data-Logg… dan apabila anda mendapat semuanya untuk itu, datang ke sini dan bersenang-senang lagi. Mari mulakan.

Langkah 1: Bahagian

Bahagian
Bahagian
Bahagian
Bahagian
Bahagian
Bahagian

Seperti setiap kali saya menulis projek seperti ini, saya akan memulakan dengan semua bahagian yang saya gunakan dengan projek ini. Saya juga akan mencadangkan beberapa sensor yang boleh digunakan dan dapat membuat projek ini sedikit berbeza.

Bahagian:

  • Arduino uno rev3
  • Perisai pencatat data Arduino
  • Kad memori SD
  • Paparan hijau LCD 1602 dengan I2C (anda boleh menggunakan paparan lain)
  • DHT22 (DHT11 berfungsi dengan baik juga, tetapi ketepatannya tidak sama dengan dht22)
  • Beberapa kabel pelompat
  • Papan roti
  • Bateri 9v

Anda boleh menukar beberapa bahagian. Sisi baik dari projek ini ialah ia dapat digunakan untuk menyimpan data dari sensor lain. Saya akan cuba bekerja dengan sensor asap, atau sensor inframerah. Ia berfungsi dengan sensor lain. Anda juga boleh menukar Arduino anda, tetapi perlu diingat bahawa Arduino adalah yang terbaik untuk menyesuaikan Data logger.

Langkah 2: Menyambungkan Semua Bahagian Bersama

Menghubungkan Semua Bahagian Bersama
Menghubungkan Semua Bahagian Bersama

Yang ini senang dihubungkan. Malah skema sama dengan projek yang lebih mudah. Tetapi saya katakan bahawa anda perlu berhati-hati dengan pin mana yang akan anda gunakan. Setiap kali memeriksa lembaran data Logger data untuk melihat pin mana yang paling baik digunakan, kerana seingat saya beberapa pin sudah ditentukan dan ketika saya cuba menggunakan sensor saya pada salah satu pin yang ditentukan, ia tidak berfungsi.

Di bahagian atas langkah ini, anda dapat melihat skema yang dibuat dengan fritzing. Perkara yang mudah ialah anda perlu menyambungkan logger data anda di bahagian atas arduino anda. Sambungkan kad sd anda ke data logger, dan perkara terakhir yang perlu anda lakukan adalah menyambungkan dht sensor dan lcd. Kami menggunakan 5V dari arduino untuk + bahagian di papan roti, GND untuk - bahagian, dan dengan mengikuti garis tersebut, anda menyambung juga + garis sensor dan lcd ke + baris papan roti. Perkara yang sama berlaku - bahagian, mereka hanya pergi ke garis yang berikut -. Sensor Dht disambungkan ke pin 7 kali ini. LCD disambungkan ke A4 dan A5. Mudah, bukan?

LCD:

  • VCC hingga 5V (+ bahagian pada papan roti)
  • GND ke gnd (-bahagian pada papan roti)
  • SDA ke pin analog A4
  • SCL ke pin analog A5

DHT22:

Saya menggunakan dht dengan papan di mana terdapat tiga pin yang akan digunakan:

  • + hingga 5V
  • - ke GND
  • keluar ke pin digital 7

Langkah 3: Pengekodan

Kod masa ini lebih kompleks. Sebahagian baiknya dikomentari sehingga anda dapat memahaminya dengan senang.

Saya akan menerangkan kod ini dalam beberapa bahagian pendek.

1. Perkara pertama yang perlu diingat bahawa kod ini memerlukan beberapa perpustakaan yang dipasang di PC anda. Iaitu: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Anda mungkin boleh menggunakan beberapa perpustakaan lain tetapi perpustakaan ini berfungsi untuk saya. Selepas itu kami menentukan semua yang diperlukan untuk projek ini. Sensor DHT mudah didefinisikan, anda hanya perlu mengatakan pin yang disambungkan ke sensor dan jenis sensor. Selepas itu anda perlu menentukan beberapa pin yang akan digunakan untuk kad SD dan pin RTC. Dan selepas itu anda dapat melihat pemboleh ubah yang digunakan untuk projek ini.

3. Projek menggunakan beberapa kaedah dan semuanya untuk bekerja dengan sensor DHT. Sekiranya anda mengusahakan projek dengan sensor jenis ini, anda boleh menggunakannya. Kaedah tersebut ialah getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. Dalam persediaan ada beberapa perkara yang diperlukan untuk diselesaikan. Pertama sekali anda perlu menentukan masa. Kerana kita menggunakan RTC di sini kita ingin mempunyai waktu yang tepat ketika Arduino kita menyimpan data dari sensor. Bahagian itu akan dikomentari dalam kod. Sekiranya anda tidak berpuas hati //RTC.adjust(DateTime(_DATE_, _TIME_)); anda boleh menetapkan masa untuk projek anda. Selepas anda menetapkan masa yang tepat, anda boleh mengomentari bahagian itu lagi, dan anda boleh menggunakan arduino anda tanpa komputer. Ini keren kerana anda boleh menggunakan sensor suhu anda di ruangan lain dan menjejaki suhu tanpa memerlukan komputer anda. Bahagian kedua yang harus dilakukan adalah menggunakan kad SD anda di mana akan ada data yang disimpan. Perisai akan cuba melihat apakah ada kad dan memulakannya. Sekiranya tidak ada mesej kesalahan akan ditunjukkan di skrin Serial di Arduino IDE.

Dalam penyediaan adalah langkah pertama di mana kita bekerja dengan menulis fail pada kad memori. Perkara pertama yang ditulis pada kad adalah pada fail datalog.txt. Kali ini kami menulis hanya masa mencatat peranti kami, dan kami juga membuat sebaris kecil nama (pemboleh ubah yang digunakan untuk menyimpan, dan juga waktu)

Bahagian terakhir penyediaan adalah menginisialisasi LCD, dan sensor dht.

5. Bahagian gelung adalah bahagian utama projek. Bekerja dengan sensor kali ini sangat mudah kerana hanya menggunakan satu kaedah iaitu membaca nilai yang diperoleh sensor. Bahagian LCD juga sangat mudah. Bahagian seterusnya adalah bahagian yang perlu kita jelaskan di sini. Projek ini melakukan sesuatu setiap minit. Satu minit ia menyimpan data ke datalog.txt. Data ini dapat dibaca oleh seseorang yang bahkan tidak tahu bagaimana memprogram arduino. Di sebelah sana. Satu minit menjimatkan suhu pada datalogB.txt dan satu minit menjimatkan kelembapan pada datalogC.txt. Kami memerlukan datalogB.txt dan dataLogC.txt supaya kami dapat membaca dari kad memori kami. Oleh itu, jika kita terus membaca kod kita, anda juga dapat melihat bahawa kod ini membaca nilai pertengahan suhu dan kelembapan dan menyimpannya dalam satu baris. Saya mahu membuat peranti yang hanya memerlukan sepuluh digit terakhir dalam fail. Oleh itu, projek ini selalu berjalan melalui nilai dari kad, dan menyimpan sepuluh digit terakhir. Digit yang disimpan dalam baris digunakan sehingga kita dapat memperoleh nilai suhu dan nilai kelembapan rata-rata. Yang juga ditunjukkan pada LCD kami setelah beberapa lama

Langkah 4: Menggunakan Kad Arduino dan SD Selepas itu

Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu
Menggunakan Kad Arduino dan SD Selepas itu

Di sini anda dapat melihat apa yang dipaparkan di LCD dan bagaimana projek ini berfungsi. Juga saya letakkan di sini gambar-gambar dari katalog yang saya simpan. Datalog.txt adalah yang boleh digunakan untuk melihat bagaimana peranti menyimpan setiap nilai. DatalogB dan datalogC ada sehingga anda dapat melihat bagaimana rupa mereka. Ia ditulis seperti itu supaya anda dapat menggunakan kaedah parse dan membaca data tanpa masalah.

Inti keseluruhan projek ini adalah manipulasi fail yang terdapat pada kad sd. Kadang-kadang kita memerlukan peranti yang dapat menyimpan memori dan suhu bacaan juga adalah seperti itu. Perkara yang baik ialah perisai yang digunakan pada peranti ini juga mempunyai modul RTC, yang merupakan perkara terbaik untuk masa. Apabila kita dapat membaca masa nyata, dan menyimpan data dengan peranti kita, itu bermakna ia boleh dibawa.

Terima kasih kalian kerana membaca projek ini. Saya harap ia dapat membantu anda. Terima kasih.

Dengan segala hormatnya Sebastian

Disyorkan: