ArtronShop Nano G4 เป็นบอร์ดไมโครคอนโทรลเลอร์ STM32 ที่ออกแบบให้ใช้งานทดแทน Arduino Nano ได้โดยตรง ใช้งานอุปกรณ์เสริมที่ออกแบบมาสำหรับ Arduino Nano ร่วมกันได้ ประสิทธิภาพการประมวลผลสูงกว่า Arduino Nano ถึง 40 เท่า ! เหมาะสำหรับงานที่ต้องการประสิทธิภาพการทำงานที่สูง หรือใช้การคำนวณที่ซับซ้อน เช่น หุ่นยนต์เดินตามเส้น, หุ่นยนต์ภารกิจ, โดรน, รถไร้คนขับ เป็นต้น
ArtronShop Nano G4 อัพโหลดโปรแกรมผ่านช่อง USB-C ได้โดยตรง โดยใช้เทคนิคอัพโหลดโปรแกรมผ่าน Bootloader ที่ฝังมาในชิป STM32 ผ่าน Serial/UART ทำให้การอัพโหลดโปรแกรมทำได้รวดเร็ว แม้อัพโหลดโปรแกรมผิดพลาดก็ไม่ส่งผลกระทบต่อ Bootloader นอกจากนี้ อาร์ทรอน ชอป ได้ออกแบบวงจรเข้าโหมดอัพโหลดโปรแกรมอัตโนมัติแบบใหม่ ที่ช่วยเร่งความเร็วในการอัพโหลดมากขึ้น โอกาศผิดพลาดในการอัพโหลดน้อยที่สุด และไม่ต้องกดปุ่มขณะอัพโหลด
ใช้ชิปไมโครคอนโทรลเลอร์เบอร์ STM32G431KBU3 สเปคมีดังนี้
สเปคของไมโครคอนโทรลเลอร์โดยละเอียดศึกษาได้จากเอกสาร STM32G431KB Datasheet : https://dl.artronshop.co.th/ArtronShop-Nano-G4/stm32g431kb.pdf
วงจรอัพโหลดโปรแกรม
วงจรจัดการพลังงาน
อื่น ๆ
ตำแหน่งขาต่อใช้งานของบอร์ด ArtronShop Nano G4 มีดังนี้
รูปที่ x ตำแหน่งขาต่อใช้งานบอร์ด ArtronShop Nano G4
ขาที่รองรับคำสั่ง digitalRead() เพื่ออ่านสถานะลอจิก 0 / 1 หรือ LOW / HIGH รองรับทุกขา ยกเว้น TX0, RX0 หมายความว่า ขา D2 ถึง D13, A0 ถึง A7 ใช้ต่ออุปกรณ์ภายนอก เช่น เซ็นเซอร์, สวิตช์ ได้
ขาที่รองรับคำสั่ง digitalWrite() เพื่อเขียนสถานะลอจิก 0 / 1 หรือ LOW / HIGH รองรับทุกขา หมายความว่า ขา TX0, RX0, D2 ถึง D13, A0 ถึง A7 ใช้ต่ออุปกรณ์ภายนอก เช่น หลอดแอลอีดี, รีเลย์, บอร์ดขับมอเตอร์, หน้าจอ LCD ได้
หากใช้งานขา TX0 และ RX0 ควรระวังการเปลี่ยนสถานะลอจิก 0 และ 1 รัว ๆ ในขณะอัพโหลดโปรแกรม และควรมั่นใจว่าอุปกรณ์ที่นำมาต่อไม่มีตัวต้านทาน Pull-Down (เนื่องจากต้านทาน Pull-Down จะไปขัดขวางการอัพโหลดโปรแกรม ทำให้อัพโหลดโปรแกรมไม่เข้า)
ขาที่รองรับคำสั่ง analogWrite() เพื่อส่งสัญญาณ PWM รองรับทุกขา หมายความว่า ขา TX0, RX0, D2 ถึง D13, A0 ถึง A7 ใช้ต่ออุปกรณ์ภายนอก เช่น หลอดแอลอีดี, รีเลย์, บอร์ดขับมอเตอร์, หน้าจอ LCD ได้
ขาที่รองรับคำสั่ง analogRead() เพื่ออ่านแรงดันไฟฟ้า / แอนะล็อก รองรับขา A0 ถึง A7
ขาที่รองรับการต่ออุปกรณ์ I2C คือ ขา D6 (SCL) และขา D9 (SDA) หรือต่อช่อง Grove โดยขาดังกล่าวเป็น I2C1 ไลบรารี่ทุกตัวจะสื่อสารผ่านขานี้ อุปกรณ์ I2C ที่มีหมายเลขประจำตัว (I2C Address) ไม่ซ้ำกัน สามารถต่อขา SCL, SDA ร่วมกันได้เลย
กรณีมีความจำเป็นต้องใช้ I2C เพิ่ม สามารถใช้งานขา D3 (SCL) และ D12 (SDA) ซึ่งเป็น I2C3 ได้ อย่างไรก็ตามการใช้งาน I2C3 อาจต้องแก้ไขโค้ดในไลบรารี่ให้ไปใช้ I2C3 แทน (ซึ่งค่อนข้างยุ่งยากในการแก้ไข)
ขาที่รองรับการต่ออุปกรณ์ SPI คือ D10 (CS/SS), D11 (MISO), D12 (MOSI), D13 (SCK/CLK/CK) หากมีอุปกรณ์ SPI มากกว่า 1 ตัว ให้ต่อ MISO, MOSI, SCK ร่วมกัน แล้วเลือกขา D2 ถึง D9, A0 ถึง A7 ขาใดขาหนึ่งที่ไม่ได้ใช้งานมาทำเป็นขา CS (หลังจากเลือกขา CS ใหม่แล้ว ต้องอย่าลืมแก้ไขโค้ดโปรแกรมให้ตรงกับขา CS ใหม่ด้วย)
ขาที่รองรับการต่ออุปกรณ์ CAN bus คือ D4 (CAN_RX), D5 (CAN_TX)
ขาดีบัค (Debug) / ขาอัพโหลดโปรแกรมด้วย ST-Link คือ D6 (SWDIO), D7 (SWCLK)
ติดตั้งโปรแกรม Arduino IDE V2 ตามขั้นตอนดังนี้
1) เข้าไปที่ https://www.arduino.cc/en/software ที่ส่วน Downloads ให้เลือกดาวน์โหลดตามรุ่นของระบบปฎิบัติการ คอมพิวเตอร์ตัวอย่างใช้ Windows 11 64 บิต จึงเลือกดาวน์โหลด Windows
2) จะขึ้นหน้าแนะนำให้บริจาค หากยังไม่สะดวกให้กดปุ่ม JUST DOWNLOAD
3) รอจนกว่าจะดาวน์โหลดเสร็จสิ้น ได้ไฟล์ติดตั้งชื่อ arduino-ide_x.x.x_Windows_64bit.exe มา
4) ดับเบิ้ลคลิกเปิดไฟล์ติดตั้ง ในหน้าแรกของการติดตั้งจะขึ้นเงื่อนไขการใช้งานโปรแกรมมา ให้กดปุ่ม I Agree เพื่อยอมรับเงื่อนไขการใช้งาน
5) จากนั้นหน้าต่างติดตั้งจะถามว่า ให้ติดตั้งโปรแกรมนี้ให้กับทุก User ในคอมพิวเตอร์เครื่องนี้ หรือเฉพาะ User นี้ แนะนำให้ใช้ Only for me แล้วกดปุ่ม Next
6) จากนั้นหน้าต่างติดตั้งจะให้กำหนดโฟลเดอร์ที่เก็บโปรแกรม แนะนำให้ใช้โฟลเดอร์เดิม กดปุ่ม Install เพื่อติดตั้งทันที
7) รอจนกว่าโปรแกรมจะติดตั้งเสร็จ
8) เมื่อติดตั้งเสร็จ หน้าต่างติดตั้งจะแสดงดังรูป หากต้องการเปิดโปรแกรม Arduino IDE ทันที ให้ติ๊กเลือก Run Arduino จากนั้นกดปุ่ม Finish
9) ที่หน้าเดสทอปมีไอคอนโปรแกรม Arduino IDE เพิ่มขึ้นมาแล้ว ดับเบิ้ลคลิกที่ไอคอนเพื่อเปิดโปรแกรมทันที
10) โปรแกรม Arduino IDE V2 จะเปิดขึ้นมา หน้าตาดังรูป
1) กดเมนู File เลือก Preferences...
2) กดปุ่มด้านหลังหัวข้อ Additional boards manager URLs:
3) ใส่ลิ้งค์
https://raw.githubusercontent.com/ArtronShop/BoardManagerFiles/main/package_artronshop_stm32_index.json
แล้วกดปุ่ม OK
4) กดปุ่ม OK อีกครั้งเพื่อบันทึก แล้วหน้าต่าง Preferences จะหายไป
5) กดรูปบอร์ดที่เมนูด้านซ้าย (1) เลือก Type เป็น Contributed (2) จากเลื่อนหา ArtronShop STM32 Boards แล้วกดปุ่ม INSTALL จากนั้นรอจนกว่าจะติดตั้งเสร็จสิ้น
6) เมื่อติดตั้งเสร็จ จะแสดงข้อความ installed ขึ้นดังรูป
เลือกบอร์ดโดยกด Tool > Board > ArtronShop STM32 Boards กดเลือก ArtronShop Nano G4
เสียบบอร์ด ArtronShop Nano G4 เข้ากับเครื่องคอมพิวเตอร์ผ่านสาย USB-C แล้วเลือกพอร์ตโดยกด Tool > Port แล้วเลือกพอร์ตที่แสดง
กดปุ่มอัพโหลดโปรแกรมลงบอร์ด
เมื่ออัพโหลดเสร็จจะแสดงข้อความ Done uploading (ดังรูป)
ที่บอร์ด หลอดแอลอีดี D13 สีส้มจะกระพริบแล้ว
ต่อวงจรบอร์ด Arduino Nano G4 เข้ากับสวิตช์บนโพรโทบอร์ด ดังนี้
ใช้โค้ดตัวอย่าง DigitalReadSerial โดยกดที่ File > Example > 01. Basic เลือก ....
กดปุ่มอัพโหลดโปรแกรมลงบอร์ด แล้วรอจนกว่าจะอัพโหลดโปรแกรมเสร็จ
เปิด Serial Monitor ขึ้นมา โดยกดรูปแว่นขยาย (ดังรูป)
ปรับเป็น 9600 จากนั้นจะเห็นตัวเลข 0 แสดงขึ้นมา
เมื่อกดสวิตช์ ตัวเลขจะเปลี่ยนเป็น 1 แทน
ที่โปรแกรม Arduino IDE ให้สร้างไฟล์ใหม่ขึ้นมา โดยกด File > New Sketch
คัดลอกโค้ดโปรแกรมต่อไปนี้ไปใส่ในโปรแกรม Arduino IDE
อัพโหลดโปรแกรมลงบอร์ด ผลที่ได้คือหลอดแอลอีดี D13 บนบอร์ด ติดสว่าง 5 ระดับ คือ 0%, 25%, 50%, 75%, 100% ทุก ๆ 2 วินาที
ต่อวงจรบอร์ด Arduino Nano G4 เข้ากับวอลุ่มบนโพรโทบอร์ด ดังนี้
ใช้โค้ดตัวอย่าง AnalogReadSerial โดยกดที่ File > Example > 01.Basic เลือก AnalogReadSerial
กดอัพโหลดโปรแกรมลงบอร์ด แล้วรอจนกว่าจะอัพโหลดโปรแกรมเสร็จ
เปิด Serial Monitor ขึ้นมา ปรับเป็น 9600 จากนั้นจะเห็นตัวเลขค่าแอนะล็อกแสดงขึ้นมา
เมื่อหมุนวอลุ่ม ตัวเลขที่แสดงจะเพิ่มขึ้น/ลดลงตามการหมุน
ต่อวงจรบอร์ด Arduino Nano G4 เข้ากับจอ OLED ด้วยสายแปลง Grove เป็น Female ดังนี้
ติดตั้งไลบรารี่ Adafruit_SSD1306 โดยกดที่รูปหนังสือ (1) ค้นหา Adafruit_SSD1306 แล้วกดปุ่ม INSTALL
กดปุ่ม INSTALL ALL เพื่อติดตั้งไลบรารี่ที่เกี่ยวข้องทั้งหมด
เมื่อติดตั้งเสร็จ จะมีข้อความ installed แสดง (ดังรูป)
เปิดโค้ดโปรแกรมตัวอย่างโดยกดที่ File > Examples > Adafruit SSD1306 เลือก ssd1306_128x64_i2c
แก้ไขหมายเลขอุปกรณ์ (I2C Address) เป็น 0x3C (ดังรูป) จากนั้นกดอัพโหลดโปรแกรมลงบอร์ด
หลังอัพโหลดโปรแกรมเสร็จ หน้าจอ OLED จะแสดงผลรูปภาพ ข้อความ ตามโปรแกรมตัวอย่างแล้ว
การใช้งาน ArtronShop Nano G4 ร่วมกับโปรแกรม Arduino IDE จะต้องติดตั้งบอร์ด ArtronShop Nano G4 เพิ่มก่อน จากนั้นการเขียนโค้ดจะเป็นไปตามมาตรฐานของ Arduino สามารถใช้โค้ดที่เคยเขียนของ Arduino Nano มาอัพโหลดเข้าบอร์ด ArtronShop Nano G4 ได้เลย