Мазмұны:

Arduino бірнеше файлмен жұмыс (ОҚУ/ЖАЗУ): 4 қадам
Arduino бірнеше файлмен жұмыс (ОҚУ/ЖАЗУ): 4 қадам

Бейне: Arduino бірнеше файлмен жұмыс (ОҚУ/ЖАЗУ): 4 қадам

Бейне: Arduino бірнеше файлмен жұмыс (ОҚУ/ЖАЗУ): 4 қадам
Бейне: Урок №11. Интеграция Arduino с ПК и базами данных. Beyond Robotics 2024, Шілде
Anonim
Arduino бірнеше файлдармен жұмыс істейді (ОҚУ/ЖАЗУ)
Arduino бірнеше файлдармен жұмыс істейді (ОҚУ/ЖАЗУ)

Сәлем жігіттер

Бүгін мен сізге деректерді сақтай алатын RTC экранымен жұмыс істейтін Arduino жобасын ұсынамын. Бұл жобаның негізгі міндеті - sc картасында сақталатын бірнеше файлдармен жұмыс. Бұл жобада arduino мен RTC экраны бар SD картасында сақталатын үш файлмен жұмыс істейтін код бар. Бұл жоба 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 сияқты емес)
  • Бірнеше секіргіш кабельдер
  • Нан тақтасы
  • Батарея 9v

Сіз кейбір бөліктерді өзгерте аласыз. Бұл жобаның жақсы жағы - оны кез келген басқа сенсордан деректерді сақтауға қолдануға болады. Мен түтін сенсорымен немесе инфрақызыл сенсормен жұмыс істеуге тырысамын. Ол кез келген басқа сенсормен жұмыс істейді. Сіз сондай -ақ Arduino -ді өзгерте аласыз, бірақ есте сақтаңыз, Arduino - бұл деректерді тіркеуші үшін ең қолайлы құрал.

2 -қадам: барлық бөлшектерді біріктіру

Барлық бөліктерді бір -біріне қосу
Барлық бөліктерді бір -біріне қосу

Бұл қосылуға оңай. Тіпті схема да оңай жобамен бірдей. Бірақ мен сіз қандай түйреуішті қолданатындығыңызды қадағалауыңыз керек деп айтар едім. Деректерді тіркеу журналының деректер парағын тексерген сайын, қандай түйреуіштерді қолданған дұрыс екенін білуге болады, себебі есімде, кейбір түйреуіштер қазірдің өзінде анықталған, мен сенсорды анықталған түйреуіштердің бірінде қолдануға тырысқанда, ол жұмыс істемеді.

Бұл қадамның жоғарғы жағында сіз фризмен жасалған схеманы көре аласыз. Оңай нәрсе - сізге деректерді тіркеушіні arduino -ның жоғарғы жағына қосу керек. SD картасын деректерді тіркеушіге қосыңыз, және соңғы нәрсе - сенсор мен дискіні қосу. Біз arduino -дан 5V -ді тақтаға + бөлігін, GND -нің бөлігін қолданамыз, және сол сызыққа сүйене отырып, сенсорлық желіні + және нан тақтасының + линиясын + қосасыз. Дәл солай - бөлшектер, олар келесі жолға өтеді -. Dht сенсоры бұл жолы 7 -істікке қосылады. СКД A4 және A5 -ке қосылған. Оңай емес пе?

СКД:

  • VCC 5V дейін (+ бөлік тақтада)
  • GND-gnd (-бөлшек тақтасындағы бөлім)
  • SDA A4 аналогтық түйреуішіне
  • A5 аналогтық істікшесіне 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 картасын пайдалану. Shield картаның бар -жоғын білуге тырысады және оны инициализациялайды. Егер жоқ болса, қате туралы хабар Arduino IDE сериялық экранында көрсетіледі.

Орнату - бұл жад картасына файлдарды жазумен жұмыс жасайтын бірінші қадам. Карточкаға жазылатын бірінші нәрсе - datalog.txt файлында. Бұл жолы біз құрылғыны тіркеу уақытын жазамыз, сонымен қатар аттардың шағын қатарын құрамыз (сақтау үшін қолданылатын айнымалылар, сонымен қатар уақыт)

Орнатудың соңғы бөлігі - СКД мен сенсорды қосу.

5. Цикл бөлігі - бұл жобаның негізгі бөлігі. Бұл жолы сенсормен жұмыс істеу өте оңай, себебі ол тек сенсор алатын мәндерді оқитын бір әдісті қолданады. СКД бөлігі де өте оңай. Келесі бөлім - біз мұнда түсіндіруіміз керек. Бұл жоба минут сайын бірдеңе жасайды. Бір минут ішінде ол datalog.txt файлында сақталады. Бұл деректерді arduino бағдарламалауды білмейтін адам оқи алады. Басқа жағынан. DatalogB.txt температурасын бір минутқа үнемдейді, ал бір минут datalogC.txt ылғалдылығын сақтайды. Бізге жады картасынан оқу үшін datalogB.txt және dataLogC.txt қажет. Егер біз кодты оқуды жалғастыра берсек, бұл код температура мен ылғалдылықтың орташа мәндерін оқитынын және оларды бір қатарда сақтайтынын көре аласыз. Мен файлдағы соңғы он санды алатын құрылғы жасағым келді. Осылайша, бұл жоба әрқашан картаның мәндері бойынша жұмыс істейді және соңғы он цифрды сақтайды. Бұл жолдарда сақталған цифрлар температураның орташа мәнін және ылғалдылықтың орташа мәнін алу үшін қолданылады. Олар біраз уақыттан кейін біздің СКД -де көрсетіледі

4 -қадам: Arduino мен SD картасын пайдалану

Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану
Содан кейін Arduino мен SD картасын пайдалану

Мұнда сіз СКД -де не көрсетілетінін және жобаның қалай жұмыс істейтінін көре аласыз. Сондай -ақ, мен сақтаған мәліметтер тізімінің суреттерін осында орналастырамын. Datalog.txt - бұл құрылғы әр мәнді қалай сақтайтынын көруге болатын бағдарлама. DatalogB және datalogC бар, сондықтан сіз олардың қалай көрінетінін көре аласыз. Олар осылай жазылған, сондықтан сіз талдау әдісін қолдана аласыз және деректерді еш қиындықсыз оқи аласыз.

Бұл жобаның негізгі мақсаты - sd картасындағы файлдарды өңдеу. Кейде бізге жадты сақтай алатын құрылғылар қажет болады және оқу температурасы да осылай болады. Жақсы нәрсе - бұл құрылғыда қолданылатын қалқанның RTC модулі бар, бұл уақыт үшін ең жақсы нәрсе. Егер біз нақты уақытта оқи алатын болсақ және құрылғыда деректерді сақтай алсақ, бұл оны портативті бола алатынын білдіреді.

Балалар, бұл жобаны оқығандарыңызға рахмет. Бұл сізге көмектеседі деп үміттенемін. Рақмет сізге.

Құрметпен Себастьян

Ұсынылған: