สวัสดีครับ สำหรับหัวข้อบทเรียนพื้นฐานบนบอร์ด HONEYLemon ที่ใช้งานผ่าน arduino library ในเรื่องนี้จะนำพาท่านไปพบกับการใช้งาน Button หรือปุ่มกดบนบอร์ด HONEYLemon ซึ่งจะช่วยให้ท่านพัฒนา code ได้อย่างรวดเร็ว และเป็นระเบียบมากขึ้น ใช้งานง่าย ปุ่มเดียวใช้ได้ ถึง 3 ฟังก์ชั่น
ฟังก์ชั่นที่เกี่ยวข้อง
lemon.onClick() // สำหรับการกดปุ่มครั้งเดียว
lemon.onLongClick() // สำหรับการกดปุ่มค้าง
lemon.onDoubleClick() // สำหรับการกดปุ่มสองครั้งติดต่อกัน
void BTN_Click(){
// ตัวอย่างสำหรับการเขียน Function เพื่อเอาไว้ทำงานเวลามีการกดปุ่มหนึ่งครั้ง
}
หลังจากนั้นเราจึงมาเพิ่มในฟังก์ชั่น setup() ให้มีการ callback function เมื่อมีการกดปุ่มหนึ่งครั้ง ไปที่ฟังก์ชั่น BTN_Click() โดยใช้คำสั่งต่อไปนี้
void setup(){
...
lemon.onClick(BTN_Click); // หากกดปุ่มครั้งเดียวให้เรียกใช้งานฟังก์ชั่น BTN_Click()
...
}
เราจะได้แล้ว 1 ฟังก์ชั่น หลังจากนั้นทำแบบเดียวกันกับอีก 2 ฟังก์ชั่น จะได้ตามตัวอย่างแล้วละครับ
/*
Basic : การเขียนโปรแกรมกับการใช้งานปุ่มกดบนบอร์ดไมโครคอนโทรลเลอร์ HONEYLemon
*/
#include <HONEYLemon.h>
void BTN_Click(){ // ฟังก์ชั่นสำหรับการกดปุ่มครั้งเดียว
Serial.println("Button Click!"); // แสดงผลที่หน้าจอมอนิเตอร์
}
void BTN_LongClick(){ // ฟังก์ชั่นสำหรับการกดปุ่มค้าง
Serial.println("Button Long Click!"); // แสดงผลที่หน้าจอมอนิเตอร์
}
void BTN_DoubleClick(){ // ฟังก์ชั่นสำหรับการกดปุ่มสองครั้ง
Serial.println("Button Double Click!"); // แสดงผลที่หน้าจอมอนิเตอร์
}
void setup()
{
lemon.begin(); // เรียกใช้งานฟังก์ชั่นเริ่มต้นของบอร์ด HONEYLemon
Serial.begin(115200); // เรียกใช้งาน Serial
lemon.debug(Serial); // ขอดู debug ของบอร์ด HONEYLemon ผ่าน Serial
/*
Function Event Callback
onClick( __function__ ); // สำหรับกดปุ่มครั้งเดียว
onLongClick( __function__ ); // สำหรับกดปุ่มค้าง
onDoubleClick( __function__ ); // สำหรับกดปุ่มสองครั้ง
*/
lemon.onClick(BTN_Click); // หากกดปุ่มครั้งเดียวให้เรียกใช้งานฟังก์ชั่น BTN_Click()
lemon.onLongClick(BTN_LongClick); // หากกดปุ่มค้างให้เรียกใช้งานฟังก์ชั่น BTN_LongClick()
lemon.onDoubleClick(BTN_DoubleClick); // หากกดปุ่มสองครั้งให้เรียกใช้งานฟังก์ชั่น BTN_DoubleClick()
}
void loop()
{
}
หลังจากนั้นดู Serial Monitor และกดปุ่ม 1 ครั้ง, 2 ครั้ง, กดค้าง ตามลำดับ จะได้ผลดังรูป