Хичээл 14 IR хүлээн авагч модуль

Энэхүү хичээлээр бид IR хүлээн авагч, IR дамжуулагч хэрхэн ажилладаг, түүнийг хэрхэн программчилдаг талаар судална.

Хэрэглэгдэхүүн:

  1. Ардиуно 1ш
  2. IR хүлээн авагч модуль 1ш
  3. IR удирдлага 1ш
  4. F-M утас 3ш

IR хүлээн авагч гэж юу вэ?

IR хүлээн авагч модуль

Хэт улаан туяаны хүлээн авагч нь хэт улаан туяаны дохиог хүлээн авахад ашиглагддаг. Хэт улаан туяаны хүлээн авагч дээр хэт улаан туяа дамжуулагчаас ялгарах хэт улаан туяаг хүлээж авахд авахад ашигладаг IR мэдрэгч байдаг. Үүний амьдрал дээр ашигладаг хамгийн энгийн жишээ бол зурагтны удирдлага юм. Удирдлаганы урд талд хэт улаан туяа дамжуулагч лед байдаг. Харин зурагтанд үүнийг хүлээж авах хэт улаан туяаны хүлээн авагч байдаг. Бид үүний тусламжтайгаар зурагтаа удирддаг.

Best Ir Remote GIFs | Gfycat
Удирдлага

Хэт улаан туяа гэж юу вэ?

Хэт улаан туяаны цацраг (IR) буюу хэт улаан туяа нь хүний нүдэнд үл үзэгдэх боловч бид дулаан мэт мэдэрдэг цацрагийн эрчим хүчний нэг төрөл юм. Орчлон ертөнцийн бүх объектууд тодорхой хэмжээний IR цацраг ялгаруулдаг боловч хамгийн тод хоёр эх үүсвэр нь нар ба гал юм. Үзэгдэх гэрлийн долгионы урт нь ойролцоогоор 400 нанометрээс 700 нанометр хүртэл хэлбэлздэг. 400 нм-ээс богино буюу 700 нм-ээс урт долгионы урт нь хүний нүдэнд үл үзэгдэх юм. Хэт улаан туяа нь үзэгдэх гэрлээс урт, радио долгионоос богино долгионы урттай гэрэл гэж бас хэлж болох юм.

Гэрэл

Зарчмын схем

Зарчмын схем
Зарчмын схем

Программ

Программын гол зорилго нь удирдлаганы аль товчлуур дарагдсаныг дэлгэц дээр хэвлэх юм. Бид дэлгэц дээр амжилттай хэвлэж чадвал өөр маш олон төслийн ажлыг амжилттай хийх үндэс болох юм. Үүнийг хийхэд бидэнд <IRremote> сан хэрэгтэй болно. Сан хэрхэн суулгах, түүний жишээ кодуудыг хэрхэн ашиглах талаар хамгийн эхний хичээл дээр үзсэн. Жишээ болгон удирдлаганы товчлуур дарагдах үед аль товчлуур дарагдаж байгаагаас хамаараад дэлгэц дээр өөр өөр утга хэвлэдэг кодыг орууллаа.

#include <IRremote.h>

const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);
}

void loop(){
  if (irrecv.decode(&results)){
        Serial.println(results.value, HEX);
        irrecv.resume();
  }
}
Программын үр дүн
Бодит зураг