รายการบทความ#
ตัวอย่างบทความที่ได้มีการเรียบเรียงและรวบรวมมาแชร์ไว้ ในเนื้อหาวิชาที่เกี่ยวข้องกับวิศวกรรมไฟฟ้าและคอมพิวเตอร์ ซึ่งเป็นผลจากการศึกษาเรียนรู้และปฏิบัติด้วยตนเองเป็นส่วนใหญ่ และบางส่วนได้จากประสบการณ์การสอนในอดีตของผู้เขียน หวังว่าจะมีประโยชน์ต่อผู้ที่สนใจและศึกษาเรียนรู้ครับ
▹ การเรียนรู้ไมโครคอนโทรลเลอร์และระบบสมองกลฝังตัวด้วย Arduino Hardware & Software#
หากสนใจการเรียนรู้การเขียนโปรแกรมสำหรับบอร์ดไมโครคอนโทรลเลอร์ (Microcontroller: MCU) เช่น ภาษา C/C++ ซึ่งเป็นพื้นฐานที่สำคัญสำหรับการพัฒนาระบบสมองกลฝังตัว (Embedded Systems Development) เราจะพบว่า มีตัวเลือกหลากหลายทั้งซอฟต์แวร์และฮาร์ดแวร์ และกล่าวได้ว่า Arduino เป็นหนึ่งในตัวเลือกที่น่าสนใจและเป็นตัวเลือกแรกสำหรับผู้เริ่มต้น → มีบทความที่เกี่ยวข้องดังนี้
- Arduino Ecosystem: กล่าวถึงภาพรวมของ Arduino การพัฒนาจากอดีตมาถึงปัจจุบัน ซอฟต์แวร์และฮาร์ดแวร์ที่เกี่ยวข้องกับ Arduino เป็นต้น
- CPU Chips on Arduino Boards: กล่าวถึง ตัวเลือกชิปในประเภทไมโครคอนโทรลเลอร์ (MCU) สำหรับบอร์ด Arduino หลายรุ่น
- Single Board Computers (SBCs) with Arduino Support: คอมพิวเตอร์บอร์ดเดี่ยวที่รองรับการเขียนโปรแกรมด้วย Arduino
- การเขียนโปรแกรมภาษา C: ตอนที่ 1 | 2 | 3
- บอร์ด Arduino Nano: ความแตกต่างของบอร์ดจากต่างผู้ผลิตและการเลือกใช้งาน
- การใช้งานซอฟต์แวร์ VS Code IDE + PlatformIO เพื่อเขียนโค้ด Arduino สำหรับบอร์ด เช่น Arduino Uno Rev.3 หรือ Nano v3.0
- การใช้งาน Arduino CLI: การทำคำสั่งแบบ Command Line
- ตัวอย่างการสร้าง C++ Class เพื่อใช้งานเป็นไลบรารีสำหรับ Arduino: RGB LED และ 4x4 Membrane Keypad
- การกระเด้งของปุ่มกด (Switch Bouncing) การแก้ปัญหาและทดลองเขียนโค้ดด้วย Arduino (ATmega328P)
- การใช้โมดูล 8-bit LED Bar เพื่อการฝึกเขียนโค้ด Arduino Sketch โดยใช้ Wokwi Simulator และใช้บอร์ด Arduino Nano และ ESP32
- การสื่อสารด้วยบัส SPI และเขียนโปรแกรมด้วย Arduino
- การใช้งานไมโครคอนโทรลเลอร์ ATtiny85 การเขียนโปรแกรม Arduino และจำลองการทำงานด้วย Wokwi AVR Simulator
- ตัวอย่างการเขียนโค้ดภาษา C แบบ Bare-Metal และใช้งานซอฟต์แวร์ GCC AVR Toolchain / Arduino IDE สำหรับชิป AVR / ATmega328P: ตอนที่ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
- Arduino LED Blink: ตัวอย่างการเขียนโค้ดที่ทำให้ LED กระพริบได้ด้วยวิธีที่แตกต่างกันหลายวิธี โดยใช้บอร์ด Uno / Nano
- Arduino I/O Toggle: ตัวอย่างการเขียนโค้ดเพื่อสร้างและวัดสัญญาณแบบพัลส์ โดยใช้บอร์ด Uno / Nano
- การใช้งาน Arduino TimerOne Library สำหรับบอร์ดไมโครคอนโทรลเลอร์ Arduino Uno / Nano
- ตัวอย่างการเขียนโค้ดเพื่อวัดความถี่ของสัญญาณที่มีคาบโดยใช้บอร์ด Uno / Nano: Frequency Measurement with Arduino
- การอ่านค่าจาก ADC เพื่อปรับความกว้างพัลส์ของสัญญาณ PWM: ADC Reading and PWM Output with Arduino: โดยใช้บอร์ด Uno / Nano และ ESP32
- GCC AVR - Inline Assembly: ตัวอย่างการเขียนโค้ดและการจำลองการทำงานด้วย Wokwi AVR Simulator
- ตัวเลือกในการดีบักโค้ดสำหรับชิปไมโครคอนโทรลเลอร์ AVR: AVR Debugging Tools
- การใช้งานบอร์ด Arduino Due Rev.3 (ATSAM3x8e, 32-bit Arm Cortex-M3 CPU)
- การใช้งานบอร์ด Arduino Uno R4 WiFi ในเบื้องต้น
▹ ไมโครคอนโทรลเลอร์ตระกูล Arm Cortex-M Series และซอฟต์แวร์ที่เกี่ยวข้อง#
ไมโครคอนโทรลเลอร์ที่ใช้ซีพียูเป็น 32-bit Arm Cortex-M ถือว่าเป็นตัวเลือกที่ได้รับความนิยม มีการใช้งานแพร่หลาย ดังนั้นความรู้เกี่ยวกับการใช้งานชิปตระกูลนี้ จึงเป็นพื้นฐานที่สำคัญ บอร์ดไมโครคอนโทรลเลอร์ที่แนะนำให้ลองใช้งาน ได้แก่ STM32 NUCLEO, Black Pill STM32F4 และ Raspberry Pi Pico เป็นต้น
- ทำความรู้จัก Arm CMSIS สำหรับซีพียู Arm Cortex-M Series โดยเลือกชิป STM32F4 (Arm Cortex-M4F) มาเป็นกรณีศึกษา
- การเขียนโปรแกรม Arduino โดยใช้ซอฟต์แวร์ Arduino IDE + STM32duino สำหรับ STM32 พร้อมโค้ดตัวอย่างสำหรับบอร์ด STM32 NUCLEO-L432KC (Arm Cortex-M4)
- แนะนำการใช้งานบอร์ด Black Pill STM32F4 (Arm Cortex-M4F) ซึ่งเป็นบอร์ดไมโครคอนโทรลเลอร์ ที่มีราคาไม่แพง ใช้ชิป STM32F411CEU6 เป็นตัวประมวลผลหลัก
- การเขียนโปรแกรม Arduino โดยใช้ซอฟต์แวร์ Microsoft VS Code IDE + PlatformIO สำหรับบอร์ด Black Pill STM32F4
- การเขียนโปรแกรม Arduino สำหรับบอร์ดไมโครคอนโทรลเลอร์ Seeeduino XIAO - SAMD21 (Arm Cortex-M0+)
- แนวทางการใช้งานบอร์ด Raspberry Pi Pico สำหรับการเรียนรู้ระบบสมองกลฝังตัว ซึ่งใช้ชิป RP2040 SoC (Dual-Core Arm Cortex-M0+) เป็นตัวประมวลผลหลัก
- การเขียนโปรแกรม Arduino Sketch โดยใช้งาน Arduino IDE สำหรับบอร์ด Raspberry Pi Pico: Arduino Pico Core (by Earle F. Philhower) และตัวอย่างการจำลองการทำงานโดยใช้ WokWi Simulator
- การติดตั้งและใช้งานซอฟต์แวร์ Pico C/C++ SDK for RP2040 เพื่อใช้งานร่วมกับ VS Code IDE / WSL 2 / Ubuntu
- การเขียนโปรแกรมด้วย FreeRTOS Kernel + Pico C/C++ SDK + VS Code IDE สำหรับบอร์ด Raspberry Pi Pico
- การเขียนโปรแกรมและดีบักโค้ดด้วย Arduino API โดยใช้ VS Code IDE + PlatformIO + SWD Debug Probe + RP2040 (Pico Board)
- การเขียนโปรแกรมและดีบักโค้ดด้วย Arduino API โดยใช้ VS Code IDE + PlatformIO + SWD Debug Probe + STM32F4 (BlackPill Board)
- การเขียนโปรแกรมและดีบักโค้ดด้วย Arm CMSIS API โดยใช้ VS Code IDE + PlatformIO + SWD Debug Probe + STM32F4 (BlackPill Board)
- แนะนำการใช้งาน STM32CubeIDE สำหรับบอร์ด BlackPill STM32F411
- การทดลองใช้งานบอร์ดไมโครคอนโทรลเลอร์ Teensy 4.0 & 4.1 ด้วย Arduino ในเบื้องต้น
- แนะนำชิปไมโครคอนโทรลเลอร์ของบริษัท Nordic Semiconductor - nRF SoCs
- การเขียนโปรแกรม C/C++ โดยใช้ CODAL v2 สำหรับบอร์ด Micro:bit V2 ในเบื้องต้น
- ตัวอย่างการรับส่งข้อมูลระหว่างบอร์ด Micro:bit แบบไร้สาย: Wireless Data Communication with Micro:bits
- การสร้างเกม Digital Bingo สำหรับบอร์ด Micro:bit
▹ การใช้งานฮาร์ดแวร์และซอฟต์แวร์ของบริษัท Atmel / Microchip#
หากต้องการใช้ไมโครคอนโทรลเลอร์ของบริษัท Atmel / Microchip เช่น ตระกูล AVR, SAM, PIC แนะนำให้ลองใช้ซอฟต์แวร์ Microchip MPLAB-X IDE และมีบทความที่เกี่ยวข้องดังนี้
- แนะนำการใช้งานซอฟต์แวร์ MPLAB-X IDE สำหรับ AVR (ATmega328P)
- แนะนำการใช้งานซอฟต์แวร์ MPLAB Xpress Cloud IDE สำหรับการเขียนโค้ดภาษา C สำหรับชิป AVR (ATmega328P)
- การนำเข้าไฟล์ Arduino Sketch สำหรับ MPLAB-X IDE สำหรับ AVR (ATmega328P)
- แนะนำการใช้งานซอฟต์แวร์ MPLAB-X IDE + Harmony Framework v3 สาธิตการเขียนโค้ดสำหรับ ATSAMD21 (Arm Cortex-M0+)
▹ ระบบปฏิบัติการเวลาจริงสำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์#
ระบบปฏิบัติการเวลาจริง หรือ RTOS (Real-Time OS) เป็นประเภทหนึ่งของระบบปฏิบัติการ (OS) ถือว่าเป็นซอฟต์แวร์ที่มีความสำคัญสำหรับการพัฒนาระบบสมองกลฝังตัว-ไมโครคอนโทรลเลอร์ ดังนั้นความรู้และทักษะเกี่ยวกับการเขียนโปรแกรมแบบมัลติเธรด (Multi-Threading) หรือแบ่งการทำงานแบบหลายงาน จึงเป็นสิ่งสำคัญสำหรับนักพัฒนาในระดับมืออาชีพ → แนะนำให้ลองศึกษาจากบทความต่อไปนี้
- สำหรับผู้ที่สนใจเรียนรู้และใช้งาน RTOS: แนวทางการเรียนรู้ RTOS
- แนวทางการเรียนรู้ Arm Mbed OS for Arm Cortex-M Series MCUs ซึ่งเป็นซอฟแวร์ประเภท Open Source RTOS
- ซอฟต์แวร์ที่เกี่ยวข้องกับการใช้งาน Mbed OS มีให้เลือกหลายแบบและนำมาใช้งานได้ฟรี
ทั้งแบบ Online (Web App) และ Offline (Desktop App)
- แนะนำการใช้งาน Mbed Online Compiler (obsolete)
- แนะนำการใช้งาน Keil Studio Cloud
- แนะนำการใช้งาน Mbed Studio Desktop IDE
- แนะนำการใช้งาน Arm Mbed CLI 2
- การเขียนโปรแกรมด้วย Arm Mbed Studio IDE + Mbed OS สำหรับบอร์ด Black Pill (STM32F4)
- การเขียนโปรแกรมด้วย VS Code IDE + PlatformIO + Mbed OS สำหรับบอร์ด Black Pill (STM32F4)
- ตัวอย่างการเขียนโค้ด Arm Mbed OS สำหรับบอร์ด STM32 (NUCLEO Boards) แบ่งเนื้อหาเป็นตอนที่ 1 | 2 | 3
- แนวทางการเรียนรู้ ARM Mbed OS โดยใช้บอร์ด Raspberry Pi Pico
- ตัวอย่างการเขียนโค้ดด้วย Arduino Mbed OS สำหรับบอร์ด RP2040 (Raspberry Pi Pico Board) แบ่งเนื้อหาเป็นตอนที่ 1 | 2 | 3 | 4 | 5
- แนะนำการเขียนโค้ดสำหรับบอร์ด STM32F411CE BlackPill ด้วย STM32duino และ FreeRTOS
- ตัวอย่างการเขียนโค้ดด้วย Arduino + FreeRTOS สำหรับชิป 8-bit AVR / ATmega (เช่น บอร์ด Uno, Nano, Mega2560) แบ่งเนื้อหาเป็นตอนที่ 1 | 2 | 3 | 4 | 5
▹ ไมโครคอนโทรลเลอร์สำหรับงาน IoT: ESP32 SoCs#
หากต้องการเลือกใช้ไมโครคอนโทรลเลอร์ที่ไม่ได้ใช้สถาปัตยกรรมของซีพียูตระกูล Arm ก็แนะนำให้ลองใช้ชิป ESP32 Series ของบริษัท Espressif ซึ่งมีจุดเด่นคือ สามารถเชื่อมต่อ Wi-Fi และ Bluetooth / BLE ได้
- แนะนำ Espressif ESP32 SoCs: ตัวเลือกสำหรับฮาร์ดแวร์และซอฟต์แวร์
- แนวทางการเรียนรู้: Guidelines for ESP32 Programming
- ขั้นตอนการติดตั้งและใช้งานซอฟต์แวร์ Espressif ESP-IDF สำหรับ WSL2 Ubuntu
- แนะนำการใช้งาน VS Code IDE + PlatformIO สำหรับบอร์ด ESP32
- การใช้งาน PlatformIO (PIO) Core สำหรับ WSL2 Ubuntu ในเบื้องต้น
- การใช้งาน VS Code IDE + Espresssif IDF Extension สำหรับ Windows
- การเขียนโปรแกรม ESP32-C6 / ESP-IDF (WSL2 Ubuntu)
- การเขียนโปรแกรม ESP32-C6 / Arduino-ESP32 Core
- การใช้งาน VS Code IDE + PlatformIO + ESP-IDF (สำหรับ Linux)
- แนะนำการใช้งานชิป Espressif ESP32-C3 (RISC-V)
- แนะนำการใช้บอร์ดไมโครคอนโทรลเลอร์ ESP32-C3 ที่เป็นตัวเลือกและแตกต่างกันจากหลายผู้ผลิต
- แนะนำการใช้งานชิป Espressif ESP32-S3
- การใช้งานโมดูล ESP01S (ESP8285) WiFi-Serial สำหรับบอร์ด Raspberry Pi Pico
- การติดตั้งเฟิร์มแวร์ Espressif ESP-AT เพื่อใช้งานกับโมดูล WiFi-to-Serial (ESP8266 / ESP8285 / ESP32-C3)
- การทำความเข้าใจผังวงจรสำหรับบอร์ดไมโครคอนโทรลเลอร์ WeMos Lolin32 Lite ESP32 Board
- การเขียนโปรแกรม Arduino สำหรับ ESP32 ด้วย Wokwi Simulator: ตอนที่ 1 | 2
- การเขียนโปรแกรม Arduino-ESP32 เพื่อใช้งาน Hardware SPI: Using Arduino-ESP32 as SPI Master
- การเขียนโค้ด Arduino-ESP32 เพื่อการใช้เชื่อมต่อด้วยบัส SPI Master-Slave: SPI Master-Slave Demo with ESP32
- การสร้างสัญญาณพัลส์และวัดความกว้างพัลส์ด้วย ESP32: Pulse Generation using ESP32
- การทดสอบหาระยะเวลาในการทำคำสั่งสำหรับ Arduino ESP32: Execution Time Measurement for ESP32
- การสร้างสัญญาณแอนะล็อกด้วยวงจร DAC ภายในชิป ESP32: Analog Signal Generation using ESP32's built-in DAC
- การใช้งาน ESP32 เพื่อประมวลผลข้อมูลด้วย FFT (Fast-Fourier Transform): ESP32-based FFT Processing
- การอ่านค่าสัญญาณเสียงแอนะล็อกด้วย ESP32 และแสดงผลกราฟสัญญาณด้วย Python: Analog Signal Capture with ESP32's built-in ADC & Python-based Visualization
▹ ภาษาคอมพิวเตอร์ที่ไม่ใช่ C/C++ สำหรับไมโครคอนโทรลเลอร์#
ภาษา C/C++ เป็นภาษาคอมพิวเตอร์ที่สำคัญสำหรับการพัฒนาโปรแกรมสำหรับระบบสมองกลฝังตัว แต่ในปัจจุบัน Python ก็เป็นอีกหนึ่งภาษาที่ได้รับความนิยม และได้เริ่มมีการนำมาใช้งานสำหรับไมโครคอนโทรลเลอร์ → มีบทความที่เกี่ยวข้องต่อไปนี้
- Python for Hardware Programming: การใข้งาน MicroPython และ CircuitPython ในเบื้องต้น
- แนะนำการเขียนโค้ดสำหรับไมโครคอนโทรลเลอร์ด้วย MicroPython
- การเขียนโปรแกรม MicroPython สำหรับบอร์ด BBC Micro:bit V2
- การเขียนโปรแกรม MicroPython สำหรับบอร์ด Raspberry Pi Pico / Pico-W
▹ การใช้งานระบบปฏิบัติการ Linux และการเขียนโปรแกรมที่เกี่ยวข้อง#
ความรู้และทักษะทางด้านคอมพิวเตอร์ที่เกี่ยวข้องกับระบบปฏิบัติการ Linux และการเขียนโปรแกรมภาษา C/C++ ก็ถือว่าเป็นพื้นฐานที่สำคัญมาตั้งแต่อดีตจนถึงปัจจุบัน ในส่วนนี้มีบทความและหัวข้อมาแนะนำให้ลองศึกษาและปฏิบัติ
- การใช้ GNU C/C++ Toolchain สำหรับการคอมไพล์โค้ดในเบื้องต้น
- การใช้ซอฟต์แวร์ Geany เพื่อการเขียนโปรแกรมภาษา C/C++ (สำหรับ Linux / Ubuntu)
- การใช้งาน VS Code IDE สำหรับ Remote Development (ใช้ Windows เป็น Local OS และ Linux / Ubuntu เป็น Remote OS)
- การเขียนโปรแกรมภาษา C: ตอนที่ 1 | 2 | 3
- การเขียนโค้ดภาษา C/C++ ให้ทำงานแบบ Multi-Threading ด้วยไลบรารี Pthreads สำหรับ Linux
- MQTT และการใช้งานสำหรับ Linux: ตอนที่ 1 | 2 | 3 | 4 | 5
- การติดตั้ง Zigbee2MQTT (สำหรับ Linux) และใช้งานในเบื้องต้น
▹ การใช้งานคอมพิวเตอร์บอร์ดเดี่ยว#
ปัจจุบันคอมพิวเตอร์บอร์ดเดี่ยว (Single-Board Computer: SBC) มีขนาดเล็ก ใช้กำลังไฟฟ้าไม่มาก มีตัวประมวลผลทั้ง 32 บิต หรือ 64 บิต ให้เลือกใช้ และมีหลายแกนอยู่ภายในชิป (Multi-Core) ดังนั้นจึงมีความสามารถมากกว่าไมโครคอนโทรลเลอร์ทั่วไป รองรับระบบปฏิบัติการ เช่น Linux และ Android เป็นต้น สามารถนำมาใช้งานได้ทั้งแบบตั้งโต๊ะ หรือเป็นเครื่องแม่ข่าย และงานทางด้านระบบสมองกลฝังตัว ดังนั้นความรู้และทักษะในการใช้งานฮาร์ดแวร์และซอฟต์แวร์สำหรับอุปกรณ์ประเภทนี้ ก็ถือว่าเป็นพื้นฐานที่สำคัญด้าน IoT
- Raspberry Pi 4 Model B + Raspberry Pi OS (64-bit): การใช้งานแบบ Headless (โดยไม่ต่อจอแสดงผลและอุปกรณ์อินพุตจากผู้ใช้)
▹ การใช้งานโมดูลอิเล็กทรอนิกส์#
การประยุกต์ใช้งานไมโครคอนโทรลเลอร์ เกี่ยวข้องกับการใช้งานวงจรอิเล็กทรอนิกส์ ไอซี และโมดูลเซนเซอร์ประเภทต่าง ๆ รายการบทความต่อไปนี้นำเสนอการใช้งานโมดูลอิเล็กทรอนิกส์และเขียนโปรแกรมด้วย Arduino ในเบื้องต้น
- โมดูลเซนเซอร์วัดความเข้มแสง:
- โมดูลเซนเซอร์วัดอุณหภูมิและความชื้นสัมพัทธ์:
- โมดูลเซนเซอร์อัลตราโซนิกสำหรับวัดระยะห่างจากวัตถุกีดขวาง:
- โมดูลรับสัญญาณอินฟราเรด
- การรับค่าจากอุปกรณ์รีโมตคอนโทรล-อินฟราเรด: NEC Decoder
- โมดูลจอภาพสำหรับการแสดงผลข้อความและเชิงกราฟิก
- โมดูล RGB LED
- โมดูลไมโครโฟนเสียง
- โมดูล ADC / DAC
- ไอซีตัวต้านทานปรับค่าได้แบบดิจิทัล (Digital Potentiometer)
- โมดูลสื่อสาร
- มิเตอร์ไฟฟ้า: การอ่านค่าจากเพาเวอร์มิเตอร์ไฟฟ้าเฟสเดียวและแบบสามเฟส
▹ วงจรไฟฟ้าและอิเล็กทรอนิกส์#
นอกเหนือจากความรู้เกี่ยวกับการเขียนโปรแกรมแล้ว ความรู้ทางไฟฟ้าและอิเล็กทรอนิกส์และทักษะที่เกี่ยวข้อง ก็มีความสำคัญเช่นกัน → มีบทความที่เกี่ยวข้องต่อไปนี้
- การใช้งานบอร์ด Arduino ควบคู่กับการทดลองไฟฟ้าและอิเล็กทรอนิกส์: Using Arduino for Circuits & Electronics Labs
- การต่อวงจรไฟฟ้าและอิเล็กทรอนิกส์พื้นฐานบนแผงต่อวงจร: Breadboards & Circuit Prototyping
- การใช้งานมัลติมิเตอร์สำหรับการวัดปริมาณทางไฟฟ้าในเบื้องต้น: Multimeters
- แนะนำซอฟต์แวร์: Autodesk Tinkercad Circuits
- ซอฟต์แวร์สำหรับการวิเคราะห์และจำลองการทำงานของวงจรไฟฟ้า-อิเล็กทรอนิกส์: Circuits and Electronics Simulation Software
- แนะนำการต่อวงจรเสมือนจริงร่วมกับบอร์ด Arduino Uno ด้วยซอฟต์แวร์ AUTODESK Tinkercad Circuits: Arduino & Circuit Virtual Prototyping
- การฝึกต่อตัวต้านทานหลายตัวบนเบรดบอร์ดและวัดค่าความต้านทานรวม: Resistor-Only Circuit Lab
- โครงข่ายของตัวต้านทานแบบ Binary Tree และ Ladder Structure และการหาค่าความต้านทานรวม: Resistor Network and Resistance Measurement
- R-2R DAC Lab: การฝึกต่อวงจร บนเบรดบอร์ดร่วมกับบอร์ด Arduino Uno
- Voltage Divider Lab: การฝึกต่อวงจรแบ่งแรงดันบนเบรดบอร์ดร่วมกับบอร์ด Arduino Uno
- Voltage Measurement with Micro:bit: การวัดค่าความต้านทานด้วยบอร์ด Micro:bit และจำลองการทำงานด้วย AUTODESK Tinkercad
- สิ่งที่ควรรู้เกี่ยวกับการใช้งาน "ออสซิลโลสโคป" (Oscilloscopes)
- แนะนำการใช้งานออสซิลโลสโคป RIGOL DS1054Z ในเบื้องต้น
- USB Logic Analyzer + PulseView: แนะนำการใช้งานเพื่อการบันทึกและวิเคราะห์สัญญาณดิจิทัล
- RIGOL DS1054Z + PulseView: แนะนำการใช้งานเพื่อการบันทึกและวิเคราะห์สัญญาณแอนะล็อก-ดิจิทัล
- การใช้งานออสซิลโลสโคปและการเขียนโปรแกรมเชื่อมต่อ: RIGOL DS1054Z
- ตัวอย่างการใช้ซอฟต์แวร์เพื่อการวิเคราะห์วงจรไฟฟ้าพื้นฐาน (มีตัวอย่างการใช้ซอฟต์แวร์ EasyEDA การเขียนโค้ด MATLAB และ Python):
- การวิเคราะห์และจำลองการทำงานของวงจรไฟฟ้ากระแสตรง: DC Circuit Analysis
- การวิเคราะห์และจำลองการทำงานของวงจรไฟฟ้ากระแสสลับ: AC Circuit Analysis
- การใช้วิธีโหนดและเมชเพื่อวิเคราะห์วงจรไฟฟ้าพื้นฐาน: Mesh and Nodal Circuit Analysis
- การใช้แหล่งจ่ายไฟฟ้ากระแสตรงและวิเคราะห์วงจร: Constant DC Sources & Circuit Analysis
- การวิเคราะห์วงจรไฟฟ้าพื้นฐานที่มี R, L, C: RLC Circuit Analysis
- วงจรกรองความถี่แบบพาสซีฟสำหรับสัญญาณทางไฟฟ้า: Passive Filter Analysis
- การทดลองหาค่าความจุของตัวเก็บประจุไฟฟ้าโดยใช้วงจร RC และบอร์ด Arduino Uno / Nano: Capacitance Measurement with Arduino
- วิธีการวัดค่าของตัวเหนี่ยวนำหรือคอยล์โดยใช้วงจร RLC การวัดสัญญาณด้วยออสซิลโลสโคป: Inductance Measurement + Arduino Sketch Demo
- ตัวอย่างวงจรอิเล็กทรอนิกส์: การสร้างสัญญาณพัลส์เมื่อกดปุ่มแล้วปล่อยโดยใช้ลอจิกเกตพื้นฐาน
- ความรู้พื้นฐานเกี่ยวกับไอซีลอจิกมาตรฐาน: Standard Logic ICs
- ความรู้พื้นฐานเกี่ยวกับไอซีลอจิกประเภทแลตช์: Latches
- การสร้าวงจรตัวนับโดยใช้ฟลิปฟลอป JK-FF และการจำลองการทำงาน: 4-bit Ripple-Carry Counter
- การใช้บอร์ด Arduino เลียนแบบการทำงานของวงจร Successive Approximation ADC
- แนะนำการใช้งานเครื่องมือสร้างและวัดสัญญาณแบบพกพา ADALM2000 ในเบื้องต้น (สำหรับ Windows 10 / 11)
▹ การออกแบบวงจรดิจิทัลด้วย FPGA#
การออกแบบวงจรดิจิทัลโดยใช้ชิป FPGA (Field-Programmable Gate Array) ซึ่งผู้ใช้สามารถโปรแกรมฮาร์ดแวร์ได้ในเชิงลอจิก ถือว่าเป็นอีกหนึ่งตัวเลือกที่สำคัญสำหรับนักพัฒนาระบบสมองกลฝังตัว → บทความสำหรับการเรียนรู้ที่เกี่ยวข้องในหัวข้อนี้
- หัวข้อในการเรียนรู้สำหรับการออกแบบวงจรลอจิก: Logic Design
- แนวทางการเรียนรู้การออกแบบวงจรดิจิทัลด้วยชิป FPGA: Guidelines for Learning FPGA Design
- การจำลองการทำงานของโค้ด VHDL ด้วย GHDL Simulator
- การทดลองใช้งานซอฟต์แวร์ Intel FPGA Prime Lite Edition พร้อมตัวอย่างโค้ด VHDL / Verilog สาธิตการใช้บอร์ด Cyclone IV FPGA ในเบื้องต้น
- แนะนำการใช้งานบอร์ด Terasic DE10 Lite (MAX 10 FPGA)
- แนะนำการใช้งานบอร์ด QMTECH Cyclone 10 LP Starter Kit
- การติดตั้งซอฟต์แวร์ AMD / Xilinx Vivado Design Suite: สำหรับ Ubuntu
- การทดลองใช้งานบอร์ด Mojo v3 - Xilinx Spartan 6 FPGA (legacy): สำหรับ Ubuntu
- แนะนำการใช้งานบอร์ด Sipeed Tang FPGA
- การติดตั้งและใช้งานซอฟต์แวร์ Gowin IDE Standard Edition: สำหรับ Ubuntu และบอร์ด Sipeed Tang Nano (Gowin FPGA)
- การใช้งานซอฟต์แวร์ Open Source FPGA Design Tools: สำหรับบอร์ด Sipeed Tang Nano (Gowin FPGA)
- การใช้งานซอฟต์แวร์ Lattice Radiant สำหรับการออกแบบวงจรดิจิทัลด้วย Lattice iCE40 FPGA
- การใช้งานซอฟต์แวร์ Open Source FPGA Design Tools สำหรับการออกแบบวงจรดิจิทัลด้วย Lattice iCE40 FPGA
- การทดลองใช้งาน PicoRV32 CPU Core ในเบื้องต้น สำหรับบอร์ด Lattice iCE40 FPGA
- แนะนำการใช้งานซอฟต์แวร์: Signal Tap Logic Analyzer
- ตัวอย่างการออกแบบวงจรดิจิทัลสำหรับ FPGA ด้วยภาษา VHDL / Verilog
- การใช้งานโมดูล AC Dimmer ปรับความสว่างของหลอดไฟ
- การสร้างสัญญาณรูปไซน์ด้วยวิธี DDS (Direct Digital Synthesis) และการใช้วงจร R-2R DAC สร้างสัญญาณเอาต์พุต-แอนะล็อก
- การใช้งานโมดูล MCP4725 I2C DAC เพื่อสร้างสัญญาณเอาต์พุต-แอนะล็อก
- การใช้งานไอซีตัวต้านทานปรับค่าได้แบบดิจิทัล MCP41010
- การใช้งานไอซีแปลงข้อมูลดิจิทัลให้เป็นสัญญาณแอนะล็อก MCP4921 SPI DAC
- การอ่านค่าสัญญาณแอนะล็อกด้วยไอซี 12-bit SPI ADC
- การสร้างสัญญาณสำหรับ VGA: 800x600 @72Hz
- การใช้งานวงจร On-chip ADC Core / Intel FPGA IP (ทดลองใช้กับบอร์ด Terasic DE10-Lite FPGA)
ผู้ที่สนใจยังสามารถติดตามข่าวสารในอีกช่องทางหนึ่งผ่านทาง Facebook Page
→ "IoT Engineering Education"
(https://fb.me/iot.kmutnb)
สัญญาอนุญาตการเผยแพร่#
เผยแพร่ภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์ (Creative Commons License): CC BY-SA 4.0
"อนุญาตให้ผู้อื่นสามารถนำผลงานไปใช้ ทำซ้ำ แจกจ่าย หรือดัดแปลงงานนั้นได้ แต่ผลงานที่ดัดแปลงนั้นจะต้องกำกับด้วยสัญญาอนุญาตเงื่อนไขเดียวกันกับต้นฉบับ เว้นแต่ว่าจะได้รับอนุญาตจากเจ้าของผลงานก่อน"
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.