Мазмуну:
- 1 -кадам: Ассамблея
- 2 -кадам: IDEлерди жана китепканаларды орнотуңуз
- 3 -кадам: Системаны программалоо
- 4 -кадам: даярдоо
- 5 -кадам: Код
Video: Open Source Data Logger (OPENSDL): 5 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул долбоордун максаты, жок дегенде температураны, салыштырмалуу нымдуулукту, жарыктуулукту камтыган жана кошумча сенсорлорго жайылуучу имараттын ишин баалоо боюнча изилдөө үчүн арзан баадагы өлчөө системасын иштеп чыгуу, куруу жана сыноо жана бул түзмөктөрдүн прототипин иштеп чыгуу..
Бул кызыкдар тараптарга бир эле учурда бир нече экологиялык параметрлерди каттоо аркылуу эффективдүү жана жеткиликтүү түрдө курулушту баалоо үчүн керектүү өлчөөлөрдү жүргүзүүгө мүмкүндүк берген ыңгайлаштырылган жана жеткиликтүү системаны алып келет. Open Source Data Logger (OPENSDL) иштелип чыккан маалымат HOBO U12-012 маалымат каттоочу менен салыштырылган. Бул коммерциялык системада 3 параметрди өлчөөгө болот, атап айтканда- температура, RH жана жарык, жана башка сенсор түрлөрү үчүн бир тышкы канал. Башка параметрлерди өлчөө үчүн башка сезгич түзүлүш талап кылынат. Өлчөөгө тийиш болгон параметрлердин мүнөздөмөлөрү менчик аппараттык жана программалык камсыздоо менен чектелген, бул системаны белгилүү бир тактык менен айрым параметрлерди өлчөө менен чектейт. HOBO U12-012 баасы болжол менен 13 000 (185 АКШ доллары) турат, ал эми OPENSDLдин баасы ₹ 4, 605 (66 АКШ доллары) турат, бул коммерциялык кесиптешинин үчтөн бир бөлүгүн түзөт.
Arduino Uno жардамы менен температураны, RH жана жарык деңгээлин (жарыктуулукту) көзөмөлдөө үчүн ачык булак маалымат жазгыч Бул OPENSDL маалымат жазгычын иштеп чыгуу үчүн DIY.
Убакыт талап кылынат: ширетүү үчүн 2-3 саат, таңгактоо үчүн 5 саат (4 саат - 3D басып чыгаруу жана лазер менен кесүү үчүн 1 саат) Керектүү көндүмдөр: Лайкоо, программалоо жана электроника боюнча аз же жок
Бөлүктөр талап кылынат:
- Arduino Uno кабели менен
- Маалыматты каттоочу калкан
- CR1220 тыйын батареясы
- BME280 температурасы нымдуулук басым сенсорунун сынык тактасы
- TSL2561 жарык сенсорунун сынык тактасы
- ESP01-8266 Wi-Fi модулу
- RJ-9 эркек жана ургаачы туташтыргычы
- Shield Stacking Headers for Arduino
- SD эстутум картасы (каалаган сыйымдуулук)
- Вектордук такта (26 x 18 тешик)
- 8 АА батареялары Батарея кармагыч
Керектүү куралдар:
- Паяльник (35W)
- Solder зым
- Зым кескич
- Кримпер куралы
- Мультиметр
Программалык камсыздоо талап кылынат: Arduino IDE (1.0.5 же андан жогору)
Arduino китепканалары колдонулат:
- Зым китепканасы
- SparkFun TSL2561 китепканасы
- Cactus BME280 мультисенсордук китепкана
- SD карталар китепканасы
- SPI китепканасы
- RTC китепканасы
Эскертүү: BME280 сенсору Boschтун абдан так, температурасы, салыштырмалуу нымдуулугу жана басым сенсору. Ошо сыяктуу эле, DS1307 Максимдин так реалдуу убакыт сааты жана TSL2561 так жарык сенсору. Бул продуктылар үчүн анча кымбат эмес жана азыраак альтернативалар бар, бирок бул окуу куралы жогорку тактыкты жана тактыкты талап кылган курулуштун иштешин баалоо жана курулуш мониторинги үчүн маалыматтарды чогултууга кызыккан адамдарга багытталган. Бул кандайдыр бир конкреттүү аппараттык орнотуу жана программалык камсыздоону (китепканалар, программанын коду) катуу көрсөтүлгөн продукциялар үчүн гана арналганын билдирет.
1 -кадам: Ассамблея
Маалыматтарды каттоочу калкан Arduino Uno тактасынын үстүнө оңой эле салынышы мүмкүн. Бул калкан маалыматтарды каттоо мүмкүнчүлүгүн камсыз кылат (убакытты сактоо жана маалыматтарды сактоо). Калканды үйүп салыш керек болчу. CR1220 монеталуу батареяны Arduino өчүрүлгөндө да сааттын иштеши үчүн берилген тегерек уячасына киргизүү керек болчу. SD эстутум картасы берилген борттогу картанын уячасына салынышы керек. Уникалдуу ыңгайлаштырылган калкан RJ-9 туташтыргычы аялдын казыктарын жана Arduino калканынын үстүнкү баштарын колдонуу менен иштелип чыккан. Тиешелүү баштар калкан Arduino тактайына эң сонун дал келгендиктен, тиешелүү жерлерде ширетилген. Arduino бир жагында 18 казык, экинчи жагында 14 төөнөгүч бар. Бирдей сандагы төөнөгүчтөр Arduinoдогудай эле аралыкта (18 казык айырмаланып) колдонулган. Аталыштарга чектеш калган кошумча орун RJ-9 туташтыргычын жайгаштыруу үчүн колдонулган.
Аталыштар керектүү төөнөгүчтөрдү колдонуунун эң жакшы жолу болгон, ошол эле учурда аларды башка компоненттерге колдонуу үчүн жеткиликтүү кылган. Колдонулган сенсорлор I2C байланыш протоколуна ылайык иштешет, бул Arduinoдон 4 казыкты талап кылат, атап айтканда: SDA (A4 катары да жеткиликтүү), SCL (A5 катары да жеткиликтүү), 3.3V & GND. RJ-9 туташтыргычынан чыккан төрт зым ушул төрт баштуу казыкка ширетилген. RJ-9 туташтыргычтарынын саны сенсорлордун санына жараша болот. Бул долбоордо 3 RJ-9 туташтыргычы колдонулган (экөө BME280 үчүн жана бирөө TSL2561 үчүн). RJ-9 туташтыргычынан чыккан төрт зым түстүү коддолгон жана ар бир түстүү зым бардык RJ-9 коннекторлору үчүн конкреттүү төөнөгүч менен белгиленген. Бул түс коду ар кандай RJ-9 даана боюнча айырмаланышы мүмкүн экенин белгилей кетүү керек. Мындай учурда, туташтыргычтагы зымдын ордун белгилеш керек. RJ-9 туташтыргычы, ширетүүдөн кийин, февиквиктин жардамы менен вектордук тактага жабыштырылып, анын бетине бекитилет. Бул байланыштарды мультиметрдеги үзгүлтүксүз режимди колдонуу менен текшерсе болот. Үзгүлтүксүз режимде мультиметр нөлдүк каршылык көрсөтүшү керек. Мультиметрдин зонддорунун бирин ширетилген пинге, дагы бир иликтөөнү RJ-9 туташтыргычынын ичине туташтырыңыз. Мультиметр обон чыгарышы керек, демек, ширетүүчү түйүндөр туура жана байланыштар туура жасалган. Эгерде тон чыгарылбаса, анда ширетүүчү жерлерди текшериңиз. Ошо сыяктуу эле, RJ-9 туташтыргычын ошол эле зымдары бар, сенсордун сынык такталарында бир эле тешикчелерге туташтырат, б.а. A4, A5, 3.3V & GND. BME280 сенсору эки I2C дарегин колдойт, башкача айтканда, эки BME280 сенсорун бир эле контролерге туташтырса болот. Муну аткарып жатканда, сенсорлордун биринин дарегин сенсордун үстүндөгү ширеткичтер менен байланыштырып өзгөртүү керек. An ESP-01 зымсыз туташуу чипи Arduino менен төмөнкү байланыштарды талап кылган.
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
Эскертүү:- Arduino Unoдогу бир нече LEDлар батареянын иштөө мөөнөтүн жакшыртуу үчүн алынып салынды. Күч көрсөткүчү LED, RX жана TX диоддору ширетүүчү түйүндөрдү жылытуу жана LEDди форспс менен түртүү аркылуу алынып салынды.
2 -кадам: IDEлерди жана китепканаларды орнотуңуз
Ар кандай программалоону жасоодон мурун Arduino IDE (Integrated Development Environment) жүктөлүп алынышы керек. Программалоо ушул платформада жасалган. OPENSDLдин ар кандай компоненттери менен өз ара аракеттенүү үчүн ар кандай китепканалар талап кылынган. Берилген компоненттер үчүн төмөнкү китепканалар колдонулган.
Компонент ------------------------------------------------- -------------- Китепкана
BME280 температурасы жана RH сенсору --------------------------------- Cactus_io_BME280_I2C.h
Жарык сенсору ------------------------------------------------ ---------------- SparkFun TSL2561.h
Реалдуу убакыт сааты ----------------------------------------------- ------------- RTClib.h
SD карта розеткасы ----------------------------------------------- ------------- SD.h
I2C туташуусу ------------------------------------------------ ------------- Wire.h
ESP01 менен байланышуу үчүн өзүнчө китепкана талап кылынбайт, анткени Arduinoдо жүктөлгөн код AT сериялы мониторго жөнөтүлгөн AT командаларына ээ, ал жерден ESP-01 көрсөтмөлөрдү алат. Ошентип, негизинен, ESP01 иштеген AT буйруктары Serial Monitorго басылат, алар ESP-01 тарабынан киргизилген буйрук катары кабыл алынат. Бул китепканаларды орнотуу үчүн, аларды жүктөп алгандан кийин, Arduino IDE ачыңыз, Sketch -> Китепкананы кошуу -> Zip китепканасын кошуу бөлүмүнө өтүңүз жана жүктөлгөн китепканаларды тандаңыз.
3 -кадам: Системаны программалоо
OPENSDL программалоодон мурун, Arduino'ду ноутбукка туташтырыңыз. Туташкандан кийин, Tools -> Portго өтүп, OPENSDL туташкан COM портун тандаңыз. Ошондой эле, Куралдар -> Такталардын астында Arduino Uno тандалганын текшериңиз.
OPENSDL 2 режимде иштөө үчүн иштелип чыккан. Биринчи режимде, SD картадагы маалыматтарды маалыматтарды каттоочу калканга сактайт. Экинчи режимде, бул интернет аркылуу маалыматтарды ESP-01 Wi-Fi чипин колдонуу аркылуу вебсайтка жөнөтөт. Эки режимдин программасы эки башка. Бул коддорду Arduino IDE редакторуна түз көчүрүп, чаптап, түз колдонсо болот. Кодго киргенден кийин, биз муктаждыктарыбызга жараша бир нече өзгөчөлөштүрүүлөрдү жасашыбыз керек:
- Кирүү интервалын өзгөртүү үчүн коддун аягында кечигүү (1000) маанисин кол менен өзгөртүү. 1000 мааниси интервалды миллисекундта билдирет.
- MySensorData = SD.open ("Logged01.csv", FILE_WRITE) деп жазылган коддун линиясын түзөтүңүз; жана Logged01ди каалаган файл аталышынын файл аты менен алмаштырыңыз. Файлдын кеңейтүүсүн файлдын аталышынан кийин.csv кеңейтүүсүн өзгөртүү аркылуу да өзгөртүүгө болот.
- Master/шилтеме сенсор менен BME280 ортосундагы байланышты табуу аркылуу жетишилген калибрлөө теңдемеси ар бир сенсорго жараша өзгөрөт. Бул кодду сенсорлорду калибрлөө теңдемеси менен алмаштырыңыз: Serial.print ((1.0533*t2) -2.2374)-демейки дареги бар сенсор үчүн (0x77), мында t2-температура сенсорунан окулган мааниси.
OPENSDLдин экинчи жеткиликтүү режимин программалоо үчүн өзүнчө программа каралган, бул зымсыз система. ESP-01 2-кадамда түшүндүрүлгөндөй, OPENSDLге туташуусу керек. Байланыштарды бүтүргөндөн кийин, Arduino -ны ноутбукка туташтырыңыз жана Arduinoго бош эскизди жүктөңүз. ESP-01ди жаңыртуу режимине коюп, программаны акыркы жеткиликтүү жаңыртууга жаңыртыңыз. Жаңыртуудан кийин, Arduino жүктөөчүсүн айланып өтүүчү 3.3V пин менен Arduino -нун баштапкы абалга келтирүүчү пинин туташтырыңыз.
4 -кадам: даярдоо
OPENSDL үчүн корпус коргоо жана эстетиканы жакшыртуу үчүн түзүлгөн. Корпустар PLA материалын колдонуу менен 3D басып чыгаруу менен иштелип чыккан, ал эми микроконтроллердин корпусу MDF баракты лазер менен кесүү жана бөлүктөрдү жабыштыруу жолу менен иштелип чыккан. 3D басылган моделдер SketchUp программасынын жардамы менен иштелип чыккан, жана лазердик кесүү үчүн 2D dxf чиймелери AutoCADдын жардамы менен түзүлгөн.
3D басып чыгаруу үчүн, SketchUp аркылуу өндүрүлгөн STL файлдары Ultimaker Cura 3.2.1 программасында ачылып, текшерилген. PLA материалынын колдонулгандыгын текшериңиз, жана принтердин колдонулган саптамасы 0,4 мм басып чыгаруу үчүн. 3D принтердин конструкциясы 3D басылган объектти чаптоо үчүн клейди талап кылышы мүмкүн. Бирок басып чыгаруу бүткөндөн кийин, клей басылган объект менен курулуш плитасынын ортосунда күчтүү адгезияны пайда кылат.
5 -кадам: Код
Код (.ino файлдары) Arduino IDE программасында иштөө үчүн жасалган. Бул жерде код жана башка маалымат үчүн Github баракчама шилтеме.
github.com/arihant93/OPENSDL
Сураныч, долбоор боюнча суроолорду берүүдөн тартынбаңыз.
Рахмат.
Сунушталууда:
GPS Cap Data Logger: 7 кадам (Сүрөттөр менен)
GPS Cap Data Logger: Бул жерде дем алыш күндөрү эң сонун долбоор, эгер сиз велосипед менен сейилдеп же сейилдеп жүргөн болсоңуз жана бардык тректериңизди/тректериңизди көзөмөлдөө үчүн GPS маалыматын каттоочу керек болсо … Курууну бүтүргөндөн кийин маалыматтарды GPSтин модулунан жүктөп алышты
DIY Professional Open Source Night Vision коопсуздук камерасы: 10 кадам (сүрөттөр менен)
DIY Professional Open Source Night Vision Коопсуздук Камерасы: Бул жаңы үйрөткүчтө биз Raspberry Pi ачык булак видео байкоочу камерасын түзөбүз. Ооба, биз бул жерде түнкү көрүнүштү жана кыймылды аныктоого жөндөмдүү чыныгы ачык булактан тышкаркы байкоочу камера жөнүндө айтып жатабыз. баары биздин Jeed менен байланышкан
Arduino Glass - Open Source Augmented Reality гарнитурасы: 9 кадам (сүрөттөр менен)
Arduino Glass - Ачык булак менен толукталган реалдуулук гарнитурасы: Күчөтүлгөн реалдуулук гарнитурасын алуу жөнүндө ойлонуп көрдүңүз беле? Сиз дагы реалдуулукту кеңейтүү мүмкүнчүлүгүнө таң калдыңызбы жана бааны жараланган жүрөк менен карадыңыз беле? Ооба, мен дагы! Бирок бул мени ошол жерден токтоткон жок. Мен кайраттуулукту бекемдедим жана анын ордуна
GTP USB PIC PROGRAMMER (Open Source): 5 кадам (Сүрөттөр менен)
GTP USB PIC PROGRAMMER (Open Source): Бул ишке GTP USB (плюс же жөнөкөй эмес) кирет. Схема, сүрөттөр жана ПХБ мурда жасалган кээ бир баалуу иштердин негизинде PICMASTERS тарабынан иштелип чыккан. Бул программист pic10F, 12F, 16C, 16F, 18F, 24Cxx Eeprom колдойт. Тилекке каршы, ал
Interactive, Open Source Mood Light: 9 кадам (Сүрөттөр менен)
Интерактивдүү, ачык булак маанай жарыгы: Бул көрсөтмө интерактивдүү, көп функциялуу маанай жарыгын кантип жасоо керектигинен өтөт. Бул долбоордун өзөгүн BlinkM I2C RGB LED түзөт. Бир күнү интернетте карап жүргөнүмдө, BlinkM менин көңүлүмдү бурду, мен бул өтө эле сонун деп ойлодум