Postino: Dodal pošťák něco?: 6 kroků (s obrázky)
Postino: Dodal pošťák něco?: 6 kroků (s obrázky)
Anonim
Postino: Dodal Pošťák něco?
Postino: Dodal Pošťák něco?

Ne moje představa: jednoho dne mě přítel požádal o způsob, jak na dálku zkontrolovat, jestli mu do schránky neleží nějaká pošta. Poštovní schránka není na chodníku k jeho dveřím, takže, protože je líný chlapec, přemýšlel, jestli by ho technologický přístroj nemohl varovat před jakýmkoli dopisem do schránky. Podíval jsem se na trh a nenašel jsem žádné hotové zařízení, které by vyhovovalo jeho potřebám, a tak jsem si položil výzvu: proč jej nenavrhnout a postavit?

Omezení byla:

  • napájení z baterie s přiměřenou životností mezi výměnou baterie;
  • WiFi komunikace;
  • jen jednou denně zkontrolujte, zda byla pošta nebo ne;

Hlavní otázkou bylo: jaký druh senzoru by mohl splňovat mé požadavky? Senzor přiblížení nemohl fungovat, protože kontrola musela být prováděna pouze jednou denně a ne v reálném čase; ani snímač hmotnosti, protože by to zvýšilo složitost a problémy s citlivostí (list papíru by mohl být velmi lehký). Moje volba přistála na senzoru Time-of-Flight (mikro laser). Jakmile by byl kalibrován na velikost schránky, cokoli uprostřed by spustilo senzor! Vzhledem k těmto 3 omezením jsem se rozhodl použít ESP8266 (běh softwaru a propojení s WiFi), senzor času letu VL6180 pro měření a hodiny reálného času DS3231 pro spouštění všech obvodů jednou denně: takto Postino se narodilo!

Krok 1: Díly a součásti

  • ESP8266-01 (nebo ESP-12E NodeMCU)
  • VL6108 Čidlo doby letu
  • Hodiny reálného času DS3231
  • IRLZ44 N-kanálový MosFET
  • BC547 tranzistor
  • Rezistory
  • Baterie CR123

Krok 2: Senzor

Senzor
Senzor

Srdcem systému je senzor VL6180. Jedná se o průlomovou technologii, která umožňuje měřit absolutní vzdálenost nezávisle na odrazivosti cíle. Namísto odhadování vzdálenosti měřením množství světla odraženého zpět od objektu (což je výrazně ovlivněno barvou a povrchem), VL6180X přesně měří čas, který světlo potřebuje k cestování k nejbližšímu objektu a odrazu zpět k senzoru (Time -of-Flight). Díky kombinaci infračerveného vysílače, senzoru dosahu a senzoru okolního světla v reflowable balení připraveném k použití tři v jednom lze VL6180X snadno integrovat a šetří výrobci konečných produktů dlouhé a nákladné optimalizace optického a mechanického designu.

Modul je navržen pro provoz s nízkým výkonem. Použil jsem desku Pololu Breakout, která má na desce regulátory napětí, které jí umožňují pracovat v rozsahu vstupního napětí 2,7 V až 5,5 V.

Senzor umožňuje 3 platné faktory měřítka, které nastavují maximální rozsah měření od 20 do 60 cm, s různou citlivostí. Konfigurací faktoru škálování rozsahu lze potenciální maximální dosah senzoru zvýšit za cenu nižšího rozlišení. Nastavení měřítka na 2 poskytuje rozsah až 40 cm s rozlišením 2 mm, zatímco faktor měřítka 3 poskytuje rozsah až 60 cm s rozlišením 3 mm. Musíte otestovat 3 váhy s rozměry vaší poštovní schránky. Protože moje byla 25 cm (H), použil jsem měřítko = 1.

Krok 3: Přizpůsobení hodin v reálném čase

