const int ledPins[] = { 25, 26, 27 }; // set ค่าเริ่มต้นของ ledPins เป็น 25, 26, 27
const int r = 15; // ประกาศตัวแปร r = pin 15
const int numLEDs = 3; // กำหนดค่าคงที่ numLEDs เป็นจำนวนไฟ LED ที่ใช้งาน
int R = 2; // ประกาศตัวแปร R(Red) = pin 2
int G = 4; // ประกาศตัวแปร G(GREEN) = pin 4
int B = 16; // ประกาศตัวแปร B(BLUE) = pin 16
void setup() {
// set Mode R,G,B => Output
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
// เรียกใช้ port Serial ด้วยความเร็ว 9600 bits/s
Serial.begin(9600);
}
void loop() {
int val = analogRead(r); // ประกาศตัวแปร val ให้อ่าค่าจาก R
int output = map(val, 0, 1023, 0, 250); // แปลงค่าความสว่างจาก 0 ถึง 1023 เป็นค่าความสว่างระหว่าง 0 ถึง 250
// print ค่าของ val ไปยัง Serial Monitor
Serial.print(val);
Serial.print(" ===> ");
Serial.println(output);
analogWrite(R, 0);
analogWrite(G, 0);
analogWrite(B, 0);
// ตรวจสอบค่าสีของ LED ที่ต้องการ
if (output > 0 and output <= 143) {
// Red
analogWrite(R, 255);
analogWrite(G, 0);
analogWrite(B, 0);
Serial.print("|RED| ");
delay(500);
} else if (output > 143 and output <= 286) {
// Yellow
analogWrite(R, 255);
analogWrite(G, 255);
analogWrite(B, 0);
Serial.print("|Yellow| ");
delay(500);
} else if (output > 286 and output <= 429) {
// Green
analogWrite(R, 0);
analogWrite(G, 255);
analogWrite(B, 0);
Serial.print("|Green| ");
delay(500);
} else if (output > 429 and output <= 572) {
// Light blue
analogWrite(R, 0);
analogWrite(G, 255);
analogWrite(B, 255);
Serial.print("|Light blue| ");
delay(500);
} else if (output > 572 and output <= 715) {
// Blue
analogWrite(R, 0);
analogWrite(G, 0);
analogWrite(B, 255);
Serial.print("|Blue| ");
delay(500);
} else if (output > 715 and output <= 858) {
// Pink
analogWrite(R, 255);
analogWrite(G, 0);
analogWrite(B, 120);
Serial.print("|Pink| ");
delay(500);
} else {
// White
analogWrite(R, 255);
analogWrite(G, 255);
analogWrite(B, 255);
Serial.print("|White| ");
delay(500);
}
}