Съдържание:

Обикновена обсерватория на закрито: 9 стъпки (със снимки)
Обикновена обсерватория на закрито: 9 стъпки (със снимки)

Видео: Обикновена обсерватория на закрито: 9 стъпки (със снимки)

Видео: Обикновена обсерватория на закрито: 9 стъпки (със снимки)
Видео: Камера-ЛАМПА с проследяване и идентификация на човек. 2024, Ноември
Anonim
Проста вътрешна обсерватория
Проста вътрешна обсерватория

Този проект ще ви покаже как да направите обикновена обсерватория с някои съществуващи и леснодостъпни сензори. Всъщност направих това за един от моите ученици. Ученикът би искал да разбере как слънчевата светлина влияе на стайната температура и влажност. Заинтересованите физически величини в този проект са (1) интензитет на светлината, (2) влажност, (3) температура и (4) въздушно налягане. С тази информация бихте могли да направите други системи или устройства за управление на климатик, овлажнител или нагревател за създаване на комфортна среда в стаята.

Стъпка 1: Подготовка на сензорите

Подготовка на сензорите
Подготовка на сензорите

Можете да изградите веригата със следните сензори или просто да закупите модулните платки на тези сензори или модулната платка.

1. Сензор за околна светлина TEMT6000 (лист с данни PDF)

2. Налягане и температура BMP085 или BMP180 (*те са стари продукти, може да се наложи да намерите други алтернативи) (учебен документ от Adafruit)

3. Сензор за температура и влажност DHT11 (учебен документ от Adafruit)

4. Сензор за UV светлина GUVA-S12SD (лист с данни PDF)

За използването на сензори съм приложил някои референтни връзки. Може да намерите някои полезни уроци и препратки в интернет.

Стъпка 2: Подготовка на основния процесор

Подготовка на основния процесор
Подготовка на основния процесор

Избрах дъската Arduino Uno, за да тествам системата и кодирането. Открих обаче, че atmega328P няма достатъчно памет за съхраняване и стартиране на кода, ако се добавят още сензори. Затова препоръчвам да можете да използвате платката atmega2560 Arduino, когато имате нужда от повече от 4 сензора.

Микроконтролер (MCU):

· Платка Atmega328P за Arduino

· Или платка Atmega2560 за Arduino

Стъпка 3: Подготовка на системата

Подготовка на системата
Подготовка на системата
Подготовка на системата
Подготовка на системата

Бих искал да измерим някои физически характеристики на открито и на закрито. Накрая свързах следните сензори към платка Atmega2560.

Вътрешна среда:

1. Налягане и температура BMP180 x 1 бр

2. Сензор за температура и влажност DHT11 x 1 бр

Външна среда:

1. Сензор за околна светлина TEMT6000 x 1 бр

2. Налягане и температура BMP085 x 1 бр

3. Сензор за температура и влажност DHT11 x 1 бр

4. Сензор за UV светлина GUVA-S12SD x 1 бр

Може да откриете, че съм използвал различни сензори за измерване на налягането. Това е просто защото нямам модулна платка BMP180, когато изграждах веригата. Препоръчвам ви да използвате същите сензори, ако се нуждаете от прецизно измерване и справедливо сравнение.

Стъпка 4: Подготовка на регистрирането на данни

Освен това бих искал устройството да съхранява данните, без да се свързва с компютър. Добавих модул за регистриране на данни с часовник в реално време. Следните са елементите за регистриране на данни и свързване на проводници.

· SD карта

· CR1220 монета батерия

· Модул за регистриране на данни за Arduino (учебен документ от Adafruit)

Стъпка 5: Подготовка на инструментите

Следните са някои инструменти или устройства, които биха били необходими за изграждането на веригата.

  • 30AWG Инструмент за опаковане
  • Поялник
  • Поялник (без олово)
  • Платка
  • 2,54 мм хедери
  • Кабелни проводници
  • Опаковъчни проводници (30AWG)
  • Горещо лепило
  • 3D печат (ако имате нужда от калъф за вашето устройство)
  • Arduino IDE (Имаме нужда от това, за да програмираме платката за микроконтролер)

Стъпка 6: Нулирайте часовника в реално време DS1307 (RTC) на модула за регистриране на данни

Нулирайте часовника за реално време DS1307 (RTC) на модула за регистриране на данни
Нулирайте часовника за реално време DS1307 (RTC) на модула за регистриране на данни
Нулирайте часовника за реално време DS1307 (RTC) на модула за регистриране на данни
Нулирайте часовника за реално време DS1307 (RTC) на модула за регистриране на данни

Бих искал да използвам данните за научен експеримент. По този начин правилното време за измерване е важно за анализа на данните. Използването на функцията delay () в програмирането би предизвикало грешка в измерването при изместване на времето. Напротив, не знам как да направя точно измерване в реално време само на платформата Arduino. За да избегна грешка във времето за вземане на проби или да сведем до минимум грешката при измерването, бих искал да взема всяка измервателна проба с времеви запис. За щастие, модулът за регистриране на данни има часовник в реално време (RTC). Можем да го използваме за извеждане на времето за вземане на проби от данни.

За да използвам RTC, следвам инструкциите (връзката) за нулиране на RTC. Препоръчвам първо да направите това с дъската Arduino Uno. Това е така, защото трябва да промените веригата, когато се използва платката Atmega2560 (I2C връзката е различна). След като сте задали RTC, не трябва да изваждате батерията cr1220. Междувременно, моля, проверете състоянието на батерията преди регистрирането на данните.

Стъпка 7: Свързване

Връзка
Връзка
Връзка
Връзка
Връзка
Връзка

Разделих вътрешното и външното измерване. По този начин направих два заглавия за свързване на две различни групи сензори. Използвах празното място на модула за регистриране на данни за монтиране на заглавките. За да завърша свързването на веригата, използвам както запояване, така и опаковане. Процесът на опаковане е чист и удобен, докато запояващото съединение е здраво и сигурно. Можете да изберете удобен метод за изграждане на веригата. Ако използвате платката Atmega2560, уверете се, че сте изградили връзка за прескачане за SDA и SCL щифтове. Връзката на RTC към щита за регистриране на данни трябва да се свърже отново.

За да свържа сензорите, запоявах заглавките на сензорните модули и след това използвах обвивка на тел, за да свържа всички сензори към заглавките. Когато използвате изходящи сензорни модули, аз препоръчах да проверите внимателно работното напрежение. Някои сензорни модули приемат както 5V, така и 3.3V входове, но някои са ограничени да използват само 5V или 3.3V. Следващата таблица показва използваните сензорни модули и работното напрежение.

Таблица. Сензорен модул и работно напрежение

Стъпка 8: Програмиране на MCU

Програмиране на MCU
Програмиране на MCU

За щастие мога да намеря примери за приложение за всички сензори. Ако сте нови, за да ги използвате, можете да ги изтеглите в интернет или да ги инсталирате, като използвате мениджъра на библиотеката в Arduino IDE.

Програмирах системния изход за всяка проба. Низът ще бъде изведен и съхранен в монтираната SD карта. Ако трябва да видите данните, изключете устройството и след това демонтирайте SD картата. След това можете да монтирате SD картата в четец на карти. Файлът ще се съхранява като csv файл. След като изтеглите файла с данни на компютъра, можете да го видите чрез текстова програма или програма за работен лист.

(Можете да изтеглите изходния код в прикачения файл.)

Стъпка 9: Тествайте го и го използвайте

Тествайте го и го използвайте!
Тествайте го и го използвайте!
Тествайте го и го използвайте!
Тествайте го и го използвайте!
Тествайте го и го използвайте!
Тествайте го и го използвайте!

Важно е да разберете смисъла на данните. Честотата на вземане на проби е един от важните параметри. Текущият интервал от време за измерване е 1 минута, може да се наложи да го промените.

Освен това ще откриете, че температурата на DHT11 не е точна. Ако имате нужда от по -точна стойност, можете просто да използвате отчитането на температурата на сензорите за налягане BMP.

Благодаря, че прочетохте това!

Препоръчано: