Daftar Isi:

HackerBox 0051: Lab MCU: 10 Langkah
HackerBox 0051: Lab MCU: 10 Langkah

Video: HackerBox 0051: Lab MCU: 10 Langkah

Video: HackerBox 0051: Lab MCU: 10 Langkah
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Juli
Anonim
HackerBox 0051: Lab MCU
HackerBox 0051: Lab MCU

Salam untuk HackerBox Hacker di seluruh dunia! HackerBox 0051 menghadirkan Lab HackerBox MCU. Lab MCU adalah platform pengembangan untuk menguji, mengembangkan, dan membuat prototipe dengan modul mikrokontroler dan mikrokontroler. Arduino Nano, Modul ESP32, dan Pil Hitam SMT32 digunakan untuk menjelajahi blok fitur Lab MCU. Blok fitur Lab MCU termasuk sakelar, tombol, LED, layar OLED, buzzer, potensiometer, piksel RGB, pemindah level logika, output VGA, input keyboard PS/2, antarmuka serial USB, dan area prototipe tanpa solder ganda.

Panduan ini berisi informasi untuk memulai dengan HackerBox 0051, yang dapat dibeli di sini selama persediaan masih ada. Jika Anda ingin menerima HackerBox seperti ini langsung di kotak surat Anda setiap bulan, silakan berlangganan di HackerBoxes.com dan bergabunglah dengan revolusi!

HackerBoxes adalah layanan kotak berlangganan bulanan untuk peretas perangkat keras dan penggemar elektronik dan teknologi komputer. Bergabunglah dengan kami dalam menjalani HACK LIFE.

Langkah 1: Daftar Konten untuk HackerBox 0051

  • Modul MCU 1: Arduino Nano 5V, 16MHz
  • Modul MCU 2: WEMOS ESP32 Lite
  • Modul MCU 3: Pil Hitam STM32F103C8T6
  • Papan Sirkuit Cetak Lab MCU Eksklusif
  • Adaptor Serial USB FT232RL
  • Layar OLED 128x64 I2C 0,96 Inci
  • Pergeseran Level Logika 8-Bit Dua Arah
  • WS2812B RGB SMD LED
  • Empat Tombol Taktil Pemasangan Permukaan
  • Empat LED 5mm Difusi Merah
  • Piezo Buzzer
  • Konektor VGA HD15
  • Konektor Keyboard Mini-DIN PS/2
  • Potensiometer 100K Ohm
  • Saklar DIP 8 Posisi
  • AMS1117 3.3V Linear Regulator SOT223
  • Dua Kapasitor Tantalum 22uF 1206 SMD
  • Sepuluh Resistor 680 Ohm
  • Empat Kaki PCB Karet Perekat
  • Dua 170 titik Mini Solderless Breadboards
  • Sebelas 8 pin Soket Header Wanita
  • 40 pin Breakaway Header
  • Bundel 65 Kabel Jumper Pria
  • Stiker Papan Sirkuit Tinju Mengangkat
  • Meretas Stiker Bajak Laut Smiley Planet
  • HackerBox Eksklusif "Hapus Sebelum Terbang" Gantungan Kunci

Beberapa hal lain yang akan membantu:

  • Besi solder, solder, dan alat solder dasar
  • Komputer untuk menjalankan perangkat lunak

Yang terpenting, Anda akan membutuhkan rasa petualangan, semangat hacker, kesabaran, dan rasa ingin tahu. Membangun dan bereksperimen dengan elektronik, meskipun sangat bermanfaat, terkadang bisa rumit, menantang, dan bahkan membuat frustrasi. Tujuannya adalah kemajuan, bukan kesempurnaan. Ketika Anda bertahan dan menikmati petualangan, banyak kepuasan dapat diperoleh dari hobi ini. Ambil setiap langkah secara perlahan, perhatikan detailnya, dan jangan takut untuk meminta bantuan.

Ada banyak informasi untuk anggota saat ini dan calon anggota di FAQ HackerBox. Hampir semua email dukungan non-teknis yang kami terima sudah dijawab di sana, jadi kami sangat menghargai Anda meluangkan beberapa menit untuk membaca FAQ.

Langkah 2: HackerBoxes MCU Lab

Lab MCU HackerBox
Lab MCU HackerBox

Lab MCU adalah versi platform pengembangan yang ringkas dan dipoles yang kami gunakan untuk membuat prototipe dan menguji berbagai desain berbasis mikrokontroler (MCU). Ini sangat berguna untuk bekerja dengan modul MCU (seperti Arduino Nano, ESP32 DevKit, dll) atau paket perangkat MCU individu (seperti ATMEGA328s, ATtiny85s, PICs, dll). MCU target dapat ditempatkan ke salah satu papan tempat memotong roti mini tanpa solder. Dua MCU dapat dihubungkan bersama menggunakan kedua papan tempat memotong roti atau salah satu ruang papan tempat memotong roti dapat digunakan untuk sirkuit lain.

"Blok fitur" Lab MCU dipecah menjadi header wanita yang mirip dengan yang ditemukan di Arduino UNO. Header wanita kompatibel dengan pin jumper pria.

Langkah 3: Merakit Lab HackerBoxes MCU

Merakit Lab MCU HackerBoxes
Merakit Lab MCU HackerBoxes

KOMPONEN SMD DI BELAKANG PAPAN

Mulailah dengan memasang Regulator Linier AMS1117 (Paket SOT 233) dan dua kapasitor filter 22uF di bagian belakang PCB. Perhatikan bahwa satu sisi setiap sablon kapasitor berbentuk persegi panjang dan sisi lainnya berbentuk segi delapan. Kapasitor harus diorientasikan sehingga garis gelap pada kemasan sejajar dengan sisi layar sutra segi delapan.

LANJUTKAN DENGAN KOMPONEN DI DEPAN PAPAN

Solder LED RGB WS2812B. Arahkan sudut bertanda putih dari setiap LED agar sesuai dengan sudut bertab seperti yang ditunjukkan pada layar sutra PCB.

Empat Tombol Taktil SMD

Empat LED Merah dengan Empat Resistor

Level Shifter dengan pin VA terdekat dengan penandaan 3V3 dan pin VB terdekat dengan penandaan 5V. Modul Level Shifter dapat dipasang rata ke PCB dengan menyolder header ke modul dan kemudian menggeser spacer plastik hitam dari header sebelum memasang modul ke PCB Lab MCU. Membiarkan spacer menyala juga tidak masalah.

Dua strip header dapat dipatahkan untuk menghubungkan modul FT232. Bagian header 4-pin yang lebih kecil juga dapat digunakan untuk header 5V/GND tepat di sebelah modul FT232.

Untuk saat ini, isi header VGA female yang paling dekat dengan konektor VGA HD15 dan Soket Keyboard. Namun, JANGAN MENGISI header tambahan yang berdekatan dengan satu atau lima resistor di antara kedua header tersebut. Opsi khusus untuk antarmuka sinyal video akan dibahas nanti.

Isi sembilan header wanita lainnya.

Lepaskan perekat dari bagian belakang kedua papan tempat memotong roti tanpa solder untuk menempelkannya ke PCB Lab MCU.

Posisikan kaki karet perekat ke bagian bawah PCB Lab MCU untuk melindungi meja kerja Anda dari goresan.

MENANGANI INPUT DAYA

Setidaknya ada dua, dan kemungkinan besar sebanyak empat, tempat di mana daya dapat masuk ke Lab MCU. Ini dapat menyebabkan masalah, jadi selalu pertimbangkan petunjuk berikut dengan cermat:

Poin header berlabel 5V semuanya terhubung. Rel 5V juga terhubung ke soket keyboard, pemindah level, dan LED RGB WS2812B. Daya dapat disuplai ke rel 5V dengan mencolokkan FT232 ke USB, menghubungkan header daya empat pin ke catu eksternal, atau dengan menghubungkan jumper dari salah satu pin 5V pada PCB ke modul 5V bertenaga (biasanya didukung oleh USB).

Demikian pula, pin GND semuanya terhubung. Mereka terhubung ke USB GND pada FT232 (dengan asumsi USB terhubung ke FT232). Mereka juga dapat dihubungkan ke ground menggunakan jumper di antara salah satunya dan modul bertenaga seperti yang dibahas untuk jaringan 5V.

Rel 3V3 digerakkan oleh regulator di bagian belakang PCB. Ini adalah sumber saja dan (tidak seperti rel 5V) tidak boleh digerakkan oleh modul atau sirkuit lain karena didorong langsung dari regulator pada rel 5V.

Langkah 4: Modul Arduino Nano MCU

Modul Arduino Nano MCU
Modul Arduino Nano MCU

Salah satu modul MCU yang paling umum saat ini adalah Arduino Nano. Papan Arduino Nano yang disertakan dilengkapi dengan pin header, tetapi tidak disolder ke modul. Tinggalkan pin untuk saat ini. Lakukan pengujian awal ini pada modul Arduino Nano sebelum menyolder pada pin header. Yang dibutuhkan hanyalah kabel microUSB dan papan Arduino Nano begitu saja dikeluarkan dari tas.

Arduino Nano adalah papan Arduino mini yang dipasang di permukaan, ramah papan tempat memotong roti, dengan USB terintegrasi. Ini luar biasa berfitur lengkap dan mudah diretas.

Fitur:

  • Mikrokontroler: Atmel ATmega328P
  • Tegangan: 5V
  • Pin I/O Digital: 14 (6 PWM)
  • Pin Input Analog: 8
  • Arus DC per Pin I/O: 40 mA
  • Memori Flash: 32 KB (2KB untuk bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Kecepatan Jam: 16 MHz
  • Dimensi: 17mm x 43mm

Varian khusus dari Arduino Nano ini adalah Robotdyn Nano hitam. Termasuk port MicroUSB on-board yang terhubung ke chip jembatan USB/Serial CH340G. Informasi rinci tentang CH340 (dan driver, jika diperlukan) dapat ditemukan di sini.

Saat Anda pertama kali mencolokkan Arduino Nano ke port USB komputer Anda, lampu daya hijau akan menyala dan segera setelah itu LED biru akan mulai berkedip perlahan. Ini terjadi karena Nano sudah dimuat sebelumnya dengan program BLINK, yang berjalan di Arduino Nano yang baru.

PERANGKAT LUNAK: Jika Anda belum menginstal Arduino IDE, Anda dapat mengunduhnya dari Arduino.cc

Colokkan Nano ke kabel MicroUSB dan ujung kabel lainnya ke port USB di komputer. Luncurkan perangkat lunak Arduino IDE. Pilih "Arduino Nano" di IDE di bawah alat> papan dan "ATmega328P (bootloader lama)" di bawah alat> prosesor. Pilih port USB yang sesuai di bawah alat> port (kemungkinan nama dengan "wchusb" di dalamnya).

Terakhir, muat sepotong kode contoh: File->Examples->Basics->Blink

Blink sebenarnya adalah kode yang dimuat sebelumnya ke Nano dan harus dijalankan sekarang untuk mengedipkan LED biru secara perlahan. Dengan demikian, jika kita memuat kode contoh ini, tidak ada yang akan berubah. Sebagai gantinya, mari kita ubah kodenya sedikit.

Melihat lebih dekat, Anda dapat melihat bahwa program menyalakan LED, menunggu 1000 milidetik (satu detik), mematikan LED, menunggu satu detik lagi, dan kemudian melakukan semuanya lagi - selamanya.

Ubah kode dengan mengubah kedua pernyataan "delay(1000)" menjadi "delay(100)". Modifikasi ini akan menyebabkan LED berkedip sepuluh kali lebih cepat, bukan?

Mari muat kode yang dimodifikasi ke dalam Nano dengan mengklik tombol UPLOAD (ikon panah) tepat di atas kode yang Anda modifikasi. Perhatikan di bawah kode untuk info status: "mengkompilasi" dan kemudian "mengunggah". Akhirnya, IDE akan menunjukkan "Uploading Complete" dan LED Anda akan berkedip lebih cepat.

Jika demikian, selamat! Anda baru saja meretas bagian pertama dari kode yang disematkan.

Setelah versi fast-blink Anda dimuat dan dijalankan, mengapa tidak melihat apakah Anda dapat mengubah kode lagi untuk menyebabkan LED berkedip cepat dua kali dan kemudian menunggu beberapa detik sebelum mengulanginya? Cobalah! Bagaimana dengan beberapa pola lainnya? Setelah Anda berhasil memvisualisasikan hasil yang diinginkan, mengkodekannya, dan mengamatinya agar berfungsi sesuai rencana, Anda telah mengambil langkah besar untuk menjadi peretas perangkat keras yang kompeten.

Sekarang setelah Anda mengkonfirmasi pengoperasian modul Nano, lanjutkan dan solder pin header ke dalamnya. Setelah header tersambung, modul dapat dengan mudah digunakan di salah satu papan tempat memotong roti tanpa solder di Lab MCU. Proses pengujian modul MCU dengan mengunduh beberapa kode pengujian sederhana, memodifikasi, dan mengunduh lagi adalah praktik terbaik setiap kali menggunakan modul MCU tipe baru atau berbeda.

Jika Anda menginginkan informasi pengantar tambahan untuk bekerja di ekosistem Arduino, kami sarankan untuk membaca Panduan untuk Lokakarya Pemula HackerBox, yang mencakup beberapa contoh dan tautan ke Buku Teks Arduino PDF.

Langkah 5: Jelajahi Lab MCU Dengan Arduino Nano

Jelajahi Lab MCU Dengan Arduino Nano
Jelajahi Lab MCU Dengan Arduino Nano

POTENSIMETER

Hubungkan pin tengah potensiometer ke Pin Nano A0.

Muat dan Jalankan: Contoh > Analog > AnalogInput

Contoh default ke LED onboard Nano. Putar potensiometer untuk mengubah kecepatan kedip.

Memodifikasi:

Dalam kode, ubah LedPin=13 menjadi 4

Jumper dari Nano Pin 4 (dan GND) ke salah satu LED merah Lab MCU.

BEL

Jumper dari Buzzer ke Nano Pin 8. Pastikan papan GND terhubung ke GND dari Nano bertenaga karena arde buzzer disambungkan ke jaringan papan GND.

Muat dan Jalankan: Contoh > Digital > toneMelody

TAMPILAN OLED

Di Arduino IDE, gunakan pengelola perpustakaan untuk menginstal "ssd1306" dari Alexey Dyna.

Hubungkan OLED: GND ke GND, VCC ke 5V, SCL ke A5 Nano, SDA ke A4 Nano

Muat dan Jalankan: Contoh > ssd1306 > demo > ssd1306_demo

WS2812B RGB LED

Di Arduino IDE, gunakan pengelola perpustakaan untuk menginstal FastLED

Hubungkan pin header WS2812 ke pin Nano 5.

Muat: Contoh > FastLED > ColorPalette

Ubah NUM_LEDS menjadi 1 dan LED_TYPE menjadi WS2812B

Kompilasi dan Jalankan

TULIS BEBERAPA KODE UNTUK MELAKUKAN TOMBOL DAN SAKLAR

Ingatlah untuk menggunakan pinMode(INPUT_PULLUP) untuk membaca tombol tanpa menambahkan resistor.

GABUNGKAN BEBERAPA CONTOH INI BERSAMA

Misalnya, siklus output dengan cara yang menarik dan tunjukkan status atau nilai input pada OLED atau monitor serial.

Langkah 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

Mikrokontroler ESP32 (MCU) adalah sistem berbiaya rendah dan berdaya rendah pada chip (SOC) dengan Wi-Fi terintegrasi dan Bluetooth dual-mode. ESP32 menggunakan inti Tensilica Xtensa LX6 dan mencakup sakelar antena internal, balun RF, penguat daya, penguat penerima kebisingan rendah, filter, dan modul manajemen daya. (wikipedia)

Modul WEMOS ESP32 Lite lebih ringkas dari versi sebelumnya yang membuatnya lebih mudah digunakan pada papan tempat memotong roti tanpa solder.

Lakukan pengujian awal modul WEMOS ESP32 sebelum menyolder pin header ke modul.

Siapkan paket dukungan ESP32 di Arduino IDE.

Di bawah alat> papan, pastikan untuk memilih "WeMos LOLIN32"

Muat kode contoh di File>Contoh>Basics>Blink dan program ke WeMos LOLIN32

Contoh program harus menyebabkan LED pada modul berkedip. Bereksperimenlah dengan memodifikasi parameter penundaan untuk membuat LED berkedip dengan pola yang berbeda. Ini selalu merupakan latihan yang baik untuk membangun kepercayaan diri dalam memprogram modul mikrokontroler baru.

Setelah Anda merasa nyaman dengan pengoperasian modul dan cara memprogramnya, solder dengan hati-hati kedua baris pin header ke tempatnya dan uji program pemuatan sekali lagi.

Langkah 7: Pembuatan Video ESP32

Image
Image

Video ini mendemonstrasikan ESP32 VGA Library dan tutorial sederhana yang sangat bagus dari lab bitluni.

Implementasi 3-bit yang didemonstrasikan (8 warna) menggunakan jumper kabel langsung antara modul ESP32 dan konektor VGA. Membuat koneksi ini pada header VGA MCU Lab cukup mudah karena tidak ada komponen tambahan yang terlibat.

Bergantung pada MCU yang digunakan, level voltase, resolusi piksel, dan kedalaman warna yang diinginkan, ada berbagai kombinasi resistor inline dan jaringan resistor yang dapat ditempatkan di antara MCU dan header VGA. Jika Anda memutuskan untuk menggunakan resistor inline secara permanen, resistor tersebut dapat disolder ke PCB Lab MCU. Jika Anda ingin mempertahankan fleksibilitas dan terutama jika Anda ingin menggunakan solusi yang lebih kompleks, maka disarankan untuk tidak menyolder resistor apa pun ke tempatnya dan cukup gunakan papan solderless dan header VGA untuk menghubungkan resistor yang diperlukan.

Misalnya, untuk menerapkan mode warna 14-bit bituni yang ditunjukkan di akhir video, modul ESP32 dapat diposisikan ke salah satu papan tanpa solder mini dan papan tanpa solder lainnya dapat digunakan untuk menghubungkan tangga resistor.

Berikut beberapa contoh lainnya:

Di HackerBox 0047, Arduino Nano menggerakkan output VGA sederhana dengan 4 resistor.

Emulator VIC20 diimplementasikan pada ESP32 menggunakan FabGL dan 6 resistor.

Implementasikan PC BASIC menggunakan ESP32 dan 3 resistor.

Mainkan Space Invaders di ESP32 menggunakan FabGL dan 6 resistor.

Hasilkan output VGA pada STM32 dengan 6 resistor.

Lapisan Teks dan Grafik simultan pada STM32 dengan demonstrasi Video.

Langkah 8: Modul MCU Pil Hitam STM32F103C8T6

Pergeseran Level Logika 8-Bit TXS0108E
Pergeseran Level Logika 8-Bit TXS0108E

Pil Hitam adalah Modul MCU berbasis STM32. Ini adalah varian yang ditingkatkan pada Pil Biru umum dan Pil Merah yang kurang umum.

Pil Hitam dilengkapi mikrokontroler STM32F103C8T6 32bit ARM M3 (lembar data), header ST-Link empat pin, port MicroUSB, dan LED pengguna pada PB12. Resistor pull-up yang benar pada PA12 dipasang untuk pengoperasian port USB yang benar. Pull-up ini biasanya membutuhkan modifikasi papan pada Papan Pil lainnya.

Meskipun mirip dengan Arduino Nano, Black Pill jauh lebih kuat. Mikrokontroler ARM 32bit STM32F103C8T6 dapat berjalan pada 72 MHz. Itu dapat melakukan perkalian siklus tunggal dan pembagian perangkat keras. Ini memiliki 64 Kbytes memori Flash dan 20 Kbytes SRAM.

Memprogram STM32 dari Arduino IDE.

Langkah 9: Pergeseran Level Logika 8-Bit TXS0108E

TXS0108E (lembar data) adalah Penggeser Level Logika Dua Arah 8-Bit. Modul diatur untuk sinyal level-shift antara 3.3V dan 5V.

Karena saluran level sinyal adalah dua arah, input mengambang dapat menyebabkan output yang sesuai didorong secara tidak sengaja. Kontrol pengaktifan keluaran (OE) disediakan untuk melindungi dalam skenario seperti itu. Perawatan harus diambil tergantung pada bagaimana shifter terhubung untuk memastikan bahwa output dari shifter (baik "disengaja" atau karena input mengambang di sisi lain) tidak pernah diizinkan untuk cross-drive output dari perangkat lain.

Pin OE dibiarkan terputus di jejak PCB. Header dua pin disediakan di bawah modul untuk menghubungkan OE dan 3V3. Korslet header dua pin (menggunakan sepotong kawat atau blok jumper) menghubungkan OE ke 3V3 yang memungkinkan IC untuk menggerakkan outputnya. Sebuah resistor pull-down dan kontrol logika juga dapat dihubungkan ke pin OE.

Langkah 10: HackLife

HackLife
HackLife

Kami harap Anda menikmati petualangan HackerBox bulan ini ke dalam elektronik dan teknologi komputer. Jangkau dan bagikan kesuksesan Anda di komentar di bawah atau di Grup Facebook HackerBoxes. Juga, ingat bahwa Anda dapat mengirim email ke [email protected] kapan saja jika Anda memiliki pertanyaan atau memerlukan bantuan.

Apa berikutnya? Bergabunglah dengan revolusi. Jalani HackLife. Dapatkan sekotak perlengkapan keren yang dapat diretas dikirim langsung ke kotak surat Anda setiap bulan. Jelajahi HackerBoxes.com dan daftar untuk berlangganan HackerBox bulanan Anda.

Direkomendasikan: