Mundarija:

HackerBox 0051: MCU laboratoriyasi: 10 qadam
HackerBox 0051: MCU laboratoriyasi: 10 qadam

Video: HackerBox 0051: MCU laboratoriyasi: 10 qadam

Video: HackerBox 0051: MCU laboratoriyasi: 10 qadam
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Iyul
Anonim
HackerBox 0051: MCU laboratoriyasi
HackerBox 0051: MCU laboratoriyasi

Butun dunyodagi HackerBox xakerlariga salom! HackerBox 0051 HackerBox MCU laboratoriyasini taqdim etadi. MCU laboratoriyasi - bu mikrokontrollerlar va mikrokontroller modullarini sinab ko'rish, ishlab chiqish va prototipini ishlab chiqish platformasi. MCU laboratoriyasining funktsional bloklarini o'rganish uchun Arduino Nano, ESP32 Module va SMT32 Black Pill ishlatiladi. MCU Lab funktsiyalar bloklari orasida kalitlar, tugmalar, LEDlar, OLED -displey, ovozli signal, potentsiometr, RGB piksel, mantiq darajasi o'zgartirgichi, VGA chiqishi, PS/2 klaviaturasi, USB ketma -ket interfeysi va ikkita lehimsiz prototip maydonlari mavjud.

Ushbu qo'llanmada HackerBox 0051 -ni ishga tushirish bo'yicha ma'lumotlar mavjud bo'lib, uni ta'minot tugashi bilan bu erdan sotib olish mumkin. Agar siz HackerBox -ni har oy o'z pochta qutingizga olishni xohlasangiz, iltimos, HackerBoxes.com saytiga obuna bo'ling va inqilobga qo'shiling!

HackerBoxes - bu apparat xakerlari va elektronika va kompyuter texnologiyalari ixlosmandlari uchun har oylik obuna qutisi xizmati. HACK LIFE hayotida bizga qo'shiling.

1 -qadam: HackerBox 0051 uchun kontent ro'yxati

  • MCU 1 -moduli: Arduino Nano 5V, 16 MGts
  • MCU 2 -moduli: WEMOS ESP32 Lite
  • MCU 3 -moduli: STM32F103C8T6 qora tabletka
  • Maxsus MCU laboratoriya bosma elektron platasi
  • FT232RL USB seriyali adapter
  • OLED 128x64 displey I2C 0,96 dyuym
  • Ikki tomonlama 8-bitli mantiq darajasini o'zgartirish
  • WS2812B RGB SMD LED
  • Sirtga o'rnatiladigan to'rtta tugma
  • To'rt qizil 5 dyuymli LED
  • Piezo Buzzer
  • HD15 VGA ulagichi
  • Mini-DIN PS/2 klaviatura ulagichi
  • 100K Ohm potentsiometr
  • 8 -sonli DIP -kalit
  • AMS1117 3.3V chiziqli regulyator SOT223
  • Ikkita 22uF Tantal kondansatör 1206 SMD
  • O'nta 680 Ohmli rezistorlar
  • To'rt yopishtiruvchi kauchuk PCB oyoqlari
  • Ikkita 170 punktli mini lehimsiz stol
  • O'n bitta 8 pinli ayol boshli rozetkalar
  • 40 pinli uzilish sarlavhasi
  • 65 erkak o'tish simlari to'plami
  • Ko'tarilgan musht elektron platasi stikeri
  • Sayyoradagi kulgili qaroqchi stikerini buzish
  • HackerBox eksklyuziv "Parvozdan oldin olib tashlash" kalit zanjiri

Boshqa foydali narsalar:

  • Lehimlash temir, lehim va asosiy lehim asboblari
  • Dasturiy vositalar bilan ishlash uchun kompyuter

Eng muhimi, sizga sarguzasht hissi, xakerlik ruhi, sabr -toqat va qiziquvchanlik kerak bo'ladi. Elektronikani yaratish va tajriba qilish, juda foydali bo'lsa -da, ba'zida murakkab, qiyin va hatto asabiylashishi mumkin. Maqsad - mukammallik emas, taraqqiyot. Qachonki siz sarguzashtni davom ettirsangiz va zavqlansangiz, bu sevimli mashg'ulotdan katta mamnuniyat olish mumkin. Har bir qadamni asta -sekin bajaring, tafsilotlarga e'tibor bering va yordam so'rashdan qo'rqmang.

HackerBoxes FAQ -da hozirgi va bo'lajak a'zolari uchun juda ko'p ma'lumotlar mavjud. Bizga kelgan texnik bo'lmagan elektron pochta xabarlarining deyarli barchasiga u erda javob berilgan, shuning uchun biz tez-tez so'raladigan savollarni o'qishga bir necha daqiqa vaqt ajratganingiz uchun minnatdormiz.

2 -qadam: HackerBoxes MCU laboratoriyasi

HackerBoxes MCU laboratoriyasi
HackerBoxes MCU laboratoriyasi

MCU laboratoriyasi - bu har xil mikrokontroller (MCU) asosidagi dizaynlarni prototiplash va sinovdan o'tkazish uchun foydalanadigan ishlab chiqish platformasining ixcham, sayqallangan versiyasi. MCU modullari (masalan, Arduino Nano, ESP32 DevKit va boshqalar) yoki alohida MCU qurilmalari paketlari (ATMEGA328s, ATtiny85s, PICs va boshqalar) bilan ishlashda juda foydali. Maqsadli MCU mini lehimsiz non paneliga joylashtirilishi mumkin. Ikkita MCU -ni ikkala taxta paneli yordamida bir -biriga ulash mumkin yoki boshqa sxemalar uchun bitta taxtadan foydalanish mumkin.

MCU laboratoriyasining "funktsional bloklari" Arduino UNOda topilganlarga o'xshash ayol sarlavhalarga bo'linadi. Ayol sarlavhalari erkak o'tish pimi bilan mos keladi.

3 -qadam: HackerBoxes MCU laboratoriyasini yig'ing

HackerBoxes MCU laboratoriyasini yig'ing
HackerBoxes MCU laboratoriyasini yig'ing

Kengash orqasida SMD komponentlari

AMS1117 (SOT 233 Package) Lineer Regulyatorini va tenglikni teskari tomonidagi ikkita 22uF filtrli kondensatorni o'rnatishdan boshlang. E'tibor bering, har bir kondansatör ipak ekranining bir tomoni to'rtburchaklar, ikkinchisi esa sakkizburchak. Kondensatorlar paketdagi qorong'i chiziq sakkizburchakli ipak ekran tomoniga to'g'ri keladigan tarzda yo'naltirilgan bo'lishi kerak.

TASHKARA OLDINDAGI KOMPONENTLAR bilan DAVOM QILING

WS2812B RGB LEDini lehimlang. Har bir LEDning oq belgilangan burchagini PCB silks ekranida ko'rsatilgandek yorliqli burchakka yo'naltiring.

SMD -ning to'rtta tugmachasi

To'rt rezistorli to'rtta qizil LED

3V3 belgisiga eng yaqin VA pinli va 5V yaqinidagi VB pinli Level Shifter. Level Shifter modulini yuqori qismlarni modulga lehimlash orqali, so'ngra MCU Lab PCB -ga o'rnatishdan oldin, qora plastmassa ajratgichlarni sarlavhadan siljitish orqali tenglikni teng ravishda o'rnatilishi mumkin. Spacersni qoldirish ham yaxshi.

FT232 modulini ulash uchun sarlavhaning ikkita chizig'ini sindirish mumkin. Sarlavhaning kichik 4-pinli qismini FT232 moduli yonidagi 5V/GND sarlavhasi uchun ham ishlatish mumkin.

Hozircha HD15 VGA ulagichi va klaviatura soketiga eng yaqin VGA sarlavhasini joylashtiring. Shu bilan birga, bu ikkita sarlavha orasidagi bitta yoki beshta rezistorga ulashgan qo'shimcha sarlavhani to'ldirmang. Video signal uzatishning o'ziga xos variantlari keyinroq muhokama qilinadi.

Qolgan to'qqizta ayol sarlavhasini to'ldiring.

Ikkala lehimsiz taxtaning orqa qismidagi yopishtirgichni olib tashlang va ularni MCU laboratoriyasi PCB ga ulang.

Ish stolingizni chizishdan himoya qilish uchun yopishtiruvchi kauchuk oyoqlarini MCU laboratoriyasi tenglikni tagiga qo'ying.

QUVAT KIRIShLARINI QO'LLANISH

MCU laboratoriyasiga kuch kelishi mumkin bo'lgan kamida ikkita va ehtimol to'rttagacha joy bor. Bu muammoga olib kelishi mumkin, shuning uchun har doim quyidagi ko'rsatmalarni diqqat bilan ko'rib chiqing:

5V bilan belgilangan sarlavha nuqtalari bir -biriga ulangan. 5V ray shuningdek klaviatura soketiga, darajani o'zgartirgichga va WS2812B RGB LED -ga ulanadi. Quvvatni 5V temir yo'lga FT232 -ni USB -ga ulash, to'rt pinli quvvat manbaini tashqi manbaga ulash yoki tenglikni 5V -pinli biridan o'tish moslamasini 5V -ga ulangan quvvat bilan ulash mumkin (odatda USB orqali quvvatlanadi).).

Xuddi shunday, GND pinlari ham ulangan. Ular FT232 -dagi USB GND -ga ulanadi (USB FT232 -ga ulangan bo'lsa). Ular, shuningdek, 5V tarmog'ida muhokama qilinganidek, ularning orasidagi o'tish moslamasi va quvvat moduli yordamida erga ulanishi mumkin.

3V3 temir yo'lini tenglikni orqasidagi regulyator boshqaradi. Bu faqat manba va (5V temir yo'lidan farqli o'laroq) uni hech qanday modul yoki boshqa sxemalar boshqarmasligi kerak, chunki u to'g'ridan -to'g'ri 5V rayidagi regulyatordan boshqariladi.

4 -qadam: Arduino Nano MCU moduli

Arduino Nano MCU moduli
Arduino Nano MCU moduli

Hozirgi kunda eng keng tarqalgan MCU modullaridan biri bu Arduino Nano. Taqdim etilgan Arduino Nano taxtasi bosh pimlari bilan birga keladi, lekin ular modulga lehimlanmagan. Pimlarni hozircha qoldiring. Ushbu dastlabki sinovlarni Arduino Nano modulida, bosh pimlariga lehimlashdan oldin bajaring. Buning uchun faqat microUSB kabeli va Arduino Nano kartasi kerak bo'ladi.

Arduino Nano-bu yer usti, non paneli uchun qulay, miniatyura qilingan, o'rnatilgan USB. Bu hayratlanarli darajada to'liq xususiyatli va sindirish oson.

Xususiyatlari:

  • Mikrokontroller: Atmel ATmega328P
  • Voltaj: 5V
  • Raqamli kirish -chiqish pinlari: 14 (6 PWM)
  • Analog kirish pinlari: 8
  • Har bir kirish/chiqish piniga doimiy oqim: 40 mA
  • Flash xotira: 32 KB (yuklash uchun 2KB)
  • SRAM hajmi: 2 KB
  • EEPROM: 1 KB
  • Soat tezligi: 16 MGts
  • Olchamlari: 17 x 43 mm

Arduino Nanoning o'ziga xos varianti - qora Robotdin Nano. CH340G USB/ketma-ket ko'prik chipiga ulangan bortli MicroUSB porti mavjud. CH340 (va agar kerak bo'lsa, haydovchilar) haqida batafsil ma'lumotni bu erda topishingiz mumkin.

Arduino Nano -ni kompyuterning USB portiga birinchi marta ulaganingizda, yashil chiroq yonib turishi kerak va ko'p o'tmay ko'k LED asta -sekin miltillay boshlaydi. Buning sababi shundaki, Nano yangi Arduino Nano-da ishlaydigan BLINK dasturi bilan oldindan yuklangan.

Dasturiy ta'minot: Agar sizda Arduino IDE hali o'rnatilmagan bo'lsa, uni Arduino.cc saytidan yuklab olishingiz mumkin.

Nano -ni MicroUSB kabeliga va kabelning ikkinchi uchini kompyuterning USB portiga ulang. Arduino IDE dasturini ishga tushiring. IDE -da asboblar> taxta ostidagi "Arduino Nano" ni va asboblar> protsessor ostida "ATmega328P (eski yuklovchi)" -ni tanlang. Asboblar> port ostida mos USB portini tanlang (bu "wchusb" yozuvi bo'lishi mumkin).

Nihoyat, misol kodini yuklang: Fayl-> Misollar-> Asosiy-> Ko'z yumish

Blink - bu aslida Nano -ga yuklangan kod va ko'k LEDni sekin miltillatish uchun hozirda ishga tushishi kerak. Shunga ko'ra, agar biz bu misol kodini yuklasak, hech narsa o'zgarmaydi. Buning o'rniga, kodni biroz o'zgartiraylik.

Diqqat bilan qarasangiz, dastur LEDni yoqadi, 1000 millisekund (bir soniya) kutadi, LEDni o'chiradi, yana bir soniya kutadi, keyin hammasini yana - abadiy bajaradi.

Ikkala "kechikish (1000)" iborasini "kechiktirish (100)" ga o'zgartirish orqali kodni o'zgartiring. Bu o'zgartirish LEDni o'n barobar tezroq miltillashiga olib keladi, to'g'rimi?

O'zgartirilgan kodning yuqorisidagi UPLOAD tugmasini (o'q belgisi) bosish orqali o'zgartirilgan kodni Nano -ga yuklaylik. Vaziyat haqida ma'lumot olish uchun quyidagi kodni ko'ring: "kompilyatsiya" va keyin "yuklash". Oxir -oqibat, IDE "Yuklash tugallandi" deb ko'rsatishi kerak va sizning LED tez miltillashi kerak.

Agar shunday bo'lsa, tabriklayman! Siz faqat birinchi o'rnatilgan kod qismini buzdingiz.

Tez yonib-o'chib turadigan versiya yuklangach va ishga tushganda, LEDni ikki marta tez miltillashi uchun yana kodni o'zgartira olasizmi, keyin takrorlashdan oldin bir necha soniya kutib turasizmi? Sinab ko'ring! Boshqa naqshlar haqida nima deyish mumkin? Istalgan natijani vizualizatsiya qilish, uni kodlash va rejalashtirilganidek ishlashini kuzata olgandan so'ng, siz malakali apparat xakeriga aylanish yo'lida ulkan qadam tashladingiz.

Endi siz Nano modulining ishlashini tasdiqladingiz, davom eting va uning ustki pimlarini lehimlang. Sarlavhalar ulangandan so'ng, modulni MCU laboratoriyasining lehimsiz panellaridan birida osongina ishlatish mumkin. MCU modulini oddiy sinov kodini yuklab olish, o'zgartirish va qayta yuklash orqali sinab ko'rish - bu yangi yoki boshqa turdagi MCU modulidan foydalanganda eng yaxshi amaliyotdir.

Agar siz Arduino ekotizimida ishlash uchun qo'shimcha kirish ma'lumotiga ega bo'lishni istasangiz, biz HackerBoxes boshlang'ich ustaxonasi uchun qo'llanmani ko'rib chiqishni taklif qilamiz, unda bir nechta misollar va PDF Arduino darsligiga havola mavjud.

5 -qadam: MCU laboratoriyasini Arduino Nano yordamida o'rganing

Arduino Nano yordamida MCU laboratoriyasini o'rganing
Arduino Nano yordamida MCU laboratoriyasini o'rganing

POTANSIYOMETER

Potentsiometrning markaziy pinini Nano Pin A0 ga ulang.

Yuklash va ishga tushirish: Misollar> Analog> AnalogInput

Misol sifatida Nano samolyot bortidagi LED ko'rsatiladi. Yonish tezligini o'zgartirish uchun potansiyometrni aylantiring.

O'zgartirish:

Kodda LedPin = 13 ni 4 ga o'zgartiring

Nano Pin 4 (va GND) dan MCU laboratoriyasining qizil LEDlaridan biriga o'tish.

BUZZER

Buzzerdan Nano -pingacha o'tish 8. GND platasi kuchli Nano GND -ga ulanganligiga ishonch hosil qiling.

Yuklash va ishga tushirish: Misollar> Raqamli> toneMelody

OLED displey

Arduino IDE -da Aleksey Dynadan "ssd1306" ni o'rnatish uchun kutubxona menejeridan foydalaning.

OLED -ni GND -ga, VCC -ni 5V -ga, SCL -ni Nano A5 -ga, SDA -ni Nano -A4 -ga ulang.

Yuklash va ishga tushirish: Misollar> ssd1306> demolar> ssd1306_demo

WS2812B RGB LED

Arduino IDE -da FastLED -ni o'rnatish uchun kutubxona menejeridan foydalaning

WS2812 bosh pinini Nano pin 5 ga ulang.

Yuklash: Misollar> FastLED> ColorPalette

NUM_LEDS ni 1 ga, LED_TYPE ni WS2812B ga o'zgartiring

Kompilyatsiya qilish va ishga tushirish

TUGMALAR VA O'CHIRISHLARNI MUHOJAT QILISH UChUN KOD YOZING

Tugmani rezistor qo'shmasdan o'qish uchun pinMode (INPUT_PULLUP) dan foydalanishni unutmang.

BU BIR MASALALARNI BIRGA BIRGA QO'SHING

Masalan, OLED yoki ketma -ket monitorda qandaydir qiziqarli tarzda tsikl chiqishi va holatlar yoki kirish qiymatlari ko'rsatiladi.

6 -qadam: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

ESP32 mikrokontroller (MCU)-bu chipda (SOC) o'rnatilgan, Wi-Fi va ikki rejimli Bluetooth-ga ega, arzon va kam quvvatli tizim. ESP32 Tensilica Xtensa LX6 yadrosidan foydalanadi va unga antenna kalitlari, RF balun, quvvat kuchaytirgich, past shovqinli qabul qilish kuchaytirgichi, filtrlar va quvvatni boshqarish modullari kiradi. (vikipediya)

WEMOS ESP32 Lite moduli oldingi versiyaga qaraganda ixchamroq, bu esa lehimsiz non panelida ishlatishni osonlashtiradi.

Sarlavha pimlarini modulga lehimlashdan oldin WEMOS ESP32 modulining dastlabki sinovini o'tkazing.

Arduino IDE -da ESP32 qo'llab -quvvatlash paketini o'rnating.

Asboblar> taxta ostida "WeMos LOLIN32" ni tanlaganingizga ishonch hosil qiling.

Misol kodini Fayllar> Misollar> Asosiy ma'lumotlar> Blink -ga yuklang va uni WeMos LOLIN32 -ga dasturlang.

Misol dasturi moduldagi LEDning yonib -o'chishiga olib kelishi kerak. LEDni turli naqshlar bilan miltillashi uchun kechikish parametrlarini o'zgartirish bilan tajriba o'tkazing. Bu har doim yangi mikrokontroller modulini dasturlashda ishonchni mustahkamlash uchun yaxshi mashqdir.

Modulning ishlashi va uni qanday dasturlash sizga qulay bo'lgach, ikki qatorli sarlavhani ehtiyotkorlik bilan lehimlang va yuklash dasturlarini yana bir bor sinab ko'ring.

7 -qadam: ESP32 video yaratish

Image
Image

Bu videoda ESP32 VGA kutubxonasi va bitluni laboratoriyasidan juda chiroyli, oddiy qo'llanma ko'rsatilgan.

Ko'rsatilgan 3-bitli dastur (8 ta rang) ESP32 moduli va VGA ulagichi o'rtasida to'g'ridan-to'g'ri simli o'tish moslamalarini ishlatadi. MCU Lab -ning VGA sarlavhasida bu ulanishlarni o'rnatish juda oson, chunki qo'shimcha komponentlar mavjud emas.

Qaysi MCU ishlatilayotganiga, uning kuchlanish darajasiga, piksellar soniga va kerakli rang chuqurligiga qarab, MCU va VGA sarlavhasi orasiga joylashtirilgan rezistorlar va rezistorlar tarmoqlarining har xil kombinatsiyasi mavjud. Agar siz rezinali rezistorlardan doimiy foydalanishga qaror qilsangiz, ularni MCU laboratoriyasi PCB ga lehimlash mumkin. Agar siz moslashuvchanlikni saqlamoqchi bo'lsangiz va ayniqsa murakkab echimlardan foydalanmoqchi bo'lsangiz, rezistorlarni lehimlamang va kerakli rezistorlarni ulash uchun lehimsiz taxtalar va VGA sarlavhasini ishlating.

Masalan, videoning oxirida ko'rsatilgan bitunining 14-bitli rang rejimini amalga oshirish uchun ESP32 modulini mini lehimsiz taxtalardan biriga joylashtirish mumkin, boshqa lehimsiz taxtadan esa rezistorlar narvonlarini ulash mumkin.

Bu erda boshqa misollar:

HackerBox 0047 da Arduino Nano 4 rezistorli oddiy VGA chiqishini boshqaradi.

VIC20 emulyatori ESP32 da FabGL va 6 rezistorlar yordamida amalga oshiriladi.

ESP32 va 3 rezistorlar yordamida BASIC kompyuterni ishga tushiring.

Space Invaders -ni ESP32 -da FabGL va 6 rezistor yordamida o'ynang.

STM32da 6 rezistorli VGA chiqishini yarating.

Video namoyishi bilan STM32 -da bir vaqtning o'zida matn va grafik qatlamlari.

8 -qadam: STM32F103C8T6 qora tabletka MCU moduli

TXS0108E 8-bitli mantiq darajasi
TXS0108E 8-bitli mantiq darajasi

Qora tabletka-bu STM32-ga asoslangan MCU moduli. Bu oddiy ko'k tabletkalarda va kamroq tarqalgan qizil tabletkalarda takomillashtirilgan variant.

Qora tabletkada STM32F103C8T6 32bitli ARM M3 mikrokontroler (ma'lumotlar jadvali), to'rt pinli ST-Link sarlavhasi, MicroUSB porti va PB12 dagi foydalanuvchi LEDi mavjud. USB portining to'g'ri ishlashi uchun PA12 ga to'g'ri tortish qarshiligi o'rnatilgan. Ushbu tortishish, odatda, boshqa tabletkalarda taxtani o'zgartirishni talab qiladi.

Qora hap, Arduino Nano -ga o'xshash bo'lsa -da, ancha kuchliroq. 32 -bitli STM32F103C8T6 ARM mikrokontroleri 72 MGts da ishlashi mumkin. U bitta tsiklli ko'paytirish va apparat bo'linishini bajarishi mumkin. U 64 Kbayt Flash xotiraga va 20 Kbayt SRAMga ega.

Arduino IDE -dan STM32 dasturlash.

9-qadam: TXS0108E 8-bitli mantiq darajasini o'zgartirish

TXS0108E (ma'lumotlar jadvali)-bu 8-bitli ikki tomonlama mantiq darajasining o'zgaruvchisi. Modul 3,3V va 5V oralig'idagi darajali siljish signallariga o'rnatiladi.

Signal darajasidagi kanallar ikki tomonlama bo'lgani uchun, suzuvchi kirishlar mos keladigan chiqishlarni bexosdan boshqarilishiga olib kelishi mumkin. Bunday vaziyatlarda himoya qilish uchun chiqishni yoqish (OE) boshqaruvi ta'minlanadi. O'zgartirish moslamasi qanday ulanganiga qarab ehtiyot bo'lish kerak, shiftdan chiqish ("qasddan" yoki boshqa tomondan suzuvchi kirish tufayli) hech qachon boshqa qurilmadan chiqishga ruxsat berilmaydi.

OE pimi PCB izlarida uzilgan holda qoldiriladi. OE va 3V3 ni ulash uchun modul ostida ikkita pinli sarlavha mavjud. Ikki pinli sarlavhani qisqartirish (sim yoki o'tish bloki yordamida) OEni 3V3 ga ulaydi, bu esa ICga chiqishlarni boshqarishga imkon beradi. OE piniga ochiladigan qarshilik va mantiqiy boshqaruv ham ulanishi mumkin.

10 -qadam: HackLife

HackLife
HackLife

Umid qilamizki, sizga HackerBox elektronika va kompyuter texnologiyalari sarguzashtlari yoqadi. Quyidagi izohlarda yoki HackerBoxes Facebook guruhida o'z yutuqlaringiz bilan o'rtoqlashing. Shuni ham yodda tutingki, agar sizda biron bir savol bo'lsa yoki yordamga muhtoj bo'lsangiz, [email protected] elektron pochta manziliga yuborishingiz mumkin.

Keyingisi nima? Inqilobga qo'shiling. HackLife bilan yashang. Pochta qutingizga har oyda etkazib beriladigan ajoyib quti oling. HackerBoxes.com saytiga tashrif buyuring va har oylik HackerBox obunasiga yoziling.

Tavsiya: