Агуулгын хүснэгт:

Arduino Rain Gauge Calibration: 7 алхам
Arduino Rain Gauge Calibration: 7 алхам

Видео: Arduino Rain Gauge Calibration: 7 алхам

Видео: Arduino Rain Gauge Calibration: 7 алхам
Видео: How to use Rain Sensor with Arduino 2024, Долдугаар сарын
Anonim
Arduino Rain Gauge Calibration
Arduino Rain Gauge Calibration

Танилцуулга:

Энэхүү зааварчилгаанд бид Arduino ашиглан борооны хэмжигчийг "барьж", тохируулж, өдөр бүр, цаг тутамд орсон борооны талаар мэдээлдэг. Миний ашиглаж буй борооны цуглуулагч бол хувин хэлбэрийн дахин зориулалттай борооны хэмжигч юм. Энэ нь гэмтсэн хувийн цаг уурын станцаас ирсэн юм. Гэсэн хэдий ч эхнээс нь хэрхэн яаж хийх талаар маш олон гайхалтай заавар байдаг.

Энэхүү зааварчилгаа нь миний хийж буй цаг уурын станцын нэг хэсэг бөгөөд миний сургалтын явцыг зааварчилгаа болгон хувиргасан баримт бичиг юм.:)

Борооны хэмжигчийн шинж чанар:

  • Өдөр тутмын болон цаг тутамд хур тунадасны хэмжилтийг инчээр хийдэг бөгөөд энэ нь цаг уурын гүнд хялбархан байршуулдаг.
  • кодыг хялбар байлгахын тулд соронзон унтраалгыг задлах кодыг оруулаагүй болно.
  • Илүү их зааварчилгаа авахын тулд бэлэн бүтээгдэхүүн бол прототипийн загвар юм.

Алхам 1: Зарим онол

Зарим онол
Зарим онол

Хур тунадасны уртыг миллиметр эсвэл инчээр хэмждэг. Хэрэв борооны ус сарниагүй, ус зайлуулаагүй бол борооны талбайн хэсэг бүр хичнээн өндөр бороо орж байгааг харуулна. Тиймээс, 1.63 мм хур тунадас орсон бол хэрэв би ямар ч хэлбэрийн хавтгай тэгшлэх савтай байсан бол цуглуулсан борооны ус нь савны ёроолоос 1.63 мм өндөр байх болно гэсэн үг юм.

Бүх борооны хэмжигч нь хур тунадас цуглуулах талбайтай бөгөөд хур тунадасны хэмжээг хэмждэг. Ус хураах хэсэг нь бороо хураах бүс юм. Хэмжих объект нь шингэний эзэлхүүнийг хэмжих хэлбэр юм.

Тиймээс хур тунадас мм эсвэл инчээр орно

хур тунадасны өндөр = хурааж авсан хур тунадасны хэмжээ / хураах талбай

Миний борооны цуглуулагчийн хувьд урт, өргөн нь тус бүр 11 см 5 см хэмжээтэй байсан бөгөөд энэ нь ус цуглуулах талбай нь 55 хавтгай дөрвөлжин см байв. Тиймээс 9 миллилитр борооны цуглуулга нь 9 cc/55 sq.cm = 0.16363… cm = 1.6363… mm = 0.064 инч гэсэн үг юм.

Хасах хувин борооны тоолуурт хувин 4 удаа 9 мл (эсвэл 0.064… инч бороо) оруулдаг тул нэг үзүүр нь (9/4) мл = 2.25 мл (эсвэл 0.0161.. инч) хэмжээтэй байна. Хэрэв бид цагийн уншилт хийвэл (дахин тохируулахаас өмнө өдөрт 24 уншилт) гурван оронтой тоон нарийвчлалыг хадгалах нь хангалттай зохистой юм.

Тиймээс хувингийн үзүүр/уналт бүрт код нь 1 удаа асаах дараалал эсвэл нэг товшилтоор ханддаг. Тийм ээ, бид 0.0161 инч бороо орсон гэж мэдээлсэн. Дахин хэлэхэд, Arduino -ийн үүднээс

нэг товшилт = 0.0161 инч бороо

Тэмдэглэл 1: Би олон улсын нэгжийн системийг илүүд үздэг, гэхдээ Weather Underground нь Эзэн хааны/АНУ -ын нэгжүүдийг илүүд үздэг тул инч болгон хувиргадаг.

Тэмдэглэл 2: Хэрэв тооцоолол нь таны аяга цай биш бол ийм асуудалд төгс туслалцаа үзүүлэх борооны хэмжээ рүү очно уу.

Алхам 2: Энэхүү төслийн эд анги

Энэ төслийн эд ангиуд
Энэ төслийн эд ангиуд
Энэ төслийн эд ангиуд
Энэ төслийн эд ангиуд
Энэ төслийн эд ангиуд
Энэ төслийн эд ангиуд

Ихэнх хэсэг нь хэвтэж байсан бөгөөд шударга жагсаалт (албан ёсны хувьд) байна

  1. Arduino Uno (эсвэл бусад нийцтэй)
  2. Хуучин эвдэрсэн цаг уурын станцын борооны хэмжигч.
  3. Талхны самбар.
  4. RJ11 нь миний борооны хэмжигчийг талхны самбартай холбох болно.
  5. 10K ба түүнээс дээш эсэргүүцэл нь татах эсэргүүцлийн үүрэг гүйцэтгэдэг. Би 15K ашигласан.
  6. 2 ширхэг эрэгтэй-эмэгтэй холбогч утас
  7. Эрэгтэй эрэгтэй холбогчтой 2 утас.
  8. USB кабель; Эрэгтэй хүнээс Б хүртэл эрэгтэй

Хэрэгсэл:

Тариур (12 мл багтаамжтай)

Алхам 3: Борооны цуглуулагч

Борооны цуглуулагч
Борооны цуглуулагч
Борооны цуглуулагч
Борооны цуглуулагч

Миний борооны цуглуулагчийн зургууд олон хүнд ойлгомжтой байх ёстой. Юутай ч түүний ус хураах талбайд орсон бороо нь дотор нь байгаа хоёр хувингийн аль нэгэнд нь дамждаг. Хоёр хувин нь хөрөө хөрөө шиг холбогдсон бөгөөд борооны усны жин (миний хувьд 0.0161 инч хэмжээтэй бороо) нэг хувин доошоо буухад нөгөө хувин дээшээ гарч, дараагийн борооны усыг цуглуулахаар байрлана. Эргүүлэх хөдөлгөөн нь соронзыг 'соронзон унтраалга' дээр хөдөлгөж, хэлхээг цахилгаан холболттой болгоно.

Алхам 4: Хэлхээ

Хэлхээ
Хэлхээ

Хэлхээг хийхийн тулд

  1. Ардуиногийн 2 -р дижитал зүүг резисторын нэг үзүүрт холбоно уу.
  2. Резисторын нөгөө үзүүрийг газардуулгын зүү (GND) руу холбоно уу.
  3. RJ11 үүрний нэг үзүүрийг Arduino дижитал 2 -р зүү рүү холбоно уу.
  4. RJ11 үүрний нөгөө үзүүрийг Arduino (5V) +5V зүү рүү холбоно уу.
  5. Борооны хэмжигчийг RJ11 -т залгаарай.

Хэлхээ дууссан байна. Холбогч утас, талхны самбар нь холболтыг хийхэд хялбар болгодог.

Төслийг дуусгахын тулд Arduino -г USB кабель ашиглан компьютерт холбож, доорх зургийг нээнэ үү.

Алхам 5: Код

RainGauge.ino ноорог (энэ алхмын төгсгөлд оруулсан) сайн тайлбарлагдсан байгаа тул би зөвхөн гурван хэсгийг онцлон хэлье.

Нэг хэсэг нь хувин өгөх зөвлөмжийн тоог тоолно.

if (bucketPositionA == false && digitalRead (RainPin) == HIGH) {

… … }

Өөр нэг хэсэг нь цагийг шалгаж, борооны хэмжээг тооцдог

if (now.minute () == 0 && first == true) {

цаг тутамд бороо = өдөр бүр бороо орох - өдөр бүр бороо хүртэл сүүлчийн цаг; …………

мөн нөгөө хэсэг нь бороог өдрийн цагаар, шөнө дунд цэвэрлэдэг.

if (now.hour () == 0) {

өдөр тутмын бороо = 0; …..

Алхам 6: шалгалт тохируулга ба туршилт

Борооны коллекторыг хэлхээний бусад хэсгээс салгаад дараах алхмуудыг хийнэ үү.

  1. Тариурыг усаар дүүргэ. Би 10 мл -ээр дүүргэж байна.
  2. Борооны цуглуулагчийг тэгш гадаргуу дээр байлгаад тариурын усыг бага багаар асга.
  3. Би хувин хувирч буйг тоолж барьдаг. Надад дөрвөн зөвлөгөө хангалттай байсан бөгөөд тариураас 9 мл -ийг зайлуулсан. Тооцооллын дагуу (онолын хэсгийг үзнэ үү) нэг үзүүрт 0.0161 инч бороо орсон.
  4. Би энэ мэдээллийг эхэндээ кодондоо оруулдаг.

const double bucketAmount = 0.0161;

Энэ бол бүх зүйл. Илүү нарийвчлалтай байхын тулд 0.01610595 гэх мэт илүү олон цифр оруулж болно. Мэдээжийн хэрэг, хэрэв таны борооны цуглуулагч минийхтэй ижил биш бол таны тооцоолсон тоо өөр өөр байх болно.

Туршилтын зорилгоор

  1. Rain 11 цуглуулагчийг RJ11 залгуурт холбоно уу.
  2. USB кабель ашиглан Arduino -г компьютерт холбоно уу.
  3. Цуваа дэлгэцийг нээнэ үү.
  4. Өмнө хэмжсэн хэмжээний ус асгаж, цаг дуусахад гаралтыг ажиглаарай.
  5. Ус бүү асга, гэхдээ дараагийн цаг дуусахыг хүлээ. Энэ тохиолдолд цагийн бороо тэг байх ёстой.
  6. Холбогдсон хэлхээтэй компьютерийг нэг шөнийн турш асааж, шөнө дундын өдөр тутмын бороо, цагийн бороо тэг болж анхны байдалд нь орсон эсэхийг шалгаарай. Энэ алхамыг хийхийн тулд PC -ийн цагийг тохирох утгаар нь өөрчлөх боломжтой (цуваа монитор дээрх гаралтыг шууд үзэх).

Алхам 7: Дараагийн бодол ба талархал

Миний хувьд хур тунадасны уншилтын нарийвчлал нь 0.0161 инч бөгөөд үүнийг илүү нарийвчлалтай хийх боломжгүй юм. Практик нөхцөл байдал нь нарийвчлалыг цаашид бууруулж болзошгүй юм. Цаг агаарын хэмжилт нь квант механикийн нарийвчлалтай байдаггүй.

Кодын нэг хэсгийг Lazy Old Geek's Instructable -аас зээлсэн болно.

Зөвлөмж болгож буй: