Металошукач імпульсний ардуїно схема та прошивка. Як зробити хороший і потужний саморобний металошукач кольорових металів у домашніх умовах, схема детектора. Підключаємо модуль до живлення

З цієї інструкції ви дізнаєтесь як зробити саморобний металошукач у домашніх умовах. Пошук різних металевих об'єктів - відмінне хобі, яке забезпечить вам прогулянки на свіжому повітрі, дозволить знайти нові місця і, можливо, знайти щось цікаве. Перш ніж дізнатися, як зробити металошукач своїми руками, з'ясуйте місцеві закони про те, як діяти у разі можливої ​​знахідки, зокрема у разі небезпечних об'єктів, археологічних реліквій чи об'єктів значної економічної чи емоційної цінності.

У мережі досить багато інструкцій з саморобного складання будинку потужних металошукачів для кольорових металів своїми руками, проте, особливість цієї інструкції в тому, що на додаток до Arduino потрібно всього кілька компонентів: звичайний конденсатор, резистор і діод, що утворюють сердечник разом з пошуковою котушкою, що складається. з 20 обмоток електропровідного кабелю. Світлодіод, динамік та / або навушники. Додатковою перевагою є те, що все може їсти від 5 В, для чого достатньо загальної потужності USB 2000 мАг.

Для того, щоб інтерпретувати сигнал та зрозуміти, які матеріали та якої форми предмети детектор може виявляти, необхідно заглибитись у фізику. Згідно з правилом великого пальця, детектор чутливий до об'єктів на відстані або глибині котушки, що не перевищує радіус. Він найбільш чутливий до об'єктів, у яких струм може текти у площині котушки. Таким чином, металевий диск у площині котушки дасть набагато сильніший відгук, ніж той же металевий диск, перпендикулярний до котушки. Вага об'єкта немає великого значення. Тонка алюмінієва фольга, орієнтована в площині котушки, дасть набагато сильніший відгук, ніж важкий металевий болт.

Крок 1: Принцип роботи

Коли електрика починає проходити через котушку, вона створює магнітне поле. Відповідно до закону індукції Фарадея, магнітне поле, що змінюється, призведе до електричного поля, яке протистоїть зміні магнітного поля. Таким чином, напруга розвиватиметься по котушці, що протидіятиме збільшенню струму. Цей ефект називається самоіндукцією, а одиницею індуктивності є Генрі, де котушка 1 Генрі розвиває різницю потенціалів на 1, коли струм змінюється на 1 Ампер в секунду. Індуктивність котушки з N обмотками і радіусом R становить приблизно 5 мкГн x N ^ 2 x R, R в метрах.

Наявність металевого об'єкта поблизу котушки змінить його індуктивність. Залежно від типу металу, індуктивність може збільшуватися або зменшуватися. Немагнітні метали, такі як мідь і алюміній поблизу котушки, зменшують індуктивність, оскільки магнітне поле, що змінюється, індукує вихрові струми в об'єкті, які зменшують інтенсивність локального магнітного поля.

Феромагнітні матеріали, такі як залізо, поблизу котушки збільшують індуктивність, тому що індуковані магнітні поля вирівнюються із зовнішнім магнітним полем.

Таким чином, вимірюючи індуктивність котушки, можна виявити присутність металів поблизу. З Arduino, конденсатором, діодом та резистором можна виміряти індуктивність котушки наступним чином: роблячи котушку частиною високочастотного LR фільтра та живлячи його хвильовими блоками, створюватимуться короткі сплески на кожному переході. Тривалість цих сплесків пропорційна індуктивності котушки. Фактично, характерний час фільтра LR дорівнює tau = L/R. Для котушки з двадцятьма витками та діаметром 10 см L ~ 5muH x 20^2 x 0,05 = 100 мкГн.

Для захисту Arduino від надлишкового струму мінімальний опір 200 Ом. Таким чином, ми очікуємо на імпульси довжиною близько 0,5 мікросекунди. Їх важко виміряти безпосередньо з високою точністю з огляду на те, що тактова частота Arduino становить 16 МГц.

Натомість висхідний імпульс можна використовувати для зарядки конденсатора, який потім може бути рахований аналого-цифровим перетворювачем (ADC) Arduino. Очікуваний заряд від імпульсу 25 мА тривалістю 0,5 мікросекунд становить 12,5 нК, що дасть 1,25 на конденсаторі 10 нФ. Падіння напруги на діоді зменшить це значення. Якщо імпульс повторюється кілька разів, заряд конденсатора зростає до ~2 В. Ці параметри можна отримати за допомогою Arduino ADC, використовуючи analogRead(). Потім конденсатор можна швидко розрядити, змінивши зчитуючий роз'єм на вихідний і встановивши його на 0 на кілька мікросекунд.

Всі вимірювання займають близько 200 мікросекунд, 100 для зарядки та скидання конденсатора та 100 для перетворення ADC. Точність може бути значно збільшена шляхом повторення виміру та усереднення результату: в середньому 256 вимірів займають 50 мс і покращують точність у 16 ​​разів. Таким чином, 10-бітний ADC досягає точності 14-бітного ADC.

Оскільки одержувані параметри вкрай нелінійні з індуктивністю котушки, ми можемо дізнатися реальне значення індукції. Однак, для виявлення металу нас цікавлять лише незначні зміни індуктивності котушки через присутність металів поблизу, і для цього цей метод ідеально підходить.

Калібрування вимірювань може виконуватися в автоматичному режимі за допомогою програмного забезпечення. Якщо поруч із котушкою більшу частину часу немає металу, то відхилення від середнього значення означатиме наявність поруч металевого об'єкта.

Використовуючи різні кольори лампочок і звуки, можна бачити різницю – збільшується чи зменшується індукція.

Крок 2: Список необхідних компонентів

Електрична основа:

  • Arduino UNO R3 + макетна плата або Arduino Nano з 5×7см макетною платою
  • 10nF конденсатор
  • Маленький сигнальний діод, наприклад, 1N4148
  • 220-м резистор

Для харчування:

  • Переносна зарядка з кабелем USB

Для візуального висновку:

  • 2 світлодіоди різного кольору, наприклад, синій та зелений
  • 2 резистора 220 Ом для обмеження струму

Для виведення звуку:

  • Пасивний зумер
  • Мікровимикач для відключення звуку

Для виходу навушників:

  • Роз'єм для навушників
  • Резистор 1 ком
  • Навушники

Щоб легко підключити/вимкнути пошукову котушку:

  • 2-контактний гвинтовий затискач (клема)

Для пошукової котушки:

  • ~ 5 метрів тонкого електричного кабелю

Конструкція для котушки. Повинна бути жорсткою, але не має бути круглою. Для конструкції: Близько 1 метра - палиця дерев'яна, пластикова або селфі-палиця.

Крок 3: Пошукова котушка

Для пошукової котушки я намотав приблизно 4 м багатожильного дроту навколо картонного циліндра діаметром 9 см, в результаті чого вийшло 18 витків. Тип кабелю не має значення, якщо опір щонайменше в десять разів менший за значення R у фільтрі RL, тому переконайтеся, що воно залишилося нижче 20 Ом. Я виміряв, вийшло 1 Ом, тому це безпечно. Також підходить 10 метровий рулон сполучного дроту з розгалуженими кінцями.

Крок 4: Збираємо прототип




Враховуючи невелику кількість зовнішніх компонентів, можна зібрати схему на невеликій макетній платі. Однак кінцевий результат є досить громіздким і не дуже надійним. Тому краще використовувати Arduino nano і припаяти з додатковими компонентами на панелі прототипів 5×7 см (див. Наступний крок)

Для виявлення металів використовуються всього 2 контакти Arduino, один для забезпечення імпульсів до LR фільтра і один для зчитування напруги на конденсаторі. Пульсування може здійснюватися з будь-якого вихідного контакту, але зчитування має проводитися одним з аналогових контактів A0-A5. Ще 3 контакти використовуються для 2 світлодіодів та для виведення звуку.

Послідовність збирання:

  1. На макетній платі послідовно підключіть резистор 220 Ом, конденсатор та діод, спрямований негативною клемою (чорна лінія) до конденсатора.
  2. Підключіть A0 до резистори (кінець, не підключений до діода)
  3. Підключіть A1 до місця перетину діода та конденсатора
  4. Підключіть один кінець котушки до точки перетину резистора та діода
  5. Підключіть інший кінець котушки до землі
  6. Підключіть один світлодіод його позитивною клемою до виведення D12 та його негативною клемою через резистор 220 Ом до землі
  7. Підключіть інший світлодіод його позитивною клемою до виведення D11 та його негативною клемою через резистор 220 Ом до землі
  8. За бажанням, підключіть навушники або динаміки між контактом 10 та землею. Конденсатор або резистор можна послідовно додати для зменшення гучності.

На цьому все!

Крок 5: Робимо остаточну версію пристрою


Для того щоб використовувати металошукач на вулиці, необхідно надійно припаяти всі компоненти. Звичайна макетна плата 7х5см чудово підійде до Arduino nano та решти компонентів. Використовуйте ту ж схему, що й у минулому кроці. Я також вирішив додати вимикач послідовно з зумером, щоб мати можливість відключати звук, коли він не потрібен. За допомогою гвинтового затиску можна швидко спробувати різні котушки, без необхідності заново паяти. Все живлення здійснюється через 5В mini-або microUSB порт Arduino Nano.

Крок 6: Програмне забезпечення

Скетч Arduino ви можете завантажити нижче. Завантажте та запустіть його. Я використав Arduino 1.6.12 IDE. Рекомендується запускати з debug = true спочатку, щоб налаштувати кількість імпульсів на вимір. Найкраще мати показання АЦП між 200 і 300. Збільшіть або зменшіть кількість імпульсів у випадку, якщо ваша котушка дає зовсім інші показання.

Скетч робить деяке самокалібрування. Достатньо розташувати котушку подалі від металів на деякий час. Невеликі зміни в індуктивності будуть спостерігатися, але великі великі зміни не вплинуть на довгострокове середнє значення.

Файли

Крок 7: Закріплюємо пристрій


Швидше за все, ви не захочете займатися пошуком скарбів, повзаючи по підлозі, так що краще встановити всю конструкцію на кінець палиці. Селфі-палиця підійде ідеально, вона легка, складана та регульована. Переносний акумулятор чудово підійшов до ціпка. Плату можна закріпити за допомогою кабельних стяжок і таким же чином котушку, прикріпивши її до акумулятора або селфі-палиці.

Крок 8: Інструкція із застосування

Для того щоб встановилося референсне значення, достатньо віддалити саморобний металошукач від металів приблизно на 5 секунд. Потім, коли котушка буде наближатися до металу, зелений або синій світлодіод почнуть блимати, а також будуть чути звукові сигнали.

Сині спалахи та звукові сигнали низької частоти вказують на наявність неферомагнітних металів. Зелені спалахи та звукові сигнали високої частоти вказують на наявність феромагнітних металів. Врахуйте, що коли котушка знаходиться понад 5 секунд поблизу металу, то отримане значення буде вважатися референсним, і звуковий сигнал видаватиметься, коли ви відведете детектор від металу, який затихне через кілька секунд. Частота моргання діодів та звукових сигналів залежить від потужності сигналу.

Металошукач - це пристрій, що використовується для виявлення присутності металу в деякій близькості від цього металошукача, не торкаючись самого металу. Такі пристрої широко використовують для пошуку металевих предметів у землі, наприклад, мін, скарбів із дорогоцінними металами, предмети старовини та інші речі. Процес безконтактного виявлення, що використовується в металошукачі, пояснюється методом індуктивного зондування. Основна концепція у тому, що наявність металу може змінювати індуктивність індуктора (котушки). Таким чином, електронна начинка металошукача просто визначає індуктивність котушки, яка зондує досліджувану поверхню, і завдяки динаміку або іншому інтерфейсному пристрої повідомляє користувача про металевий об'єкт поблизу.



Металошукачі в офіційних точках продажу коштують не так дешево, як хотілося б. Але сьогодні завдяки розвитку радіоаматорської техніки маталошукач можна зробити самостійно на основі Arduino.


По суті, за допомогою Arduino можна створити простий вимірник індуктивний, тобто пристрій, який може використовуватися для вимірювання невідомої індуктивності котушки. У цьому проекті використовується звичайний резонансний контур, у якому паралельно з'єднані конденсатор та котушка індуктивності. Природна резонансна частота LC-контуру змінюється залежно від наявності металу поблизу котушки. Для отримання прийнятного для зчитування сигналу резонансного контуру використовується компаратор LM339. Оскільки коливання від LC-контуру завжди будуть у формі синусоїдальної хвилі, то в цьому проекті і використовується детектор перетину нуля на основі компаратора, щоб перетворити синусоїдальну хвилю на прямокутні частотні імпульси, щоб плата Arduino могла вимірювати період цих імпульсів, і на основі отриманих даних про період сповіщати про присутність металу поблизу приладу. Завдяки вбудованій в Arduino IDE функції pulseIn() можна вимірювати період імпульсу. Наприклад, pulse = pulseIn (11, HIGH, 5000). У цьому випадку функція повертає значення періоду часу, протягом якого імпульс залишався високим на лінії 11. Третій параметр необов'язковий, він встановлює час очікування до появи імпульсу на зазначеній лінії.


Схема металошукача на основі Arduino представлена ​​нижче.




double pulse; void setup() ( pinMode(11,INPUT); pinMode(13,OUTPUT); pinMode(8,OUTPUT); ) void loop() ( digitalWrite(13,HIGH); delayMicroseconds(5000); digitalWrite(13,LOW) ; delayMicroseconds(100);

Його особливість полягає в тому, що пристрій виконаний у вигляді рукавички, тут знаходиться і електронна частина, і пошукова котушка. Металошукач був створений для пошуку будинку дрібних металевих речей, що втратилися, наприклад, сережок, кілець та іншого. Втім, на основі цієї схеми можна зробити класичний металошукач для робіт на вулиці. Для виготовлення пристрою знадобиться мінімум матеріалів, левову частку завдань вирішує мікроконтролер Arduino.

Потужність металошукача невелика, але для побутових цілей цілком вистачить.


Матеріали та інструменти для виготовлення:
- мікроконтролер Arduino UNO;
- Провід 28 калібру (діаметр 0.32мм);
- один перемикач;
- п'єзозуммер;
- два резистори на 10К;
- Один резистор на 1.2К;
- два конденсатори 100n;
- два конденсатори 22n;
- Один транзистор типу BC547;
- Акумулятор на 9В;
- Будівельні рукавички.

Також буде необхідна фанера, клей по дереву, паяльник з припоєм, багатожильний дріт, макетна плата та інші дрібниці.

Процес виготовлення металошукача:

Крок перший. Виготовлення котушки
Щоб виготовити котушку, потрібно вирізати основу, корпус. Автор вирізає котушку із фанери на верстаті, її діаметр становить 6 дюймів. У результаті виходить два кільця, які згодом склеюються столярним клеєм. Після висихання котушку ретельно обробляють наждачним папером, щоб вона була гладкою. Після того, як основа буде виготовлена, на неї можна намотувати провід. Усього потрібно зробити 30 витків дроту, залишивши кінець довжиною не менше 5-ти дюймів для підключення. Намотувати провід потрібно щільно, це забезпечить якісну роботу котушки. Поверх дроту котушку можна обмотати ізолентою або скотчем для кращої фіксації.





Крок другий. Складання схеми на макеті
Щоб переконатися, що котушка зібрана правильно і вся система правильно працює, її спочатку потрібно зібрати на макетній платі, а вже потім спаювати. Порядок підключення не важливий, автор почав з транзистора, потім пішли резистори та конденсатори. Після цього було підключено «чоловічі та жіночі» роз'єми на палаті Arduino.












Після цього можна підключати котушку. Так як провід має лакове покриття, його потрібно зіскребти на кінцях наждачним папером або гострим ножем. Потрібно досягти хорошого контакту. Підключається котушка за допомогою «чоловічих та жіночих» роз'ємів. Після складання всіх елементів у контролер можна завантажувати прошивку та перевіряти, як усе працює на ділі.

Крок третій. Встановлення прошивки та перевірка системи
Далі потрібно завантажити у контролер прошивку. Також можливо знадобиться зробити деякі налаштування в коді, щоб металошукач працював правильно. Як тільки код буде завантажено, можна приступати до тестування. До системи потрібно підключити джерело живлення 9В та вимкнути перемикач. Якщо металошукач працює, можна приступати до спаювання всіх елементів на платі.


Крок четвертий. Спайка схеми
Збирається все на шматку текстоліту, контакти спаюють між собою за допомогою шматочків дроту. При необхідності можна зробити для пристрою спеціальну плату шляхом травлення. Докладніше побачити, як відбувається складання схеми, можна побачити на фото.





Крок п'ятий. Завершальний етап складання
Щоб закріпити плату, автор використовує шматок фанери. За розміром він має бути таким, щоб на нього помістився контролер Arduino та друкована плата. Краї потрібно обробити наждачним папером, щоб зробити їх гладкими. Для того, щоб приклеїти елементи до фанери, можна використовувати двосторонній скотч. Також підійде клей та будь-які інші способи кріплення.

Перероблена версія всіма відомого імпульсного металошукача – "Пірата", але на Arduino. Має непогану чутливість навіть на маленькі монети. Стабільний незалежно від температури та заряду батареї. Схема максимально спрощена.

З недоліків можна назвати відсутність можливості визначати тип металу. Визначати тип можуть тільки металошукачі з радіо випромінюючим принципом детектування (складні у пристрої та вимагають точного налаштування). Імпульсний металошукач у свою чергу працює на магнітному детектуванні індукційних струмів у металі. Індукція при пошуку не помітна для чорних та кольорових металів.

До речі, є ще третій тип металошукачів - частотний. Малоефективна і дуже проста конструкція в основі якої є генератор коливань магнітного контуру, який чутливий до зміни величини індукції котушки. Ми її розглядати не будемо через низьку чутливість. Особисті експерименти з розробки такої конструкції в кращому випадку дозволяли детектувати сковорідку на 20 см глибини. На монети реагував тільки в "упор". Практично марна штука. Тому від неї відразу відмовився.


Наша схема імпульсного металошукача має кілька основних компонентів. Arduino генерує імпульси, вони посилюються польовим транзистором (силовим ключем), який у свою чергу індукує імпульси магнітного поля в котушці. Магнітний імпульс проходить до металу, що шукається, і індукує в ньому струм, а потім зворотний сигнал магнітного поля. Цей зворотний магнітний потік через невелику затримку повертається назад у котушку металодетектора та генерує імпульс. Сигнал проходить повз пару діодів (діоди потрібні щоб обмежити напругу до 1 вольта) і йде на вхід операційного підсилювача. Посилений сигнал потрапляє в arduino, в якому вираховується "спадаючий хвіст" після відключення котушки силовим ключем. Тобто. саме відповідь від шуканого металевого предмета. Залежно від часу спаду ми можемо судити про величину чи віддаленість об'єкта. Індикатор показує цю величину в 8 рівнях індикаторів.

До речі про котушку. Вона повинна бути діаметром 20 см з 20 витками дроту 0,4 - 0,8 мм. Товщина дроту також впливає на індукцію всієї котушки. Сильне відхилення від товщини дроту призведе до погіршення чутливості приладу. Котушка вставлена ​​у водопровідну ПВХ трубу і не має жодних додаткових металевих з'єднань.



Скетч програми містить генератор імпульсів та алгоритм обробки вхідного сигналу з підсилювача.

Int ss0 = 0; int ss1 = 0; int ss2 = 0; long c0 = 0; long c1 = 0; long c2 = 0; byte i = 0; int sss0 = 0; int sss1 = 0; int sss2 = 0; int s0 = 0; int s1 = 0; int s2 = 0; void setup() ( DDRB = 0xFF; // port B - all out DDRD = 0xFF; // port D - all out for (i = 0; i<255; i++) // калибровка { PORTB = B11111111; delayMicroseconds(200); PORTB = 0; delayMicroseconds(20); s0 = analogRead(A0); s1 = analogRead(A0); s2 = analogRead(A0); c0 = c0 + s0; c1 = c1 + s1; c2 = c2 + s2; delay(3); } c0 = c0 / 255; c0 = c0 - 5; c1 = c1 / 255; c1 = c1 - 5; c2 = c2 / 255; c2 = c2 - 5; } void loop() { PORTB = B11111111; delayMicroseconds(200); PORTB = 0; delayMicroseconds(20); s0 = analogRead(A0); s1 = analogRead(A0); s2 = analogRead(A0); ss0 = s0 - c0; if (ss0 < 0) { sss0 = 1; } ss0 = ss0 / 16; PORTD = ss0; // посылаем на индикатор (send to LEDs) delay(1); ss1 = s1 - c1; if (ss1 < 0) { sss1 = 1; } ss1 = ss1 / 16; PORTD = ss1; // посылаем на индикатор (send to LEDs) delay(1); ss2 = s2 - c2; if (ss2 < 0) { sss2 = 1; } ss2 = ss2 / 16; PORTD = ss2; // посылаем на индикатор (send to LEDs) delay(1); if (sss0+sss1+sss2 >2) (digitalWrite(7,HIGH); digitalWrite(6,HIGH); digitalWrite(5,HIGH); digitalWrite(4,HIGH); digitalWrite(3,HIGH); digitalWrite(2,HIGH); digitalWrite(1,HIGH); );






Цей проект на основі Bolt IoT показує, як зробити металодетектор із системою оповіщення на основі Ардуїно.

Даний проект має дати загальне розуміння того, як можна зробити металошукач із системою моніторингу та оповіщення. Метою проекту є виявлення сторонніх предметів, а також створення прототипу системи безпеки. Підсумком подальших процесів може стати проектування рухомого робота з металошукачем. Все це, в цілому, може бути виконано з використанням будь-якого мікроконтролера, але ми будемо використовувати .

Пропонована система містить схему передавача (Tx) та приймача (Rx). Ця плата базується на TDA0161, монолітній інтегральній схемі, призначеній для виявлення металевих тіл шляхом визначення варіацій високочастотних втрат на вихрові струми. Використовуючи зовні налаштований ланцюг, пристрій діє як генератор. Рівень вихідного сигналу змінюється, коли наближається до металевого об'єкта.

Вихідний сигнал визначається змінами струму живлення. Незалежно від напруги живлення цей струм є високим або низьким, залежно від близькості металевого предмета. Цей пристрій може попередити про виявлення, наприклад, міни попереду, а також буде корисно для виявлення металевих об'єктів, захованих під землею або всередині інших об'єктів. Складається з портативного пристрою із сенсорним датчиком, який може виявляти зміну магнітного поля, спричиненого металевим предметом.

Комплектуючі

Для нашого металодетектора/металошукача Ардуїно знадобиться пристойний список комплектуючих:

  • Датчик на основі TDA0161 × 1
  • Резистор 220 Ом × 1
  • Конденсатор 47 мкФ × 1
  • Резистор 330 Ом × 1
  • Резистор 100 Ом × 1
  • Резистор 1 ком × 1
  • Зуммер × 1
  • Багатооборотний прецизійний потенціометр – 10 кОм (25 витків) × 1
  • Bolt IoT Bolt WiFi модуль × 1
  • Arduino UNO × 1
  • Кабель USB-A - Micro-USB × 1

З програмного забезпечення нам знадобляться:

  • Bolt IoT Bolt Cloud (хмара)
  • Bolt IoT Android App (додаток для Андроїд)

Принципова схема

Спочатку ми повинні зробити датчик металошукача, підключивши його, як зазначено на принциповій схемі вище. У результаті, як тільки все буде зроблено згідно з кроками нижче, вам потрібно буде встановити систему таким чином, щоб датчик вказував на підлогу, включити живлення системи та забезпечити постійний доступ Bolt до Інтернету через ваш WiFi.

Налаштування модуля Bolt WiFi та підключення через хмару

Після виконання всіх з'єднань нам потрібно підключити металодетектор Ардуїно через хмару Bolt iOT, використовуючи процес, описаний на цьому кроці. Ми дізнаємось як налаштувати новий WiFi-модуль Bolt, використовуючи мережу Wi-Fi та мобільний телефон.

Якщо ви уважно переглянули список комплектуючих, то побачили, що нам потрібні: модуль Bolt IoT Bolt WiFi, кабель Micro-USB - USB (на ваш вибір), хмара Bolt IoT Bolt Cloud, додаток Bolt IoT Android App (посилання вище).

Цей набір допоможе нам підключити модуль Bolt до Wi-Fi і прив'язати його до хмарного облікового запису Bolt, щоб ви могли почати з ним працювати. Весь процес налаштування триватиме не більше 10 хвилин.

Підключаємо модуль до живлення

Після того як ви взяли до рук модуль WiFi Bolt iOT вам потрібно знайти зарядний пристрій 5В/1A, який має порт micro-usb і зазвичай використовується для заряджання мобільного телефону на Android. Ви також можете використовувати свій ноутбук для увімкнення пристрою Bolt.

Тепер, коли у вас є всі компоненти, давайте почнемо із завантаження мобільного додатка Bolt IoT та встановлення його на мобільний телефон. Перш ніж почати, перевірте, чи працює мережа WiFi, до якої ви підключатимете Bolt, на частоті 2,4 ГГц. На даний момент Bolt не підтримує мережі WiFi 5 ГГц.

Завантажуємо програму Bolt App

Завантажте програму «Bolt IoT» для Android або iOS. Ви можете виконати пошук "Bolt IoT" або відсканувати QR-код нижче.

Примітка. Нижче наведено інструкції для програми під Android, але те саме можна виконати і для програми під iOS з деякими незначними відмінностями.

Створення облікового запису

Вам потрібно буде створити обліковий запис у хмарі Bolt для керування пристроєм Bolt iOT. Створення облікового запису у хмарі Bolt БЕЗКОШТОВНО.

Відкрийте програму Bolt і натисніть «РЕЄСТРАЦІЯ» (англ. - REGISTER), щоб створити новий обліковий запис.

Заповніть всі необхідні деталі та погодьтеся з умовами використання (хто це взагалі читає?). Нарешті натисніть «Створити новий обліковий запис» (CREATE A NEW ACCOUNT), щоб створити безкоштовний обліковий запис.

Тепер ви отримаєте електронного листа на адресу електронної пошти, яку ви дали для підтвердження свого облікового запису. Це для перевірки того, що ви справжня людина, а не робот.

Виконайте вказівки в електронному листі, щоб активувати свій обліковий запис Bolt Cloud. Тепер потягніть пальцем по екрану, щоб оновити екран мобільного додатка, який виглядає приблизно так, як показано нижче.

Вітаємо, ви активували свій обліковий запис. Після цього ви побачите екран з повідомленням про те, що у вас немає жодних модулів, пов'язаних з вашим обліковим записом.

Додаємо Bolt на ваш обліковий запис

Тепер натисніть кнопку «ДОДАТИ ПРИСТРІЙ» (англ. - ADD DEVICE), щоб налаштувати пристрій Bolt для роботи в мережі WiFi.

Увімкніть пристрій Bolt, вставивши кабель Micro USB у порт USB на модулі, а інший кінець кабелю підключіть до зарядного пристрою Android або ноутбука.

Примітка. На Bolt iOT немає кнопок увімкнення/вимкнення. Як тільки ви підключите живлення, можна розпочинати роботу.

Як тільки ви увімкнете пристрій Bolt, синій світлодіод на Bolt почне повільно блимати, а зелений світлодіод вимкнеться.

Якщо синій світлодіод повільно блимає, це означає, що тепер Bolt передає свою власну мережу точок доступу WiFi і готовий до налаштування за допомогою програми Bolt IoT на вашому телефоні. Натисніть на символ « > » у програмі, щоб продовжити.

Тільки для Android: перед тим як продовжити, відключіть мобільні дані, увімкніть службу місцезнаходження на своєму мобільному телефоні, якщо це ще не зроблено, і натисніть кнопку «ГОТОВ» (англ. Ready). Це потрібно тільки в додатку Android через API Google. Програма не збирає і не зберігає ваші дані про місцезнаходження.

Якщо програма виявила Bolt, вона відобразить екран, аналогічний показаному нижче. Синій світлодіод на пристрої тепер швидко блиматиме. Це означає, що він перебуває у процесі установки. Щоб продовжити, натисніть "ПРОДОВЖИТИ" (англ. - CONTINUE).

Пароль для точки доступу WiFi, що передається модулем WiFi Bolt: bolt1234. При налаштуванні за допомогою мобільного додатка Android ваш мобільний телефон автоматично підключиться до точки доступу, коли ви натиснете "Далі". На iOS вам потрібно буде підключитися до Hotspot, зайшовши в Налаштування -> WIFi. Тепер нам потрібно повідомити Bolt, до якої WiFi мережі він повинен підключитися.

Важливо. Модуль WiFi від Bolt не може виявляти мережі WiFi на базі 5 ГГц і не зможе підключитись до них.

Виберіть мережу WiFi, до якої має бути підключений Bolt. Ви можете натиснути на ім'я WiFi, щоб вибрати мережу WiFi для підключення.

Примітка. Для iOS вам доведеться вручну ввести SSID або ім'я WiFi-пристрою, до якого ви хочете підключитися.

Введіть пароль мережі WiFi, яку ви вибрали на попередньому екрані.

Програма тепер надішле облікові дані WiFi у модуль Bolt WiFi.

Тепер натисніть «Готово» (англ. – Done) і на наступному екрані виберіть свою країну та натисніть «Зберегти» (англ. – Save), щоб завершити останній етап налаштування.

Якщо все пройшло за планом, пристрій Bolt перезапуститься автоматично. Синьо-зелений світлодіод на пристрої Bolt тепер постійно світитиметься. Якщо Bolt зміг підключитися до мережі WiFi і підключився до хмари, поряд з ідентифікатором пристрою Bolt з'явиться зелена точка, як показано нижче.

Налагодження

Якщо Bolt не може підключитися до мережі Wi-Fi, зелений світлодіод буде вимкнений, а синій світлодіод повільно блиматиме. Зазвичай це відбувається, якщо ви ввели неправильні облікові дані WiFi (SSID або пароль) під час інсталяції. Будь ласка, спробуйте процес інсталяції ще раз з правильними обліковими даними WiFi.

Перевірте, чи ваш WiFi роутер працює на частоті 2,4 ГГц. На даний момент Bolt не підтримує 5 ГГц.

Доступ до хмари Bolt для створення проектів IoT

Відвідайте Bolt Cloud (cloud.boltiot.com) і увійдіть у свій зареєстрований обліковий запис, використовуючи той самий ідентифікатор електронної пошти та пароль, які ви використовували у мобільному додатку Bolt IoT.

Ви побачите свій пристрій Bolt зі статусом «ONLINE» у своєму обліковому записі на панелі інструментів.

Вітаємо, вам удалося налаштувати Bolt і прив'язати його до свого облікового запису менш ніж за 10 хвилин.

Код для проекту

Після підключення через модуль Bolt ви повинні завантажити або скопіювати код у форматі.json:

( "name": "Metal Detection", "flow": [ ( "id": 15, "module": "app#bolt-iot:executeCommand", "version": 1, "parameters": ( "__IMTCONN__" : 445281 ), "mapper": ( "command": "serialBegin", "parameters": ( "baud": "9600", "deviceName": "" ) ), "metadata": ( "designer": ( " x": 8, "y": -3 ), "restore": ( "command": ( "label": "Initialize serial communication" ), "__IMTCONN__": ( "label": "My Bolt connection" ) ) , "parameters": [ ( "name": "__IMTCONN__", "type": "account", "label": "Connection", "required": true ) ], "expect": [ ( "name": " command", "type": "select", "label": "Command", "required": true, "validate": ("enum": ["digitalWrite", "digitalRead", "analogRead", "analogWrite" , "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] ) ), ( "name": "parameters", "spec": [ ( "name": "deviceName" , "type": "text", "label": "Device name", "required": true ), ( "name": "baud", "type": "number", "label": "Baud", "required": true ) ], "type": "collection", "label": "Parameters" ) ] ) ), ( "id": 1, "module": "app#bolt-iot:executeCommand", " version": 1, "parameters": ( "__IMTCONN__": 445281 ), "mapper": ( "command": "serialWrite", "parameters": ( "data": "Get detected", "deviceName": "" ) ), "metadata": ( "designer": ( "x": 300, "y": 0 ), "restore": ( "command": ( "label": "Send serial data output" ), "__IMTCONN__ ": ( "label": "My Bolt connection" ) ), "parameters": [ ( "name": "__IMTCONN__", "type": "account", "label": "Connection", "required": true ) ], "expect": [ ( "name": "command", "type": "select", "label": "Command", "required": true, "validate": ( "enum": [ " digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] ) ), ( "name": "parameters" , "spec": [ ( "name": "deviceName", "type": "text", "label": "Device name", "required": true ), ( "name": "data", "type ": "text", "label": "Data", "required": true ) ], "type": "collection", "label": "Parameters" ) ] ) ), ( "id": 14, " module": "app#bolt-iot:executeCommand", "version": 1, "parameters": ( "__IMTCONN__": 445281 ), "mapper": ( "command": "serialRead", "parameters": ( " till": "10", "deviceName": "" ) ), "metadata": ( "designer": ( "x": 600, "y": 0 ), "restore": ( "command": ( " label": "Read incoming serial data" ), "__IMTCONN__": ( "label": "My Bolt connection" ) ), "parameters": [ ( "name": "__IMTCONN__", "type": "account", "label": "Connection", "required": true ) ], "expect": [ ( "name": "command", "type": "select", "label": "Command", "required": true, "validate": ( "enum": [ "digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive " ] ) ), ( "name": "parameters", "spec": [ ( "name": "deviceName", "type": "text", "label": "Device name", "required": true ), ( "name": "till", "type": "number", "label": "Till", "required": true, "validate": ( "max": 127, "min": 0 ) ) ], "type": "collection", "label": "Parameters" ) ) ) ), ( "id": 18, "module": "math:EvaluateExpression", "version": 1, "parameters": (), "mapper": ( "expression": "100-((parseNumber(14.value)))" ), "metadata": ( "designer": ( "x": 869, "y": -2 ), "expect": [ ( "name": "expression", "type": "text", "label": "Expression", "required": true ) ] ) ), ( "id": 13, " module": "google-email:ActionSendEmail", "version": 1, "parameters": ( "account": 445282 ), "filter": ( "name": "Check if metal is detected", "conditions": [ [ ( "a": "((18.result))", "b": "30", "o": "number:greater" ) ] ] ), "mapper": ( "cc": , " to": , "bcc": , "html": "metal detection", "subject": "Warning! metal detected", "attachments": ), "metadata": ( "designer": ( "x": 1145, "y": -3 ), "restore": ( "cc": ( "mode": "chose ", "items": ), "to": ( "mode": "chose", "items": [ "undefined" ] ), "bcc": ( "mode": "chose", "items": ) , "account": ( "label": "" ), "attachments": ( "mode": "chose", "items": ) ), "parameters": [ ( "name": "account", "type ": "account", "label": "Connection", "required": true ) ], "expect": [ ( "name": "to", "spec": ( "name": " ", "type ": "email", "label": "Email address", "required": true ), "type": "array", "label": "To", "labels": ( "add": "Add a recipient", "edit": "Edit a recipient" ), "required": true ), ( "name": "subject", "type": "text", "label": "Subject" ), ( "name ": "html", "type": "text", "label": "Content" ), ( "name": "attachments", "spec": [ ( "name": "fileName", "type": "filename", "label": "File name", "required": true, "semantic": "file:name" ), ( "name": "data", "type": "buffer", "label" : "Data", "required": true, "semantic": "file:data" ), ( "name": "cid", "type": "text", "label": "Content-ID" ) ] , "type": "array", "label": "Attachments", "labels": ( "add": "Add an attachment", "edit": "Edit an attachment" ) ) ), ( "name": " cc", "spec": ( "type": "email", "label": "Email address" ), "type": "array", "label": "Copy recipient", "labels": ( "add ": "Add a copy recipient", "edit": "Edit a copy recipient" ) ), ( "name": "bcc", "spec": ( "type": "email", "label": "Email address" ), "type": "array", "label": "Blind copy recipient", "labels": ( "add": "Add blind copy recipient", "edit": "Edit a blind copy recipient" ) ) ] ) ) ]], "metadata": ( "version": 1, "scenario": ( "roundtrips": 1, "maxErrors": 3, "autoCommit": false, "sequential": false, "confidential" : false, "dataloss": false, "dlq": false ), "designer": ( "orphans": ), "zone": "eu1.integromat.com" ) )

Код, який ми повинні завантажити на плату Ардуїно через:

#define capPin A0 #define buz 9 #define pulsePin A4 #define led 10 long sumExpect=0; //running sum of 64 sums long ignor=0; //number of ignored sums long diff=0; //difference between sum and avgsum long pTime=0; long buzPeriod=0; void setup() ( Serial.begin(9600); pinMode(pulsePin, OUTPUT); digitalWrite(pulsePin, LOW); pinMode(capPin, INPUT); pinMode(buz, OUTPUT); digitalWrite(buz, LOW); pinMode(led , OUTPUT); ) void loop() ( int minval=1023; int maxval=0; long unsigned int sum=0; for (int i=0; i<256; i++) { //reset the capacitor pinMode(capPin,OUTPUT); digitalWrite(capPin,LOW); delayMicroseconds(20); pinMode(capPin,INPUT); applyPulses(); //read the charge of capacitor int val = analogRead(capPin); //takes 13x8=104 microseconds minval = min(val,minval); maxval = max(val,maxval); sum+=val; long unsigned int cTime=millis(); char buzState=0; if (cTime0) buzState = 1; else if(diff<0) buzState=2; } if (cTime>pTime+buzPeriod) ( if (diff>0) buzState=1; else if (diff<0) buzState=2; pTime=cTime; } if (buzPeriod>300) buzState = 0; if (buzState==0) ( digitalWrite(led, LOW); noTone(buz); ) else if (buzState==1) ( tone(buz,2000); digitalWrite(led, HIGH); ) else if (buzState= =2) ( tone(buz,500); digitalWrite(led, HIGH); ) ) //subtract minimum and maximum value to remove spikes sum-=minval; sum-=maxval; if (sumExpect==0) sumExpect=sum<<6; //set sumExpect to expected value long int avgsum=(sumExpect+32)>>6; diff = sum-avgsum; if (abs(diff) >10) ( sumExpect=sumExpect+sum-avgsum; ignor=0; ) else ignor++; if (ignor>64) ( sumExpect = sum<<6; ignor=0; } if (diff==0) buzPeriod=1000000; else buzPeriod=avgsum/(2*abs(diff)); } void applyPulses() { for (int i=0;i<3;i++) { digitalWrite(pulsePin,HIGH); //take 3.5 uS delayMicroseconds(3); digitalWrite(pulsePin,LOW); //take 3.5 uS delayMicroseconds(3); } }

Налаштування оповіщень

Перш ніж перейти до поштових оповіщень і після того, як ми завантажили код, у нас потрібно створити ідентифікатор на ресурсі integromat.com. Якщо у вас вже є обліковий запис на цьому сайті - просто увійдіть до облікового запису.


Використовуйте наведені нижче кроки для налаштування сценарію виявлення металу.


На цьому все. Як тільки буде зібрано весь проект, все, що вам потрібно зробити, це встановити систему таким чином, щоб датчик вказував на підлогу, включити живлення системи та забезпечити постійний доступ Bolt до Інтернету через ваш WiFi. Бажаємо вам знайти більше цінних предметів.