Оглавление:

HackerBox 0051: Лаборатория MCU: 10 шагов
HackerBox 0051: Лаборатория MCU: 10 шагов

Видео: HackerBox 0051: Лаборатория MCU: 10 шагов

Видео: HackerBox 0051: Лаборатория MCU: 10 шагов
Видео: MCU LAB Demo with Potentiometer and OLED Display 2024, Июль
Anonim
HackerBox 0051: Лаборатория MCU
HackerBox 0051: Лаборатория MCU

Приветствуем хакеров HackerBox со всего мира! HackerBox 0051 представляет лабораторию микроконтроллеров HackerBox. MCU Lab - это платформа разработки для тестирования, разработки и создания прототипов микроконтроллеров и модулей микроконтроллеров. Arduino Nano, модуль ESP32 и SMT32 Black Pill используются для изучения функциональных блоков MCU Lab. Функциональные блоки MCU Lab включают переключатели, кнопки, светодиоды, OLED-дисплей, зуммер, потенциометр, пиксель RGB, переключатель логического уровня, выход VGA, ввод клавиатуры PS / 2, последовательный интерфейс USB и области двойного беспаечного прототипирования.

Это руководство содержит информацию для начала работы с HackerBox 0051, которую можно приобрести здесь, пока расходные материалы есть в наличии. Если вы хотите получать такой HackerBox прямо в свой почтовый ящик каждый месяц, пожалуйста, подпишитесь на HackerBoxes.com и присоединяйтесь к революции!

HackerBoxes - это ежемесячная абонентская служба для хакеров и энтузиастов электроники и компьютерных технологий. Присоединяйтесь к нам в жизни HACK LIFE.

Шаг 1. Список содержимого для HackerBox 0051

  • Модуль MCU 1: Arduino Nano 5 В, 16 МГц
  • Модуль MCU 2: WEMOS ESP32 Lite
  • Модуль MCU 3: Черная таблетка STM32F103C8T6
  • Эксклюзивная лабораторная печатная плата MCU
  • Последовательный USB-адаптер FT232RL
  • Дисплей OLED 128x64 I2C 0,96 дюйма
  • Двунаправленный 8-битный логический переключатель уровня
  • Светодиод WS2812B RGB SMD
  • Четыре тактильные кнопки для поверхностного монтажа
  • Четыре красных диффузных светодиода диаметром 5 мм
  • Пьезо-зуммер
  • Разъем HD15 VGA
  • Разъем Mini-DIN PS / 2 для клавиатуры
  • Потенциометр 100 кОм
  • 8-позиционный DIP-переключатель
  • AMS1117 Линейный регулятор 3,3 В SOT223
  • Два танталовых конденсатора по 22 мкФ 1206 SMD
  • Десять резисторов 680 Ом
  • Четыре клейкие резиновые ножки для печатных плат
  • Две 170-точечные мини-макеты без пайки
  • Одиннадцать 8-контактных гнездовых разъемов
  • 40-контактный разъем Breakaway Header
  • Связка из 65 штекерных перемычек
  • Наклейка на монтажную плату с поднятым кулаком
  • Взломанная Планета Смайлик Пиратская Наклейка
  • Эксклюзивный брелок HackerBox «Удалить перед полетом»

Еще кое-что, что будет полезно:

  • Паяльник, припой и основные паяльные инструменты
  • Компьютер для работы программных средств

Самое главное, вам понадобится чувство приключений, хакерский дух, терпение и любопытство. Создание электроники и эксперименты с ней, хотя и приносят большие плоды, могут быть сложными, сложными и временами даже разочаровывающими. Цель - прогресс, а не совершенство. Когда вы упорствуете и наслаждаетесь приключениями, это хобби может принести большое удовлетворение. Делайте каждый шаг медленно, помните о деталях и не бойтесь просить о помощи.

В FAQ по HackerBoxes есть много информации для нынешних и потенциальных участников. Почти на все письма, не относящиеся к технической поддержке, которые мы получаем, там уже есть ответы, поэтому мы очень признательны за то, что вы уделили несколько минут чтению часто задаваемых вопросов.

Шаг 2: Лаборатория микроконтроллеров HackerBoxes

Лаборатория микроконтроллеров HackerBoxes
Лаборатория микроконтроллеров HackerBoxes

MCU Lab - это компактная отточенная версия платформы разработки, которую мы используем для создания прототипов и тестирования различных конструкций на основе микроконтроллеров (MCU). Он очень полезен для работы с модулями MCU (такими как Arduino Nano, ESP32 DevKit и т. Д.) Или отдельными пакетами устройств MCU (такими как ATMEGA328s, ATtiny85s, PIC и т. Д.). Целевой микроконтроллер можно разместить на любой из миниатюрных беспаечных макетов. Два микроконтроллера могут быть соединены вместе, используя обе макетные платы, или одно из макетов может использоваться для другой схемы.

«Функциональные блоки» MCU Lab разбиты на женские заголовки, похожие на те, что есть в Arduino UNO. Женские разъемы совместимы с штырями перемычки.

Шаг 3. Соберите лабораторию MCU HackerBoxes

Соберите лабораторию HackerBoxes MCU
Соберите лабораторию HackerBoxes MCU

КОМПОНЕНТЫ SMD НА ЗАДНЕЙ ПЛАТЕ

Начните с установки линейного регулятора AMS1117 (корпус SOT 233) и двух конденсаторов фильтра 22 мкФ на обратной стороне печатной платы. Обратите внимание, что одна сторона шелкографии каждого конденсатора прямоугольная, а другая - восьмиугольная. Конденсаторы должны быть ориентированы так, чтобы темная полоса на корпусе совпадала с восьмиугольной стороной шелкографии.

ПРОДОЛЖАЙТЕ КОМПОНЕНТЫ НА ПЕРЕДНЕЙ ПЛАТЕ

Припаяйте светодиод WS2812B RGB. Сориентируйте отмеченный белым угол каждого светодиода так, чтобы он соответствовал углу с вкладками, как показано на шелкографии печатной платы.

Четыре тактильные кнопки SMD

Четыре красных светодиода с четырьмя резисторами

Переключатель уровня с контактом VA, ближайшим к маркировке 3V3, и контактом VB, ближайшим к маркировке 5V. Модуль Level Shifter можно установить заподлицо с печатной платой, припаяв разъемы к модулю, а затем сдвинув черные пластиковые прокладки с разъемов перед установкой модуля на печатную плату MCU Lab. Также можно оставить проставки.

Две полоски заголовка можно отломать для подключения модуля FT232. Меньшая 4-контактная секция разъема также может использоваться для разъема 5V / GND рядом с модулем FT232.

А пока заполните гнездовой разъем VGA, ближайший к разъему HD15 VGA и разъему для клавиатуры. Однако НЕ ЗАПОЛНЯЙТЕ дополнительный заголовок рядом с этим одним или пятью резисторами между этими двумя заголовками. Конкретные варианты интерфейса видеосигнала обсуждаются позже.

Заполните остальные девять женских заголовков.

Удалите клей с задней стороны обеих беспаечных макетов, чтобы прикрепить их к печатной плате MCU Lab.

Поместите липкие резиновые ножки в нижнюю часть печатной платы MCU Lab, чтобы защитить рабочий стол от царапин.

ОБРАЩЕНИЕ С ВХОДАМИ ПИТАНИЯ

Есть как минимум два, а, скорее всего, целых четыре места, где питание может поступать в лабораторию MCU. Это может вызвать проблемы, поэтому всегда внимательно учитывайте следующие указания:

Все точки заголовка, обозначенные 5V, подключены. Шина 5 В также подключается к разъему клавиатуры, переключателю уровня и RGB-светодиоду WS2812B. Питание может подаваться на шину 5 В, подключив FT232 к USB, подключив четырехконтактный разъем питания к внешнему источнику питания или подключив перемычку от одного из контактов 5 В на печатной плате к модулю 5 В с питанием (обычно с питанием от USB.).

Точно так же все контакты GND подключены. Они подключаются к USB GND на FT232 (при условии, что USB подключен к FT232). Они также могут быть подключены к земле с помощью перемычки между одним из них и модулем с питанием, как описано для сети 5 В.

Рейка 3V3 приводится в действие регулятором на задней стороне печатной платы. Это только источник, и (в отличие от шины 5 В) он не должен приводиться в действие какими-либо модулями или другими цепями, поскольку он управляется непосредственно от регулятора на шине 5 В.

Шаг 4: модуль микроконтроллера Arduino Nano

Модуль Arduino Nano MCU
Модуль Arduino Nano MCU

В наши дни одним из самых распространенных модулей MCU является Arduino Nano. Входящая в комплект плата Arduino Nano поставляется с контактами заголовка, но они не припаяны к модулю. Пока оставьте булавки отключенными. Выполните эти начальные тесты на модуле Arduino Nano перед пайкой контактов разъема. Все, что для этого нужно, - это кабель microUSB и плата Arduino Nano в том виде, в каком она достается из сумки.

Arduino Nano - это миниатюрная плата Arduino для поверхностного монтажа, удобная для макетирования, со встроенным USB. Это потрясающе полнофункциональная программа, которую легко взломать.

Функции:

  • Микроконтроллер: Atmel ATmega328P
  • Напряжение: 5 В
  • Цифровые контакты ввода / вывода: 14 (6 ШИМ)
  • Аналоговые входные контакты: 8
  • Постоянный ток на контакт ввода / вывода: 40 мА
  • Флэш-память: 32 КБ (2 КБ для загрузчика)
  • SRAM: 2 КБ
  • EEPROM: 1 КБ
  • Тактовая частота: 16 МГц
  • Размеры: 17 мм x 43 мм

Этот конкретный вариант Arduino Nano - это черный Robotdyn Nano. Он включает в себя встроенный порт MicroUSB, подключенный к микросхеме моста CH340G USB / Serial. Подробную информацию о CH340 (и драйверах, при необходимости) можно найти здесь.

Когда вы впервые подключаете Arduino Nano к USB-порту компьютера, должен загореться зеленый индикатор питания, а вскоре после этого синий индикатор должен начать медленно мигать. Это происходит потому, что в Nano предварительно загружена программа BLINK, которая работает на новом Arduino Nano.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: если у вас еще не установлена Arduino IDE, вы можете загрузить ее с Arduino.cc

Подключите Nano к кабелю MicroUSB, а другой конец кабеля к USB-порту компьютера. Запустите программу Arduino IDE. Выберите «Arduino Nano» в среде IDE в разделе «Инструменты»> «Плата» и «ATmega328P (старый загрузчик)» в разделе «Инструменты»> «Процессор». Выберите соответствующий USB-порт в разделе «Инструменты»> «Порт» (вероятно, это имя с «wchusb»).

Наконец, загрузите фрагмент кода примера: Файл-> Примеры-> Основы-> Blink.

Blink - это на самом деле код, который был предварительно загружен в Nano и должен работать прямо сейчас, чтобы медленно мигать синим светодиодом. Соответственно, если мы загрузим этот пример кода, ничего не изменится. Вместо этого давайте немного изменим код.

Присмотревшись, вы можете увидеть, что программа включает светодиод, ждет 1000 миллисекунд (одну секунду), выключает светодиод, ждет еще секунду, а затем делает все это снова - навсегда.

Измените код, изменив оба оператора «delay (1000)» на «delay (100)». Эта модификация заставит светодиод мигать в десять раз быстрее, не так ли?

Давайте загрузим измененный код в Nano, нажав кнопку ЗАГРУЗИТЬ (значок стрелки) прямо над измененным кодом. Посмотрите ниже код для информации о статусе: «компиляция», а затем «загрузка». В конце концов, в среде IDE должно появиться сообщение «Загрузка завершена», а светодиодный индикатор должен мигать быстрее.

Если да, то поздравляю! Вы только что взломали свой первый фрагмент встроенного кода.

После того, как ваша версия с быстрым миганием загружена и запущена, почему бы не посмотреть, можете ли вы снова изменить код, чтобы светодиод быстро мигал дважды, а затем подождал пару секунд перед повторением? Попробуйте! Как насчет других шаблонов? Как только вам удастся визуализировать желаемый результат, закодировать его и наблюдать, как он работает, как запланировано, вы сделали огромный шаг к тому, чтобы стать компетентным хакером оборудования.

Теперь, когда вы подтвердили работу модуля Nano, припаяйте к нему контакты заголовка. После подключения разъемов модуль можно легко использовать в одной из беспаечных макетов MCU Lab. Этот процесс тестирования модуля MCU путем загрузки простого тестового кода, изменения и повторной загрузки является наилучшей практикой при использовании модуля MCU нового или другого типа.

Если вам нужна дополнительная вводная информация для работы в экосистеме Arduino, мы предлагаем ознакомиться с Руководством по HackerBoxes Starter Workshop, которое включает несколько примеров и ссылку на PDF-учебник Arduino.

Шаг 5. Изучите лабораторию MCU с Arduino Nano

Изучите лабораторию MCU с Arduino Nano
Изучите лабораторию MCU с Arduino Nano

ПОТЕНЦИОМЕТР

Подключите центральный штифт потенциометра к Nano Pin A0.

Загрузка и запуск: Примеры> Аналоговый> Аналоговый ввод

В примере по умолчанию используется встроенный светодиод Nano. Поверните потенциометр, чтобы изменить скорость мигания.

Изменить:

В коде измените LedPin = 13 на 4

Перемычка от Nano Pin 4 (и GND) к одному из красных светодиодов MCU Lab.

ЗУММЕР

Перемычка между зуммером и Nano Pin 8. Убедитесь, что GND платы подключен к GND включенного Nano, так как земля зуммера жестко подключена к сети GND платы.

Загрузить и запустить: Примеры> Цифровой> toneMelody

OLED-ДИСПЛЕЙ

В среде Arduino IDE используйте менеджер библиотек для установки «ssd1306» от Алексея Дыны.

Подключите OLED: GND к GND, VCC к 5 В, SCL к A5 Nano, SDA к A4 Nano

Загрузить и запустить: Примеры> ssd1306> demos> ssd1306_demo

WS2812B RGB светодиод

В среде Arduino IDE используйте менеджер библиотек для установки FastLED.

Подключите контакт заголовка WS2812 к контакту 5 Nano.

Загрузить: Примеры> FastLED> ColorPalette

Измените NUM_LEDS на 1 и LED_TYPE на WS2812B

Скомпилировать и запустить

НАПИШИТЕ НЕКОТОРЫЙ КОД, ЧТОБЫ ИСПОЛЬЗОВАТЬ КНОПКИ И ПЕРЕКЛЮЧАТЕЛИ

Не забудьте использовать pinMode (INPUT_PULLUP) для чтения кнопки без добавления резистора.

СОЕДИНИТЕ НЕКОТОРЫЕ ИЗ ЭТИ ПРИМЕРЫ ВМЕСТЕ

Например, циклически переключайте выходы каким-либо интересным образом и показывайте состояния или входные значения на OLED-экране или мониторе последовательного порта.

Шаг 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

Микроконтроллер ESP32 (MCU) - это недорогая система с низким энергопотреблением на микросхеме (SOC) со встроенным Wi-Fi и двухрежимным Bluetooth. ESP32 использует ядро Tensilica Xtensa LX6 и включает встроенные антенные переключатели, ВЧ балун, усилитель мощности, малошумящий усилитель приема, фильтры и модули управления питанием. (википедия)

Модуль WEMOS ESP32 Lite более компактен, чем предыдущая версия, что упрощает использование на макетной плате без пайки.

Сделайте первоначальный тест модуля WEMOS ESP32 перед тем, как припаивать штырьки заголовка к модулю.

Настройте пакет поддержки ESP32 в Arduino IDE.

В разделе "Инструменты"> "Доска" обязательно выберите "WeMos LOLIN32".

Загрузите пример кода в Файлы> Примеры> Основы> Blink и запрограммируйте его на WeMos LOLIN32.

Программа-пример должна вызвать мигание светодиода на модуле. Поэкспериментируйте с изменением параметров задержки, чтобы светодиодный индикатор мигал по-разному. Это всегда хорошее упражнение для повышения уверенности в программировании нового модуля микроконтроллера.

Когда вы освоитесь с работой модуля и с тем, как его программировать, аккуратно припаяйте два ряда выводов заголовка на место и еще раз протестируйте программы загрузки.

Шаг 7: Генерация видео ESP32

Image
Image

Это видео демонстрирует библиотеку ESP32 VGA и очень хорошее, простое руководство из лаборатории bitluni.

В продемонстрированной 3-битной реализации (8 цветов) используются прямые перемычки между модулем ESP32 и разъемом VGA. Выполнить эти подключения через VGA-заголовок MCU Lab довольно просто, так как никаких дополнительных компонентов не требуется.

В зависимости от того, какой микроконтроллер используется, его уровня напряжения, разрешения пикселей и желаемой глубины цвета, существуют различные комбинации встроенных резисторов и резисторных цепей, которые могут быть размещены между микроконтроллером и разъемом VGA. Если вы решите постоянно использовать встроенные резисторы, их можно припаять к печатной плате MCU Lab. Если вы хотите сохранить гибкость, и особенно если вы хотите использовать более сложные решения, рекомендуется не паять резисторы на место, а просто использовать беспаечные платы и разъем VGA для подключения необходимых резисторов.

Например, для реализации 14-битного цветового режима bituni, показанного в конце видео, модуль ESP32 можно разместить на одной из мини-плат без пайки, а другую плату без пайки можно использовать для подключения лестниц резисторов.

Вот еще несколько примеров:

В HackerBox 0047 Arduino Nano управляет простым выходом VGA с 4 резисторами.

Эмулятор VIC20 реализован на ESP32 с использованием FabGL и 6 резисторов.

Реализуйте BASIC PC, используя ESP32 и 3 резистора.

Играйте в Space Invaders на ESP32, используя FabGL и 6 резисторов.

Сгенерируйте выход VGA на STM32 с 6 резисторами.

Одновременное использование текстовых и графических слоев на STM32 с демонстрацией видео.

Шаг 8: Модуль микроконтроллера STM32F103C8T6 Black Pill

TXS0108E 8-битный логический переключатель уровня
TXS0108E 8-битный логический переключатель уровня

Black Pill - это модуль MCU на основе STM32. Это улучшенный вариант обычной синей таблетки и менее распространенной красной таблетки.

Black Pill оснащен 32-битным микроконтроллером ARM M3 STM32F103C8T6 (таблица данных), четырехконтактным разъемом ST-Link, портом MicroUSB и пользовательским светодиодом на PB12. Подходящий подтягивающий резистор на PA12 устанавливается для правильной работы USB-порта. Это подтягивание обычно требовало модификации доски на других досках для таблеток.

Внешне Black Pill похожа на Arduino Nano, но намного мощнее. 32-битный микроконтроллер ARM STM32F103C8T6 может работать на частоте 72 МГц. Он может выполнять однократное умножение и аппаратное деление. Он имеет 64 Кбайт флеш-памяти и 20 Кбайт SRAM.

Программирование STM32 из Arduino IDE.

Шаг 9: 8-битный логический переключатель уровня TXS0108E

TXS0108E (техническое описание) - это 8-битный двунаправленный логический переключатель уровня. Модуль настроен на сигналы сдвига уровня от 3,3 В до 5 В.

Поскольку каналы уровня сигнала являются двунаправленными, плавающие входы могут вызвать непреднамеренное срабатывание соответствующих выходов. Для защиты в таких сценариях предоставляется элемент управления выходом (OE). Следует проявлять осторожность в зависимости от того, как подключено устройство переключения, чтобы убедиться, что выходной сигнал переключателя (либо «преднамеренный», либо из-за плавающего входа на другой стороне) никогда не может перекрестно перемещать выходной сигнал другого устройства.

Штырь OE остается отсоединенным на следах печатной платы. Под модулем имеется двухконтактный разъем для подключения OE и 3V3. Замыкание двухконтактного разъема (с помощью куска провода или блока перемычек) подключает OE к 3V3, что позволяет ИС управлять своими выходами. К выводу OE также можно подключить понижающий резистор и логическое управление.

Шаг 10: HackLife

HackLife
HackLife

Мы надеемся, что в этом месяце вы наслаждаетесь приключениями HackerBox в области электроники и компьютерных технологий. Сообщите о своем успехе в комментариях ниже или в группе HackerBoxes на Facebook. Также помните, что вы можете в любое время написать на [email protected], если у вас возникнут вопросы или вам понадобится помощь.

Что дальше? Присоединяйся к революции. Живите HackLife. Получайте классную коробку со взломанным оборудованием, которое доставляется прямо в ваш почтовый ящик каждый месяц. Зайдите на HackerBoxes.com и оформите ежемесячную подписку на HackerBox.

Рекомендуемые: