İçindekiler:

HackerBox 0051: MCU Laboratuvarı: 10 Adım
HackerBox 0051: MCU Laboratuvarı: 10 Adım

Video: HackerBox 0051: MCU Laboratuvarı: 10 Adım

Video: HackerBox 0051: MCU Laboratuvarı: 10 Adım
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Temmuz
Anonim
HackerBox 0051: MCU Laboratuvarı
HackerBox 0051: MCU Laboratuvarı

Dünyanın her yerinden HackerBox Hacker'larına selamlar! HackerBox 0051, HackerBox MCU Lab'ı sunar. MCU Lab, mikrodenetleyiciler ve mikrodenetleyici modülleri ile test etmek, geliştirmek ve prototip oluşturmak için bir geliştirme platformudur. MCU Lab'ın özellik bloklarını keşfetmek için bir Arduino Nano, ESP32 Modülü ve SMT32 Siyah Hap kullanılır. MCU Lab özellik blokları arasında anahtarlar, düğmeler, LED'ler, bir OLED ekran, sesli uyarı, potansiyometre, RGB piksel, mantık seviye değiştirici, VGA çıkışı, PS/2 klavye girişi, USB seri arabirim ve çift lehimsiz prototipleme alanları bulunur.

Bu kılavuz, sarf malzemeleri tükenirken buradan satın alınabilecek HackerBox 0051'i kullanmaya başlamayla ilgili bilgiler içerir. Her ay posta kutunuza böyle bir HackerBox almak istiyorsanız, lütfen HackerBoxes.com'a abone olun ve devrime katılın!

HackerBoxes, donanım korsanları ve elektronik ve bilgisayar teknolojisi meraklıları için aylık abonelik kutusu hizmetidir. HACK LIFE'ı yaşarken bize katılın.

Adım 1: HackerBox 0051 için İçerik Listesi

  • MCU Modülü 1: Arduino Nano 5V, 16MHz
  • MCU Modülü 2: WEMOS ESP32 Lite
  • MCU Modülü 3: STM32F103C8T6 Siyah Hap
  • Özel MCU Lab Baskılı Devre Kartı
  • FT232RL USB Seri Adaptör
  • OLED 128x64 Ekran I2C 0.96 İnç
  • Çift Yönlü 8-Bit Mantık Seviye Değiştirici
  • WS2812B RGB SMD LED'i
  • Dört Yüzey Montajlı Dokunsal Düğme
  • Dört Kırmızı Dağınık 5mm LED
  • Piezo Zil
  • HD15 VGA Konektörü
  • Mini-DIN PS/2 Klavye Konektörü
  • 100K Ohm Potansiyometre
  • 8 Konumlu DIP Anahtarı
  • AMS1117 3.3V Lineer Regülatör SOT223
  • İki 22uF Tantal Kondansatör 1206 SMD
  • On 680 Ohm Direnç
  • Dört Yapışkanlı Kauçuk PCB Ayak
  • İki adet 170 noktalı Mini Lehimsiz Breadboard
  • 11 adet 8 pinli Dişi Başlık Soketi
  • 40 pinli Ayrılabilir Başlık
  • 65 Erkek Jumper Tel Paketi
  • Yükseltilmiş Yumruk Devre Kartı Etiketi
  • Gezegeni Hack Smiley Korsan Çıkartması
  • Özel HackerBox "Uçuştan Önce Kaldır" Anahtarlık

Yardımcı olacak diğer bazı şeyler:

  • Havya, lehim ve temel havya aletleri
  • Yazılım araçlarını çalıştırmak için bilgisayar

En önemlisi, bir macera duygusuna, hacker ruhuna, sabra ve meraka ihtiyacınız olacak. Elektronik ile inşa etmek ve deneyler yapmak çok ödüllendirici olsa da, zaman zaman yanıltıcı, zorlayıcı ve hatta sinir bozucu olabilir. Amaç ilerlemedir, mükemmellik değil. Devam ettiğinizde ve maceranın tadını çıkardığınızda, bu hobiden büyük bir memnuniyet elde edilebilir. Her adımı yavaş atın, ayrıntılara dikkat edin ve yardım istemekten çekinmeyin.

HackerBoxes SSS'de mevcut ve potansiyel üyeler için çok sayıda bilgi bulunmaktadır. Aldığımız teknik olmayan destek e-postalarının neredeyse tamamı orada zaten yanıtlanmıştır, bu nedenle SSS'yi okumak için birkaç dakika ayırdığınız için gerçekten teşekkür ederiz.

2. Adım: HackerBoxes MCU Laboratuvarı

HackerBox'lar MCU Laboratuvarı
HackerBox'lar MCU Laboratuvarı

MCU Lab, çeşitli mikrodenetleyici (MCU) tabanlı tasarımları prototiplemek ve test etmek için kullandığımız bir geliştirme platformunun kompakt, cilalı bir versiyonudur. MCU modülleri (Arduino Nano, ESP32 DevKit, vb.) veya bireysel MCU cihaz paketleri (AMEGA328s, ATtiny85s, PICs vb.) ile çalışmak için çok kullanışlıdır. Mini lehimsiz devre tahtalarından herhangi birine bir hedef MCU yerleştirilebilir. İki MCU, her iki devre tahtası kullanılarak birbirine bağlanabilir veya devre tahtası alanlarından biri diğer devreler için kullanılabilir.

MCU Laboratuvarının "özellik blokları", Arduino UNO'da bulunanlara benzer dişi başlıklara ayrılmıştır. Dişi başlıklar, erkek jumper pimleri ile uyumludur.

3. Adım: HackerBoxes MCU Laboratuvarını Birleştirin

HackerBoxes MCU Laboratuvarını Birleştirin
HackerBoxes MCU Laboratuvarını Birleştirin

KURULUN ARKASINDAKİ SMD BİLEŞENLERİ

AMS1117 (SOT 233 Paket) Lineer Regülatörü ve iki adet 22uF filtre kapasitörünü PCB'nin arkasına monte ederek başlayın. Her kapasitör serigrafisinin bir tarafının dikdörtgen ve diğer tarafının sekizgen olduğunu unutmayın. Kondansatörler, paket üzerindeki koyu renkli şerit sekizgen serigrafi tarafına hizalanacak şekilde yönlendirilmelidir.

KURULU ÖNÜNDEKİ BİLEŞENLERLE DEVAM ET

WS2812B RGB LED'i lehimleyin. PCB serigrafisinde gösterildiği gibi, her LED'in beyaz işaretli köşesini sekmeli köşeye karşılık gelecek şekilde yönlendirin.

Dört SMD Dokunsal Düğme

Dört Dirençli Dört Kırmızı LED

3V3 işaretine en yakın VA pimi ve 5V işaretine en yakın VB pimi ile Seviye Kaydırıcı. Seviye Kaydırıcı modülü, başlıkları modüle lehimleyerek ve ardından modülü MCU Lab PCB'ye monte etmeden önce siyah plastik ara parçaları başlıklardan kaydırarak PCB'ye aynı hizada monte edilebilir. Ara parçaları açık bırakmak da iyidir.

FT232 modülünü bağlamak için başlığın iki şeridi kırılabilir. FT232 modülünün hemen yanında 5V/GND başlığı için daha küçük bir 4 pimli başlık bölümü de kullanılabilir.

Şimdilik, HD15 VGA konektörüne ve Klavye Soketine en yakın dişi VGA başlığını doldurun. Bununla birlikte, buna bitişik olan ek başlığı veya bu iki başlık arasındaki beş direnci YERLEŞTİRMEYİN. Video sinyali arabirimi için özel seçenekler daha sonra tartışılacaktır.

Diğer dokuz dişi başlığı doldurun.

MCU Lab PCB'ye takmak için her iki lehimsiz devre tahtasının arkasındaki yapıştırıcıyı çıkarın.

Çalışma tezgahınızı çizilmelere karşı korumak için yapışkan lastik ayakları MCU Lab PCB'nin altına yerleştirin.

GÜÇ GİRİŞLERİNİN İŞLENMESİ

MCU Laboratuvarı'na gücün gelebileceği en az iki ve büyük olasılıkla dört yer var. Bu soruna neden olabilir, bu nedenle aşağıdaki noktaları her zaman dikkatli bir şekilde göz önünde bulundurun:

5V etiketli başlık noktalarının tümü bağlıdır. 5V ray ayrıca klavye soketine, seviye değiştiriciye ve WS2812B RGB LED'e de bağlanır. FT232'yi USB'ye takarak, dört pinli güç başlığını harici bir kaynağa bağlayarak veya PCB üzerindeki 5V pinden birinden bir güç kaynağı 5V modülüne bir jumper bağlayarak 5V rayına güç sağlanabilir (genellikle USB ile çalışır)).

Benzer şekilde, GND pinlerinin hepsi bağlıdır. FT232 üzerindeki USB GND'ye bağlanırlar (USB'nin FT232'ye bağlı olduğu varsayılarak). Ayrıca, 5V ağ için tartışıldığı gibi, bunlardan biri ile güçlü bir modül arasında bir köprü kullanılarak toprağa bağlanabilirler.

3V3 rayı, PCB'nin arkasındaki regülatör tarafından sürülür. Sadece bir kaynaktır ve (5V raydan farklı olarak) 5V ray üzerindeki regülatörden direkt olarak sürüldüğü için herhangi bir modül veya başka devreler tarafından çalıştırılmamalıdır.

Adım 4: Arduino Nano MCU Modülü

Arduino Nano MCU Modülü
Arduino Nano MCU Modülü

Bugünlerde en yaygın MCU modüllerinden biri Arduino Nano'dur. Dahil edilen Arduino Nano kartı, başlık pinleriyle birlikte gelir, ancak modüle lehimli olarak gelmezler. Pimleri şimdilik kapalı bırakın. Başlık pinlerine lehimlemeden önce bu ilk testleri Arduino Nano modülünde gerçekleştirin. Tek gereken bir microUSB kablosu ve çantadan çıktığı gibi Arduino Nano kartı.

Arduino Nano, entegre USB'ye sahip, yüzeye monte, devre tahtası dostu, minyatür bir Arduino kartıdır. İnanılmaz derecede tam özellikli ve hacklenmesi kolaydır.

Özellikleri:

  • Mikrodenetleyici: Atmel ATmega328P
  • Voltaj: 5V
  • Dijital I/O Pinleri: 14 (6 PWM)
  • Analog Giriş Pinleri: 8
  • I/O Pin Başına DC Akımı: 40 mA
  • Flash Bellek: 32 KB (önyükleyici için 2KB)
  • SRAM: 2KB
  • EEPROM: 1 KB
  • Saat Hızı: 16 MHz
  • Boyutlar: 17mm x 43mm

Arduino Nano'nun bu özel çeşidi siyah Robotdyn Nano'dur. Bir CH340G USB/Seri köprü çipine bağlı yerleşik bir MicroUSB bağlantı noktası içerir. CH340 (ve gerekirse sürücüler) hakkında ayrıntılı bilgi burada bulunabilir.

Arduino Nano'yu bilgisayarınızın USB portuna ilk taktığınızda yeşil güç ışığı yanmalı ve kısa bir süre sonra mavi LED yavaşça yanıp sönmeye başlamalıdır. Bunun nedeni, Nano'nun yepyeni Arduino Nano üzerinde çalışan BLINK programı ile önceden yüklenmiş olmasıdır.

YAZILIM: Henüz Arduino IDE kurmadıysanız Arduino.cc'den indirebilirsiniz.

Nano'yu MicroUSB kablosuna ve kablonun diğer ucunu bilgisayardaki bir USB bağlantı noktasına takın. Arduino IDE yazılımını başlatın. Araçlar>pano altında IDE'de "Arduino Nano" ve araçlar>işlemci altında "ATmega328P (eski önyükleyici)" seçeneğini seçin. Araçlar>bağlantı noktası altında uygun USB bağlantı noktasını seçin (muhtemelen içinde "wchusb" olan bir addır).

Son olarak, bir parça örnek kod yükleyin: Dosya->Örnekler->Temel Bilgiler->Yanıp Sönme

Yanıp sönme aslında Nano'ya önceden yüklenmiş koddur ve mavi LED'i yavaşça yanıp sönmek için şu anda çalışıyor olması gerekir. Buna göre bu örnek kodu yüklersek hiçbir şey değişmez. Bunun yerine, kodu biraz değiştirelim.

Yakından bakıldığında, programın LED'i açtığını, 1000 milisaniye (bir saniye) beklediğini, LED'i kapattığını, bir saniye daha beklediğini ve ardından hepsini tekrar yaptığını görebilirsiniz - sonsuza kadar.

"delay(1000)" ifadesinin her ikisini de "delay(100)" olarak değiştirerek kodu değiştirin. Bu değişiklik LED'in on kat daha hızlı yanıp sönmesine neden olur, değil mi?

Değiştirilen kodun hemen üstündeki YÜKLE düğmesine (ok simgesi) tıklayarak değiştirilen kodu Nano'ya yükleyelim. Durum bilgisi için aşağıdaki kodu izleyin: "derleme" ve ardından "yükleme". Sonunda, IDE "Yükleme Tamamlandı" ifadesini göstermeli ve LED'iniz daha hızlı yanıp sönmelidir.

Eğer öyleyse, tebrikler! İlk gömülü kod parçanızı az önce hacklediniz.

Hızlı yanıp sönen sürümünüz yüklenip çalıştığında, LED'in iki kez hızlı yanıp sönmesini sağlamak için kodu tekrar değiştirip tekrarlamadan önce birkaç saniye bekleyip değiştiremeyeceğinize neden bakmıyorsunuz? Bir şans ver! Başka desenlere ne dersiniz? İstenen bir sonucu görselleştirmeyi, kodlamayı ve planlandığı gibi çalıştığını gözlemlemeyi başardığınızda, yetkin bir donanım korsanı olma yolunda büyük bir adım atmış olursunuz.

Artık Nano modülünün çalışmasını onayladığınıza göre, devam edin ve başlık pimlerini üzerine lehimleyin. Başlıklar bağlandıktan sonra modül, MCU Lab'ın lehimsiz devre tahtalarından birinde kolayca kullanılabilir. Bazı basit test kodlarını indirerek, değiştirerek ve yeniden indirerek bir MCU modülünü test etme süreci, yeni veya farklı türde bir MCU modülü kullanıldığında en iyi uygulamadır.

Arduino ekosisteminde çalışmak için ek tanıtım bilgileri istiyorsanız, birkaç örnek ve bir PDF Arduino Ders Kitabı bağlantısı içeren HackerBoxes Başlangıç Atölyesi Kılavuzuna göz atmanızı öneririz.

Adım 5: Arduino Nano ile MCU Laboratuvarını Keşfedin

Arduino Nano ile MCU Laboratuvarını Keşfedin
Arduino Nano ile MCU Laboratuvarını Keşfedin

POTANSİYOMETRE

Potansiyometrenin merkez pimini Nano Pin A0'a bağlayın.

Yükle ve Çalıştır: Örnekler > Analog > AnalogInput

Örnek varsayılan olarak Nano'nun yerleşik LED'idir. Göz kırpma hızını değiştirmek için potansiyometreyi çevirin.

Değiştir:

Kodda LedPin=13'ü 4 olarak değiştirin

Nano Pin 4'ten (ve GND) MCU Lab'ın kırmızı LED'lerinden birine atlama kablosu.

Zil

Buzzer'dan Nano Pin'e Jumper 8. Buzzer topraklaması kart GND ağına sert bir şekilde bağlı olduğundan, GND kartının güçlendirilmiş Nano'nun GND'sine bağlı olduğundan emin olun.

Yükle ve Çalıştır: Örnekler > Dijital > toneMelodi

OLED EKRAN

Arduino IDE'de, Alexey Dyna'dan "ssd1306" yüklemek için kütüphane yöneticisini kullanın.

OLED'i bağlayın: GND'yi GND'ye, VCC'yi 5V'ye, SCL'yi Nano'nun A5'ine, SDA'yı Nano'nun A4'üne

Yükle ve Çalıştır: Örnekler > ssd1306 > demolar > ssd1306_demo

WS2812B RGB LED'i

Arduino IDE'de FastLED'i kurmak için kütüphane yöneticisini kullanın.

WS2812'nin başlık pinini Nano'nun 5 pinine bağlayın.

Yükle: Örnekler > FastLED > ColorPalette

NUM_LEDS'i 1 ve LED_TYPE'yi WS2812B olarak değiştirin

Derle ve Çalıştır

DÜĞMELERİ VE ANAHTARLARI KULLANMAK İÇİN BAZI KOD YAZIN

Direnç eklemeden bir düğmeyi okumak için pinMode(INPUT_PULLUP) kullanmayı unutmayın.

BU ÖRNEKLERİN BAZILARINI BİR ARADA BİRLEŞTİRİN

Örneğin, çıkışları ilginç bir şekilde döndürün ve OLED veya seri monitörde durumları veya giriş değerlerini gösterin.

Adım 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

ESP32 mikrodenetleyici (MCU), entegre Wi-Fi ve çift modlu Bluetooth ile bir çip (SOC) üzerinde düşük maliyetli, düşük güç tüketen bir sistemdir. ESP32, bir Tensilica Xtensa LX6 çekirdeği kullanır ve yerleşik anten anahtarları, RF balun, güç amplifikatörü, düşük gürültülü alıcı amplifikatör, filtreler ve güç yönetimi modülleri içerir. (wikipedia)

WEMOS ESP32 Lite modülü, lehimsiz bir devre tahtasında kullanımı kolaylaştıran önceki sürümden daha kompakttır.

Başlık pimlerini modüle lehimlemeden önce WEMOS ESP32 modülünün ilk testini yapın.

Arduino IDE'de ESP32 destek paketini kurun.

Araçlar>pano altında, "WeMos LOLIN32"yi seçtiğinizden emin olun.

Örnek kodu Dosyalar>Örnekler>Temel Bilgiler>Blink'e yükleyin ve WeMos LOLIN32'ye programlayın

Örnek program, modül üzerindeki LED'in yanıp sönmesine neden olmalıdır. LED'in farklı desenlerle yanıp sönmesini sağlamak için gecikme parametrelerini değiştirmeyi deneyin. Bu, yeni bir mikrodenetleyici modülünün programlanmasında güven oluşturmak için her zaman iyi bir alıştırmadır.

Modülün çalışması ve nasıl programlanacağı konusunda rahat olduğunuzda, iki sıra başlık pimini dikkatlice lehimleyin ve yükleme programlarını bir kez daha test edin.

7. Adım: ESP32 Video Oluşturma

Image
Image

Bu video, ESP32 VGA Kitaplığını ve bitluni'nin laboratuvarından çok güzel, basit bir öğreticiyi gösterir.

Gösterilen 3 bitlik uygulama (8 renk), ESP32 modülü ile VGA konektörü arasında doğrudan tel köprüler kullanır. Bu bağlantıları MCU Lab'ın VGA başlığında yapmak, ek bileşenler dahil olmadığından oldukça kolaydır.

Hangi MCU'nun kullanımda olduğuna, voltaj seviyesine, piksel çözünürlüklerine ve istenen renk derinliklerine bağlı olarak, MCU ve VGA başlığı arasına yerleştirilebilecek çeşitli sıralı dirençler ve direnç ağları kombinasyonları vardır. Hat içi dirençleri kalıcı olarak kullanmaya karar verirseniz, bunlar MCU Lab PCB'sine lehimlenebilir. Esnekliği korumak istiyorsanız ve özellikle daha karmaşık çözümler kullanmak istiyorsanız, o zaman herhangi bir direnci yerine lehimlememeniz ve gerekli dirençleri bağlamak için lehimsiz panoları ve VGA başlığını kullanmanız önerilir.

Örneğin, videonun sonunda gösterilen bituni'nin 14 bit renk modunu uygulamak için, ESP32 modülü mini lehimsiz kartlardan birine yerleştirilebilir ve diğer lehimsiz kart, direnç merdivenlerini bağlamak için kullanılabilir.

İşte diğer bazı örnekler:

HackerBox 0047'de bir Arduino Nano, 4 dirençli basit bir VGA çıkışını çalıştırır.

ESP32'de FabGL ve 6 direnç kullanılarak bir VIC20 Emülatörü uygulanır.

ESP32 ve 3 direnç kullanarak bir BASIC PC uygulayın.

FabGL ve 6 direnç kullanarak Space Invaders'ı ESP32'de oynayın.

6 dirençle STM32'de VGA çıkışı oluşturun.

Video gösterimi ile STM32'de Eşzamanlı Metin ve Grafik katmanları.

Adım 8: STM32F103C8T6 Siyah Hap MCU Modülü

TXS0108E 8-Bit Mantık Seviye Değiştirici
TXS0108E 8-Bit Mantık Seviye Değiştirici

Kara Hap, STM32 tabanlı bir MCU Modülüdür. Yaygın Mavi Hap ve daha az yaygın olan Kırmızı Hapın geliştirilmiş bir çeşididir.

Black Pill, STM32F103C8T6 32bit ARM M3 mikro denetleyiciye (veri sayfası), dört pinli bir ST-Link başlığına, bir MicroUSB bağlantı noktasına ve PB12'de bir kullanıcı LED'ine sahiptir. USB bağlantı noktasının doğru çalışması için PA12'deki doğru çekme direnci takılı olarak gelir. Bu çekme işlemi tipik olarak diğer Hap Tahtalarında bir tahta değişikliği gerektiriyordu.

Görünüş olarak Arduino Nano'ya benzer olsa da, Kara Hap çok daha güçlüdür. 32bit STM32F103C8T6 ARM mikrodenetleyici 72 MHz'de çalışabilir. Tek çevrimli çarpma ve donanım bölme işlemlerini gerçekleştirebilir. 64 Kbyte Flash belleğe ve 20 Kbyte SRAM'a sahiptir.

Arduino IDE'den STM32'yi programlamak.

Adım 9: TXS0108E 8-Bit Mantık Seviye Değiştirici

TXS0108E (veri sayfası), 8-Bit Çift Yönlü Mantık Seviye Değiştiricidir. Modül, 3.3V ile 5V arasında seviye kaydırma sinyallerine ayarlanmıştır.

Sinyal seviyesi kanalları çift yönlü olduğundan, değişken girişler karşılık gelen çıkışların istenmeden çalıştırılmasına neden olabilir. Bu tür senaryolarda koruma sağlamak için bir çıkış etkinleştirme (OE) kontrolü sağlanır. Değiştiriciden gelen bir çıkışın ("kasıtlı" veya diğer taraftaki değişken bir giriş nedeniyle) başka bir cihazdan bir çıkışı çapraz sürmesine asla izin verilmediğinden emin olmak için, değiştiricinin nasıl bağlandığına bağlı olarak dikkatli olunmalıdır.

OE pini PCB izlerinde bağlantısız olarak bırakılır. OE ve 3V3'ü bağlamak için modülün altında iki pinli bir başlık bulunur. İki pimli başlığın kısaltılması (bir parça tel veya bir atlama bloğu kullanarak), OE'yi 3V3'e bağlar ve bu da IC'nin çıkışlarını sürmesini sağlar. OE pinine bir açılır direnç ve mantık kontrolü de bağlanabilir.

Adım 10: HackLife

HackLife
HackLife

Elektronik ve bilgisayar teknolojisine yönelik bu ayın HackerBox macerasını beğeneceğinizi umuyoruz. Aşağıdaki yorumlarda veya HackerBoxes Facebook Grubunda başarınızı paylaşın ve paylaşın. Ayrıca, bir sorunuz olursa veya yardıma ihtiyacınız olursa istediğiniz zaman [email protected] adresine e-posta gönderebileceğinizi unutmayın.

Sıradaki ne? Devrime katıl. HackLife'ı yaşayın. Her ay posta kutunuza teslim edilen harika bir hacklenebilir ekipman kutusu alın. HackerBoxes.com'da gezinin ve aylık HackerBox aboneliğiniz için kaydolun.

Önerilen: