บอร์ดไมโครคอนโทรเลอร์ STM32 Nucleo จากค่าย STMicroelectronics (ตอนที่ 1 แนะนำการใช้งานเบื้องต้น)

เรียนรู้และฝึกทดลองไปกับบอร์ดไมโครคอนโทรเลอร์ STM32 Nucleo

จากค่าย STMicroelectronics

01

 บอร์ด STM32 Nucleo เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล ARM ขนาด 32 bit จากบริษัท STMicroelectronics จุดเด่นของบอร์ด Nucleo คือใช้การพัฒนาอยู่บนแพลตฟอร์ม mbed สำหรับบอร์ดตระกูล ARM Cortex-M จากบริษัท ARM ผ่านโปรแกรมบนหน้าเว็บไซต์ mbed ผู้ใช้สามารถสามารถสร้างโปรเจ็ค เขียน แก้ไข หรือบันทึก โค้ดโปรแกรมผ่านเว็บไซต์ แล้วดาวน์โหลดโปรแกรมไปที่บอร์ดได้โดยตรงโดยไม่ต้องติดตั้งโปรแกรมสำหรับการพัฒนาบนคอมพิวเตอร์เลย ทำให้ไม่ต้องเสียเวลาดาวน์โหลดหรืออัพเดตโปรแกรมในการพัฒนา และไม่ต้องจ่ายเงินซื้อลิขสิทธิ์ของโปรแกรม รวมทั้งรูปแบบการเขียนโค้ดเป็นภาษา C/C++ ที่เข้าใจง่าย เหมาะสำหรับผู้ใช้งานเริ่มต้นที่ต้องการใช้งานไมโครคอนโทรเลอร์ 32 บิตหรือผู้ใช้งานทั่วไปที่ต้องการพัฒนาบนแพลตฟอร์มที่ใช้งานง่ายและสะดวกรวดเร็ว

         ในบทความนี้ จะเเบ่งออกเป็นตอนๆดังนี้

ตอนที่ 1 แนะนำการใช้งานเบื้องต้นบอร์ด STM32 Nucleo >> Click !

ตอนที่ 2 ทดลองใช้งานขา GPIO บนบอร์ด Nucleo (อ้างอิงรุ่น F401RE) >> Click

ตอนที่ 3 ทดลองใช้งานขา ADC บนบอร์ด Nucleo (อ้างอิงรุ่น F401RE) >>Click !

ตอนที่ 4 ทดลองใช้งานขา PWM บนบอร์ด Nucleo (อ้างอิงรุ่น F401RE) >>Click !

ตอนที่ 5 ทดลองใช้งานพอร์ต Serial บนบอร์ด Nucleo (อ้างอิงรุ่น F401RE) >> Click !

ตอนที่ 6 ทดลองใช้งานพอร์ต I2C บนบอร์ด Nucleo (อ้างอิงรุ่น F401RE) >> Click !

ตอนที่ 7 ทดลองใช้งานพอร์ต SPI บนบอร์ด Nucleo (อ้างอิงรุ่น F401RE) >> Click !

(ตอนที่ 1 แนะนำการใช้งานเบื้องต้น)

เริ่มใช้งาน STM32 Nucleo บน mbed
         บอร์ด Nucleo มีรุ่นย่อย ให้ผู้ใช้เลือกตามงานที่เหมาะสม โดยในตัวอย่างนี้เลือกใช้ บอร์ด Nucleo รุ่น F401RE ซึ่งจัดอยู่ในกลุ่มบอร์ดประสิทธิภาพสูง ใช้ MCU ตระกูล ARM Cortex-M4 เบอร์ STM32F401RE ความเร็ว 84 MHz หน่วยความจำแฟลชขนาด 512 Kbytes sหน่วยความจำแรมขนาด 96 Kbytes ขา I/O จำนวน 81 ขา ทุกขา I/O ทนแรงดันที่ 5V ได้ (5 V-tolerant)

02

แนะนำบอร์ด STM32 Nucleo รุ่น F401RE  (รหัสสินค้า EFDV288  NUCLEO-F401RE)

03

ตัวบอร์ดแยกเป็น 2 ส่วนคือ
1. เครื่องโปรแกรม ST link V2 ใช้สำหรับโปรแกรม MCU บนบอร์ดเชื่อมต่อเข้ากับคอมพิวเตอร์ผ่านพอร์ต USB หรือใช้เป็นเครื่องโปรแกรมให้กับบอร์ดอื่น โดยใช้ Pin Header ที่อยู่ด้านข้าง
2. บอร์ดไมโครคอนโทรลเลอร์ STM32F401RET6 ขาต่างๆ ออกแบบมาให้ สามารถใช้ร่วมกับ Shield ของ Arduino ได้ ขาที่เหลือจัดเป็น Pin Header ด้านข้างของบอร์ด ปุ่มกดสำหรับรับค่าจากผู้ใช้ และปุ่ม reset ดังภาพ
เริ่มใช้งาน STM32 Nucleo

04

ขั้นตอนที่ 1 Login หรือสมัครสมาชิก
ในขั้นแรก เราต้องเข้าลงชื่อเข้าใช้ หรือถ้าใช้งานครั้งแรกให้สมัครสมาชิกก่อน โดยเข้าเวปไปที่ http://developer.mbed.org/ คลิกที่ Login or signup

สำหรับผู้ที่ใช้งานครั้งแรก ให้ต้องสมัครสมาชิกก่อน โดยกดที่ Sign up

06

กรอกรายละเอียดผู้ใช้ ทำเครื่องหมายหน้าหัวข้อ I argree to the term and condition จากนั้นกดปุ่ม Signup

07

หรือถ้าเป็นบัญชีสมาชิกของ mbed อยู่แล้ว ใส่ชื่อล็อกอิน และพาสเวิร์ด จากนั้นกด Login

08

เมื่อล็อกอินแล้วจะปรากฏชื่อล็อกอินที่มุมบนขวาหน้าเว็บกดปุ่ม Compiler เพื่อเข้าสู่หน้าโปรแกรม Compiler ของ mbed

09

เมื่อเข้าสู่หน้าเวป Compiler จะแสดงดังภาพ 
ขั้นตอนที่ 2 เลือกบอร์ดที่ต้องการใช้ 

10

ให้ผู้ใช้สังเกตที่มุมบนขวาของหน้าเว็บแสดงข้อความ “No device select” คือยังไม่ได้เลือกบอร์ดใช้งาน

11

ให้ผู้ใช้เลือกบอร์ดใช้งานโดยเข้าไปที่ http://developer.mbed.org/platforms/ ให้เลือกบอร์ด ST Nucleo F401RE ดังภาพ

12

จากนั้นจะเข้าสู่หน้าข้อมูลของบอร์ด Nucleo F401RE ให้กดปุ่ม “Add to your mbed Compiler” จะเห็นข้อความ “Platform ‘ST Nucleo F401RE’ is now added to your account!” ด้านบน แสดงว่าผู้ใช้ได้ทำการเลือกบอร์ดแล้ว
ขั้นตอนที่ 3 เขียนโปรแกรม 

14

กลับมาที่หน้า Compiler เลือกที่หัวข้อ New > New Program… เพื่อสร้างโปรเจคใหม่

15

เว็บจะแสดงหน้าต่าง Create new program ที่ช่อง Platform เลือกเป็น ST Nucleo F401E ในช่อง Template เลือกเป็น “Blinky LED test for ST Nucleo board” โดยโปรแกรมนี้ทำไฟกระพริบ LED บนบอร์ด ตั้งชื่อ Program Name จากนั้นกดปุ่ม OK

16

จากนั้นจะแสดงหน้าโค้ดโปรแกรมจะเห็นได้ว่าในไฟล์ main.cpp กำหนดให้ขา LED1 คือขาที่ PA5 เป็น Output จากนั้นวนกำหนดให้ขา LED1 เป็น High จากนั้น Delay 0.2 วินาที กำหนดขา LED1 เป็น Low และ Delay 1 วินาที

17

จากนั้นกดปุ่ม Compile All ถ้าไม่ข้อผิดพลาดอะไร จากหน้าเวปจะให้ดาวโหลดไฟล์ Nucleo_blink_led_NUCLEO_F401RE.bin 
ขั้นตอนที่ 4 โปรแกรมบอร์ด Nucleo

18

เชื่อมต่อบอร์ด Nucleo ผ่านพอร์ต USB เข้าคอมพิวเตอร์ เมื่อดูที่ My Computer จะเห็นบอร์ดเป็น Drive ตัวหนึ่ง

19

คัดลอกไฟล์บนเครื่องไปยังบอร์ด

20


จะเห็นว่าโปรแกรมไฟกระพริบที่ผู้ใช้โปรแกรมลงไปที่บอร์ดได้ทำงานแล้ว