Съдържание:

InfoBell: 3 стъпки
InfoBell: 3 стъпки

Видео: InfoBell: 3 стъпки

Видео: InfoBell: 3 стъпки
Видео: Three Little Kittens | Nursery Rhymes from ChuChu TV Kids Songs 2024, Ноември
Anonim
Image
Image
InfoBell
InfoBell
InfoBell
InfoBell

Прекарвам много време в малката си работилница в края на градината си.

В работилницата си имам безжичен звънец на вратата с повторител. Качвам се малко, така че може да ми отнеме около 30 секунди, за да стигна до входната врата, ако някой позвъни. Докато стигна там, доставчикът вече чука на вратите на съседите, за да остави пратка и да получи подпис.

Моят InfoBell казва на обаждащите се, че ще бъда с тях в рамките на 30 секунди (конфигурира се от потребителя) или ги уведомява дали съм ангажиран/излязъл по друг начин!

Исках звънецът на вратата да работи с батерии и да е напълно самостоятелен. Показваните съобщения трябваше да бъдат конфигурирани от потребителя и изключително лесни за промяна от съобщението IN към OUT.

Използвам bluetooth с приложение за Android на MIT App inventor за програмиране на съобщенията.

Бутоните за инициализиране на Bluetooth съобщенията и задаване на IN / OUT съобщения се намират в долната част на устройството. Необходимата функция се избира чрез натискане на съответния бутон и натискане на бутона на звънеца на главната врата.

Тези бутони са активни само когато вратата е отворена! Дали вратата е отворена или затворена се определя от използването на цифров компас (QMC5883) и известна тригонометрия. Трябва да призная, че трябваше да използвам Google за помощ тук, тъй като мина доста време (около 46 години), откакто седях в класната стая!

Можех трудно да кодирам показанията от QMC5883, но реших, че ако някой реши да направи този проект, шансовете вратата им да е изправена в същата посока като моята бяха сравнително малки!

Единственият бутон, който е активен, ако вратата е затворена, е този, който задава информацията за „вратата затворена“.

Стъпка 1: Проблеми за преодоляване

Проблеми за преодоляване
Проблеми за преодоляване
Проблеми за преодоляване
Проблеми за преодоляване
Проблеми за преодоляване
Проблеми за преодоляване

Имах три трудности.

Първият беше синхронизиране на действителното натискане на звънеца и бутона за инициализиране на arduino и дисплея.

Опитах много методи за 2 превключвателя и микро превключватели, но те бяха ненадеждни, така че в крайна сметка избрах DP реле.

Следващият проблем беше със самия безжичен звънец на вратата. Той работеше добре, без да има гръб на 3D отпечатаната кутия, но не искаше да сътрудничи, когато беше инсталиран на входната врата! Моето решение беше да има част от задния капак с дебелина около 1 мм - това свърши работа!

Последният проблем, който трябва да се преодолее, беше да се притиснат всички компоненти в кутия с разумен размер!

Стъпка 2: Компонентите, изграждането и начина на работа

Компонентите, изграждането и как работи
Компонентите, изграждането и как работи
Компонентите, изграждането и как работи
Компонентите, изграждането и как работи
Компонентите, изграждането и как работи
Компонентите, изграждането и как работи

За такова просто устройство използвах следното !!

3D печатна кутия и бутон

1 x SSD1306 OLED дисплей

1 x QMC5883

1 x Bluetooth щит

1 x двуполюсно реле

1 x реле за самозаключване

5 x тактилен превключвател за монтаж на печатни платки

2 x 3v батерии

1 x оригинален звънец на вратата

1 x диод

1 x pnp транзистор

Трябваше да „гнездя птици“по окабеляването, за да се уверя, че има достатъчно място, за да притисна всички компоненти в кутията - това не е най -чистият проект, който някога съм правил!

Използвах 2 x 3v батерии с диод, за да пусна малко захранването.

Оригиналният звънец на вратата идва с 12v батерия.

Когато бутонът на звънеца на вратата е натиснат, контактите на релето се затварят и управляват оригиналния звънец на вратата, като едновременно настройват самозаключващото се реле, което подава 5v към Arduino, Bluetooth щит и QMC5883.

Когато Arduino свърши работата си, щифт 12 е пулсирал ниско, което нулира релето за блокиране (чрез транзистор), което премахва захранването.

Когато устройството за първи път е прикрепено към затворената врата, бутонът, свързан към щифт 4 на Arduino, се натиска, докато бутонът на звънеца е натиснат. Това захранва Arduino и чете ориентацията на QMC5883 и съхранява стойността в eeprom. Вижте страницата със софтуера и скицата на Arduino за това как работи.

Другите 3 бутона сега ще работят само когато вратата не е в това положение, т.е.затворена.

За да настроите съобщенията и таймера за обратно броене, бутонът, свързан към щифт 7, се натиска, докато се натиска основният бутон И вратата е отворена, това инициира рутината за bluetooth. Настройките се въвеждат чрез приложението Mit App Inventer. Приложението записва подробностите автоматично и съхранява детайлите в eeprom на Arduino.

За да зададете съобщение IN / OUT, бутоните, свързани към щифтове 5 или 6 на Arduino, се натискат, докато е натиснат бутонът на главния звънец И вратата е отворена.

В зависимост от това кой бутон е натиснат, адресът на eeprom 0 се задава или нулира. Има ограничение за количеството четене/запис, което Arduino eeprom ще понесе. Според повечето препратки лимитът е около 100 000, което означава, че ако eeprom се записва до 4 пъти на ден, трябва да минат около 55 години преди да възникнат проблеми.

Стъпка 3: Софтуерът

Софтуерът за скицата на Ardiuno е доста добре документиран по моите стандарти!

За да сте сигурни, че в eeprom има разумни данни, разкомментирайте следното и компилирайте.

След компилацията, приложете отново маркерите за коментари и компилирайте отново.

EEPROM.begin (); /*

outone = "0";

outtwo = "1";

outthree = "2";

outfour = "3)";

inone = "0";

intwo = "1";

inthree = 10;

*/

Когато завършеният проект е монтиран на вратата, със затворена врата, натиснете и задръжте бутона, свързан към щифт 4 на Arduino, и натиснете звънеца. Съобщение ще потвърди действието ви.

Това съхранява стойностите, прочетени от цифровия компас в eeprom на Arduino.

Функцията 'diffy' определя дали вратата е отворена или затворена.

void diffy (int froma, int toa)

{

int diff;

diff = froma - toa;

diff = (diff+180)%360;

ако (разлика <= 0)

{

разлика+= 180;

}

иначе

{

разница -= 180;

}

След това заредете Bluetooth. APK на мобилен телефон. При отворена врата натиснете и задръжте бутона, свързан към щифт 7 на Arduino, и натиснете звънеца. Устройството ще се включи в режим Bluetooth. Сдвоете BT модула с телефона си, попълнете необходимата информация и я изпратете до звънеца на вратата.

Звънецът на вратата ще остане включен, докато не получи известна информация от телефона.

Когато информацията бъде изпратена до звънеца на вратата, приложението ще запази информацията. Така че, ако искате да правите каквито и да е промени, не е нужно да въвеждате повторно целия текст.

APK файлът може да бъде намерен на следния адрес.

ai2.appinventor.mit.edu/#5902371463495680

От съображения за сигурност телефонът ви трябва да поиска да потвърдите, че искате да инсталирате това приложение. На телефона ми има настройка, наречена „Инсталиране на неизвестни приложения“.

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