Page 220 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 220
เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น 36
ตัวอย่างที่ 4.17
sensVal = constrain(sensVal, 10, 150);
// limits range of sensor values to between 10 and 150
จากตัวอย่างนี้ค่าของ sensVal จะอยู่ ในช่วง 10 ถึ ง 150
4.7 ฟังก์ชั่นเกี่ยวกับเลขสุ่ม
4.7.1 randomSeed(seed)
ใช้ก าหนดตัวแปรส าหรับสร้างตัวเลขสุ่มโดยสามารถใช้ตัวแปรได้หลากหลายรูปแบบ โดยทั่วไปจะ
ใช้ค่าเวลาปัจจุบัน (จากฟังก์ชั่น milis()) แต่สามารถใช้ค่าอย่างอื่นได้ เช่นค่าที่ได้เมื่อผู้ใช้กดสวิช์หรือค่า
สัญญาณรบกวนที่อ่านได้จากขาอินพุตแอนะล็อก
พารามิเตอร์
seed เป็นค่าตัวเลขแบบ long int
ตัวอย่างที่ 4.18
long randNumber;
void setup()
{
Serial.begin(19200);
}
void loop()
{
randomSeed(analogRead(0));
randNumber = random(300);
Serial.println(randNumber);
}
ในตัวอย่างนี้ก าหนดให้เกิดการสุ่มตัวเลขขึ้นเมื่ออ่านค่าจากอินพุตแอนะล็อกช่อง 0 (A0) ย่านของ
ตัวเลขสุ่มคือ 0 ถึง 300 เมื่อท าการสุ่มตัวเลขแล้วให้แสดงค่านั้นที่หน้าต่าง Serial Monitor
4.7.2 long random(max), long random (min, max)
ใช้สร้างตัวเลขสุ่มเสมือน (pseudo-random numbers) เพื่อน าไปใช้ในโปรแกรมก่อนใช้ฟังก์
ชั้นนี้จะต้องเรียกใช้ฟังก์ชั่น randomSeed() ก่อน
หน่วยที่ 4 ฟังก์ชั่นพื้นฐานของ Arduino และการควบคุมหลอดไฟ LED เรียบเรียงโดยครูทันพงษ์ ภู่รักษ์