สารบัญ:

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 ประกอบด้วยสวิตช์, ปุ่ม, ไฟ LED, จอแสดงผล OLED, ออด, โพเทนชิออมิเตอร์, พิกเซล RGB, ตัวเลื่อนระดับตรรกะ, เอาต์พุต VGA, อินพุตคีย์บอร์ด PS/2, อินเทอร์เฟซแบบอนุกรม USB และพื้นที่สร้างต้นแบบแบบไร้บัดกรีคู่

คู่มือนี้มีข้อมูลสำหรับการเริ่มต้นใช้งาน HackerBox 0051 ซึ่งสามารถซื้อได้ที่นี่จนกว่าของจะหมด หากคุณต้องการรับ HackerBox แบบนี้ในกล่องจดหมายของคุณทุกเดือน โปรดสมัครสมาชิกที่ HackerBoxes.com และเข้าร่วมการปฏิวัติ!

HackerBoxes เป็นบริการกล่องสมัครสมาชิกรายเดือนสำหรับแฮกเกอร์ฮาร์ดแวร์และผู้ที่ชื่นชอบอุปกรณ์อิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์ เข้าร่วมกับเราในการใช้ชีวิตแฮ็ค

ขั้นตอนที่ 1: รายการเนื้อหาสำหรับ HackerBox 0051

  • โมดูล MCU 1: Arduino Nano 5V, 16MHz
  • โมดูล MCU 2: WEMOS ESP32 Lite
  • โมดูล MCU 3: STM32F103C8T6 Black Pill
  • แผงวงจรพิมพ์ MCU Lab พิเศษ
  • FT232RL USB Serial Adapter
  • จอแสดงผล OLED 128x64 I2C 0.96 นิ้ว
  • ตัวเปลี่ยนระดับลอจิก 8 บิตแบบสองทิศทาง
  • WS2812B RGB SMD LED
  • ปุ่มสัมผัสแบบติดบนพื้นผิวสี่ปุ่ม
  • ไฟ LED 5 มม. สีแดงกระจายสี่ดวง
  • Piezo Buzzer
  • ขั้วต่อ HD15 VGA
  • ขั้วต่อคีย์บอร์ด Mini-DIN PS/2
  • โพเทนชิโอมิเตอร์ 100K โอห์ม
  • สวิตช์ DIP 8 ตำแหน่ง
  • AMS1117 3.3V ลิเนียร์เรกูเลเตอร์ SOT223
  • ตัวเก็บประจุแทนทาลัม 22uF สองตัว 1206 SMD
  • ตัวต้านทาน 680 โอห์มสิบตัว
  • สี่ฟุต PCB ยางกาว
  • เขียงหั่นขนมมินิ Solderless 170 จุดสองชิ้น
  • ซ็อกเก็ตส่วนหัวหญิง 8 พิน 11 ตัว
  • ส่วนหัว Breakaway 40 พิน
  • มัดสายจัมเปอร์ตัวผู้ 65 เส้น
  • ยกกำปั้นแผงวงจรสติ๊กเกอร์
  • แฮ็กสติกเกอร์โจรสลัดยิ้มดาวเคราะห์
  • HackerBox พิเศษ "Remove Before Flight" พวงกุญแจ

สิ่งอื่น ๆ ที่จะเป็นประโยชน์:

  • หัวแร้ง หัวแร้ง และเครื่องมือบัดกรีพื้นฐาน
  • คอมพิวเตอร์สำหรับใช้งานเครื่องมือซอฟต์แวร์

ที่สำคัญที่สุด คุณจะต้องมีความรู้สึกของการผจญภัย จิตวิญญาณของแฮ็กเกอร์ ความอดทน และความอยากรู้อยากเห็น การสร้างและทดลองใช้อุปกรณ์อิเล็กทรอนิกส์ แม้จะให้ผลตอบแทนสูง แต่ก็อาจเป็นเรื่องยาก ท้าทาย และน่าหงุดหงิดในบางครั้ง เป้าหมายคือความก้าวหน้า ไม่ใช่ความสมบูรณ์แบบ เมื่อคุณยืนกรานและสนุกไปกับการผจญภัย งานอดิเรกนี้จะได้รับความพึงพอใจอย่างมาก ทำแต่ละขั้นตอนอย่างช้าๆ ใส่ใจในรายละเอียด และอย่ากลัวที่จะขอความช่วยเหลือ

มีข้อมูลมากมายสำหรับสมาชิกปัจจุบันและที่คาดหวังในคำถามที่พบบ่อยของ HackerBoxes อีเมลสนับสนุนที่ไม่ใช่ด้านเทคนิคเกือบทั้งหมดที่เราได้รับนั้นมีคำตอบอยู่แล้ว เราจึงรู้สึกยินดีเป็นอย่างยิ่งที่คุณสละเวลาสักครู่เพื่ออ่านคำถามที่พบบ่อย

ขั้นตอนที่ 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

MCU Lab เป็นแพลตฟอร์มการพัฒนาที่มีขนาดกะทัดรัดและสวยงาม ซึ่งเราใช้เพื่อสร้างต้นแบบและทดสอบการออกแบบที่ใช้ไมโครคอนโทรลเลอร์ (MCU) ต่างๆ มีประโยชน์มากสำหรับการทำงานกับโมดูล MCU (เช่น Arduino Nano, ESP32 DevKit ฯลฯ) หรือแพ็คเกจอุปกรณ์ MCU แต่ละรายการ (เช่น ATMEGA328s, ATtiny85s, PICs เป็นต้น) MCU เป้าหมายสามารถวางลงในเขียงหั่นขนมขนาดเล็กแบบไม่มีบัดกรี MCU สองตัวสามารถเชื่อมต่อเข้าด้วยกันโดยใช้ทั้งเขียงหั่นขนมหรือหนึ่งในช่องว่างของเขียงหั่นขนมสามารถใช้กับวงจรอื่นได้

"บล็อกคุณลักษณะ" ของ MCU Lab แบ่งออกเป็นส่วนหัวของผู้หญิงที่คล้ายกับที่พบใน Arduino UNO ส่วนหัวของตัวเมียเข้ากันได้กับหมุดจัมเปอร์ตัวผู้

ขั้นตอนที่ 3: ประกอบ HackerBoxes MCU Lab

ประกอบ HackerBoxes MCU Lab
ประกอบ HackerBoxes MCU Lab

ส่วนประกอบ SMD ที่ด้านหลังของบอร์ด

เริ่มต้นด้วยการติดตั้งตัวควบคุมเชิงเส้น AMS1117 (แพ็คเกจ SOT 233) และตัวเก็บประจุตัวกรอง 22uF สองตัวที่ด้านหลังของ PCB โปรดทราบว่าด้านหนึ่งของซิลค์สกรีนตัวเก็บประจุแต่ละตัวเป็นรูปสี่เหลี่ยมผืนผ้าและอีกด้านหนึ่งเป็นรูปแปดเหลี่ยม ตัวเก็บประจุควรวางแนวเพื่อให้แถบสีเข้มบนบรรจุภัณฑ์อยู่ในแนวเดียวกับด้านซิลค์สกรีนแปดเหลี่ยม

ดำเนินการต่อด้วยส่วนประกอบที่ด้านหน้าของกระดาน

ประสาน WS2812B RGB LED จัดตำแหน่งมุมที่ทำเครื่องหมายสีขาวของ LED แต่ละดวงให้สอดคล้องกับมุมแท็บดังที่แสดงบนซิลค์สกรีน PCB

ปุ่มสัมผัส SMD สี่ปุ่ม

ไฟ LED สีแดงสี่ดวงพร้อมตัวต้านทานสี่ตัว

ตัวเลื่อนระดับพร้อมพิน VA ที่ทำเครื่องหมาย 3V3 ที่ใกล้ที่สุดและพิน VB ที่ทำเครื่องหมาย 5V ที่ใกล้ที่สุด สามารถติดตั้งโมดูล Level Shifter เข้ากับ PCB ได้โดยการบัดกรีส่วนหัวเข้ากับโมดูล จากนั้นเลื่อนสเปเซอร์พลาสติกสีดำออกจากส่วนหัวก่อนติดตั้งโมดูลกับ MCU Lab PCB ปล่อยสเปเซอร์ไว้ก็ดีเหมือนกัน

สามารถแยกส่วนหัวได้สองแถบเพื่อเชื่อมต่อโมดูล FT232 ส่วนหัว 4 พินที่เล็กกว่านั้นยังสามารถใช้สำหรับส่วนหัว 5V/GND ถัดจากโมดูล FT232 ได้อีกด้วย

ในตอนนี้ ให้ใส่ส่วนหัว VGA ตัวเมียที่ใกล้กับตัวเชื่อมต่อ HD15 VGA และ Keyboard Socket ที่สุด อย่างไรก็ตาม อย่าใส่ส่วนหัวเพิ่มเติมที่อยู่ติดกับตัวต้านทานหนึ่งหรือห้าตัวระหว่างส่วนหัวทั้งสองนั้น ตัวเลือกเฉพาะสำหรับการเชื่อมต่อสัญญาณวิดีโอจะกล่าวถึงในภายหลัง

เติมส่วนหัวหญิงอีกเก้ารายการ

ลอกกาวออกจากด้านหลังของเขียงหั่นขนมไร้บัดกรีทั้งสองเพื่อติดเข้ากับ MCU Lab PCB

วางเท้ายางกาวที่ด้านล่างของ MCU Lab PCB เพื่อปกป้องโต๊ะทำงานของคุณจากรอยขีดข่วน

การจัดการพลังงานอินพุต

มีสถานที่อย่างน้อยสองแห่งและมีโอกาสมากถึงสี่แห่งที่พลังงานอาจเข้ามาในห้องปฏิบัติการ MCU ซึ่งอาจทำให้เกิดปัญหาได้ ดังนั้นให้พิจารณาคำแนะนำต่อไปนี้อย่างระมัดระวัง:

จุดส่วนหัวที่ระบุว่า 5V เชื่อมต่อกันทั้งหมด ราง 5V ยังเชื่อมต่อกับซ็อกเก็ตแป้นพิมพ์ ตัวปรับระดับ และไฟ LED WS2812B RGB สามารถจ่ายไฟให้กับราง 5V ได้โดยเสียบ FT232 เข้ากับ USB ต่อหัวจ่ายไฟสี่พินกับแหล่งจ่ายไฟภายนอก หรือโดยการเชื่อมต่อจัมเปอร์จากพิน 5V ตัวใดตัวหนึ่งบน PCB กับโมดูลจ่ายไฟ 5V (ปกติจะจ่ายไฟโดย USB).

ในทำนองเดียวกัน หมุด GND ก็เชื่อมต่อกันทั้งหมด พวกเขาเชื่อมต่อกับ USB GND บน FT232 (สมมติว่า USB เชื่อมต่อกับ FT232) พวกเขายังสามารถเชื่อมต่อกับกราวด์โดยใช้จัมเปอร์ระหว่างหนึ่งในนั้นกับโมดูลขับเคลื่อนตามที่กล่าวถึงสำหรับเน็ต 5V

ราง 3V3 ขับเคลื่อนด้วยตัวควบคุมที่ด้านหลังของ PCB เป็นแหล่งกำเนิดเท่านั้นและ (ต่างจากราง 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
  • กระแสไฟตรงต่อขา I/O: 40 mA
  • หน่วยความจำแฟลช: 32 KB (2KB สำหรับ bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • ความเร็วสัญญาณนาฬิกา: 16 MHz
  • ขนาด: 17mm x 43mm

Arduino Nano รุ่นพิเศษนี้คือ Robotdyn Nano สีดำ ประกอบด้วยพอร์ต MicroUSB ออนบอร์ดที่เชื่อมต่อกับชิปบริดจ์ CH340G USB/ซีเรียล ข้อมูลโดยละเอียดเกี่ยวกับ CH340 (และไดรเวอร์ หากจำเป็น) สามารถพบได้ที่นี่

เมื่อคุณเสียบ Arduino Nano เข้ากับพอร์ต USB ของคอมพิวเตอร์เป็นครั้งแรก ไฟสีเขียวจะสว่างขึ้น และหลังจากไฟ LED สีฟ้าจะเริ่มกะพริบช้าๆ ไม่นาน สิ่งนี้เกิดขึ้นเนื่องจาก Nano ถูกโหลดไว้ล่วงหน้าด้วยโปรแกรม BLINK ซึ่งทำงานบน Arduino Nano ใหม่ล่าสุด

ซอฟต์แวร์: หากคุณยังไม่ได้ติดตั้ง Arduino IDE คุณสามารถดาวน์โหลดได้จาก Arduino.cc

เสียบนาโนเข้ากับสาย MicroUSB และปลายอีกด้านของสายเคเบิลเข้ากับพอร์ต USB บนคอมพิวเตอร์ เปิดตัวซอฟต์แวร์ Arduino IDE เลือก "Arduino Nano" ใน IDE ภายใต้ tools>board และ "ATmega328P (บูตโหลดเก่า)" ใต้เครื่องมือ>โปรเซสเซอร์ เลือกพอร์ต USB ที่เหมาะสมภายใต้เครื่องมือ>พอร์ต (น่าจะเป็นชื่อที่มี "wchusb")

สุดท้าย โหลดโค้ดตัวอย่าง:File->Examples->Basics->Blink

ที่จริงแล้ว Blink เป็นรหัสที่โหลดไว้ล่วงหน้าบน Nano และควรจะทำงานในขณะนี้เพื่อกะพริบไฟ LED สีน้ำเงินอย่างช้าๆ ดังนั้น หากเราโหลดโค้ดตัวอย่างนี้ จะไม่มีอะไรเปลี่ยนแปลง ให้ปรับเปลี่ยนโค้ดเล็กน้อยแทน

เมื่อมองใกล้ ๆ คุณจะเห็นว่าโปรแกรมเปิดไฟ LED รอ 1,000 มิลลิวินาที (หนึ่งวินาที) ปิดไฟ LED รออีกหนึ่งวินาทีแล้วทำทุกอย่างอีกครั้ง - ตลอดไป

แก้ไขโค้ดโดยเปลี่ยนคำสั่ง "delay(1000)" ทั้งคู่เป็น "delay(100)" การปรับเปลี่ยนนี้จะทำให้ LED กะพริบเร็วขึ้น 10 เท่า จริงไหม?

มาโหลดโค้ดที่แก้ไขแล้วลงใน Nano โดยคลิกปุ่ม UPLOAD (ไอคอนลูกศร) เหนือโค้ดที่คุณแก้ไข ดูรหัสด้านล่างสำหรับข้อมูลสถานะ: "กำลังรวบรวม" แล้ว "กำลังอัปโหลด" ในที่สุด IDE ควรระบุว่า "การอัปโหลดเสร็จสมบูรณ์" และไฟ LED ของคุณควรกะพริบเร็วขึ้น

ถ้าเป็นเช่นนั้นขอแสดงความยินดี! คุณเพิ่งแฮ็คโค้ดฝังตัวชิ้นแรกของคุณ

เมื่อโหลดและเรียกใช้เวอร์ชันกะพริบเร็วของคุณแล้ว ทำไมไม่ลองดูว่าคุณสามารถเปลี่ยนรหัสอีกครั้งเพื่อทำให้ไฟ LED กะพริบเร็วสองครั้งแล้วรอสองสามวินาทีก่อนที่จะทำซ้ำได้หรือไม่ ให้มันลอง! แล้วรูปแบบอื่นๆล่ะ? เมื่อคุณประสบความสำเร็จในการแสดงภาพผลลัพธ์ที่ต้องการ เข้ารหัส และสังเกตว่ามันทำงานได้ตามที่วางแผนไว้ คุณได้ก้าวไปสู่การเป็นแฮ็กเกอร์ฮาร์ดแวร์ที่มีความสามารถ

เมื่อคุณยืนยันการทำงานของโมดูล Nano แล้ว ให้บัดกรีหมุดส่วนหัวเข้ากับโมดูล เมื่อเชื่อมต่อส่วนหัวแล้ว สามารถใช้โมดูลได้อย่างง่ายดายในเขียงหั่นขนมแบบไม่มีการเชื่อมประสานของ MCU Lab ขั้นตอนการทดสอบโมดูล MCU โดยการดาวน์โหลดโค้ดทดสอบอย่างง่าย การแก้ไข และการดาวน์โหลดอีกครั้งเป็นแนวทางปฏิบัติที่ดีที่สุดทุกครั้งที่ใช้โมดูล MCU ใหม่หรือประเภทอื่น

หากคุณต้องการข้อมูลเบื้องต้นเพิ่มเติมสำหรับการทำงานในระบบนิเวศ Arduino เราขอแนะนำให้ดูคำแนะนำสำหรับ HackerBoxes Starter Workshop ซึ่งประกอบด้วยตัวอย่างต่างๆ และลิงก์ไปยัง PDF Arduino Textbook

ขั้นตอนที่ 5: สำรวจ MCU Lab ด้วย Arduino Nano

สำรวจ MCU Lab ด้วย Arduino Nano
สำรวจ MCU Lab ด้วย Arduino Nano

โพเทนชิโอมิเตอร์

เชื่อมต่อพินกลางของโพเทนชิออมิเตอร์กับ Nano Pin A0

โหลดและรัน: ตัวอย่าง > แอนะล็อก > AnalogInput

ตัวอย่างค่าเริ่มต้นเป็น LED ออนบอร์ดของ Nano หมุนโพเทนชิออมิเตอร์เพื่อเปลี่ยนความเร็วในการกะพริบ

แก้ไข:

ในโค้ด ให้เปลี่ยน LedPin=13 เป็น 4

จัมเปอร์จาก Nano Pin 4 (และ GND) ไปยังหนึ่งใน LED สีแดงของ MCU Lab

BUZZER

จัมเปอร์จาก Buzzer ถึง Nano Pin 8 ตรวจสอบให้แน่ใจว่าบอร์ด GND เชื่อมต่อกับ GND ของ Nano ที่ขับเคลื่อนด้วยไฟ เนื่องจากกราวด์กราวด์ของ Buzzer นั้นต่อเข้ากับเน็ต GND ของบอร์ดอย่างแน่นหนา

โหลดและเรียกใช้: ตัวอย่าง > ดิจิตอล > toneMelody

จอแสดงผล OLED

ใน Arduino IDE ให้ใช้ตัวจัดการไลบรารีเพื่อติดตั้ง "ssd1306" จาก Alexey Dyna

เชื่อมต่อ OLED: GND ถึง GND, VCC ถึง 5V, SCL ถึง Nano's A5, SDA ถึง Nano's A4

โหลดและเรียกใช้: ตัวอย่าง > ssd1306 > การสาธิต > ssd1306_demo

WS2812B RGB LED

ใน Arduino IDE ให้ใช้ตัวจัดการไลบรารีเพื่อติดตั้ง FastLED

เชื่อมต่อพินส่วนหัวของ WS2812 กับพิน 5 ของนาโน

โหลด: ตัวอย่าง > 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 ในตัวและบลูทูธสองโหมด ESP32 ใช้แกน Tensilica Xtensa LX6 และมีสวิตช์เสาอากาศในตัว, RF balun, เพาเวอร์แอมป์, แอมพลิฟายเออร์รับสัญญาณรบกวนต่ำ, ฟิลเตอร์ และโมดูลการจัดการพลังงาน (วิกิพีเดีย)

โมดูล WEMOS ESP32 Lite มีขนาดกะทัดรัดกว่ารุ่นก่อน ซึ่งทำให้ง่ายต่อการใช้งานบนเขียงหั่นขนมแบบบัดกรี

ทำการทดสอบเบื้องต้นของโมดูล WEMOS ESP32 ก่อนที่จะบัดกรีหมุดส่วนหัวเข้ากับโมดูล

ตั้งค่าแพ็คเกจสนับสนุน ESP32 ใน Arduino IDE

ใต้ tools>board อย่าลืมเลือก "WeMos LOLIN32"

โหลดโค้ดตัวอย่างที่ Files>Examples>Basics>Blink และตั้งโปรแกรมไปที่ WeMos LOLIN32

โปรแกรมตัวอย่างควรทำให้ LED บนโมดูลกะพริบ ทดลองปรับเปลี่ยนพารามิเตอร์การหน่วงเวลาเพื่อให้ไฟ LED กะพริบด้วยรูปแบบต่างๆ นี่เป็นแบบฝึกหัดที่ดีเสมอมาเพื่อสร้างความมั่นใจในการเขียนโปรแกรมโมดูลไมโครคอนโทรลเลอร์ใหม่

เมื่อคุณพอใจกับการทำงานของโมดูลและวิธีการตั้งโปรแกรมแล้ว ให้บัดกรีหมุดส่วนหัวสองแถวอย่างระมัดระวังและทดสอบโปรแกรมการโหลดอีกครั้ง

ขั้นตอนที่ 7: การสร้างวิดีโอ ESP32

Image
Image

วิดีโอนี้สาธิต ESP32 VGA Library และบทช่วยสอนง่ายๆ ที่ดีมากจากห้องทดลองของ bitluni

การใช้งานแบบ 3 บิตที่แสดงให้เห็น (8 สี) ใช้จัมเปอร์แบบมีสายโดยตรงระหว่างโมดูล ESP32 และขั้วต่อ VGA การเชื่อมต่อเหล่านี้บนส่วนหัว VGA ของ MCU Lab นั้นค่อนข้างง่ายเนื่องจากไม่มีส่วนประกอบเพิ่มเติมที่เกี่ยวข้อง

ขึ้นอยู่กับ MCU ที่ใช้อยู่ ระดับแรงดันไฟฟ้า ความละเอียดพิกเซล และความลึกของสีที่ต้องการ มีตัวต้านทานอินไลน์และเครือข่ายตัวต้านทานหลายแบบรวมกันที่อาจวางไว้ระหว่าง MCU และส่วนหัว VGA หากคุณตัดสินใจที่จะใช้ตัวต้านทานแบบอินไลน์อย่างถาวร ตัวต้านทานเหล่านี้สามารถบัดกรีบน MCU Lab PCB ได้ หากคุณต้องการรักษาความยืดหยุ่น และโดยเฉพาะอย่างยิ่ง หากคุณต้องการใช้โซลูชันที่ซับซ้อนมากขึ้น ขอแนะนำว่าอย่าประสานตัวต้านทานใดๆ เข้าที่ และเพียงแค่ใช้บอร์ดแบบไม่มีบัดกรีและส่วนหัว VGA เพื่อเชื่อมต่อตัวต้านทานที่จำเป็น

ตัวอย่างเช่น ในการใช้โหมดสี 14 บิตของ bituni ที่แสดงที่ส่วนท้ายของวิดีโอ โมดูล ESP32 สามารถวางตำแหน่งบนหนึ่งในบอร์ดไร้บัดกรีขนาดเล็ก และสามารถใช้บอร์ดไร้บัดกรีอื่นๆ เพื่อเชื่อมต่อบันไดตัวต้านทาน

ต่อไปนี้คือตัวอย่างอื่นๆ:

ใน HackerBox 0047 Arduino Nano ขับเอาต์พุต VGA อย่างง่ายพร้อมตัวต้านทาน 4 ตัว

VIC20 Emulator ถูกใช้งานบน ESP32 โดยใช้ FabGL และตัวต้านทาน 6 ตัว

ใช้พีซีพื้นฐานโดยใช้ตัวต้านทาน ESP32 และ 3

เล่น Space Invaders บน ESP32 โดยใช้ FabGL และตัวต้านทาน 6 ตัว

สร้างเอาต์พุต VGA บน STM32 พร้อมตัวต้านทาน 6 ตัว

เลเยอร์ข้อความและกราฟิกพร้อมกันบน STM32 พร้อมการสาธิตวิดีโอ

ขั้นตอนที่ 8: STM32F103C8T6 Black Pill MCU Module

TXS0108E 8-Bit Logic Level Shifter
TXS0108E 8-Bit Logic Level Shifter

Black Pill เป็นโมดูล MCU ที่ใช้ STM32 เป็นตัวแปรที่ได้รับการปรับปรุงใน Blue Pill ทั่วไปและ Red Pill ทั่วไปน้อยกว่า

Black Pill มีไมโครคอนโทรลเลอร์ STM32F103C8T6 32 บิต ARM M3 (เอกสารข้อมูล) ส่วนหัว ST-Link สี่พิน พอร์ต MicroUSB และ LED ผู้ใช้บน PB12 มีการติดตั้งตัวต้านทานแบบดึงขึ้นที่ถูกต้องบน PA12 เพื่อการทำงานที่ถูกต้องของพอร์ต USB การดึงขึ้นนี้มักต้องมีการปรับเปลี่ยนบอร์ดบน Pill Boards อื่นๆ

แม้ว่าจะมีลักษณะคล้ายกับ Arduino Nano แต่ Black Pill นั้นทรงพลังกว่ามาก ไมโครคอนโทรลเลอร์ ARM 32 บิต STM32F103C8T6 ARM สามารถทำงานที่ 72 MHz มันสามารถทำการคูณแบบรอบเดียวและการแบ่งฮาร์ดแวร์ มีหน่วยความจำแฟลช 64 Kbytes และ SRAM 20 Kbytes

การเขียนโปรแกรม STM32 จาก Arduino IDE

ขั้นตอนที่ 9: TXS0108E 8-Bit Logic Level Shifter

TXS0108E (เอกสารข้อมูล) คือตัวเปลี่ยนระดับลอจิกแบบสองทิศทาง 8 บิต โมดูลนี้ได้รับการตั้งค่าให้เป็นสัญญาณการเลื่อนระดับระหว่าง 3.3V และ 5V

เนื่องจากช่องสัญญาณระดับสัญญาณเป็นแบบสองทิศทาง อินพุตแบบลอยตัวอาจทำให้เอาต์พุตที่สอดคล้องกันถูกขับเคลื่อนโดยไม่ได้ตั้งใจ มีการควบคุมการเปิดใช้งานเอาต์พุต (OE) เพื่อป้องกันในสถานการณ์ดังกล่าว ควรใช้ความระมัดระวังโดยขึ้นอยู่กับวิธีการเชื่อมต่อตัวเปลี่ยนเกียร์ เพื่อให้แน่ใจว่าเอาต์พุตจากตัวเปลี่ยนเกียร์ (ไม่ว่าจะ "โดยเจตนา" หรือเนื่องจากอินพุตแบบลอยอยู่อีกด้านหนึ่ง) จะไม่ได้รับอนุญาตให้ขับข้ามเอาต์พุตจากอุปกรณ์อื่น

หมุด OE ถูกตัดการเชื่อมต่อทิ้งไว้ในร่องรอย PCB มีส่วนหัวแบบสองพินอยู่ใต้โมดูลสำหรับเชื่อมต่อ OE และ 3V3 การลัดวงจรส่วนหัวแบบสองพิน (โดยใช้ชิ้นส่วนของลวดหรือจัมเปอร์บล็อก) เชื่อมต่อ OE กับ 3V3 ซึ่งช่วยให้ IC สามารถขับเอาต์พุตได้ ตัวต้านทานแบบดึงลงและการควบคุมลอจิกสามารถเชื่อมต่อกับพิน OE ได้

ขั้นตอนที่ 10: HackLife

HackLife
HackLife

เราหวังว่าคุณจะสนุกกับการผจญภัยของ HackerBox ในเดือนนี้ในด้านอิเล็กทรอนิกส์และเทคโนโลยีคอมพิวเตอร์ ติดต่อและแบ่งปันความสำเร็จของคุณในความคิดเห็นด้านล่างหรือบน HackerBoxes Facebook Group นอกจากนี้ โปรดจำไว้ว่า คุณสามารถส่งอีเมลถึง [email protected] ได้ทุกเมื่อ หากคุณมีคำถามหรือต้องการความช่วยเหลือ

อะไรต่อไป? เข้าร่วมการปฏิวัติ ใช้ชีวิต HackLife รับกล่องอุปกรณ์แฮ็คสุดเจ๋งที่ส่งตรงถึงกล่องจดหมายของคุณทุกเดือน ท่องไปที่ HackerBoxes.com และสมัครสมาชิก HackerBox รายเดือนของคุณ

แนะนำ: