Съдържание:

HackerBox 0051: MCU Lab: 10 стъпки
HackerBox 0051: MCU Lab: 10 стъпки

Видео: HackerBox 0051: MCU Lab: 10 стъпки

Видео: HackerBox 0051: MCU Lab: 10 стъпки
Видео: MCU LAB Demo with Potentiometer and OLED Display 2024, Юли
Anonim
HackerBox 0051: MCU Lab
HackerBox 0051: MCU Lab

Поздрави на HackerBox хакери по целия свят! HackerBox 0051 представя HackerBox MCU Lab. 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 5V, 16MHz
  • MCU модул 2: WEMOS ESP32 Lite
  • MCU модул 3: STM32F103C8T6 Черно хапче
  • Ексклузивна MCU лабораторна печатна платка
  • FT232RL USB сериен адаптер
  • OLED 128x64 дисплей I2C 0,96 инча
  • Двупосочен 8-битов превключвател на логически нива
  • WS2812B RGB SMD LED
  • Четири тактилни бутона за повърхностно монтиране
  • Четири червени дифузни 5 мм светодиода
  • Пиезо зумер
  • HD15 VGA конектор
  • Съединител за клавиатура Mini-DIN PS/2
  • Потенциометър 100K Ohm
  • 8 позиционен DIP превключвател
  • AMS1117 3.3V линеен регулатор SOT223
  • Два 22uF танталови кондензатора 1206 SMD
  • Десет резистора 680 ома
  • Четири лепилни гумени печатни платки
  • Две 170 -точкови мини запоени дъски
  • Единадесет 8 -пинови гнезда за женски заглавки
  • 40 пинов откъсващ се заглавие
  • Пакет от 65 мъжки джъмпера
  • Стикер за повдигнат юмрук
  • Hack The Planet Smiley Pirate Sticker
  • Изключителен ключодържател HackerBox „Премахване преди полет“

Някои други неща, които ще бъдат полезни:

  • Поялник, спойка и основни инструменти за запояване
  • Компютър за стартиране на софтуерни инструменти

Най -важното е, че ще имате нужда от приключение, хакерски дух, търпение и любопитство. Изграждането и експериментирането с електроника, макар и много възнаграждаващо, може да бъде сложно, предизвикателно и дори разочароващо понякога. Целта е напредък, а не съвършенство. Когато упорствате и се наслаждавате на приключението, от това хоби може да се получи голямо удовлетворение. Направете всяка стъпка бавно, обърнете внимание на детайлите и не се страхувайте да помолите за помощ.

В често задаваните въпроси за HackerBoxes има богата информация за настоящи и бъдещи членове. Почти всички имейли за нетехническа поддръжка, които получаваме, вече са отговорени там, така че наистина оценяваме, че отделихте няколко минути, за да прочетете често задаваните въпроси.

Стъпка 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

MCU Lab е компактна, полирана версия на платформа за разработка, която използваме за прототипиране и тестване на различни дизайни, базирани на микроконтролер (MCU). Той е супер полезен за работа с MCU модули (като Arduino Nano, ESP32 DevKit и т.н.) или отделни пакети MCU устройства (като ATMEGA328s, ATtiny85s, PIC и т.н.). Целевият MCU може да бъде поставен във всяка от мини платките без спойка. Две MCU могат да бъдат свързани помежду си, като се използват и двете платки или едно от пространствата за макет може да се използва за други схеми.

„Функционалните блокове“на лабораторията MCU са разбити на женски заглавия, подобни на тези, намерени в Arduino UNO. Женските заглавки са съвместими с мъжки щифтове.

Стъпка 3: Съберете HackerBoxes MCU Lab

Съберете HackerBoxes MCU Lab
Съберете HackerBoxes MCU Lab

SMD КОМПОНЕНТИ НА ГЪРБОТО НА ДЪСКАТА

Започнете с монтирането на линеен регулатор AMS1117 (пакет SOT 233) и двата 22uF филтърни кондензатора на обратната страна на печатната платка. Обърнете внимание, че едната страна на всеки кондензаторен копринен екран е правоъгълна, а другата страна е осмоъгълна. Кондензаторите трябва да бъдат ориентирани така, че тъмната ивица на опаковката да се подравнява към осмоъгълната страна на копринената печат.

Продължете с компоненти отпред на дъската

Запоявайте WS2812B RGB LED. Насочете белия маркиран ъгъл на всеки светодиод, така че да съответства на ъгъла с раздели, както е показано на печатната платка.

Четири SMD тактилни бутона

Четири червени светодиода с четири резистора

Нивелирен превключвател с VA щифт най -близката маркировка 3V3 и VB щифт най -близката маркировка 5V. Модулът за превключване на нивата може да бъде монтиран на нивото на печатната платка чрез запояване на заглавките към модула и след това плъзгане на черните пластмасови дистанционни елементи от заглавките, преди да се монтира модулът към MCB Lab PCB. Оставянето на дистанционерите също е добре.

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

Засега попълнете женския VGA хедър най -близо до VGA конектора HD15 и гнездото за клавиатура. НЕ ПОПУЛИРАЙТЕ допълнителния хедър в съседство с този един или петте резистора между тези два заглавия. Специфичните опции за свързване на видео сигнал са обсъдени по -късно.

