สารบัญ:
- ขั้นตอนที่ 1: Le Montage
- ขั้นตอนที่ 2: Le Code Arduino
- ขั้นตอนที่ 3: Infos Sur Les Codes Infra-Rouge
- ขั้นตอนที่ 4: ข้อมูลรหัส Sur RX433
วีดีโอ: ผู้ควบคุม Les Codes Infra-Rouge Et 433mhz: 4 Steps
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
Le but est d'afficher les codes des télécommandes du style commande de lampe, porte de garage et autre fonctionnant sous 433 mhz (RX433) mais aussi ceux des télécommandes infra-rouge de télévision au autre.
บนห้องน้ำที่มีห้องน้ำในตัว, grâce à une autre montage, envoyer ces codes et piloter n'importe quoi !
ขั้นตอนที่ 1: Le Montage
ง่าย, un Arduino Nano, une diode réceptrice infra-rouge และ un récepteur 433 mhz
ขั้นตอนที่ 2: Le Code Arduino
//อินฟรารูจ
#รวม
int recvPin = 11; // ปักหมุด Arduino สำหรับเรเซปเตอร์ InfraRouge (TOSP4838)
IRrecv irrecv(recvPin);
//RX433
#รวม
RCSwitch mySwitch = RCSwitch ();
ผลลัพธ์ decode_results;
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin(9600);
irrecv.enableIRIn();
irrecv.blink13(true);// ภาพรวมของ LED ภายใน lors de l'envoie InfraRouge
mySwitch.enableReceive(0); // Récepteur RX433 (XY-MK-5V) กับพิน 2 ของ Arduino Uno et Nano
}
// แนบรหัส InfraRouge
เป็นโมฆะ ircode (decode_results * ผลลัพธ์)
{
// พานาโซนิค
ถ้า (ผล->decode_type == PANASONIC) {
Serial.print(ผลลัพธ์->ที่อยู่ HEX);
Serial.print(":");
}
Serial.print (ผลลัพธ์ -> ค่า HEX);
}//เป็นโมฆะ
// afficahge des codes encodes
การเข้ารหัสเป็นโมฆะ (decode_results *ผลลัพธ์)
{
สวิตช์ (ผลลัพธ์ -> decode_type) {
ค่าเริ่มต้น:
กรณีไม่ทราบ: Serial.print("Inconnu"); หยุดพัก;
กรณี NEC: Serial.print ("NEC"); หยุดพัก;
กรณี SONY: Serial.print ("SONY"); หยุดพัก;
กรณี RC5: Serial.print ("RC5"); หยุดพัก;
กรณี RC6: Serial.print ("RC6"); หยุดพัก;
กรณี DISH: Serial.print ("DISH"); หยุดพัก;
กรณี SHARP: Serial.print ("SHARP"); หยุดพัก;
กรณี JVC: Serial.print ("JVC"); หยุดพัก;
กรณี SANYO: Serial.print("SANYO"); หยุดพัก;
กรณี MITSUBISHI: Serial.print("MITSUBISHI"); หยุดพัก;
กรณี SAMSUNG: Serial.print("SAMSUNG"); หยุดพัก;
กรณี LG: Serial.print ("LG"); หยุดพัก;
กรณี WHYNTER: Serial.print ("WHYNTER"); หยุดพัก;
กรณี AIWA_RC_T501: Serial.print("AIWA_RC_T501"); หยุดพัก;
กรณี PANASONIC: Serial.print ("PANASONIC"); หยุดพัก;
กรณี DENON: Serial.print ("Denon"); หยุดพัก;
}
}
// dump les résultats
เป็นโมฆะ dumpInfo (decode_results * ผลลัพธ์)
{
// ตรวจสอบว่าบัฟเฟอร์ล้น
ถ้า (ผลลัพธ์ -> ล้น) {
Serial.println("รหัส IR ยาวเกินไป แก้ไข IRremoteInt.h และเพิ่ม RAWBUF");
กลับ;
}
// แสดงมาตรฐานการเข้ารหัส
Serial.print("การเข้ารหัส: ");
การเข้ารหัส (ผลลัพธ์);
Serial.println("");
// แสดงรหัส & ความยาว
Serial.print("รหัส: ");
ircode(ผลลัพธ์);
Serial.print("(");
Serial.print(ผล->บิต ธ.ค.);
Serial.println("บิต)");
}
//โครงสร้าง
เป็นโมฆะ dumpRaw (decode_results * ผลลัพธ์)
{
// พิมพ์ข้อมูลดิบ
Serial.print("ระยะเวลา[");
Serial.print(ผล->รอว์เลน-1 ธ.ค.);
Serial.println("]: ");
สำหรับ (int i = 1; i rawlen; i++) {
unsigned long x = results->rawbuf * USECPERTICK;
if (!(i & 1)) { // เท่ากัน
Serial.print("-");
ถ้า (x < 1000) Serial.print(" ");
ถ้า (x < 100) Serial.print(" ");
Serial.print(x, ธ.ค.);
} อื่น ๆ { // คี่
Serial.print(" ");
Serial.print("+");
ถ้า (x < 1000) Serial.print(" ");
ถ้า (x < 100) Serial.print(" ");
Serial.print(x, ธ.ค.);
ถ้า (ฉัน rawlen-1) Serial.print(", "); //',' ไม่จำเป็นสำหรับอันสุดท้าย
}
ถ้า (!(i % 8)) Serial.println("");
}
Serial.println(""); // ขึ้นบรรทัดใหม่
}
//+=============================================================================
// ดัมพ์โครงสร้าง decode_results ออก
//
เป็นโมฆะ dumpCode (decode_results * ผลลัพธ์)
{
// เริ่มการประกาศ
Serial.print("unsigned int "); // ประเภทตัวแปร
Serial.print("ข้อมูลดิบ["); // ชื่ออาร์เรย์
Serial.print(ผล->รอว์เลน - 1 ธ.ค.); // ขนาดอาร์เรย์
Serial.print("] = {"); // เริ่มการประกาศ
// ดัมพ์ข้อมูล
สำหรับ (int i = 1; i rawlen; i++) {
Serial.print(ผล->rawbuf * USECPERTICK ธ.ค.);
ถ้า (ฉัน rawlen-1) Serial.print(", "); // ', ' ไม่จำเป็นในอันสุดท้าย
ถ้า (!(i & 1)) Serial.print(" ");
}
// สิ้นสุดการประกาศ
Serial.print("};"); //
// ความคิดเห็น
Serial.print(" // ");
การเข้ารหัส (ผลลัพธ์);
Serial.print(" ");
ircode(ผลลัพธ์);
// ขึ้นบรรทัดใหม่
Serial.println("");
// ตอนนี้ดัมพ์รหัส "ที่รู้จัก"
ถ้า (ผล->decode_type != UNKNOWN) {
// โปรโตคอลบางตัวมีที่อยู่
ถ้า (ผล->decode_type == PANASONIC) {
Serial.print("unsigned int addr = 0x");
Serial.print(ผลลัพธ์->ที่อยู่ HEX);
Serial.println(";");
}
// โปรโตคอลทั้งหมดมี data
Serial.print("ข้อมูล int ที่ไม่ได้ลงชื่อ = 0x");
Serial.print (ผลลัพธ์ -> ค่า HEX);
Serial.println(";");
}
}
วงโมฆะ ()
/****************************************************** * InfraRouge ************************************************/
{
ผลลัพธ์ decode_results; // ที่ไหนสักแห่งที่จะเก็บผลลัพธ์
if (irrecv.decode (&results)) { // หยิบ IR code
dumpInfo(&ผลลัพธ์); // ส่งออกผลลัพธ์
dumpRaw(&ผลลัพธ์); // ส่งออกผลลัพธ์ในรูปแบบ RAW
dumpCode(&ผลลัพธ์); // ส่งออกผลลัพธ์เป็นซอร์สโค้ด
Serial.println(""); // ช่องว่างระหว่างรายการ
irrecv.resume(); // เตรียมรับค่าต่อไป
}
/****************************************************** *** RX433 **************************************************/
ถ้า (mySwitch.available())
{
ค่า int = mySwitch.getReceivedValue();
Serial.println("RX433");
ถ้า (ค่า == 0) {
Serial.print("Codage inconnu");
} อื่น
{
Serial.print("บันทึก");
Serial.print(mySwitch.getReceivedValue());
Serial.print(" / ");
Serial.print(mySwitch.getReceivedBitlength());
Serial.print("บิต");
Serial.print("โปรโตคอล: ");
Serial.println(mySwitch.getReceivedProtocol());
}
mySwitch.resetAvailable();
}//RX433
}//ลูป
ขั้นตอนที่ 3: Infos Sur Les Codes Infra-Rouge
Il y a plusiers โปรโตคอล:
NEC: 32 บิต (รายละเอียดโปรโตคอล)
Sony: 12 ou 20 บิต (รายละเอียดโปรโตคอล) (ทำความเข้าใจกับรีโมทควบคุมของ Sony IR)
RC5: 12 บิต (รายละเอียดโปรโตคอล)
RC6: 20 ou 36 บิต (รายละเอียดโปรโตคอล)
เท Sony et RC5/6, เกียร์ chaque doit être répétés 3 fois !
ความสนใจ: la librairie IRremote.h ne semble pas pouvoir envoyer des codes codés sur plus de 32bits Les RC6, 36 doivent donc êtres envoyer en raw, qui prennent plus de taille mémoire.
L'envoie des codes se fera avec la librairie IRremote.h. ได้
ตัวอย่าง: (0x devant le code) et le nombre de bits irsend.sendNEC(0xA55A38C7, 32);
ขั้นตอนที่ 4: ข้อมูลรหัส Sur RX433
L'envoie se fera avec la librairie RCSwitch.h. แชร์
ตัวอย่าง mySwitch.send(1975778, 24);
เกี่ยวกับนักบินอำนวยความสะดวก peut avec cela des prises commandés
แนะนำ:
วิธีทำกริ่งประตูแบบไม่สัมผัส, การตรวจจับอุณหภูมิของร่างกาย, GY-906, 433MHz โดยใช้ Arduino: 3 ขั้นตอน
วิธีการสร้างกริ่งประตูแบบไม่สัมผัส, การตรวจจับอุณหภูมิของร่างกาย, GY-906, 433MHz โดยใช้ Arduino: วันนี้เราจะทำกริ่งประตูแบบไม่สัมผัส มันจะตรวจจับอุณหภูมิร่างกายของคุณ ในสถานการณ์ตอนนี้ เป็นสิ่งสำคัญมากที่จะต้องรู้ว่ามีคนอุณหภูมิร่างกายสูงกว่าปกติหรือไม่ เมื่อมีคนกำลังค็อก โปรเจ็กต์นี้จะแสดงไฟสีแดงหากตรวจพบ
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E | การสร้างการควบคุมระยะไกล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างรีโมทคอนโทรล RADIO โดยใช้โมดูลตัวรับส่งสัญญาณ 433mhz พร้อมการเข้ารหัส HT12E & IC ถอดรหัส HT12D ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้ส่วนประกอบราคาถูกมาก เช่น HT
ROBOCAR ที่ควบคุมด้วยรีโมท INFRA RED โดยใช้ AVR (ATMEGA32) MCU: 5 ขั้นตอน
ROBOCAR ที่ควบคุมด้วยรีโมต INFRA RED โดยใช้ AVR (ATMEGA32) MCU: PROJECT ปัจจุบันอธิบายถึงการออกแบบและการใช้งาน RoboCar ที่ควบคุมด้วยรีโมทอินฟราเรด (IR) ซึ่งสามารถใช้กับแอพพลิเคชั่นควบคุมอัตโนมัติแบบไร้คนขับได้หลายแบบ ฉันได้ออกแบบ RoboCar ที่ควบคุมจากระยะไกล (การเคลื่อนไหวซ้าย-ขวา/หน้า-หลัง) NS
โมดูล RF 433MHZ - ทำเครื่องรับและส่งสัญญาณจากโมดูล RF 433MHZ โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์: 5 ขั้นตอน
โมดูล RF 433MHZ | ทำเครื่องรับและส่งสัญญาณจากโมดูล RF 433MHZ โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์: คุณต้องการส่งข้อมูลไร้สายหรือไม่? อย่างง่ายดายและไม่จำเป็นต้องใช้ไมโครคอนโทรลเลอร์ ไปเลย ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นตัวส่งและรับสัญญาณ rf ขั้นพื้นฐานของ mi ที่พร้อมใช้งาน! ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้เวอร์ชัน
ESP-12 Infra Red Blaster: 7 ขั้นตอน
ESP-12 Infra Red Blaster: บลาสเตอร์ควบคุมระยะไกลอินฟาเรดโดยใช้ esp8266 ส่งรหัสควบคุมระยะไกลที่ได้รับจากเว็บที่รองรับอุปกรณ์เอาต์พุตหลายตัว สร้างขึ้นในหน้าเว็บทั่วไปสำหรับการทดสอบเป็นหลัก การใช้งานปกติคือผ่านข้อความ POST ซึ่งอาจมาจากหน้าเว็บหรือจาก IFTT