Вступ до електроніки для чайників: як я провів курс з Hardware Engineering в Mobilunity
Привіт всім, мене звати Ілля, і я займаюсь розробкою електроніки. У вільний від роботи час також читаю відкриті лекції і всіляко намагаюсь розвивати ком’юніті і напрям електроніки в цілому. Цієї весни я провів в Mobilunity курси з електроніки в рамках MobilunityPeople.Share() - внутрішньокорпоративної освітньої платформи, створеної спеціально для #MobilunityPeople. Тут я опишу як все планувалося, як відбувалося, і що з того вийшло.
ВСТУП
Ідея проведення івенту з електроніки спливала в розмовах з нашим СЕО і раніше. Проте цього разу було очевидно, що Кирил налаштований серйозно. Питання було тільки у виборі формату, датах і організаційних моментах. Варіантів було два: хакатон або група з регулярними заняттями тривалістю в
Roman, Front-End Developer
«Як тільки я дізнався, що Ілля збирається проводити такий курс, я звичайно ж сказав: «Так, це круто, я піду». Попередній досвід: «Максимум, що я паяв — це я у шкільні роки зпаював магнітофон. Я його розібрав, але після цього магнітофон більше ніколи не працював. Тобто досвід є, але успіхів не так багато». Складнощі: «На курсі найскладніше це були розрахунки резисторів і розрахунки, що де необхідно поставити». «Як використовувати його [девайс] я ще не вирішив. Я думаю його перепрограмувати якось і додати певний функціонал».
В НАС БУВ ПЛАН
Орієнтовно курси мали складатися з 8 занять по 2 години, заняття — раз на тиждень.
Під час курсу учасники мали з нуля розробити електронний пристрій, пройшовши всі типові етапи hardware проекту, і виготовити робочий прототип. Який саме пристрій? Варіанти проекту в нас були такі:
- Міні-квадрокоптер
- LED лампа з керуванням по Wi Fi
- GSM сигналізація.
Звісно, всі перелічені речі давно винайдені, і їх можна легко замовити на AliExpress, але в нас була інша мета. Врешті-решт, вирішили зупинитися на GSM сигналізації — пристрій з інфрачервоним сенсором руху, що відправляє СМС на ваш телефон при спрацьовуванні.
Теми занять я розділив наступним чином:
- 1 Вступ, знайомство, створення ТЗ (бо без ТЗ — результат ХЗ)
- 2 Теоретичні основи електроніки
- 3 Електричні схеми
- 4 Друковані плати
- 5 Виробнича документація, замовлення плат (ні, ми не травили їх власноруч)
- 6 Збірка плат
- 7 Програмування мікроконтролера
- 8 Тестування
Serhii, Back-End Developer
Попередній досвід: «Я тримав декілька разів паяльник, намагався полагодити з перемінним успіхом якусь електротехніку вдома, але... з перемінним успіхом». Складнощі: «Довелося багато дебажити, адже софт не завжди був дружнім до лінексу. Але найскладніше виявилося одним із найцікавіших».
ПІДГОТОВКА
Рекламну кампанію для курсу розпочали з розвішування плакатів на кухнях ще за місяць до початку курсів.
Паралельно з плакатами влаштували розсилку електронних листів з описом курсу на всю компанію. Також запустили форму для реєстрації з невеликим опитуванням, щоб краще розуміти рівень учасників і підлаштувати програму. В опитуванні учасники обирали зручні дні тижня та час для проведення занять, а також відповідали на декілька простих питань про досвід і знання в електроніці.
Виявилося, що більшості було зручно відвідувати курси о 19:00 щочетверга.
Надійшло аж ТРИДЦЯТЬ заявок (з ~200 осіб, що працюють в компанії). Але цей успіх не тішив: я чітко розумів, що під час практичних занять з такою кількістю людей впоратися буде важко. Але наші досвідчені орги заспокоювали, мовляв, далеко не всі, хто записався, насправді прийдуть, а тим більше не всі залишаться до кінця курсу. Так і сталося...
ПОЧАТОК
...на перше заняття прийшло двадцять п’ять колег. А після другого, з нудною теорією, законом Ома і шкільними формулами, нас залишилося п’ятнадцять. Це був наш великий фільтр.

Вже на етапі проектування електричної схеми стало зрозуміло, що початкові оцінки часу були, м’яко кажучи, оптимістичними. Схематика зайняла два заняття замість одного, те саме сталося з розводкою плати (лейаутом). Кожне заняття займало три години замість двох запланованих, але хлопці йшли додому надиво задоволеними і мотивованими. Такі помилки в оцінках часу сталися, ймовірно, через те, що я досить довго працюю з електронікою і вже не можу правильно розрізнити, де знання дійсно є базовими і інтуітивними для всіх, а де — мій досвід. Для того, щоб успішно навчати людей, потрібно чітко усвідомити, що щось, очевидне тобі, не обов’язково очевидне і зрозуміле оточуючим))
Kyrylo, QA Engineer
Попередній досвід: «Нульовий досвід. Лише у дитинстві машинки ламав, а так жодного досвіду не було.
Тому це був челендж, було цікаво».
БЕКСТЕЙДЖ
Паралельно з початком курсу я вирішив замовити GSM модем, який ми мали використовувати в нашому пристрої: хотів впевнитись, що все працює, накидати функції для керування, розвідати де можуть виникнути проблеми.
За один вечір розвів просту плату, щоб приєднати модем до комп’ютера і перевірити роботу. Наступного ж дня плата була відправлена на виробництво, а компоненти замовлені у постачальника. Я оплатив обидва замовлення... І через декілька годин отримав повернення коштів за модем: виявилося, що Україна під ембарго, і модеми цієї компанії нам надіслати не можуть. Звісно ж, я одразу спробував відмінити виробництво плат, розроблених під конкретну модель модема, без нього — це просто сувеніри. І звісно ж, китайці проігнорували мої листи і таки прислали готові, але вже не потрібні плати.
Безумовно, раніше бували випадки, коли компонентів не вистачало або взагалі не було на складах, безумовно, я стикався з затримками поставок, але цього разу я вперше відчув, що таке заборона на експорт. Отже, важливий урок за $100: cпочатку підтверджувати всі компоненти з постачальником, а потім вже замовляти і оплачувати плати, навіть на етапі прототипування.
Дуже добре, що це сталося на початку курсу і я встиг змінити модем на старий-добрий і всім відомий SIM900. Навіть не уявляю, як би я дивився у вічі учасникам, якби їм довелося переробляти всю роботу за 6 занять)))
Звідси ще одна важлива порада: перед тим як вести когось — пройдіть шлях самі. Навіть якщо у вас купа досвіду і ви вже тисячу разів таке робили — завжди знайдеться місце сюрпризам.
ТИМ ЧАСОМ
Нудні теоретичні заняття скінчилися, і ми перейшли до розробки електричних схем. Звісно, нам було потрібне відповідне програмне забезпечення. Я мав хороший досвід з Eagle CAD і довго використовував його для власних проектів. Безкоштовна версіє дає можливість розробляти двошарові плати площею до 80см2, що повністю задовольняло наші вимоги. В цьому ж редакторі розробляються і друковані плати.
Далі ми вчились користуватися сервісом DigiKey для підбору компонентів. Хлопці з’ясували, наприклад, що звичайний резистор, крім опору, має ще купу характеристик)
Вже в цей момент треба було вирішити, яким чином ми збиратимемо плати. Звісно, можна було закупити півтора десятка паяльників і розважатися, намагаючись припаяти резистори розміром менше 2мм. Але щоб зекономити час, кошти і нерви учасників, я вирішив, що ми зберемо плати за допомогою трафарета і паяльної пасти: так, як це робиться на справжньому виробництві. Тому вже на цьому етапі з Алі було замовлено величезну кількість пінцетів і всього необхідного)
Після шостого заняття плати були повністю готові до відправки на виробництво. У цей момент ще двоє учасників залишили курси, аргументуючи це тим, що їм, насправді, була цікава тільки теорія. Це було для мене сюрпризом. А поки трудолюбні китайці виготовляли наші плати, а швидкі кур’єри DHL доставляли їх до Києва, ми обговорювали процеси виробництва і дивились відео з заводу.
По фану всі бажаючі могли нанести на свої плати власний портрет, це добряче розвеселило і замотивувало людей!




Коли плати, компоненти, набори пінцетів і паяльної пасти на всіх учасників нарешті прибули в офіс, я став готуватися до найважчого: тринадцять людей мали за один вечір зібрати свої пристрої. Якщо ви не в темі, процес виглядає так: паяльна паста через трафарет наноситься на плату, пінцетом компоненти розміщуються на своїх місцях, а потім плата розігрівається в печі або на спеціальній платформі, і всі компоненти разом одночасно припаюються. Тому всі можуть «набивати» плати одночасно, і по черзі користуватися однією пічкою.
Це, мабуть, було вирішальне і найважче заняття. Хтось ще закінчував розміщувати компоненти, хтось запаював свою плату, а хтось вже шукав дефекти під мікроскопом. Я ж намагався вслідкувати за всіма і одразу) Того дня багато з нас повернулися додому за опівніч. Це при тому, що двоє людей не прийшли і не збирали свої пристрої, нас лишилось одинадцять.
Як не дивно — майже всі плати запрацювали одразу, лише на декількох були незначні дефекти, що змусили їх власників трохи понервувати. Проте ми швидко все виправили.
На наступних заняттях поверхнево обговорили що таке мікроконтролер, створили проект на С і навчилися відправляти СМС. Для програмування використовували безкоштовне і досить зручне середовище SW4STM32 + STM32Cube.
Відлагодження не пройшло гладко: на початку десятого заняття хлопці відправляли СМСки, модеми рапортували, що СМС успішно прийнято оператором, а на телефон повідомлення не доходили. Я не розумів, що відбувається, поки під кінець заняття телефони не почали радісно пищати СМСками, відправленими більше двох годин тому. Декому повідомлення прийшли аж о другій ночі.
Я зателефонував в службу підтримки lifecell, де мені розповіли, що час доставки СМС ніяк не регламентується, повідомлення може йти хоч добу! Але з моїх спостережень: після того, як дійшло перше повідомлення з нової сімки, наступні приходять майже миттєво. Мабуть, номер потрапляє в якийсь кеш... Звісно, ви б не хотіли мати сигналізацію, з якої повідомлення йдуть добу) Але для того і робляться прототипи: щоб з’ясувати всі потенційні проблеми майбутнього продукту, навіть ті, що від вас не залежать.
Vitalii, Media Production Team
Попередній досвід: «Я багато розбирав електроніки у своєму дитинстві і зараз інколи цим займаюсь... розбираю, але не збираю».
До речі, з оператором пов’язана ще одна цікава історія: коли в салоні я попросив 15 найдешевших стартових пакетів, продавець поводився досить злякано і, замість того, щоб віддати мені пакети, почав пояснювати про якісь внутрішні розпорядження і що вони не продають більше 20 пакетів одній людині. Зрештою я переконав хлопчину, що 15 пакетів це таки менше, ніж 20 і все буде ОК. Він записав всі номери на папірець і тільки потім віддав сімки. Мабуть, боряться зі спамерами))
Ivan, Back-End Developer
Попередній досвід: «У дитинстві гірлянду паяв, не завжди вдало. Інколи навіть дуже невдало».
Складнощі: «Ти щось не те зпаяв і витрачаєш купу часу: дебажиш, дебажиш — а воно не працює, бо ти неправильно припаяв, або ще якась така фігня».
ВИСНОВКИ
Це був чудовий досвід, і у своїх майбутніх курсах я б врахував деякі моменти:
Писати код наживо під час заняття — мені здавалось, що це буде більш динамічно і інтерактивно, ніж просто заливати на гіт і пояснювати, що відбувається. Вочевидь, з цим виникали проблеми, які з’їдали час.
Також я намагався використовувати великий телевізор в конференц-залі для демонстрації коду. Я звик проводити презентації, для яких дисплей чи проектор підходить чудово, а от з дрібним шрифтом виникали проблеми. На майбутнє — треба використовувати якусь платформу для стрімінгу відео з мого монітора, щоб учасники могли спостерігати за моїми діями зі своїх ноутбуків.
Та незважаючи на все, курс точно був вартий витрачених зусиль і часу. Дехто вважає, що коли на співбесіді кандидата опитує три, чотири або і п’ять опонентів, — це стресова ситуація. У мене ж на курсах було півтора десятка людей, які могли вільно задавати питання з будь-якої області електроніки протягом всіх трьох годин, робити будь-які помилки в коді і залізі, — і на все треба було відповідати і реагувати за лічені хвилини)) Весь цей час я теж вчився. Звісно, я не дізнався чогось нового з електроніки, але навчився обмежувати час на свої відповіді, повертатися до основної думки, швидко розставляти пріоритети.
Oleksii, QA Engineer
«Було цікаво створити щось своїми руками».
Складнощі: «Складного? Складного нічого не було — Ілля усе розповідав, а ми, як школярі, все повторювали».
«Я буду використовувати [девайс] проти грабіжників, які бродять навколо машини».
Дуже приємно було бачити емоції людей, коли їхні творіння оживали і працювали, як зараз пам’ятаю, як всі раділи, отримуючи свої перші СМСки) На завершення скажу, що дехто таки встановив сигналізацію вдома, але нікого, крім самого власника, вона ще не спіймала).
Файли проекту доступні на GitHub:
github.com/...ics_training_GSM_alarm_HW
github.com/...ics_training_GSM_alarm_FW
42 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів