ว่าง ๆ วันหยุด (11/08/2014) กับ LaunchPad (MSP430 Value Line)
ผู้เขียน ประจิน พลังสันตกุล
หลังจากได้ซื้อ LaunchPad เพื่อที่จะนำไปใช้ในการทำงานชิ้นหนึ่ง แต่เมื่อสำรวจคุณสมบัติของบอร์ดแล้ว ปรากฎว่าไม่ผ่านแต่ไมโครคอนโทรลเลอร์อีกตระกูลผ่าน ก็เลยเก็บดองมานาน ไม่คิดที่จะกลับไปสนใจอีกแล้ว จนได้ท่องเน็ตไปพบเห็นซอฟต์แวร์ Energia เข้า อ้าวสไตล์เดียวกับ Arduino อีกแล้ว ง่ายเลยสิเรา จะช้าไปทำอะไรกัน ก็รีบลองเลยครับว่ารองรับ LaunchPad ที่มีอยู่หรือไม่ คือ MSP-EXP430G2 ปรากฎว่ามีครับ แล้ว Energia ก็เริ่มพัฒนามาตั้งแต่ มกราคม ปี 2012 แล้ว สำหรับรายละเอียดต่าง ๆ ลองตามไปที่นี่ครับ http://energia.nu/
ดูจากสภาพกล่องก็จะรู้ได้ว่าเก็บมานานพอสมควร ข้าง ๆ
กล่องก็ระบุวันไว้ว่า Date: 44/2010 เก็บมาแล้ว
4 ปี 555
เมื่อเสียบสายดาวน์โหลดโปรแกรมครั้งแรก จะเห็น LED1 (แดง) และ LED2 (เขียว) จะติดดับสลับกันไปมา เพิ่งเห็นเหมือนกัน :)
เริ่มกันเลยดีกว่าครับ
เริ่มต้นก็ต้องไปดาวน์โหลดโปรแกรมกันก่อนเลยลำดับแรก
ในรายละเอียดเขาก็จะแจ้งไว้ว่าให้ดาวน์โหลดไดร์เวอร์มาก่อนเลยนะครับ
ของผมเป็นไดร์เวอร์ “MSP-EXP430G2 and MSP-EXP430FR5739 LaunchPad” หลังจากดาวน์โหลดไดร์เวอร์เสร็จก็ดาวน์โหลดโปรแกรมต่อ
แตกไฟล์ไดร์เวอร์แล้วก็ติดตั้งตามเวอร์ชัน Windows ที่ลงครับ ว่าเป็น 32 หรือ 64 บิต
แตกไฟล์โปรแกรม Energia พร้อมกับสร้าง Shortcut มาไว้ที่หน้า
Desktop เพื่อที่จะเรียกใช้งานได้ง่าย ๆ ในภายหลัง
เปิดใช้งานครั้งแรก สำหรับคนที่คุ้นเคยกับ Arduino แล้วละก็ จะคุ้น ๆ กับ Energia แต่สีแดงแสบตาจริง ๆๆ
และมาพร้อมกับโค้ดตั้งต้นสไตล์ Arduino เลยครับ คือ setup()
และ loop()
ไม่รอช้าก็ไปกำหนดบอร์ดหรือเลือกบอร์ดที่ต้องการใช้งานก่อนเลย
ตามรูปครับ
จากนั้นก็กำหนดพอร์ตใช้งาน
หมายความว่าคุณต้องลงไดร์เวอร์เรียบร้อยแล้วด้วยนะครับ
เขียนโค้ดทดสอบบอร์ด
ตัวอย่างนี้เราจะใช้ Switch บนบอร์ดต่ออยู่ที่ขาพอร์ต P1.3 ควบคุมการติดดับของ LED 2 ดวงที่ขาพอร์ต P1.0
และ P1.6 (Press button P1.3, LED1 P1.0, LED2 P1.6)
เขียนโค้ดเสร็จก็คลิกปุ่ม Compile สไตล์ Arduino
หากไม่พบข้อผิดพลาดใด ๆ ก็จะได้ผลตามหน้าต่างด้านล่าง
ถ้าพร้อมก็โหลดโค้ดโปรแกรมด้วยปุ่มโหลดโค้ดได้เลยครับ
ผลการโหลดก็จะเป็นดังรูป
กดสวิตช์ตามที่ชี้เลยนะครับ
โค้ดโปรแกรมเต็ม ๆๆ
ก็ตามนี้เลยครับ
// Prajin Palangsantikul
// https://www.facebook.com/appsofttech1
//see all pins_energia.h
#define
LED_R RED_LED
#define
LED_G GREEN_LED
#define
SW1 PUSH2
void
setup()
{
pinMode(LED_R, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(SW1, INPUT);
}
void
loop()
{
if (digitalRead(SW1) == LOW)
{
digitalWrite(LED_R, HIGH);
digitalWrite(LED_G, LOW);
} else
{
digitalWrite(LED_R, LOW);
digitalWrite(LED_G, HIGH);
}
}
|
ความคิดเห็น
แสดงความคิดเห็น