Мазмуну:
- 1 -кадам: Бөлүктөр
- 2 -кадам: Бардык бөлүктөрдү бириктирүү
- 3 -кадам: Коддоо
- 4 -кадам: Андан кийин Arduino жана SD картасын колдонуу
Video: Arduino бир нече файлдар менен иштөө (ОКУУ/ЖАЗУУ): 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
салам балдар
Бүгүн мен сизге маалыматтарды сактай турган RTC калканы менен иштеген Arduino долбоорун сунуштайм. Бул долбоордун негизги милдети sc картада сакталган бир нече файлдар менен иштөө. Бул долбоор үч файл менен иштеген кодду камтыйт, алар түздөн -түз SD картасында arduino жана RTC калканы менен сакталат. Бул долбоор DataLogger калканы менен иштегендиктен, бул маалыматтар сиздин компьютериңиздегидей эле бир убакта сакталат.
Бул долбоор менин акыркы долбоорумдун жакшыртылган версиясы. Бул долбоорду Arduino Data Logger Shield Small Project аты менен көрсөтмө берүүчү сайттан тапса болот. Эгерде сизде бул долбоорду түшүнүүдө кандайдыр бир көйгөйлөр бар болсо, мен сизге эң биринчисин оңой көрүүнү сунуштайм.
Бул эки долбоордун негизги айырмасы, бул долбоор 3 текст файлын колдонот, бул жолу биз алардын экөөнөн маалыматтарды окуйбуз. Биз маалыматтарды окуй алгандыктан, биз SD картада сакталган нымдуулуктун жана температуранын орточо маанисин ала алабыз. Бул ошондой эле Arduino менен туташкан ЖКда көрсөтүлөт.
Дагы бир жолу, эгер сиз Arduinoдо жаңы болсоңуз жана бул сиздин DataLogger колдонгон биринчи долбооруңуз болсо, мен барып, бул шилтемени текшерүүнү сунуштайм https://www.instructables.com/id/Arduino-Data-Logg… жана баарын алганда мында, бул жакка келип, дагы бир аз көңүл ач. Баштайлы.
1 -кадам: Бөлүктөр
Мен мындай долбоорлорду жазган сайын, мен бул долбоор менен колдонгон бардык бөлүктөрүмдөн баштайм. Мен ошондой эле бул долбоорду бир аз башкача кыла турган сенсорлорду сунуштайм.
Бөлүктөр:
- Arduino uno rev3
- Arduino маалыматтарды жазуучу калкан
- SD эстутум картасы
- LCD 1602 жашыл дисплей I2C менен (башка дисплейди колдонсоңуз болот)
- DHT22 (DHT11 да жакшы иштейт, бирок анын тактыгы dht22 менен бирдей эмес)
- Бир нече секирүүчү кабелдер
- Breadboard
- Батарея 9v
Сиз кээ бир бөлүктөрүн өзгөртө аласыз. Бул долбоордун жакшы жагы, аны башка сенсорлордон маалыматтарды сактоо үчүн колдонсо болот. Мен түтүн сенсору же инфракызыл сенсор менен иштегенге аракет кылмакмын. Бул башка сенсорлор менен иштейт. Сиз ошондой эле Arduino'ну өзгөртө аласыз, бирок эстен чыгарбаңыз, Arduino - бул маалыматтарды каттоочуга ылайыктуу.
2 -кадам: Бардык бөлүктөрдү бириктирүү
Бул туташуу оңой. Атүгүл схемасы дагы жеңил проект менен бирдей. Бирок мен айтаар элем, сиз кайсы пинди колдонооруңузга көңүл бурууңуз керек. Ар бир жолу Data Loggerдин маалымат баракчасын текшерип, кайсы казыктарды колдонуу эң ылайыктуу экенин билиңиз, анткени мен эстегендей, кээ бир казыктар мурунтан эле аныкталган жана мен сенсорумду аныкталган казыктардын бирине колдонууга аракет кылсам, ал иштеген жок.
Бул кадамдын чокусунда сиз фризинг менен жасалган схеманы көрө аласыз. Оңой нерсе, сиз маалымат жазгычыңызды ардуинонун үстүнө туташтырышыңыз керек. SD картаңызды маалымат каттоочуга туташтырыңыз, жана акыркы кылышыңыз керек болгон нерсе dht сенсорун жана LCDди туташтыруу. Ардуинодон 5Vны нан үчүн + бөлүгүнө, GND бөлүгүнө колдонобуз жана ошол линияны ээрчүү менен сен да + сенсор линиясын жана лкдды нан тактасынын линиясына туташтырасың. Ошол эле нерсе - бөлүктөр, алар жөн гана кийинки сызыкка барат -. Dht сенсору бул жолу пин 7ге туташкан. LCD A4 жана A5. Easy менен туташкан, туурабы?
ЖК:
- VCC 5V чейин (нан бөлүгүндө+ бөлүгү)
- GND to gnd (-нан бөлүгүндө)
- SDA аналогдук пинге A4
- А5 аналогдук пинге SCL
DHT22:
Мен dhtти такта менен колдондум, анда үч казык колдонулат:
- + 5В чейин
- - 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_) комментарий жазбасаңыз)); сызык, сиз долбооруңузга убакытты белгилей аласыз. Туура убакытты белгилегенден кийин, бул бөлүккө дагы комментарий бере аласыз жана ардуинону компьютерсиз колдоно аласыз. Бул сонун, анткени сиз температура сенсорун башка бөлмөдө колдонуп, компьютериңизге муктаж болбостон температураны көзөмөлдөй аласыз. Экинчи бөлүк - бул SD картаны колдонуу, анда маалымат сакталат. Шилд картанын бар -жогун текшерүүгө аракет кылат. Эгерде жок болсо, ката жөнүндө билдирүү Arduino IDEдеги Сериалдык экранда көрсөтүлөт.
Орнотууда биз эстутум картасына файлдарды жазуу менен иштей турган биринчи кадам. Картада жазылган биринчи нерсе datalog.txt файлында. Бул жолу биз түзмөгүбүздү каттоо убактысын жазабыз, ошондой эле кичинекей аттарды түзөбүз (сактоо үчүн колдонулган өзгөрмөлөр, ошондой эле убакыт)
Орнотуунун акыркы бөлүгү LCD жана dht сенсорун баштоо.
5. Цикл бөлүгү - бул долбоордун негизги бөлүгү. Бул жолу сенсор менен иштөө абдан оңой, анткени ал сенсор алган баалуулуктарды окуган бир гана ыкманы колдонот. LCD бөлүгү дагы абдан оңой. Кийинки бөлүк - бул жерде биз түшүндүрүшүбүз керек. Бул долбоор мүнөт сайын бир нерсе кылат. Бир мүнөттө ал маалыматтарды datalog.txtке сактайт. Бул маалыматтарды ардуинолорду кантип программалоону билбеген адам окуй алат. Башка жагынан. Бир мүнөт datalogB.txtтеги температураны жана бир мүнөт datalogC.txtтеги нымдуулукту сактайт. Бизге datalogB.txt жана dataLogC.txt керек, андыктан эс тутум картабыздан окуй алабыз. Ошентип, эгерде биз өзүбүздүн кодду окууну уланта берсек, анда бул код температуранын жана нымдуулуктун орто маанилерин окуп, аларды бир катарда сактаганын көрө аласыз. Мен файлдагы акыркы он цифраны камтыган түзмөк жасагым келди. Ошентип, бул долбоор ар дайым картадан алынган баалуулуктар аркылуу иштейт жана акыркы он цифраны сактайт. Бул цифралар саптарда сакталат, ошондуктан биз температуранын орточо маанисин жана нымдуулуктун орточо маанисин ала алабыз. Кайсы бир убакыттан кийин биздин ЖКда көрсөтүлөт
4 -кадам: Андан кийин Arduino жана SD картасын колдонуу
Бул жерде сиз ЖКда эмне көрсөтүлөрүн жана долбоордун кантип иштээрин көрө аласыз. Ошондой эле бул жерге мен сактап койгон маалыматтардын сүрөттөрүн коюп жатам. Datalog.txt - бул түзмөктүн ар бир баалуулукту кантип сактаганын көрүү үчүн колдонула турган нерсе. DatalogB жана datalogC бар, андыктан алардын кандай экенин көрө аласыз. Алар ушинтип жазылган, андыктан талдоо ыкмасын колдонуп, маалыматтарды эч кандай көйгөйсүз окуй аласыз.
Бул долбоордун негизги максаты - sd картасындагы файлдарды башкаруу. Кээде бизге эс тутумду сактаган түзмөктөр керек болот жана окуу температурасы дагы бир жолу ушундай болот. Жакшы нерсе, бул түзмөктө колдонулган калкан, ошондой эле убакыт үчүн эң жакшы нерсе болгон RTC модулуна ээ. Качан реалдуу убакытта окуй алабыз жана маалыматтарды түзмөгүбүз менен сактай алабыз, бул анын портативдүү болушу мүмкүн экенин билдирет.
Бул долбоорду окуган балдарга рахмат. Мен сизге жардам берет деп үмүттөнөм. Рахмат.
Бардык урматтоо менен Себастьян
Сунушталууда:
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: 6 кадам (сүрөттөр менен)
Бир аналог пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окуу керек: Бул үйрөткүчтө мен сизге бир эле аналогдук кирүүчү пинди колдонуу менен бир нече аналогдук баалуулуктарды кантип окууну көрсөтөм
Бир нече баскычтарды Arduinoдогу бир пинге туташтыруу: 4 кадам
Бир нече баскычтарды Arduino'догу бир пинге туташтыруу: Саламатсыздарбы, Arduino долбоорлоруңузда жаркыраган светодиоддору ашып кеткенде, сиз өзүңүзгө кошумча казыктарга муктаж болуп калышыңыз мүмкүн. Мен сизге бир кнопканы көрсөтөм, анда сиз бир эле баскычка ээ боло аласыз, бардыгы бир эле аналогдук пинге туташкан
Бир нече программаларды ачкан пакеттик файлдар !: 5 кадам
Бир нече программаларды ачкан пакеттик файлдар!: Жарайт, бул өзүн өзү түшүнүктүү. Бул өзгөчө пайдалуу болушу мүмкүн, эгер сиз жумушта болсоңуз жана сиз, мисалы, ачышыңыз керек болгон процесстен өтсөңүз; Microsoft Word, Microsoft PowerPoint, Microsoft Outlook, Internet Explorer ж
Бир нече компьютер менен иштөө (студенттер үчүн): 6 кадам
Бир нече компьютер менен иштөө (студенттер үчүн): Бир нече компьютерлер менен иштөө абдан кыйын болушу мүмкүн. Сиз кайсы файлдар кайсы компьютерде экенин эч качан билбейсиз, бир эле файлдын бир нече версиясы менен көйгөйлөргө туш болушуңуз мүмкүн, жана натыйжада файлдарыңыздын бардыгын чогуу жоготуп алышыңыз мүмкүн же жок дегенде өзүңүздүн
VB Scriptке киришүү: Жаңы баштагандарга көрсөтмө: 2 -бөлүк: Файлдар менен иштөө: 13 кадам
VB Scriptке киришүү: Жаңы баштагандарга көрсөтмө: 2 -бөлүк: Файлдар менен иштөө: Менин акыркы VBScriptимде, мен Xbox360 ойноо үчүн интернетти өчүрүү үчүн кантип сценарий жасоону карап чыктым. Бүгүн менде башка маселе бар. Менин компьютерим кокусунан өчүп калган жана мен компьютер кирген сайын катталгым келет