Агуулгын хүснэгт:
- Алхам 1: эд анги
- Алхам 2: Бүх эд ангиудыг хооронд нь холбох
- Алхам 3: Кодлох
- Алхам 4: Дараа нь Arduino болон SD картыг ашиглах
Видео: Arduino олон файлтай ажиллах (унших/бичих): 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
сайн уу залуусаа
Өнөөдөр би танд өгөгдлийг хадгалах боломжтой 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 картыг ашиглах
Энд та LCD дэлгэц дээр юу харагдаж байгааг, төсөл хэрхэн ажиллаж байгааг харах боломжтой. Мөн би хадгалсан мэдээллийн сангийн зургуудыг энд оруулж байна. Datalog.txt нь төхөөрөмж бүх үнэ цэнийг хэрхэн хадгалж байгааг харах боломжтой юм. DatalogB ба datalogC байдаг тул та тэдний гадаад төрхийг харах боломжтой. Тэд ийм байдлаар бичигдсэн тул та задлан шинжлэх аргыг ашиглаж, өгөгдлийг ямар ч асуудалгүйгээр унших боломжтой болно.
Энэхүү төслийн гол зорилго нь sd карт дээр байгаа файлуудыг удирдах явдал юм. Заримдаа бидэнд санах ой хадгалах төхөөрөмж хэрэгтэй бөгөөд унших температур нь нэг удаа ийм байдаг. Сайн зүйл бол энэ төхөөрөмж дээр ашигладаг бамбай нь RTC модультай бөгөөд энэ нь цаг хугацааны хувьд хамгийн сайн зүйл юм. Бид бодит цаг хугацаанд уншиж, төхөөрөмж дээрээ өгөгдлийг хадгалах боломжтой бол энэ нь зөөврийн байж болно гэсэн үг юм.
Энэхүү төслийг уншсан залуусдаа баярлалаа. Энэ нь танд тусална гэж найдаж байна. Баярлалаа.
Хүндэтгэсэн Себастьян
Зөвлөмж болгож буй:
Нэг аналог зүү ашиглан олон аналог утгыг хэрхэн унших вэ: 6 алхам (зурагтай)
Нэг аналог зүү ашиглан олон тооны аналог утгыг хэрхэн унших вэ: Энэхүү гарын авлагад би зөвхөн нэг аналог оролтын зүү ашиглан олон аналог утгыг хэрхэн уншихыг танд үзүүлэх болно
Arduino ашиглан гадаад EEPROM руу өгөгдөл унших, бичих: 5 алхам
Arduino ашиглан гадаад EEPROM-д өгөгдөл унших, бичих: EEPROM нь цахилгаанаар арилдаг програмчлагдах зориулалттай зөвхөн унших санах ойг илэрхийлдэг. Энэ нь самбарыг унтраасан ч гэсэн EEPROM чип нь програмыг хадгалсаар байгаа гэсэн үг юм
Arduino -тэй SD картны модуль: Өгөгдлийг хэрхэн унших/бичих: 14 алхам
Arduino -тэй SD картны модуль: Өгөгдлийг хэрхэн унших/бичих вэ: Тойм Мэдээллийг хадгалах нь төсөл бүрийн хамгийн чухал хэсгүүдийн нэг юм. Өгөгдлийн төрөл, хэмжээгээр нь хадгалах хэд хэдэн арга байдаг. SD болон микро SD картууд нь хадгалах төхөөрөмжүүдийн дунд хамгийн практик нь юм
VB Script -ийн танилцуулга: Эхлэгчдэд зориулсан гарын авлага: 2 -р хэсэг: Файлтай ажиллах: 13 алхам
VB Script -ийн танилцуулга: Эхлэгчдэд зориулсан гарын авлага: 2 -р хэсэг: Файлтай ажиллах: За VBScript -ийн хамгийн сүүлийн зааварчилгаа бол би Xbox360 -ийг тоглуулахын тулд интернетээ хаах скриптийг хэрхэн хийх талаар авч үзсэн. Өнөөдөр надад арай өөр асуудал байна. Миний компьютер санамсаргүй байдлаар унтарч байсан тул компьютер орох бүрт би бүртгүүлэхийг хүсч байна
Нэг MCU зүүгээр олон унтраалгыг хэрхэн унших вэ: 4 алхам
Олон тооны унтраалгыг нэг MCU зүүгээр хэрхэн унших вэ: Та хэзээ нэгэн цагт төсөл хэрэгжүүлж байсан боловч төсөл нь улам бүр өсөн нэмэгдэж байгаа бөгөөд та түүнд илүү их зүйлийг нэмж өгч байна (бид үүнийг Feaping Creaturism гэж нэрлэдэг)? Саяхны төсөл дээр би давтамж хэмжигчийг бүтээж байгаад таван функц нэмсэн