ขั้นตอนการเขียนโค้ดและคำอธิบาย
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Set the LCD address to 0x27 for a 16 chars and 2 line display
LiquidCrystal_I2C lcd(0x27, 16, 2);
int buttonPin = 2; // ให้สวิทช์ 1 อยู่ที่เป็นขา 2
int buttonPin1 = 4; // ให้สวิทช์ 2 อยู่ที่ เป็นขา 2
int ledPin = 13; // หลอดไฟดวงที่ 1 อยู่ที่ขา 13
int ledPin1 = 11; // หลอดไฟดวงที่ 1 อยู่ที่ขา 11
boolean buttonState = 0; // สถานะของสวิทช์ 1 เท่ากับ 0
boolean buttonState1 = 0; // สถานะของสวิทช์ 2เท่ากับ 0
void setup() {
pinMode(ledPin, OUTPUT); //กำหนดหลอดไฟดวงที่ 1 เป็นเอาต์พุต
pinMode(buttonPin, INPUT); //กำหนดสวิตช์ที่ 1 เป็นอินพุต
pinMode(ledPin1, OUTPUT); //กำหนดหลอดไฟดวงที่ 2 เป็นเอาต์พุต
pinMode(buttonPin1, INPUT); //กำหนดสวิตช์ที่ 2 เป็นอินพุต
lcd.write(buttonState); // ให้ lcd อ่านค่าสถานะของสวิทช์
lcd.begin(); // สัญญาณ lcd
}
void loop() {
buttonState = digitalRead(buttonPin); //สถานะสวิทช์ 1 = อ่านค่าสวิทช์ 1
if (buttonState == HIGH) { // สถานะสวิทช์ คือ ไม่ได้กดสวิทช์
digitalWrite(ledPin, LOW); // เขียนค่าหลอดไฟดวงที่ 1 เป็น 0 ไฟไม่ติด
buttonState = 0; // สถานะสวิทช์ที่ 1 เป็น 0
lcd.setCursor(0, 1); // ช่องของ lcd 0 เป็นของ 1 เป็น แถว
lcd.print("led1 off (^__^)"); // ค่าที่ต้องการให้แสดงในหน้าจอ lcd ( ในวงเล็บ )
delay(5); // การหน่วงเวลา ( ใช้หน่วยเป็น มิลลิเซค )
} else {
digitalWrite(ledPin, HIGH); // เขียนค่าหลอดไฟดวง เป็น1 ไฟติด
lcd.setCursor(0, 1); // ช่องของ lcd 0 เป็นของ 1 เป็น แถว
lcd.print("led1 on (^__^)"); // ค่าที่ต้องการให้แสดงในหน้าจอ lcd ( ในวงเล็บ )
}
buttonState1 = digitalRead(buttonPin1); //สถานะสวิทช์ 2 = อ่านค่าสวิทช์2
if (buttonState1 == HIGH) { // สถานะสวิทช์ คือ ไม่ได้กดสวิทช์
digitalWrite(ledPin1, LOW) ; // เขียนค่าหลอดไฟดวง 2 เป็น 0 ไฟไม่ติด
buttonState1 = 0; // สถานะสวิทช์ที่ 2 เป็น 0
lcd.setCursor(0, 2); // ช่องของ lcd 0 เป็นของ 2 เป็น แถว
lcd.print("led2 off (^__^)"); // ค่าที่ต้องการให้แสดงในหน้าจอ lcd ( ในวงเล็บ )
delay(5); // การหน่วงเวลา ( ใช้หน่วยเป็น มิลลิเซค )
} else {
digitalWrite(ledPin1, HIGH); // เขียนค่าหลอดไฟดวงที่ 2 เป็น1 ไฟติด
lcd.setCursor(0,2); // ช่องของ lcd 0 เป็นของ 2 เป็น แถว
lcd.print("led2 on (^__^)"); // ค่าที่ต้องการให้แสดงในหน้าจอ lcd ( ในวงเล็บ )
}
}
Nattaphon SKNCT Nisakorn. Nak.
การต่อวงและคำอธิบาย
http://fritzing.org/projects/arduino-i2c-lcd-display
1 . สวิทช์ตัวที่ 1 ต่อกับขา 2 ต่อ ตัวต้านทาน ต่อกับไฟบวก ( +5V ) ขาอีกข้างต่อ( GND )
2. ต่อ Led 1 เข้ากับขา 13 ( ขาสั้น ) ส่วนอีกข้างต่อกับไฟบวก ( +5V )
3. สวิทช์ตัวที่ 2 ต่อกับขา 4 ต่อ ตัวต้านทาน ต่อกับไฟบวก ( +5V ) ขาอีกข้างต่อกาว ( GND )
4.ต่อLed 1 เข้ากับขา 13 ( ขาสั้น ) ส่วนอีกข้างต่อกับไฟบวก ( +5V )
5.ต่อหน้าจอ lcd สายดำต่อต่อ( GND ) สายแดงต่อไฟบวก ( +5V ) สายส้มต่อ A4 (SOA)
สายเหลืองต่อ A5 ( SCL )
การต่อวงจรนี้เป็นการต่อวงจรแบบ Pull-up
ร
ความคิดเห็น
แสดงความคิดเห็น