Оглавление:
- Шаг 1. Список содержимого для HackerBox 0050
- Шаг 2: Печатная плата HB50
- Шаг 3: Поднимите плату HB50
- Шаг 4: Кнопки, зуммеры и светодиоды, О МОЙ
- Шаг 5: QVGA цветной TFT ЖК-дисплей ILI9341
- Шаг 6: ввод данных пользователем на сенсорном экране
- Шаг 7. Клавиатура CardKB I2C
- Шаг 8:
Видео: HackerBox 0050: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Приветствуем хакеров HackerBox со всего мира! Для HackerBox 0050 мы собираем и программируем плату встроенного процессора HB50. HB50 поддерживает эксперименты с микроконтроллерами ESP32, встроенным IoT WiFi, побитовым звуком, светодиодами RGB, полноцветными ЖК-дисплеями TFT, входами для сенсорного экрана, Bluetooth и многим другим. HackerBox 0050 также исследует решение крошечной клавиатуры для любого встраиваемого проекта, интерфейсов I2C, бюджета энергопотребления и сотовых автоматов.
Это руководство содержит информацию для начала работы с HackerBox 0050, которую можно приобрести здесь, пока расходные материалы есть в наличии. Если вы хотите получать такой HackerBox прямо в свой почтовый ящик каждый месяц, пожалуйста, подпишитесь на HackerBoxes.com и присоединяйтесь к революции!
HackerBoxes - это ежемесячная абонентская служба для хакеров и энтузиастов электроники и компьютерных технологий. Присоединяйтесь к нам в жизни HACK LIFE.
Шаг 1. Список содержимого для HackerBox 0050
- Эксклюзивная печатная плата HB50
- ESP-WROOM-32 Двухъядерный WiFi-модуль
- Цветной TFT ЖК-дисплей QVGA, 2,4 дюйма
- Встроенный сенсорный экран со стилусом
- Шесть светодиодов WS2812B RGB
- Шесть тактильных кнопок для поверхностного монтажа
- Пьезозуммер 12 мм SMD
- AMS1117 Линейный регулятор 3,3 В SOT223
- Отрывной заголовок под прямым углом 40pin
- Два танталовых конденсатора по 22 мкФ 1206 SMD
- Два резистора 10 кОм 0805 SMD
- CardKB Mini Keyboard
- Кабель DuPont Breakout от Grove к гнезду
- Последовательный USB-модуль CP2102
- Джемперы DuPont женские-женские 10см
- Наклейка на печатную плату Hokusai Great Wave
- Эксклюзивная наклейка HackerBox WireHead
- Эксклюзивная монета испытания HackerBox 50
Еще кое-что, что будет полезно:
- Паяльник, припой и основные паяльные инструменты
- Компьютер для работы программных средств
Самое главное, вам понадобится чувство приключений, хакерский дух, терпение и любопытство. Создание электроники и эксперименты с ней, хотя и приносят большие плоды, могут быть сложными, сложными и временами даже разочаровывающими. Цель - прогресс, а не совершенство. Когда вы упорствуете и наслаждаетесь приключениями, это хобби может принести большое удовлетворение. Делайте каждый шаг медленно, помните о деталях и не бойтесь просить о помощи.
В FAQ по HackerBoxes есть много информации для нынешних и потенциальных участников. Почти на все письма, не относящиеся к технической поддержке, которые мы получаем, там уже есть ответы, поэтому мы очень признательны за то, что вы уделили несколько минут чтению часто задаваемых вопросов.
Шаг 2: Печатная плата HB50
В ознаменование HackerBox Number 0050 по многочисленным просьбам мы выпустили обновленную версию самой популярной печатной платы HackerBox. Набор значков летнего лагеря HackerBox 0020 был распродан на DEF CON 25 менее чем за два часа. Файлы PCB с тех пор часто запрашиваются. Плата как минимум пару раз перепечатывалась третьими лицами. Дизайн вдохновил на создание нескольких других значков и встроенных проектов Интернета вещей, о которых мы знаем, и, надеюсь, еще нескольких, о которых мы не знаем.
Обновления, обнаруженные в новом наборе печатной платы HB50, включают замену ESP-32 DEVkitC на более компактный модуль ESP-WROOM-32. Пять емкостных сенсорных кнопок заменены механическими тактильными кнопками. Пять светодиодов RGB WS2812, которые были в белых корпусах, были увеличены до шести и теперь находятся в черных корпусах. Пьезозуммер был заменен более компактной версией для поверхностного монтажа. Блок питания был упрощен. Цветной TFT-дисплей увеличен с 2,2 до 2,4 дюйма. Печатная плата более компактна и даже имеет несколько выводов ввода-вывода для вашего удовольствия от взлома. Со времен HackerBox 20 для ESP32 доступно намного больше проектов, примеров и кода, так что давайте приготовимся к грохоту …
Функции:
- Двухъядерный процессор ESP32 160 МГц
- 2,4-дюймовый цветной TFT ЖК-дисплей QVGA
- Wi-Fi 802.11 b / g / n / d / e / i / k / r
- Bluetooth LE 5.0
- Пять тактильных кнопок (+ одна для сброса)
- Шесть светодиодов RGB WS2812
- Пьезо-зуммер
- Линейный регулятор 3,3 В
- Заголовок расширения
Как и его предшественник, HB50 можно носить на шнурке, использовать в качестве портативного устройства, закрепить на стене или развернуть практически в любом месте в бесчисленных беспроводных и красочных приложениях.
Шаг 3: Поднимите плату HB50
Чтобы свести к минимуму или, по крайней мере, изолировать ошибки, мы предлагаем начать сборку с установки на печатную плату HB50 только минимума компонентов, которые требуются для программирования ESP32. Этот минимально жизнеспособный подход изложен в следующих шагах:
- Посмотрите это видео о пайке зубчатых модулей.
- Припаяйте модуль ESP-WROOM-32 к плате. Не торопитесь. Не беспокойтесь о центральной заземляющей площадке под модулем. Его можно паять только оплавлением и только для дополнительной тепловой связи.
- Используйте мультиметр, чтобы убедиться, что нет короткого замыкания между 3V3 и GND. Если есть короткое замыкание, его необходимо идентифицировать и удалить перед подачей питания на доску, иначе дымовой монстр может вылезти наружу.
- Припаяйте два резистора 10 кОм чуть выше кнопок EN и IO0.
- Припаиваем кнопки EN и IO0. Остальные четыре кнопки пока можно не выключать.
- Отломите 16-контактную полоску заголовка. Вставьте его со стороны процессора на печатной плате так, чтобы контакты указывали на ближайший край печатной платы. Затем припаяйте перемычку на место со стороны кнопок на печатной плате.
- Еще раз убедитесь, что между 3V3 и GND нет коротких замыканий.
- Используйте четыре перемычки DuPont для подключения модуля CP2102, как показано на рисунке. Обратите внимание, что мы временно используем источник питания 3V3, поскольку линейный регулятор еще не установлен на печатной плате.
- Если на вашем компьютере еще не установлена Arduino IDE, получите ее здесь.
- Настройте поддержку ESP32 в среде Arduino IDE с помощью этого руководства.
- В среде IDE установите для tools> board значение «ESP32 Wrover Module».
- Подключите модуль CP2102 к USB-порту компьютера.
- В среде IDE установите tools> port на правильный порт USB для CP2102.
- Если новый порт не появляется при вставке модуля CP2102, установите требуемый драйвер USB из Silicon Labs.
- Возьмите скетч button_demo.
- Скомпилируйте и загрузите эскиз.
- Когда загрузка начнется, нажмите и удерживайте кнопки EN и IO0. EN - это, по сути, кнопка сброса, а IO0 - фиксирующий штифт для принудительного перепрограммирования вспышки.
- Как только в среде IDE появятся точки и тире, отпустите кнопку EN (отпустите сброс), но продолжайте удерживать кнопку IO0, пока не начнется программирование флэш-памяти, чтобы убедиться, что фиксирующий штифт распознан при загрузке.
- Когда программирование будет завершено, снова нажмите кнопку EN, чтобы сбросить и запустить новый мигающий код.
- Откройте последовательный монитор Arduino IDE и установите его на 115200 бод.
- При нажатии кнопки IO0 на мониторе последовательного порта должно появиться сообщение.
Шаг 4: Кнопки, зуммеры и светодиоды, О МОЙ
БОЛЬШЕ КНОПОК
Как только начальный шаг программирования будет успешным, выключите плату HB50 и припаяйте оставшиеся четыре кнопки. Тот же самый скетч button_demo теперь должен сообщать обо всех пяти кнопках (IO0, A, B, C и D) последовательному монитору при их нажатии.
ЗУММЕР
Выключите плату HB50 и припаяйте зуммер к контактным площадкам. Сориентируйте точку на зуммере так, чтобы она находилась ближе всего к полюсу «+» на плате HB50. Запрограммируйте скетч buzzer_demo и сбросьте (EN) плату, чтобы она работала. Звучит отлично?
RGB светодиоды WS2812B
Выключите плату HB50 и припаяйте шесть светодиодов к контактным площадкам. Сориентируйте отмеченный белым угол каждого светодиода так, чтобы он соответствовал углу с вкладками, как показано на шелкографии печатной платы.
В инструментах Arduino IDE> Управление библиотеками установите библиотеку FastLED.
Откройте эскиз: Файл> Примеры> FastLED> ColorPalette.
В коде скетча измените LED_PIN на 13, NUM_LEDS на 6 и LED_TYPE на WS2812B.
Загрузите эскиз и сбросьте (EN) плату, чтобы она работала. Наслаждайтесь мигающими огнями любого цвета.
ЛИНЕЙНЫЙ РЕГУЛЯТОР МОЩНОСТИ
При включенных светодиодах (особенно при включенном передатчике WiFi) HB50 потребляет много тока от источника 3V3. Давайте улучшим мощность 3,3 В, припаяв линейный регулятор AMS1117 (SOT 233 Package) на место. Также установите два конденсатора фильтра 22 мкФ рядом с регулятором. Обратите внимание, что одна сторона шелкографии каждого конденсатора прямоугольная, а другая - восьмиугольная. Конденсаторы должны быть ориентированы так, чтобы темная полоса на корпусе совпадала с восьмиугольной стороной шелкографии. Регулятор теперь преобразует часть питания 5 В в 3,3 В и может обеспечивать намного больший ток, чем сам модуль CP2102. Чтобы теперь подать питание на HB50 через источник питания 5 В, переместите ОБА КОНЕЦ перемычки 3V3 DuPont в положение 5 В. То есть подайте 5 В от модуля CP2102 на один из входных контактов 5 В на разъеме HB50. Обратите внимание, что на вывод 5V на самом деле может подаваться любое напряжение от 3,5 до 5 В.
Шаг 5: QVGA цветной TFT ЖК-дисплей ILI9341
Дисплей MSP2402 (страница lcdwiki) - это модуль шины SPI, основанный на микросхеме ILI9341. Чип управляет 2,4-дюймовым цветным экраном, поддерживающим 65 000 цветов и разрешением 320X240 пикселей (QVGA).
Модуль также оснащен сенсорным экраном и слотом для SD-карты.
ПРЕДВАРИТЕЛЬНЫЕ КОНТАКТЫ ВВОДА / ВЫВОДА ДИСПЛЕЯ
Если до этого момента у вас были проблемы с пайкой контактов ESP-WROOM-32, было бы неплохо предварительно протестировать контакты ввода / вывода модуля дисплея, прежде чем паять модуль дисплея на место. Как показано ниже и на схематической диаграмме печатной платы, задействованы входы-выходы ESP32 19, 23, 18, 5, 22, 21 и 15. Обратите внимание, что это номера входов-выходов, а не номера контактов. Контакты можно проверить, написав небольшую программу, которая устанавливает все эти входы-выходы в качестве выходов, а затем циклически циклически перебирает входы-выходы, включая и выключая каждый из них по очереди с задержкой в секунду или две. Простой светодиод с присоединенным токоограничивающим резистором можно использовать в качестве пробника, чтобы убедиться, что каждый вывод ввода-вывода, сопоставленный с заголовками дисплея (см. Схему), правильно включается и выключается и что ни один из них не соединен вместе.
После проверки всех контактов TFT-дисплей можно припаять на место, используя как длинные, так и короткие заголовки.
УСТАНОВИТЕ И НАСТРОЙТЕ БИБЛИОТЕКУ TFT
В среде Arduino IDE: инструменты> Управление библиотеками установите библиотеку TFT_eSPI.
Перейдите в папку библиотек Arduino. Откройте папку TFT_eSPI и отредактируйте файл User_Setup.h, чтобы настроить микросхему драйвера модуля, разрешение пикселей и контакты ввода-вывода. Сделайте это, убедившись, что определения (без) прокомментированы, как показано ниже, и установлены в значения, как показано. Вы можете убедиться, что они соответствуют соединениям на схеме печатной платы.
// Секция 1.
#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Раздел 2. // Для платы разработчика ESP32 #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 5 #define # Tfine_DC 22 TFT_RST -1 // # определить TFT_BL 32 # определить TOUCH_CS 15
Откройте и загрузите скетч:
Файл> Примеры> TFT_eSPI> 320 x 240> Cellular_Automata
Этот набросок - отличная наглядная демонстрация «Игры жизни» Конвея.
Хакерский планер может появиться на свет … следите!
ОТОБРАЖЕНИЕ ЛОГОТИПА HACKERBOX НА TFT LCD
Попробуйте скетч BitHeadDemo.
Шаг 6: ввод данных пользователем на сенсорном экране
Следующий эскиз можно использовать для настройки и проверки функциональности сенсорного экрана:
Файл> Примеры> TFT_eSPI> 320 x 240> Keypad_240x320
Кнопка «отправить» передает введенное число на серийный монитор со скоростью 9600 бод.
Шаг 7. Клавиатура CardKB I2C
На этой крошечной плате реализована полнофункциональная QWERTY-клавиатура, которую можно использовать практически с любыми вашими проектами микроконтроллеров. Клавиатура обменивается данными через порт GROVE A (интерфейс I2C) по адресу 0x5F. Комбинации кнопок (Sym + Key, Shift + Key, Fn + Key) поддерживаются для вывода значений расширенных ключей.
Начните с простого примера скетча CardKB_Serial, который обменивается данными с клавиатурой через GROVE I2C и отображает нажатия клавиш на Serial Monitor. Скетч можно запустить на ESP32 (например, HB50), Arduino UNO, Arduino Nano или на любой платформе, поддерживающей I2C.
Обратите внимание, что есть два разных вызова Wire.begin для ESP32 и UNO / Nano. Раскомментируйте одну из этих строк для используемого хоста. Подключите желтый и белый провода GROVE к контактам, указанным в этой строке кода. Подключите красный провод GROVE к 5 В, а черный провод GROVE к GND.
Страница документации производителя. Обратите внимание, что даже несмотря на то, что встроенный микроконтроллер CardKB поставляется предварительно запрограммированным, источник прошивки доступен, если вы хотите взломать клавиатуру.
Шаг 8:
Мы надеемся, что в этом месяце вы наслаждаетесь приключениями HackerBox в области электроники и компьютерных технологий. Сообщите о своем успехе в комментариях ниже или в группе HackerBoxes на Facebook. Также помните, что вы можете в любое время написать на [email protected], если у вас возникнут вопросы или вам понадобится помощь.
Что дальше? Присоединяйся к революции. Живите HackLife. Получайте классную коробку со взломанным оборудованием, которое доставляется прямо в ваш почтовый ящик каждый месяц. Зайдите на HackerBoxes.com и оформите ежемесячную подписку на HackerBox.
Рекомендуемые:
HackerBox 0060: площадка: 11 шагов
HackerBox 0060: игровая площадка: Приветствуем хакеров HackerBox со всего мира! С HackerBox 0060 вы будете экспериментировать с Adafruit Circuit Playground Bluefruit с мощным микроконтроллером ARM Cortex M4 Nordic Semiconductor nRF52840. Изучите встроенное программирование с помощью
HackerBox 0041: CircuitPython: 8 шагов
HackerBox 0041: CircuitPython: привет хакерам HackerBox со всего мира. HackerBox 0041 предлагает нам CircuitPython, MakeCode Arcade, Atari Punk Console и многое другое. Это руководство содержит информацию для начала работы с HackerBox 0041, который можно приобрести в
HackerBox 0058: Кодирование: 7 шагов
HackerBox 0058: Encode: привет хакерам HackerBox со всего мира! С HackerBox 0058 мы исследуем кодирование информации, штрих-коды, QR-коды, программирование Arduino Pro Micro, встроенные ЖК-дисплеи, интеграцию генерации штрих-кодов в проекты Arduino, человеческий вклад
HackerBox 0057: безопасный режим: 9 шагов
HackerBox 0057: Безопасный режим: привет хакерам HackerBox со всего мира! HackerBox 0057 приносит целую деревню Интернета вещей, беспроводной связи, взлома и, конечно же, взлома оборудования прямо в вашу домашнюю лабораторию. Мы рассмотрим программирование микроконтроллеров, эксплойты IoT Wi-Fi, Bluetooth int
HackerBox 0034: SubGHz: 15 шагов
HackerBox 0034: SubGHz: В этом месяце хакеры HackerBox изучают программно-определяемое радио (SDR) и радиосвязь на частотах ниже 1 ГГц. Это руководство содержит информацию для начала работы с HackerBox # 0034, которую можно приобрести здесь, пока поставляет