// กำหนดค่าพิน
#define LDR_PIN A0
#define VR_PIN A1
#define SW_START_PIN 2
#define SW_EMERGENCY_PIN 3
#define RELAY_PIN 4
#define MOTOR_DRIVER_PIN 5
#define DISPLAY_PIN 6
// ตัวแปร
int ldrValue;
int vrValue;
int startFlag;
int emergencyFlag;
void setup() {
// ตั้งค่าพิน
pinMode(LDR_PIN, INPUT);
pinMode(VR_PIN, INPUT);
pinMode(SW_START_PIN, INPUT);
pinMode(SW_EMERGENCY_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(MOTOR_DRIVER_PIN, OUTPUT);
pinMode(DISPLAY_PIN, OUTPUT);
// ตั้งค่าเริ่มต้น
startFlag = 0;
emergencyFlag = 0;
// เริ่มต้นการสื่อสารกับจอแสดงผล
Serial.begin(9600);
}
void loop() {
// อ่านค่าจากเซ็นเซอร์
ldrValue = analogRead(LDR_PIN);
vrValue = analogRead(VR_PIN);
// ตรวจสอบสวิตช์
startFlag = digitalRead(SW_START_PIN);
emergencyFlag = digitalRead(SW_EMERGENCY_PIN);
// ควบคุมรีเลย์
if (startFlag && !emergencyFlag) {
digitalWrite(RELAY_PIN, HIGH);
} else {
digitalWrite(RELAY_PIN, LOW);
}
// ควบคุมมอเตอร์
if (vrValue > 500) {
digitalWrite(MOTOR_DRIVER_PIN, HIGH);
} else {
digitalWrite(MOTOR_DRIVER_PIN, LOW);
}
// แสดงผลบนจอ
Serial.print("LDR: ");
Serial.print(ldrValue);
Serial.print(" VR: ");
Serial.print(vrValue);
Serial.print(" Start: ");
Serial.print(startFlag);
Serial.print(" Emergency: ");
Serial.println(emergencyFlag);
}
โค้ดสำหรับโปรแกรม Arduino Uno LDR,VR
#define LDR_PIN A0
#define VR_PIN A1
#define SW_START_PIN 2
#define SW_EMERGENCY_PIN 3
#define RELAY_PIN 4
#define MOTOR_DRIVER_PIN 5
#define DISPLAY_PIN 6
// ตัวแปร
int ldrValue;
int vrValue;
int startFlag;
int emergencyFlag;
void setup() {
// ตั้งค่าพิน
pinMode(LDR_PIN, INPUT);
pinMode(VR_PIN, INPUT);
pinMode(SW_START_PIN, INPUT);
pinMode(SW_EMERGENCY_PIN, INPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(MOTOR_DRIVER_PIN, OUTPUT);
pinMode(DISPLAY_PIN, OUTPUT);
// ตั้งค่าเริ่มต้น
startFlag = 0;
emergencyFlag = 0;
// เริ่มต้นการสื่อสารกับจอแสดงผล
Serial.begin(9600);
}
void loop() {
// อ่านค่าจากเซ็นเซอร์
ldrValue = analogRead(LDR_PIN);
vrValue = analogRead(VR_PIN);
// ตรวจสอบสวิตช์
startFlag = digitalRead(SW_START_PIN);
emergencyFlag = digitalRead(SW_EMERGENCY_PIN);
// ควบคุมรีเลย์
if (startFlag && !emergencyFlag) {
digitalWrite(RELAY_PIN, HIGH);
} else {
digitalWrite(RELAY_PIN, LOW);
}
// ควบคุมมอเตอร์
if (vrValue > 500) {
digitalWrite(MOTOR_DRIVER_PIN, HIGH);
} else {
digitalWrite(MOTOR_DRIVER_PIN, LOW);
}
// แสดงผลบนจอ
Serial.print("LDR: ");
Serial.print(ldrValue);
Serial.print(" VR: ");
Serial.print(vrValue);
Serial.print(" Start: ");
Serial.print(startFlag);
Serial.print(" Emergency: ");
Serial.println(emergencyFlag);
}