PLC-ARDUINO-TEST-8-IO-V1
เป็นโมดูลสำหรับทดสอบอินพุทเอ้าพุทสำหรับ พีแอลซี และ อาดูโน มีจำนวน 8 อินพุท 8 เอ้าพุท รองรับไฟ 5V และ 24V
คุณสมบัติ
- มีจำนวน 8 INPUT รองรับไฟ 5V และ 24V
- INPUT แบบผสม ใช้ได้ทั้งสวิตช์กดติดปล่อยดับ และสวิตช์โยกแบบค้างสถานะใน INPUT ช่องเดียวกัน
- มีจำนวน 8 OUTPUT รองรับไฟ 5V และ 24V มี LED สีแดงแสดงผล
- ขนาดบอร์ด 10×15 เซ็นติเมตร
ตัวอย่างการต่อใช้งานสำหรับ ARDUINO

ตัวอย่างโค๊ดไฟ OUTPUT กระพริบทุกหลอดพร้อมกัน 1 วินาที
#define OUT1 2 // สร้างตัวแปร OUT1 มีค่าเป็น 2 #define OUT2 3 // สร้างตัวแปร OUT2 มีค่าเป็น 3 #define OUT3 4 // สร้างตัวแปร OUT3 มีค่าเป็น 4 #define OUT4 5 // สร้างตัวแปร OUT4 มีค่าเป็น 5 #define OUT5 6 // สร้างตัวแปร OUT5 มีค่าเป็น 6 #define OUT6 7 // สร้างตัวแปร OUT6 มีค่าเป็น 7 #define OUT7 8 // สร้างตัวแปร OUT7 มีค่าเป็น 8 #define OUT8 9 // สร้างตัวแปร OUT8 มีค่าเป็น 9 void setup() { // ตั้งค่า OUTPUT pinMode(OUT1,OUTPUT); pinMode(OUT2,OUTPUT); pinMode(OUT3,OUTPUT); pinMode(OUT4,OUTPUT); pinMode(OUT5,OUTPUT); pinMode(OUT6,OUTPUT); pinMode(OUT7,OUTPUT); pinMode(OUT8,OUTPUT); } void loop() { // สั่ง OUTPUT เป็น HIGH // เลข 1 หลัง , มีค่าเป็น HIGH digitalWrite(OUT1,1); digitalWrite(OUT2,1); digitalWrite(OUT3,1); digitalWrite(OUT4,1); digitalWrite(OUT5,1); digitalWrite(OUT6,1); digitalWrite(OUT7,1); digitalWrite(OUT8,1); delay(1000); // หน่วงเวลา 1 วินาที // สั่ง OUTPUT เป็น LOW // เลข 0 หลัง , มีค่าเป็น LOW digitalWrite(OUT1,0); digitalWrite(OUT2,0); digitalWrite(OUT3,0); digitalWrite(OUT4,0); digitalWrite(OUT5,0); digitalWrite(OUT6,0); digitalWrite(OUT7,0); digitalWrite(OUT8,0); delay(1000); // หน่วงเวลา 1 วินาที }
Download ไฟล์ตัวอย่างไฟกระพริบ
ตัวอย่างโค๊ดไฟ OUTPUT วิ่งซ้ายไปขวา ขวาไปซ้าย ซ้ายขวาไปตรงกลาง ตรงกลายไปซ้ายขวา
void setup() { // ตั้งค่า OUTPUT pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); } void loop() { // สั่งไฟวิ่งจากซ้ายไปขวาและให้ไฟดวงก่อนที่ติดเปลี่ยนเป็นดับ for(int i = 2; i <= 9; i++){ digitalWrite(i-1,0); // สั่งให้ดวงก่อนหน้าดับ digitalWrite(i,1); // สั่งให้ดวงถัดไปติด delay(250); // หน่วงเวลา } // สั่งไฟวิ่งจากขวาไปซ้ายและให้ไฟดวงก่อนที่ติดเปลี่ยนเป็นดับ for(int i = 9; i >= 2; i--){ digitalWrite(i+1,0); // สั่งให้ดวงก่อนหน้าดับ digitalWrite(i,1); // สั่งให้ดวงถัดไปติด delay(250); // หน่วงเวลา } // สั่งไฟวิ่งจากซ้ายขวาไปตรงกลางและให้ไฟดวงก่อนที่ติดเปลี่ยนเป็นดับ for(int i = 0; i <= 3; i++){ digitalWrite(i+2,1); // สั่งให้ดวงด้านซ้ายติด digitalWrite(9-i,1); // สั่งให้ดวงด้านขวาติด digitalWrite(i+1,0); // สั่งให้ดวงด้านซ้ายก่อนหน้าดับ digitalWrite(10-i,0); // สั่งให้ดวงด้านขวาก่อนหน้าดับ delay(250); // หน่วงเวลา } // สั่งไฟวิ่งจากตรงกลางไปซ้ายและขวาและให้ไฟดวงก่อนที่ติดเปลี่ยนเป็นดับ for(int i = 3; i >= -1; i--){ digitalWrite(8-i,0); // สั่งให้ดวงก่อนหน้าดับ digitalWrite(i+2,1); // สั่งให้ดวงกลางซ้ายติด digitalWrite(i+3,0); // สั่งให้ดวงก่อนหน้าดับ digitalWrite(9-i,1); // สั่งให้ดวงกลางขวาติด delay(250); // หน่วงเวลา } }
ตัวอย่างโค๊ดกดสวิตซ์ที่ INPUT แล้วสั่งให้ไฟ OUTPUT ติด
#define OUT1 2 // สร้างตัวแปร OUT1 มีค่าเป็น 2 #define OUT2 3 // สร้างตัวแปร OUT2 มีค่าเป็น 3 #define OUT3 4 // สร้างตัวแปร OUT3 มีค่าเป็น 4 #define OUT4 5 // สร้างตัวแปร OUT4 มีค่าเป็น 5 #define OUT5 6 // สร้างตัวแปร OUT5 มีค่าเป็น 6 #define OUT6 7 // สร้างตัวแปร OUT6 มีค่าเป็น 7 #define OUT7 8 // สร้างตัวแปร OUT7 มีค่าเป็น 8 #define OUT8 9 // สร้างตัวแปร OUT8 มีค่าเป็น 9 #define IN1 A5 // สร้างตัวแปร IN1 มีค่าเป็น A5 #define IN2 A4 // สร้างตัวแปร IN2 มีค่าเป็น A4 #define IN3 A3 // สร้างตัวแปร IN3 มีค่าเป็น A3 #define IN4 A2 // สร้างตัวแปร IN4 มีค่าเป็น A2 #define IN5 A1 // สร้างตัวแปร IN5 มีค่าเป็น A1 #define IN6 A0 // สร้างตัวแปร IN6 มีค่าเป็น A0 #define IN7 11 // สร้างตัวแปร IN7 มีค่าเป็น 11 #define IN8 10 // สร้างตัวแปร IN8 มีค่าเป็น 10 void setup() { // ตั้งค่า OUTPUT pinMode(OUT1,OUTPUT); pinMode(OUT2,OUTPUT); pinMode(OUT3,OUTPUT); pinMode(OUT4,OUTPUT); pinMode(OUT5,OUTPUT); pinMode(OUT6,OUTPUT); pinMode(OUT7,OUTPUT); pinMode(OUT8,OUTPUT); // ตั้งค่าสวิตซ์เป็น INPUT PULLUP // เป็นคำสั่งสำหรับเชื่อมต่อตัวต้านทาน 10K ระหว่างขาที่ต้องการกับไฟ 5V // เพื่อคงสถานะสวิตซ์เป็น HIGH ไว้เมื่อไม่มีการกดปุ่ม pinMode(IN1,INPUT_PULLUP); pinMode(IN2,INPUT_PULLUP); pinMode(IN3,INPUT_PULLUP); pinMode(IN4,INPUT_PULLUP); pinMode(IN5,INPUT_PULLUP); pinMode(IN6,INPUT_PULLUP); pinMode(IN7,INPUT_PULLUP); pinMode(IN8,INPUT_PULLUP); } void loop() { // SW1 if(!digitalRead(IN1))// ถ้า IN1 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT1,1);} // LED ที่ OUT1 ติด else // IN1 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT1,0);} // LED ที่ OUT1 ดับ // SW2 if(!digitalRead(IN2)) // ถ้า IN2 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT2,1);} // LED ที่ OUT2 ติด else // IN2 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT2,0);} // LED ที่ OUT2 ดับ // SW3 if(!digitalRead(IN3)) // ถ้า IN3 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT3,1);} // LED ที่ OUT3 ติด else // IN3 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT3,0);} // LED ที่ OUT3 ดับ // SW4 if(!digitalRead(IN4)) // ถ้า IN4 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT4,1);} // LED ที่ OUT4 ติด else // IN4 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT4,0);} // LED ที่ OUT4 ดับ // SW5 if(!digitalRead(IN5)) // ถ้า IN5 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT5,1);} // LED ที่ OUT5 ติด else // IN5 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT5,0);} // LED ที่ OUT5 ดับ // SW6 if(!digitalRead(IN6)) // ถ้า IN6 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT6,1);} // LED ที่ OUT6 ติด else // IN6 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT6,0);} // LED ที่ OUT6 ดับ // SW7 if(!digitalRead(IN7)) // ถ้า IN7 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT7,1);} // LED ที่ OUT7 ติด else // IN7 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT7,0);} // LED ที่ OUT7 ดับ // SW8 if(!digitalRead(IN8)) // ถ้า IN8 เป็น LOW หรือกดปุ่ม {digitalWrite(OUT8,1);} // LED ที่ OUT8 ติด else // IN8 เป็น HIGH หรือปล่อยปุ่ม {digitalWrite(OUT8,0);} // LED ที่ OUT8 ดับ }