Pro RTC jsem použil odpojovací desku DS3231, která obsahuje EEPROM (pro můj účel zbytečný) a baterii velikosti mince. Když jsem se rozhodl napájet RTC pomocí baterie hlavního zařízení (3v CR123), vyjmul jsem knoflíkovou baterii; kvůli úspoře energie jsem také odstranil EEPROM (opatrným přeříznutím jeho kolíků) a palubní diodu.

Mincovní baterie pro mě nebyla užitečná, protože jsem nepotřeboval uchovávat datum/hodinu/minutu/sekundu v reálném čase, ale RTC musel počítat pouze 24 hodin a poté spustit alarm, aby se zařízení zapnulo.

Krok 4: Ostatní různé na palubě

Ostatní Různé na palubě
Ostatní Různé na palubě
Ostatní Různé na palubě
Ostatní Různé na palubě

Zapnutí zařízení je zajištěno tranzistorem a obvodem MosFET, spuštěným alarmem RTC. Jakmile je alarm resetován, obvod přeruší napájení zařízení na dalších 24 hodin. Když je dosaženo alarmu, DS3231 přepne pin z vysokého na nízký: za normálních podmínek je tranzistor nasycen a zkratuje se k uzemnění brány MosFET. Jakmile alarm přivede základnu tranzistoru na zem, otevře se a umožní MosFETu uzavřít obvod a dodat energii ostatním součástkám.

Kromě toho jsem přidal propojku „test-1M“. Účelem tohoto přepínače je - pokud je aktivován - změnit cyklus z jednou denně na jednou za minutu, aby bylo možné spustit testy nasazení. Abyste mohli změnit interval z jednoho dne na jednu minutu, musíte nejprve na zhruba 15 sekund zavřít propojku „Test-C“, obejít tak dobu aktivace budíku a zapnout zařízení. Po dokončení testů otevřete propojky a resetujte zařízení (vypněte napájení).

Krok 5: Schéma

Schéma
Schéma

Krok 6: Software a logika

Během testů jsem použil (z praktických důvodů) ovladač NodeMCU, takže software se o to stará nastavením proměnné CHIP na „NodeMCU“nebo „esp8266“.

Náčrt implementuje knihovnu WiFiManager, aby se zařízení mohlo připojit k platnému WiFi AP během prvního spuštění. V takovém případě se zařízení přepne do režimu AP, což vám umožní připojit se k němu a vybrat správnou WiFi síť pro připojení. Poté se konfigurace sítě uloží do EPROM pro další cykly.

Proměnná REST_MSG obsahuje zprávu http, která se má odeslat, když senzor najde předmět ve schránce. V mém případě to odešle zprávu na domotický REST server, ale můžete to změnit, jak chcete: zpráva Telegram BOT, událost IFTTT WebHook atd.

Zbytek náčrtu je ve funkci setup (), protože smyčka není nikdy dosažena. Po konfiguraci potřebné pro několik knihoven software nastaví čas na 00:00:01 a budík na jednou denně (nebo jednou za minutu, pokud je aktivována propojka „test-1M“). Poté provede opatření, odešle oznámení (pokud je ve schránce nalezen nějaký předmět) a resetuje alarmový kolík, čímž se zařízení vypne. Na konci cyklu je zapnut pouze RTC, který počítá 24 hodin. Propojka Test-1M je připojena k RX pinu ESP8266, používaného jako GPIO-3, pomocí nastavení: setMode (PIN, FUNCTION_3). Z tohoto důvodu nemůžete při spuštění ESP8266 používat sériový monitor: řádek „#define DEBUG“(který umožňuje všechny sériové výtisky v náčrtu) se používá pouze tehdy, když je místo ESP8266 nainstalován NodeMCU.

ESP8266 zpracovává komunikaci I2C s RTC a senzorem prostřednictvím svých kolíků GPIO-0 a GPIO-2, inicializovaných v knihovně Wire.

Celý kód je možné stáhnout z tohoto odkazu.

Pomocná technická soutěž
Pomocná technická soutěž
Pomocná technická soutěž
Pomocná technická soutěž

Druhé místo v asistenční technické soutěži