Попълнете останалите девет женски заглавки.

Отстранете лепилото от задната страна на двете споени платки, за да ги прикрепите към печатната платка на MCU Lab.

Поставете самозалепващи се гумени крачета до дъното на печатната платка на MCU Lab, за да предпазите работната маса от драскотини.

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

Има поне две и по -вероятно цели четири места, където мощността може да дойде в лабораторията на MCU. Това може да причини проблеми, така че винаги внимателно обмисляйте следните указания:

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

По подобен начин всички PND контакти са свързани. Те се свързват към USB GND на FT232 (ако приемем, че USB е свързан към FT232). Те също могат да бъдат свързани към земята, като се използва джъмпер между един от тях и захранващ модул, както е обсъдено за 5V мрежата.

Релсата 3V3 се задвижва от регулатора на гърба на печатната платка. Той е само източник и (за разлика от 5V релсата) не трябва да се задвижва от никакви модули или други вериги, тъй като се задвижва директно от регулатора на 5V шината.

Стъпка 4: Arduino Nano MCU модул

Arduino Nano MCU модул
Arduino Nano MCU модул

Един от най -често срещаните MCU модули в наши дни е Arduino Nano. Включената платка Arduino Nano идва с щифтове за заглавки, но те не са запоени към модула. Оставете щифтовете изключени засега. Извършете тези първоначални тестове на модула Arduino Nano преди запояване на щифтовете на заглавката. Всичко, което е необходимо, е microUSB кабел и дъската Arduino Nano точно както излиза от чантата.

Arduino Nano е миниатюризирана дъска Arduino с повърхностен монтаж, подходяща за макет, с вграден USB. Той е невероятно пълнофункционален и лесен за хакване.

Характеристика:

  • Микроконтролер: Atmel ATmega328P
  • Напрежение: 5V
  • Цифрови I/O пинове: 14 (6 PWM)
  • Изводи за аналогов вход: 8
  • DC ток на I/O Pin: 40 mA
  • Флаш памет: 32 KB (2KB за буутлоудъра)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Тактова честота: 16 MHz
  • Размери: 17мм х 43мм

Този конкретен вариант на Arduino Nano е черният Robotdyn Nano. In включва вграден MicroUSB порт, свързан към CH340G USB/сериен мостов чип. Подробна информация за CH340 (и драйвери, ако е необходимо) можете да намерите тук.

Когато включите за първи път Arduino Nano в USB порт на вашия компютър, зеленият индикатор за захранване трябва да светне и малко след това синият светодиод трябва да започне да мига бавно. Това се случва, защото Nano е предварително заредена с програмата BLINK, която работи на чисто новия Arduino Nano.

СОФТУЕР: Ако все още не сте инсталирали Arduino IDE, можете да го изтеглите от Arduino.cc

Включете Nano в MicroUSB кабела, а другия край на кабела в USB порт на компютъра. Стартирайте софтуера Arduino IDE. Изберете „Arduino Nano“в IDE под инструменти> платка и „ATmega328P (стар буутлоудър)“под инструменти> процесор. Изберете подходящия USB порт под инструменти> порт (вероятно е име с „wchusb“в него).

Накрая заредете парче примерен код: Файл-> Примери-> Основи-> Мигане

Blink всъщност е кодът, който е предварително инсталиран на Nano и трябва да работи в момента, за да мига бавно синия светодиод. Съответно, ако заредим този примерен код, нищо няма да се промени. Вместо това нека променим малко кода.

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

Променете кода, като промените двата израза "delay (1000)" на "delay (100)". Тази модификация ще накара светодиода да мига десет пъти по -бързо, нали?

Нека заредим модифицирания код в Nano, като кликнете върху бутона UPLOAD (иконата със стрелка) точно над променения код. Гледайте под кода за информация за състоянието: „компилиране“и след това „качване“. В крайна сметка IDE трябва да показва „Качването е завършено“и вашият светодиод трябва да мига по -бързо.

Ако е така, поздравления! Току -що сте хакнали първото си парче вграден код.

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

Сега, след като сте потвърдили работата на модула Nano, продължете напред и запоявайте щифтовете на заглавката към него. След като заглавките са свързани, модулът може лесно да се използва в една от споените платки на MCU Lab. Този процес на тестване на MCU модул чрез изтегляне на прост код на тест, промяна и изтегляне отново е най -добрата практика винаги, когато използвате нов или различен тип MCU модул.

Ако искате допълнителна уводна информация за работа в екосистемата Arduino, предлагаме да разгледате Ръководството за началната работилница на HackerBoxes, което включва няколко примера и връзка към PDF учебник Arduino.

Стъпка 5: Разгледайте MCU Lab с Arduino Nano

Разгледайте MCU Lab с Arduino Nano
Разгледайте MCU Lab с Arduino Nano

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

Свържете централния щифт на потенциометъра към Nano Pin A0.

Зареждане и изпълнение: Примери> Аналогов> Аналогов вход

Примерът по подразбиране е вграденият светодиод на Nano. Завъртете потенциометъра, за да промените скоростта на мигане.

Промяна:

В кода променете LedPin = 13 на 4

Джъмпер от Nano Pin 4 (и GND) към един от червените светодиоди на MCU Lab.

ЗВУКОВИК

Прекъсвач от зумера към Nano Pin 8. Уверете се, че GND на платката е свързан към GND на захранвания Nano, тъй като масата на зумера е здраво свързана към мрежата GND на платката.

Зареждане и изпълнение: Примери> Цифров> toneMelody

OLED ДИСПЛЕЙ

В IDE на Arduino използвайте мениджъра на библиотеката, за да инсталирате „ssd1306“от Alexey Dyna.

Свържете OLED: GND към GND, VCC към 5V, SCL към A5 на Nano, SDA към A4 на Nano

Зареждане и изпълнение: Примери> ssd1306> демонстрации> ssd1306_demo

WS2812B RGB LED

В IDE на Arduino използвайте мениджъра на библиотеката, за да инсталирате 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 и включва вградени антенни превключватели, RF балун, усилвател на мощност, нискошумен приемник, филтри и модули за управление на захранването. (уикипедия)

Модулът WEMOS ESP32 Lite е по -компактен от предишната версия, което го прави по -лесен за използване върху платка без запояване.

Направете първоначалния си тест на модула WEMOS ESP32 преди запояване на щифтовете на заглавката върху модула.

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

Под инструменти> дъска, не забравяйте да изберете „WeMos LOLIN32“

Заредете примерния код във Файлове> Примери> Основи> Мигане и го програмирайте в WeMos LOLIN32

Примерната програма трябва да накара светодиода на модула да мига. Експериментирайте с промяна на параметрите на забавяне, за да накарате светодиода да мига с различни модели. Това винаги е добро упражнение за изграждане на увереност в програмирането на нов модул за микроконтролер.

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

Стъпка 7: Генериране на видео ESP32

Image
Image

Това видео демонстрира ESP32 VGA библиотека и много хубав, прост урок от лабораторията на bitluni.

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

В зависимост от това кой MCU се използва, неговото напрежение, разделителната способност на пикселите и желаната дълбочина на цветовете, има различни комбинации от вградени резистори и резисторни мрежи, които могат да бъдат поставени между MCU и VGA заглавието. Ако решите постоянно да използвате вградени резистори, те могат да бъдат запоени върху MCB Lab PCB. Ако искате да запазите гъвкавостта и особено ако искате да използвате по -сложни решения, тогава се препоръчва да не запоявате никакви резистори на място и просто да използвате безплатни платки и VGA хедър за свързване на необходимите резистори.

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

Ето още няколко примера:

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

VIC20 емулатор е реализиран на ESP32, използвайки FabGL и 6 резистора.

Внедрете BASIC компютър, използвайки ESP32 и 3 резистора.

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

Генерирайте VGA изход на STM32 с 6 резистора.

Едновременни текстови и графични слоеве на STM32 с демонстрация на видео.

Стъпка 8: STM32F103C8T6 Черно хапче MCU модул

TXS0108E 8-битов превключвател на логически нива
TXS0108E 8-битов превключвател на логически нива

Черното хапче е базиран на STM32 MCU модул. Това е подобрен вариант на общото синьо хапче и по -рядкото червено хапче.

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

Въпреки че изглежда подобно на Arduino Nano, Черното хапче е далеч по -мощно. 32 -битовият микроконтролер STM32F103C8T6 ARM може да работи на 72 MHz. Той може да извършва едноциклово умножение и хардуерно разделяне. Той има 64 Kbytes флаш памет и 20 Kbytes SRAM.

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

Стъпка 9: TXS0108E 8-битово преобразувател на логическо ниво

TXS0108E (лист с данни) е 8-битов двупосочен логически превключвател на нива. Модулът е настроен на сигнали за промяна на нивото между 3.3V и 5V.

Тъй като каналите за ниво на сигнала са двупосочни, плаващите входове могат да причинят непреднамерено задвижване на съответните изходи. Предвиден е контрол за разрешаване на изхода (OE) за защита при такива сценарии. В зависимост от това как е свързан превключвателят, трябва да се внимава, за да се гарантира, че изходът от превключвателя ("умишлен" или поради плаващ вход от другата страна) никога не е разрешен за кръстосано задвижване на изход от друго устройство.

Щифтът на ОЕ се оставя изключен в следите на печатната платка. Под модула е предвиден двупинов хедър за свързване на OE и 3V3. Съкращаването на двуконтактния хедър (с помощта на парче тел или джъмпер блок) свързва OE към 3V3, което позволява на IC да управлява своите изходи. Към щифта на OE може да се свърже и резистор за падане и логическо управление.

Стъпка 10: HackLife

HackLife
HackLife

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

Какво следва? Присъединете се към революцията. Изживейте HackLife. Вземете готина кутия с хакерски съоръжения, доставяни директно до вашата пощенска кутия всеки месец. Сърфирайте към HackerBoxes.com и се регистрирайте за месечния си абонамент за HackerBox.

Препоръчано: