Всем привет. Прошу сразу меня простить за возможные ошибки или неправильное использование терминологии, ежели такое случиться, для меня это первый опыт написания статьи. Статья эта врятли будет интересна тем кто в теме давно и уже имеет необходимые инструменты для прошивки такого зверька как ESP-01, но для тех кто только знакомиться с ним и хочет получить опыт не только работы с инструментами программными, но и опыт в проектировании своей платы, и получить как результат своих трудов осязаемый кусочек текстолита заводского качества.
Итак, разделим весь труд на два этапа:
1. Проектирование
2. Работа с железом
Для этих этапов нам потребуется:
1. Для проектирования - Голова, Компьютер на любимой ОС (та к которой привыкли), выход в интернет.
2. Для Работы с железом - совсем немного денег, паяльник, руки и вот такие нехитрые компоненты:
- ESP-01 - 1 штука
- Резисторы на 10кОм - 3 штуки
- Кнопки тактовые - 2 штуки
- LED светодиод - 1 штука
- Контактная гребенка (мама) - 2 шт. по 4 контакта
- Контактная гребенка (папа) - 1 шт. на 4 контакта
АКТ I Проектирование
Я для себя выбрал такой инструмент как EasyEDA - он простой и понятный, бесплатный. Работает в браузере, а для любителей работать в MacOS используя Safari есть и клиент (для всех платформ). Найти все можно по адресу https://easyeda.com Сразу скажу, что я не буду давать "урок" по работе с редактором, так как таких уроков много на просторах интернета. Но я поделюсь ссылкой на свой проект, Вы сможете его скопировать и изменить на свой вкус.
И так! Потратив пару десятков минут накидал вот такую схему:
В схеме есть 2 кнопки для сброса устройства и для перевода ESP-01 в режим ожидания прошивки, светодиод для проверки работы GPIO2 и контакты для подключения простейшего USB-UART.
После создания схемы одним нажатием клавиши Вы получите "заготовку" Вашей платы:
После этого просто разместите компоненты как Вам нравится и воспользуйтесь функцией "Автотрассировщик", что бы получить готовую плату. Первая версия моей платы слева, справа обновленная версия, которую собираюсь заказывать сейчас:
Посл этого сразу в интерфейсе редактора можно отправить заказ на китайский завод. Удовольствие мне стоило 2$ за 10 экземпляров + 6$ за доставку и 12 дней ожидания. Скажу сразу, на территории России по таким ценам я ничего даже близко не нашел)))
АКТ II Работа с железом
Дальше описывать особого смысла нет. У вас есть на руках печатные платы, список компонентов Вы знаете, как они расположены то же. Берем паяльник и делаем из куска текстолита наш инструмент. У меня получилось вот такое:
В первой версии (слева) я сам редактировал дорожки, в новой версии работал автотрассировщик, но я буду еще переделывать эту плату перед заказом
А вот так выглядит само готовое устройство (первая версия платы)
Почему я решил сделать такую плату? Для начала было очень не удобно переводить плату в режим ожидания прошивки, когда она установлена в реле. На любимом китайском сайте были разные варианты, но у всех были свои недочеты, от неудобного форм-фактора до отсутствия кнопочек. Был интерес сделать самостоятельно.
Что планирую в дальнейшем доделать:
1. Добавить на плату микросхему ch340 и usb-micro коннектор, что бы было удобнее
2. Распечатать на 3D принтере небольшой корпус, куда можно будет вставлять ESP-01 и комфортно работать
Как и обещал, оставляю ссылки на свой проект и компоненты, пользуйтесь.
https://easyeda.com/makarov.nag/pr01
Набор компонентов (тактовые кнопки, резисторы, потенциометры, контактные гребенки, светодиоды) - я покупал один раз и использовал в разных проектах, если посчитать стоимость для этого проекта (примерно), то это не больше 5 рублей. Но https://easyeda.com позволяет после подготовки схемы оформить заказ сразу на площадке lcsc.com, цены там сопоставимы Aliexpress.
Надеюсь что хоть для кого-то было полезным))) Спасибо.
P.S. Новая версия платы (NEW_PCBV2) пока не проверялась, я буду точно переделывать плату (менять расположение компонентов и дорожек). Плата (NEW_PCB) 100% рабочая, я ей пользуюсь.
Круто
Отличная работа ;)
В ссылке
http://https//ru.aliexpress.com/item/20pcs-10-pairs-40-Pin-1x40-Single-Row-Male-and-Female-2-54-Breakable-Pin-Header/32724478308.html?spm=a2g0v.search0306.3.8.53c09624pt6ojk&ws_ab_test=searchweb0_0,searchweb201602_0_450_452_532_533_534_10618_535_318_319_10059_10696_10084_100031_10083_10887_320_10307_204_448_10065_449_10068_10103_10884,searchweb201603_0,ppcSwitch_0&algo_pvid=a1333be6-6cdd-47db-a4b8-b418b60f9be8&algo_expid=a1333be6-6cdd-47db-a4b8-b418b60f9be8-0">Контактная гребенка (папа) - 1 шт на 4 контакта
забыл двоеточие поставить после "http", поэтому ссылка не работает
Спасибо, написал модератору, поправят.
Дмитрий, спасибо за проделанную работу оформленную статьёй!
По платке, как я понял чтобы ввести ESP в режим прошивки, то нужно зажав flash нажать reset и не отпуская flash дождаться начала прошивки? Не проще тогда использовать переключатель вместо кнопки flash?
Светодиод для проверки GPIO2 это чтобы из прошивки поморгать? :) Красивое решение для тестирования! Резистор параллельно светодиоду для чего?
"нужно зажав flash нажать reset и не отпуская flash дождаться начала прошивки" - нет, нужно зажав FLASH нажать и отпустить RST - после этого FLASH можно отпускать. При этом светодиод будет гореть постоянно, значит можно скармливать прошивку.
"GPIO2 это чтобы из прошивки поморгать?" - Да, изначально задача была научиться работать с подобными зверьками, по этому для простоты была придумана схема с диодом, нам же надо просто увидеть что мы дали 1 на нужную нам лапку, а светодиод там или схема управления реле это не важно.
"Резистор параллельно светодиоду для чего" - на первой плате резистора нет и светодиод постоянно тускло (еле заметно) горит, резистор для того, что бы этого избежать, в первом варианте и без него все работает, но немного напрягает, так как это не задумывалось, по этому и решил резистор добавить.
"Резистор параллельно светодиоду для чего" - на первой плате резистора нет и светодиод постоянно тускло (еле заметно) горит, резистор для того, что бы этого избежать, в первом варианте и без него все работает, но немного напрягает, так как это не задумывалось, по этому и решил резистор добавить.
Имеешь ввиду что когда "0" на GPIO2, то он без резистора чуть светится? Тогда понятно зачем параллельно поставлен резистор, не непонятно почему на GPIO2 есть небольшое напряжение при "0"
Жду от тебя продолжения статей и в итоге полноценного продукта, как, например, подрозеточный модуль http://tinkerman.cat/the-espurna-board-a-smart-wall-switch-with-power-monitoring/">http://tinkerman.cat/the-espur...
"непонятно почему на GPIO2 есть небольшое напряжение при "0"" - потому что схема не идеальна, в цепи возникают положения "неопределенности", когда и не 0 логический и не 1 логическая. Причин может быть много, для этого и используют притягивающие резисторы.