lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

การสั่งงานควบคุมด้วยรีโมทย์อินฟาเรด For NOD MCU ESP8266 (ลง library ก่อนนะครับ)

เจ้าของร้าน
เจ้าของร้าน
9 เดือนที่ผ่านมา

 

#include <IRremoteESP8266.h>  // เรียกใช้งาน library IRremoteESP8266.h สำหรับการใช้งาน รีโมตอินฟาเรท

 

#include <Wire.h>  // เรียกใช้งาน library Wire.h เพื่อรองรับการเชื่อมต่อแบบ I2C

 

#include <LiquidCrystal_PCF8574.h>  // เรียกใช้งาน library LiquidCrystal_PCF8574.h เพื่อติดต่อ LCD 16x2 ในรูปแบบ I2C

 

int RECV_PIN = 13; // กำหนด หมายเลขขา สำหรับ ส่งข้อมูล อินฟาเรต

 

LiquidCrystal_PCF8574 lcd(0x27);  // เรียกใช้ฟังค์ชั่นเริ่มต้น สำหรับการใช้งาน library LiquidCrystal_PCF8574.h ค่าเริ่มต้น ของ address ในที่นี่ = 0x27

 

IRrecv irrecv(RECV_PIN);   // เรียกใช้งานฟังค์ชั่น เพื่อเรียกใช้งานขาอินฟาเรท ในที่นี่ = ขา 13 ที่กำหนดไวในตัวแปร RECV_PIN

 

decode_results results;  // เรียกใช้งานฟั้งค์ชั่น อ่านค่ารีโมทอินฟาเรท โดยกำหนดให้ results เป็นตัวเก็บค่า

 

void setup()

{

  Wire.begin(12, 14);  // เรียกใช้ฟังค์ชั่น Wire.begin(SDA, SCL); เพื่อกำหนด ขา SDA และ SCL ใหม่ ** ค่าเริ่มต้นของ library จะเท่ากับ SCL = ขา5 SDA = ขา4

  lcd.begin(16, 2);  // เริ่มต้นใช้งาน library ของ LiquidCrystal_PCF8574.h หลังจากที่ กำหนดค่าเรียบร้อยแล้ว โดย ใช้งานในแบบ จอ 16x2

  lcd.setBacklight(255);  // ฟังค์ชั่นการเปิดไฟแบล็คไลท์ ของจอ lcd

  Serial.begin(9600);   // เปิดการใช้งาน พอร์ตอนุกรม และตั้งอัตตราบรอดเรท 9600  ด้วยฟังค์ชั่น Serial.begin(9600)

  irrecv.enableIRIn();  // ฟังค์ชั่น เริ่มต้นการใช้งานรีโมทอินฟาเรท

}

 

void loop()  // เงื่อนไขการทำงานภายในฟังค์ชั่นลูปนี้คือ จะทำการอ่านค่าจากรีโมทอินฟาเรท แล้วนำค่าที่ได้มาแสดงผลออกทาง จอ LCD 16x2

{

  if (irrecv.decode(&results))  // โครงสร้าของประโยคเงื่อนไขแบบ if หรือ ประโยคเงื่อนไขแบบทางเลือก คือถ้ามีการรับข้อมูลจากอินฟาเรทเข้ามา ก็จะทำงานเงื่อนไขในบรรทัดต่อไป ถ้าไม่มีก็จะไปที่บรรทัดสุดท้ายทันที

  {

    lcd.setCursor(0,0);  // ฟังค์ชั่นกำหนดให้ เคอร์เซอร์ ไปอยู่ที่ ตำแหน่ง 0 บรรทัดที่ 0 ** lcd 16x2 มี 2 บรรทัด คือ บรรทัด 0 (ด้านบนสุด) และ บรรทัด 1 นั้นก็คือด้านล่าง และในแต่ละบรรทัดก็จะมี 16 ตำแหน่ง นั้นก็คือ 0 - 15 โดยเริ่มที่ทางซ้ายสุดเสมอ

    lcd.print("0x");  // แสดง ข้อความ 0x

    lcd.setCursor(2,0); // ฟังค์ชั่นกำหนดให้ เคอร์เซอร์ ไปอยู่ที่ ตำแหน่ง 2 บรรทัดที่ 0 ซึ่งต่อจาก ข้อความ 0x

    lcd.print(results.value, HEX); // แสดงค่าที่รับมาจาก รีโมทอินฟาเรท โดย แสดงค่า ออกมาในรูปแบบ เลขฐาน 16

    delay(1000); // หน่วงเวลา 1 วินาที

    lcd.clear(); // ฟังค์ชั่น เคลียร์หน้าจอทั้งหมด

    irrecv.resume(); // ฟังค์ชั่นรอรับค่าต่อไปของรีโมทอินฟาเรท

  }

  delay(100); // หน่วงเวลาเพื่ออ่านค่าจากรีโมทอินฟาเรท 1มิลลิวินาที

}

1
แสดงความคิดเห็นที่ 0-0 จากทั้งหมด 0 ความคิดเห็น
ข้อความ
ชื่อผู้โพส
ข้อมูลสำหรับการติดต่อกลับ (ไม่เปิดเผย เห็นเฉพาะเจ้าของร้าน)
อีเมล
เบอร์มือถือ
  • ตอบกระทู้

<



    ติดต่อเรา สะดวก    รวดเร็ว ไว้ใจได้

 091-109-7711


  ติดต่อเราผ่านช่องทาง LINE

  ID : king5k

MEMBER

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

STATISTICS

หน้าที่เข้าชม6,158 ครั้ง
ผู้ชมทั้งหมด3,017 ครั้ง
เปิดร้าน21 ก.ย. 2559
ร้านค้าอัพเดท16 พ.ค. 2561
ตะกร้าของฉัน (0)
มีสินค้าทั้งหมด 0 ชนิด 0 ชิ้น
0 บาทราคาสินค้าทั้งหมด
(ยังไม่รวมค่าจัดส่ง)
สั่งซื้อสินค้า
ตะกร้า
( 0 )
รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
ร้านPiapples
Piapples
วิสัยทัศน์ของเราคือ สร้างชุดฝึกสำหรับการโปรแกรมคอมพิวเตอร์ มอบให้ระบบการศึกษาทั่วประเทศ ยินดีให้คำปรึกษา R&D งานระบบไมโครคอนโทรลเลอร์ งานโปรเจค งานออกแบบดีไซด์
เบอร์โทร : 0911097711
อีเมล : kittisak.krua@gmail.com
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
สินค้าที่ดูล่าสุด
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join (สมัครสมาชิกร้าน)
แชร์หน้านี้
แชร์หน้านี้

TOP เลื่อนขึ้นบนสุด
Go to Top
พูดคุย-สอบถาม คลิก