Съдържание:
- Стъпка 1: Части и компоненти
- Стъпка 2: Сензорът
- Стъпка 3: Персонализиране на часовника в реално време
- Стъпка 4: Други разни неща на борда
- Стъпка 5: Схеми
- Стъпка 6: Софтуер и логика
Видео: Postino: Пощальонът достави ли нещо?: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Това не е моя идея: един ден един приятел ме помоли за начин да проверя дистанционно дали някаква пощенска кутия е положена в пощенската му кутия. Пощенската кутия не е на пешеходната пътека до вратата му, тъй като той е мързеливо момче, той се чудеше дали технологична притурка трябва да може да го предупреди за всяко писмо в пощенската кутия. Разгледах пазара и не можах да намеря нито едно готово устройство, подходящо за неговите нужди, затова повдигнах предизвикателство към себе си: защо да не го проектирам и изградя?
Ограниченията бяха:
- захранвани от батерии с разумен живот между смените на батерията;
- WiFi комуникация;
- проверявайте само веднъж на ден дали е имало поща или не;
Основният въпрос беше: какъв тип сензор може да отговаря на моите изисквания? Сензор за близост не можеше да работи, тъй като проверката трябваше да се прави само веднъж на ден, а не в реално време; нито сензор за тегло, тъй като това би добавило сложност и проблеми с чувствителността (лист хартия може да е много лек). Моят избор се приземи на сензор за време на полет (микро лазер). След като го калибрирате за размера на пощенската кутия, всичко, което се намира в средата, би задействало сензора! Като се има предвид трите ограничения, реших да използвам ESP8266 (стартиране на софтуера и свързване към WiFi), сензор за време на полет VL6180 за измерване и часовник DS3231 в реално време за задействане на всички схеми веднъж на ден: това беше как Постино се роди!
Стъпка 1: Части и компоненти
- ESP8266-01 (или ESP-12E NodeMCU)
- VL6108 Сензор за време на полет
- DS3231 Часовник в реално време
- IRLZ44 N-канал MosFET
- Транзистор BC547
- Резистори
- Батерия CR123
Стъпка 2: Сензорът
Сърцето на системата е сензор VL6180. Това е новаторска технология, позволяваща измерването на абсолютно разстояние независимо от отразяването на целта. Вместо да изчислява разстоянието чрез измерване на количеството светлина, отразена обратно от обекта (което е значително повлияно от цвета и повърхността), VL6180X прецизно измерва времето, необходимо на светлината, за да пътува до най -близкия обект и да се отрази обратно към сензора (време -полет). Комбинирайки инфрачервен излъчвател, сензор за обхват и сензор за околна светлина в готова за употреба презареждаща се опаковка три в едно, VL6180X е лесна за интегриране и спестява на производителя на крайни продукти дълги и скъпи оптични и механични оптимизации на дизайна.
Модулът е предназначен за работа с ниска мощност. Използвах пробивната платка Pololu, която има регулатори на напрежението на борда, които й позволяват да работи в диапазон на входното напрежение от 2,7 V до 5,5 V.
Сензорът позволява 3 валидни коефициента на мащабиране, които задават максималния диапазон на измерване от 20 до 60 cm, с различна чувствителност. Чрез конфигуриране на коефициент на мащабиране на обхвата, потенциалният максимален обхват на сензора може да се увеличи с цената на по -ниска разделителна способност. Задаването на коефициента на мащабиране на 2 осигурява обхват до 40 см с разделителна способност 2 мм, докато коефициент на мащабиране 3 осигурява обхват до 60 см с разделителна способност 3 мм. Трябва да тествате 3 -те скали с размерите на вашата пощенска кутия. Тъй като моята беше 25 cm (H), използвах скален коефициент = 1.
Стъпка 3: Персонализиране на часовника в реално време
За RTC използвах пробивна платка DS3231, която включва EEPROM (безполезен за моята цел) и батерия с размер на монета. Тъй като реших да захранвам RTC чрез батерията на основното устройство (3v CR123), извадих монетната батерия; за да спестя енергия също премахнах EEPROM (като внимателно отрязах щифтовете му) и бордовия светодиод.
Монетната батерия не беше полезна за мен, защото не трябваше да запазвам дата/час/минута/секунда в реално време, но RTC трябваше да брои само 24 часа и след това да задейства алармата, за да включи устройството.
Стъпка 4: Други разни неща на борда
Включването на устройството се осъществява чрез транзистор и MosFET верига, задействана от алармата RTC. След като алармата се нулира, веригата прекъсва захранването на устройството за още 24 -часов цикъл. Когато се достигне алармата, DS3231 превключва щифт от високо към ниско: при нормални условия транзисторът е наситен и късо свързва към заземяващия порта на MosFET. След като алармата доведе базата на транзистора към земята, тя се отваря и позволява на MosFET да затвори веригата и да даде захранване на останалите компоненти.
Освен това добавих джъмпер „test-1M“. Целта на този превключвател е - ако е активиран - да променя цикъла от веднъж на ден до веднъж в минута, за да изпълнява тестове за внедряване. За да промените интервала от един ден на една минута, първо трябва да затворите джъмпера „Test-C“за около 15 секунди, да заобиколите периода на активиране на алармата на часовника и да включите устройството. Когато тестовете са направени, отворете джъмперите и нулирайте устройството (цикъл на захранване).
Стъпка 5: Схеми
Стъпка 6: Софтуер и логика
По време на тестовете използвах (по практически причини) контролер NodeMCU, така че софтуерът се грижи за това, като зададе променливата CHIP на „NodeMCU“или „esp8266“.
Скицата реализира библиотеката WiFiManager, за да позволи на устройството да се свърже с валидна WiFi точка на достъп по време на първото стартиране. В такъв случай устройството преминава в режим на достъп, което ви позволява да се свържете с него и да изберете правилната WiFi мрежа, към която да се присъедините. След това мрежовата конфигурация се записва в EPROM за следващи цикли.
Променливата REST_MSG съдържа http съобщението за изпращане, когато сензорът намери обект в пощенската кутия. В моя случай той изпраща съобщение до домотичен REST сървър, но можете да го промените, както предпочитате: BOT съобщение на Telegram, събитие IFTTT WebHook и т.н.
Останалата част от скицата е във функцията setup (), тъй като цикълът никога не се достига. След конфигурациите, необходими за няколко библиотеки, софтуерът настройва часа на 00:00:01 и алармата веднъж на ден (или веднъж в минута, ако е активиран джъмперът „test-1M“). След това прави мярката, изпраща известието (ако в пощенската кутия е намерен някакъв обект) и нулира алармения щифт, като изключва устройството. В края на цикъла се включва само RTC, като се брои за 24 часа. Джъмперът Test-1M е свързан към RX щифт на ESP8266, използван като GPIO-3 чрез настройката: setMode (PIN, FUNCTION_3). Поради това не можете да използвате серийния монитор, докато работите с ESP8266: редът „#define DEBUG“(който позволява всички серийни разпечатки в скицата) се използва само когато NodeMCU е инсталиран вместо ESP8266.
ESP8266 управлява I2C комуникацията с RTC и сензора чрез своите пинове GPIO-0 и GPIO-2, инициализирани в библиотеката Wire.
Пълният код може да бъде изтеглен от тази връзка.
Вицешампион в конкурса за помощни технологии
Препоръчано:
Renegade-i (програмируем IC тестер, който се чувства като истинското нещо): 3 стъпки (със снимки)
Renegade-i (Програмируем IC тестер, който се чувства като истинското нещо): МИЛИОНЪТНИ ДОЛАРНИ МЕЧТИ Мечтали ли сте някога да имате свой собствен IC тестер у дома? Не просто притурка, която може да тества IC, но и „програмируема“машина, която се чувства като един от водещите продукти на най -големите играчи в индустрията за полу -тестове, успех
Социално дистанционно нещо: 9 стъпки (със снимки)
Социално дистанционно нещо: Личен лазерен проектор за социално дистанциране Тази конструкция е предназначена като бърз и прост проект, който да помогне за създаване на осведоменост за социалното дистанциране. Когато за първи път беше въведено социалното дистанциране, беше ясно, че не всеки човек го спазва правилно
Модифицирано диво нещо - Управление с джойстик - Ново и подобрено: 7 стъпки (със снимки)
Модифицирано диво нещо - Управление с джойстик - Ново и подобрено: Актуализация 8/1/2019: Две години след завършването на този проект, аз проектирах и произведох няколко платки за улесняване при преобразуването на тези инвалидни колички. Първата платка е почти същата като персонализираната протоплата, споена тук, но instea
Snowmanthesizer - Нещо на ден - Ден 2: 8 стъпки (със снимки)
Snowmanthesizer - Нещо на ден - Ден 2: Другата вечер режех безкрайни листове от стикери за роботи, за да зарадвам всички деца. Да, просто се отрязвам, като си гледам собствения бизнес, и точно тогава нашият безстрашен лидер Ерик ми дава в ръцете три странно изглеждащи пластмасови неща. Той ме информира, че
Превърнете обща пластмасова притурка в нещо малко по -красиво: 14 стъпки (със снимки)
Превърнете обща пластмасова притурка в нещо малко по -красиво: Мотивация: През лятото или сърфирам, или работя по проекти около нашата малка градина/ферма. Зимата е пред нас тук, в Бостън, и аз съм готов да започна да атакувам дългия списък от проекти, които отложих за „месеците на закрито“. Имам обаче