Агуулгын хүснэгт:

Arduino олон файлтай ажиллах (унших/бичих): 4 алхам
Arduino олон файлтай ажиллах (унших/бичих): 4 алхам

Видео: Arduino олон файлтай ажиллах (унших/бичих): 4 алхам

Видео: Arduino олон файлтай ажиллах (унших/бичих): 4 алхам
Видео: BTT Octopus - Heat bed configuration 2024, Арваннэгдүгээр
Anonim
Arduino олон файлтай ажиллах (унших/бичих)
Arduino олон файлтай ажиллах (унших/бичих)

сайн уу залуусаа

Өнөөдөр би танд өгөгдлийг хадгалах боломжтой RTC бамбайтай ажилладаг Arduino төслийг танилцуулж байна. Энэхүү төслийн гол ажил бол sc карт дээр хадгалагдсан олон файлтай ажиллах явдал юм. Энэ төсөл нь arduino болон RTC бамбай бүхий SD карт дээр шууд хадгалагддаг гурван файлтай ажилладаг кодыг агуулдаг. Энэхүү төсөл нь DataLogger бамбайтай ажилладаг тул энэ өгөгдлийг таны компьютер дээр яг ижил хугацаанд хадгалах болно.

Энэ төсөл бол миний сүүлчийн төслийн сайжруулсан хувилбар юм. Энэ төслийг Arduino Data Logger Shield Small Project нэртэй зааварчилгаа өгөх сайтаас олж болно. Хэрэв танд энэ төслийг ойлгоход ямар нэгэн асуудал байгаа бол эхлээд илүү хялбарыг нь олж харахыг танд зөвлөж байна.

Эдгээр хоёр төслийн гол ялгаа нь энэ төсөл нь 3 текст файл ашигладаг бөгөөд энэ удаад бид тэдгээрийн хоёрын өгөгдлийг уншдаг. Бид өгөгдлийг уншиж чаддаг тул SD картанд хадгалагдсан чийгшил, температурын дундаж утгыг авах боломжтой. Үүнийг мөн Arduino -той холбогдсон LCD дэлгэц дээр харуулах болно.

Дахин хэлэхэд, хэрэв та Arduino-д анхлан ажиллаж байгаа бөгөөд энэ нь таны DataLogger-ийг ашигладаг анхны төсөл бол https://www.instructables.com/id/Arduino-Data-Logg… линкээр орж бүх зүйлийг олж авахыг зөвлөж байна. Үүний тулд энд ирж, илүү хөгжилтэй байгаарай. Эхэлцгээе.

Алхам 1: эд анги

Эд анги
Эд анги
Эд анги
Эд анги
Эд анги
Эд анги

Ийм төсөл бичих болгондоо би энэ төсөлд ашиглаж байсан бүх хэсгүүдээсээ эхлэх болно. Би бас энэ төслийг арай өөр болгож болох зарим мэдрэгчийг санал болгох болно.

Эд анги:

  • Arduino uno rev3
  • Arduino Data logger бамбай
  • SD санах ойн карт
  • I2C бүхий LCD 1602 ногоон дэлгэц (та өөр дэлгэц ашиглаж болно)
  • DHT22 (DHT11 нь сайн ажилладаг, гэхдээ нарийвчлал нь dht22 -тэй ижил биш юм)
  • Цөөн тооны холбогч кабель
  • Талхны самбар
  • Батерей 9v

Та зарим хэсгийг өөрчилж болно. Энэ төслийн сайн тал нь үүнийг бусад мэдрэгчээс өгөгдлийг хадгалахад ашиглаж болно. Би утааны мэдрэгч эсвэл хэт улаан туяаны мэдрэгчтэй ажиллахыг хичээх болно. Энэ нь бусад мэдрэгчтэй ажилладаг. Та мөн Arduino -г өөрчилж болно, гэхдээ Arduino бол өгөгдөл бүртгэгчийг ашиглахад хамгийн тохиромжтой гэдгийг санаарай.

Алхам 2: Бүх эд ангиудыг хооронд нь холбох

Бүх эд ангиудыг хооронд нь холбох
Бүх эд ангиудыг хооронд нь холбох

Үүнийг холбоход хялбар байдаг. Бүр схем нь илүү хялбар төсөлтэй ижил байна. Гэхдээ та ямар зүү ашиглах гэж байгаагаа анхаарах хэрэгтэй гэж хэлмээр байна. Өгөгдөл бүртгэгчийн өгөгдлийн хуудсыг шалгах бүрдээ аль тээглүүр хамгийн тохиромжтой болохыг олж мэдээрэй, учир нь зарим зүүг аль хэдийн тодорхойлчихсон байгаа бөгөөд мэдрэгчээ тогтоосон тээглүүрийн аль нэгэнд ашиглах гэж оролдоход энэ нь ажиллахгүй байна.

Энэ алхамын дээд хэсэгт та fritzing ашиглан хийсэн схемийг харж болно. Хамгийн хялбар зүйл бол та өгөгдөл бүртгэгчээ arduino -ийнхаа дээд хэсэгт холбох хэрэгтэй. SD картаа өгөгдөл бүртгэгч рүү холбоно уу, хамгийн сүүлд хийх ёстой зүйл бол dht sensor болон lcd -ийг холбох явдал юм. Бид arduino -аас 5V -ийг талхны самбар дээр + хэсэг, GND -ийг хэсэг болгон ашигладаг бөгөөд эдгээр мөрийг дагаж та мэдрэгчийн шугам болон lcd -ийг + талхны тавцангийн шугам руу холбоно. Үүнтэй адил зүйл - эд ангиуд, тэд зүгээр л дараах мөр рүү очно. Dht мэдрэгч энэ удаа 7 -р зүүтэй холбогдсон байна. LCD нь A4 ба A5 -тэй холбогдсон байдаг.

LCD:

  • VCC -ээс 5V хүртэл (талхны самбар дээрх+ хэсэг)
  • GND to gnd (талхны самбар дээрх хэсэг)
  • SDA -ийг аналог зүү A4 хүртэл
  • А5 аналог зүү рүү SCL

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 карт байгаа эсэхийг шалгаж, эхлүүлэхийг хичээх болно. Хэрэв байхгүй бол алдааны мэдэгдлийг Arduino IDE дээрх цуваа дэлгэц дээр харуулна.

Санах ойн картанд файл бичихтэй холбоотой бидний хийх эхний алхам бол тохиргоо юм. Картанд бичсэн хамгийн эхний зүйл бол datalog.txt файл юм. Энэ удаад бид төхөөрөмжөө бүртгэх цагийг бичээд, мөн жижиг нэрийн эгнээ (хадгалахад ашигладаг хувьсагчид, бас цаг)

Тохиргооны сүүлийн хэсэг нь LCD, dht мэдрэгчийг эхлүүлэх явдал юм.

5. Loop хэсэг нь төслийн үндсэн хэсэг юм. Энэ удаад мэдрэгчтэй ажиллах нь маш хялбар байдаг, учир нь энэ нь мэдрэгчийн авсан утгыг унших ганц аргыг ашигладаг. LCD хэсэг нь бас маш хялбар байдаг. Дараагийн хэсэг бол энд тайлбарлах ёстой хэсэг юм. Энэ төсөл минут тутамд ямар нэгэн зүйл хийдэг. Нэг минутын дотор өгөгдлийг datalog.txt руу хадгалдаг. Энэ өгөгдлийг arduino програмчлах талаар мэдэхгүй хүн уншиж болно. Нөгөө талаар. 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 модультай бөгөөд энэ нь цаг хугацааны хувьд хамгийн сайн зүйл юм. Бид бодит цаг хугацаанд уншиж, төхөөрөмж дээрээ өгөгдлийг хадгалах боломжтой бол энэ нь зөөврийн байж болно гэсэн үг юм.

Энэхүү төслийг уншсан залуусдаа баярлалаа. Энэ нь танд тусална гэж найдаж байна. Баярлалаа.

Хүндэтгэсэн Себастьян

Зөвлөмж болгож буй: