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

Arduino нээлттэй цонх илрүүлэгч - Өвлийн хувьд: 6 алхам
Arduino нээлттэй цонх илрүүлэгч - Өвлийн хувьд: 6 алхам

Видео: Arduino нээлттэй цонх илрүүлэгч - Өвлийн хувьд: 6 алхам

Видео: Arduino нээлттэй цонх илрүүлэгч - Өвлийн хувьд: 6 алхам
Видео: Аймшигт сүнсний 35 видео: 2023 оны Мега эмхэтгэл [V1] 2024, Арваннэгдүгээр
Anonim
Arduino нээлттэй цонх илрүүлэгч - өвлийн улиралд
Arduino нээлттэй цонх илрүүлэгч - өвлийн улиралд

Гадаа хүйтэн болж байна, гэхдээ заримдаа өрөөндөө цэвэр агаар хэрэгтэй болдог. Тиймээс би цонхыг онгойлгож, өрөөнөөс гарч, хаалгаа хаагаад 5-10 минутын дараа эргэж ирэхийг хүсч байна. Хэдэн цагийн дараа цонх нээлттэй байгааг би санаж байна … Магадгүй та үүнийг мэддэг эсвэл хүүхэдтэй болсон нь танд энэ туршлагыг өгөх болно.

Миний шийдэл бол Нээлттэй цонх илрүүлэгч юм. Батерей нь нэг жил гаруй үргэлжлэх тул намар байрлуулаад хавар нь салга.

Алхам 1: эд ангиудын жагсаалт

Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
Эд ангиудын жагсаалт
  1. EBay -аас Digispark самбар.
  2. Хуучин чихэвч.
  3. Дахин тохируулах жижиг товчлуур.
  4. Илтгэгчийн холбогч - өөрөөр хэлбэл самбарыг дахин програмчлах боломжгүй болно.
  5. Утас.
  6. Цахилгаан хангамжийн хувьд танд дараахь зүйл хэрэгтэй болно.

ААА батерейны хайрцаг асаах/унтраах төхөөрөмжтэй. Модуль нь 2.4 Вольт хүртэл ажиллах тул та хуучирсан батерей ашиглаж болно

ЭСВЭЛ

Хуучин липо батерей (30% -ийн хүчин чадал нь үүнд хангалттай), хэрэв танд байхгүй бол eBay -аас авсан липо батерейны цэнэглэгч.

ЭСВЭЛ

CR2032 зоосны үүр эзэмшигч

БА

Урвуу туйлшралыг хамгаалахын тулд 1А диод 1N4001 буюу түүнтэй дүйцэхүйц хэмжээтэй эсвэл өөрт байгаа бүх зүйл

Алхам 2: Digispark самбарыг програмчлах

Digispark самбарыг програмчлах
Digispark самбарыг програмчлах
Digispark самбарыг програмчлах
Digispark самбарыг програмчлах

Жолоочийн суурилуулалт

Самбарыг програмчлахаас өмнө Digispark драйверийг суулгах ёстой. Үүнийг эндээс татаж аваад нээгээд "InstallDrivers.exe" -г ажиллуулна уу.

Arduino IDE суулгах

Http://digistump.com/wiki/digispark/tutorials/connecting хэсэгт дурдсанаар Arduino IDE -ийн Digispark самбарыг суулгана уу.

Би https://digistump.com/package_digistump_index.json -ийн оронд Arduino File/Preferences дээр шинэ https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json -ийг Digispark самбарын URL болгон ашиглахыг зөвлөж байна. Digistump AVR самбаруудын 1.6.8 хувилбар.

Бид цахилгаан хэмнэхийг хүсч байгаа тул самбарын цагийг 1 МГц болгон өөрчилсөн болно () та Tools цэснээс Digispark (1mhz - USB байхгүй) -ийг сонгож болно.

Хөтөлбөрийг эмхэтгэн самбар дээр байршуулна уу

Arduino IDE дээр File/New ашиглан шинэ ноорог үүсгэж, нэрлэнэ үү. "OpenWindowAlarm". Кодыг OpenWindowAlarm.ino дээрээс хуулж ав

ЭСВЭЛ

Хадгалах санг татаж аваад задлаарай. Ноорогыг File -> Open … ашиглан нээгээд "OpenWindowAlarm" фолдерыг сонгоно уу.

Үүнийг эмхэтгэн байршуулна уу. Чанга яригч холбогдсон тохиолдолд байршуулалт ажиллахгүй гэдгийг санаарай. Хэрэв бүх зүйл сайн ажиллаж байвал Digispark-ийн суурилуулсан LED 5 удаа анивчих болно (5 минутын дохиоллын саатал), дараа нь 8 секундын дараа 24 секундын зайтай анивчиж эхлэх ба температурын уншилт бүрт дохио өгнө.

Алхам 3: Эрчим хүчийг бууруулах

Эрчим хүчний бууралт
Эрчим хүчний бууралт
Эрчим хүчний бууралт
Эрчим хүчний бууралт

Манай Digispark самбар нь 5мА хүчдэлийг 3, 0 вольтоор ашигладаг. 2 ААА батерейтай (1000 мАч) 8 хоног ажиллах болно. Гэхдээ 3 алхамаар эрчим хүчний хэрэглээг 26 мкА хүртэл бууруулах боломжтой.

  1. Цахилгаан LED -ийг диод руу хутгаар залгадаг эсвэл 102 резисторыг салгаж / идэвхгүй болгосноор цахилгаан LED -ийг идэвхгүй болгох нь 1.3 мА хэмнэнэ.
  2. VIN хүчдэлийн зохицуулагчийг салгаснаар 1.2 мА хэмнэнэ.
  3. USB татах эсэргүүцлийг (152 гэж тэмдэглэсэн) 5 вольт (VCC) -ээс салгаснаар үлдсэн 2.5 мА хэмнэнэ. ATTiny -ийг зааж буй резисторын хажуугийн зэс утсыг таслах замаар үүнийг салга. Энэ нь USB интерфэйсийг идэвхгүй болгож, улмаар Digispark самбарыг USB -ээр програмчлах боломжийг олгодог. Дахин идэвхжүүлэхийн тулд эрчим хүч хэмнэхийн тулд резисторыг (152 гэж тэмдэглэсэн) диодын гадна талд байдаг USB 5 вольт руу шууд холбоно уу.

    Тасралтгүй байдлыг шалгах төхөөрөмж ашиглан диодын зөв талыг олж болно. Энэ диодын нэг тал нь ATtiny (VCC) -ийн 8 -р зүүтэй холбогдсон байна. Нөгөө тал нь USB 5 вольтод холбогдсон байна.

Одоо USB татах эсэргүүцэл нь Digispark самбарыг USB -тэй холбосон тохиолдолд л идэвхждэг. програмчлалын явцад болон самбар унтах үед 26 мкА зарцуулдаг.

Хэрэв та гал хамгаалагчийг дахин програмчилбал 6 мкА эрчим хүчний хэрэглээ авах боломжтой.

Гал хамгаалагчийг дахин програмчлахын тулд танд ISP (үүнийг Arduino ашиглан бүтээх боломжтой), холбох адаптер хэрэгтэй болно. Дахин програмчлахын тулд та энэ скриптийг ашиглаж болно.

Алхам 4: Дахин тохируулах товчлуур

Дахин тохируулах товч
Дахин тохируулах товч
Дахин тохируулах товч
Дахин тохируулах товч
Дахин тохируулах товч
Дахин тохируулах товч
Дахин тохируулах товч
Дахин тохируулах товч

Хэрэв та сэрүүлгийг дахин тохируулахын тулд хүчийг салгахыг хүсэхгүй байвал PB5 болон газардуулгын хооронд дахин тохируулах товчийг холбоно уу. Би үүнийг холбогдоогүй VIN зэсийн гадаргууг PB5 -тэй холбож, дахин тохируулах товчлуурыг VIN зүү нүх, зайлуулсан VIN хүчдэлийн зохицуулагчийн том гадаргуу дээр шууд гагнах замаар хийсэн.

Хэрэв та дахин тохируулсны дараа USB холболтыг 5 секунд хүлээхээс салахыг хүсч байвал ATtiny85 дээрх микро цөмийн цөмийг өөрчилж болно. "0_Burn_upgrade-t85_recommended.cmd" скриптийг ажиллуулаад дараа нь Arduino IDE ашиглан OpenWindowAlarm програмыг дахин ачаална уу.

Алхам 5: Илтгэгч

Илтгэгч
Илтгэгч
Илтгэгч
Илтгэгч
Илтгэгч
Илтгэгч

Би хуучин чихэвчийг задалж, эрэгтэй холбогчийг кабельд холбосон.

Алхам 6: Үйл ажиллагаа

Ажиллаж байна
Ажиллаж байна
Ажиллаж байна
Ажиллаж байна
Ажиллаж байна
Ажиллаж байна

Самбарыг ашиглахын тулд цонхны тавцан дээр тавиад батерейнд холбоно уу. Хэрэв тавцан дээрх температур нь хавтанг анх байрлуулсан температураас доогуур байвал шинэ эхлэх утгыг ухаалгаар ашиглахад 5 минут шаардлагатай болно.

Хэрэв та цонхыг таван минутаас илүү нээлттэй орхивол танд түгшүүр төрөх болно.

Дотоод ажиллагаа

  • TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) секундын температурыг TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) -ээс бага температурыг TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMP_TAMPERATURE_SAMPLE_SAMP_TAMPERATURE_SAMPLE_SAMPLE_SAMPLE_SAMP -аас өмнө (48) секундын дараа уншсаны дараа нээлттэй цонх илрэв.
  • Цахилгаан зарцуулалтыг багасгахын тулд `SLEEP_MODE_PWR_DOWN` дээр 8 секундын турш 3 удаа унтах замаар хойшлуулна.
  • Нээлттэй цонхыг 20 секунд урт анивчуулж, 24 секунд тутамд богино товшилтоор илрүүлдэг. Тиймээс дотоод мэдрэгч нь температурын өчүүхэн ч гэсэн өөрчлөлтийг авахын тулд гаднах температурт тохируулах 3 минутын хугацаатай байдаг. Температурын өөрчлөлт их байх тусам мэдрэгчийн утга эрт өөрчлөгдөж, нээлттэй цонхыг илрүүлэх болно.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) нээлттэй цонх илрүүлснээс хойш минутын дараа сэрүүлгийг идэвхжүүлнэ.

    Хэрэв одоогийн температур хамгийн бага хэмжсэн температураас (+ 1) их байвал цонх аль хэдийн хаагдсан бол дохиолол асахгүй эсвэл идэвхжүүлсэн дохиолол зогсох болно.

  • Анхны сэрүүлэг 10 минут үргэлжилнэ. Үүний дараа 10 секундын турш идэвхждэг бөгөөд 24 секундээс 5 минут хүртэл завсарлага авдаг.
  • VCC_MONITORING_DELAY_MIN (60) минут тутамд батерейны хүчдэлийг хэмждэг. Цахилгаан асаах үед илрүүлсэн батерейны төрлөөс хамааран (VCC_VOLTAGE_LIPO_DETECTION (3.6 вольт) -ыг үзнэ үү), VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) -аас доош зайны хүчдэл эсвэл VCC_VOLTAGE_LOWER_LIMIT_MILLIVOL товчлолыг секунд тутамд заана. Зөвхөн дуут дохио (гэрэл биш) нээлттэй цонх илрүүлэх дохионоос хамаагүй урт байна.
  • Цахилгаан ассаны дараа идэвхгүй тунгаах хугацаа 5 минут болно. Хэрэв суулт хийх үед самбар хүйтэн болж байвал 4:15 (эсвэл 8:30) минут нэмж асаасны дараа хуурамч дохиолол өгөхөөс сэргийлнэ.

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