Съдържание:

Arduino, работещ с множество файлове (ПРОЧЕТЕТЕ/ЗАПИСЕТЕ): 4 стъпки
Arduino, работещ с множество файлове (ПРОЧЕТЕТЕ/ЗАПИСЕТЕ): 4 стъпки

Видео: Arduino, работещ с множество файлове (ПРОЧЕТЕТЕ/ЗАПИСЕТЕ): 4 стъпки

Видео: Arduino, работещ с множество файлове (ПРОЧЕТЕТЕ/ЗАПИСЕТЕ): 4 стъпки
Видео: CS50 2015 - Week 7 2024, Може
Anonim
Arduino работи с множество файлове (ПРОЧЕТЕТЕ/ЗАПИСЕТЕ)
Arduino работи с множество файлове (ПРОЧЕТЕТЕ/ЗАПИСЕТЕ)

Здравейте момчета

Днес ви представям проекта Arduino, който работи с RTC щит, който може да съхранява данни. Основната задача на този проект е работа с множество файлове, които се съхраняват на sc карта. Този проект съдържа код, който работи с три файла, които се съхраняват директно на SD карта с arduino и RTC щит. Тъй като този проект работи с DataLogger щит, тези данни също ще се съхраняват точно по същото време, както и на вашия компютър.

Този проект е надградена версия на последния ми проект. Този проект може да бъде намерен на сайта с инструкции под името Arduino Data Logger Shield Small Project. Ако имате проблеми с разбирането на този проект, предлагам ви първо да видите по -лесен.

Основната разлика между тези два проекта е, че този проект използва 3 текстови файла, като също този път четем данни от два от тях. Тъй като можем да четем данни, можем да получим средна стойност на влажност и температура, които се съхраняват на sd карта. Това също ще бъде показано на LCD дисплея, свързан с Arduino.

Още веднъж, ако сте нов в Arduino и това е първият ви проект, който използва DataLogger, предлагам да отидете и да проверите тази връзка https://www.instructables.com/id/Arduino-Data-Logg… и когато получите всичко за това, елате тук и се забавлявайте още. Да започваме.

Стъпка 1: Части

Части
Части
Части
Части
Части
Части

Както всеки път, когато пиша проекти като този, ще започна с всички части, които използвах с този проект. Ще предложа и някои от сензорите, които могат да се използват и могат да направят този проект малко по -различен.

Части:

  • Arduino uno rev3
  • Щит за регистратор на данни на Arduino
  • SD карта с памет
  • LCD 1602 зелен дисплей с I2C (можете да използвате всеки друг дисплей)
  • DHT22 (DHT11 също работи добре, но точността му не е същата като dht22)
  • Няколко джъмперни кабела
  • Платка
  • Батерия 9v

Можете да промените някои части. Добрата страна на този проект е, че може да се използва за съхраняване на данни от всеки друг сензор. Бих опитал да работя със сензор за дим или инфрачервен сензор. Работи с всеки друг сензор. Можете също да промените своя Arduino, но имайте предвид, че Arduino е най -подходящият за подреждане на регистратор на данни.

Стъпка 2: Свързване на всички части заедно

Свързване на всички части заедно
Свързване на всички части заедно

Този е лесен за свързване. Дори схемата е същата като по -лесния проект. Но бих казал, че трябва да внимавате кой щифт ще използвате. Всеки път проверявайте информационния лист на Data logger, за да видите кои щифтове са най -подходящи за използване, тъй като, както си спомням, някои пинове вече са дефинирани и когато се опитах да използвам сензора си на един от дефинираните щифтове, не работи.

В горната част на тази стъпка можете да видите схеми, направени с фризиране. Лесното е, че трябва да свържете вашия регистратор на данни в горната част на вашия arduino. Свържете вашата SD карта с регистратор на данни и последното нещо, което трябва да направите, е да свържете dht сензор и lcd. Използваме 5V от arduino за + част на макетната платка, GND за - част и като следвате тези линии, вие също свързвате + линия на сензора и lcd към + линия на дъската за хляб. Същото важи и за частите, те просто отиват на реда, който следва -. Този път Dht сензорът е свързан към щифт 7. LCD е свързан към A4 и A5. Лесно, нали?

LCD:

  • VCC до 5V (+ част на макета)
  • GND към gnd (-част на макета)
  • SDA към аналогов извод A4
  • SCL към аналогов извод A5

DHT22:

Използвах dht с дъска, в която трябва да се използват три щифта:

  • + до 5V
  • - към GND
  • към цифров извод 7

Стъпка 3: Кодиране

Този времеви код е по -сложен. Голяма част от него е коментирана, за да можете да го разберете с лекота.

Ще обясня този код в няколко кратки части.

1. Първото нещо, което трябва да имате предвид, че този код ще се нуждае от няколко библиотеки, инсталирани на вашия компютър. Това са: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Вероятно можете да използвате някои други библиотеки, но тези библиотеки ми помогнаха. След това определяме всичко необходимо за този проект. DHT сензорът е лесен за определяне, просто трябва да кажете щифта, към който е свързан сензорът, и типа на сензора. След това трябва да определите някои пинове, които ще се използват за SD карта и RTC пин. И след това можете да видите променливи, използвани за този проект.

3. Проектът използва няколко метода и всички те са за работа с DHT сензор. Ако работите по проект с този тип сензори, можете да го използвате. Тези методи са getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. В настройката има няколко неща, които са необходими, за да свършите. Първо трябва да определите времето. Тъй като използваме RTC тук, искаме да имаме подходящо време, когато нашето Arduino записва данни от сензора. Тази част ще бъде коментирана в код. Ако разкомментирате //RTC.adjust(DateTime(_DATE_, _TIME_)); линия можете да зададете време за вашия проект. След като зададете подходящо време, можете отново да коментирате тази част и можете да използвате вашия arduino без компютър. Това е готино, защото можете да използвате температурния си сензор в друга стая и да следите температурата, без да е необходим компютър. Втората част, която трябва да направите, е да използвате вашата SD карта, на която ще се съхраняват данни. Shield ще се опита да види дали има карта и да я инициализира. Ако няма съобщение за грешка, ще се покаже на екрана Serial на Arduino IDE.

В настройката е първата стъпка, при която работим с писане на файлове на карта с памет. Първото нещо, което е записано на картата, е във файла datalog.txt. Този път пишем само времето за регистриране на нашето устройство и също така създаваме малък ред от имена (променливи, използвани за запазване, а също и време)

Последната част от настройката е инициализиране на LCD и dht сензор.

5. Цикличната част е основната част на проекта. Работата със сензор този път е много лесна, защото използва само един метод, който се чете стойностите, които сензорът получава. LCD частта също е много лесна. Следващата част е тази, която трябва да обясним тук. Този проект прави нещо всяка минута. Една минута съхранява данни в datalog.txt. Тези данни могат да бъдат прочетени от някой, който дори не знае как да програмира arduinos. От друга страна. Една минута запазва температурата на datalogB.txt и една минута спестява влажност на datalogC.txt. Нуждаем се от datalogB.txt и dataLogC.txt, за да можем да четем от нашата карта с памет. Така че, ако продължим да четем нашия код, можете да видите също, че този код чете средните стойности на температурата и влажността и ги съхранява в един ред. Исках да направя устройство, което заема само последните десет цифри във файла. Този проект винаги преминава през стойностите от картата и записва последните десет цифри. Тези цифри, съхранявани в редове, се използват, за да можем да получим средна стойност на температурата и средна стойност на влажност. Които също се показват на нашия LCD след известно време

Стъпка 4: Използване на Arduino и SD карта след това

Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това
Използване на Arduino и SD карта след това

Тук можете да видите какво се показва на LCD и как работи проектът. Също така поставям тук снимки на записаните от мен дневници. Datalog.txt е този, който може да се използва, за да се види как устройството съхранява всяка стойност. DatalogB и datalogC са там, така че можете да видите как изглеждат. Те са написани така, така че можете да използвате метода на парсинг и да четете данни без проблеми.

Целият смисъл на този проект е манипулиране на файловете, които са на sd карта. Понякога се нуждаем от устройства, които могат да съхраняват памет и температурата на четене също е едно време така. Хубавото е, че щитът, използван на това устройство, има и RTC модул, което е най -доброто за времето. Когато можем да четем в реално време и да съхраняваме данни с нашето устройство, това означава, че то може да бъде преносимо.

Благодаря ви момчета, че прочетохте този проект. Надявам се, че ще ви помогне. Благодаря ти.

С всички пожелания Себастиан

Препоръчано: