תוכן עניינים:
- שלב 1: לה מונטאז '
- שלב 2: Le Code Arduino
- שלב 3: מידע על Les Codes אינפרא-רוז '
- שלב 4: מידע על קודים RX433
וִידֵאוֹ: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
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.
ב- pourra donc ensuite, grâce à une autre montage, שליחות קודים וחלוץ לא חשוב!
שלב 1: לה מונטאז '
פשוט, Arduino Nano, une diode réceptrice infra-rouge et un récepteur 433 mhz.
שלב 2: Le Code Arduino
// InfraRouge
#לִכלוֹל
int recvPin = 11; // סיכה Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#לִכלוֹל
RCSwitch mySwitch = RCSwitch ();
תוצאות decode_results;
הגדרת חלל ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13 (נכון); // allume la LED interne lors de l'envoie InfraRouge
mySwitch.enableReceive (0); // Récepteur RX433 (XY-MK-5V) על סיכה 2 של Arduino Uno et Nano
}
// affichage des codes InfraRouge
ircode void (decode_results *results)
{
// פנסוניק
if (results-> decode_type == PANASONIC) {
Serial.print (תוצאות-> כתובת, HEX);
Serial.print (":");
}
Serial.print (תוצאות-> ערך, HEX);
}//בָּטֵל
// afficahge des codes encodés
קידוד חלל (decode_results *תוצאות)
{
switch (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 ("דנון"); לשבור;
}
}
// dump les résultats
void dumpInfo (decode_results *results)
{
// בדוק אם המאגר עלה על גדותיו
if (תוצאות-> הצפה) {
Serial.println ("קוד IR ארוך מדי. ערוך IRremoteInt.h והגדיל את RAWBUF");
לַחֲזוֹר;
}
// הצג תקן קידוד
Serial.print ("קידוד:");
קידוד (תוצאות);
Serial.println ("");
// הצג קוד ואורך
Serial.print ("קוד:");
ircode (תוצאות);
Serial.print ("(");
Serial.print (תוצאות-> סיביות, DEC);
Serial.println ("סיביות" ");
}
//מִבְנֶה
void dumpRaw (decode_results *results)
{
// הדפס נתוני גלם
Serial.print ("תזמון [");
Serial.print (תוצאות-> rawlen-1, DEC);
Serial.println ("]:");
עבור (int i = 1; i rawlen; i ++) {
ארוך לא חתום x = תוצאות-> rawbuf * USECPERTICK;
אם (! (i & 1)) {// אפילו
Serial.print ("-");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
} אחר {// מוזר
Serial.print ("");
Serial.print ("+");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
if (i rawlen-1) Serial.print (","); // ',' אין צורך באחרון
}
if (! (i % 8)) Serial.println ("");
}
Serial.println (""); // שורה חדשה
}
//+=============================================================================
// זרוק את מבנה decode_results.
//
void dumpCode (decode_results *results)
{
// התחל בהצהרה
Serial.print ("int unsigned"); // סוג משתנה
Serial.print ("rawData ["); // שם מערך
Serial.print (תוצאות-> rawlen - 1, DEC); // גודל מערך
Serial.print ("] = {"); // התחל בהצהרה
// נתוני dump
עבור (int i = 1; i rawlen; i ++) {
Serial.print (תוצאות-> rawbuf * USECPERTICK, DEC);
if (i rawlen-1) Serial.print (","); // ',' אין צורך באחרון
if (! (i & 1)) Serial.print ("");
}
// סיום הכרזה
Serial.print ("};"); //
// תגובה
Serial.print ("//");
קידוד (תוצאות);
Serial.print ("");
ircode (תוצאות);
// שורה חדשה
Serial.println ("");
// עכשיו זרוק קודים "ידועים"
אם (results-> decode_type! = לא ידוע) {
// לפרוטוקולים מסוימים יש כתובת
if (results-> decode_type == PANASONIC) {
Serial.print ("int signr int addr = 0x");
Serial.print (תוצאות-> כתובת, HEX);
Serial.println (";");
}
// לכל הפרוטוקולים יש נתונים
Serial.print ("נתוני int לא חתומים = 0x");
Serial.print (תוצאות-> ערך, HEX);
Serial.println (";");
}
}
לולאת חלל ()
/********************************************** *InfraRouge ***************************************/
{
תוצאות decode_results; // איפשהו לאחסן את התוצאות
if (irrecv.decode (& תוצאות)) {// קח קוד IR
dumpInfo (& תוצאות); // פלט את התוצאות
dumpRaw (& תוצאות); // פלט את התוצאות בפורמט RAW
dumpCode (& תוצאות); // פלט את התוצאות כקוד מקור
Serial.println (""); // קו ריק בין הערכים
irrecv.resume (); // היכונו לערך הבא
}
/********************************************* *** RX433 *****************************************/
אם (mySwitch.available ())
{
int value = mySwitch.getReceivedValue ();
Serial.println ("RX433");
אם (ערך == 0) {
Serial.print ("Codage inconnu");
} אחר
{
Serial.print ("Reçu");
Serial.print (mySwitch.getReceivedValue ());
Serial.print (" /");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("ביט");
Serial.print ("פרוטוקול:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
}//לוּלָאָה
שלב 3: מידע על Les Codes אינפרא-רוז '
פרוטוקולי Il plus Plusurs:
NEC: 32 סיביות (פרטי פרוטוקול)
סוני: 12 או 20 סיביות (פרטי פרוטוקול) (הבנת קודי IR מרחוק של Sony.)
RC5: 12 סיביות (פרטי פרוטוקול)
RC6: 20 או 36 סיביות (פרטי פרוטוקול)
שפכו את Sony et RC5/6, שידור צ'אקה עושה 3 רפים!
שימו לב: la librairie IRremote.h ne semble pas pouvoir שליח des codes codés sur plus de 32bits. Les RC6, 36 doivent donc êtres שליח ב- 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: מידע על קודים RX433
L’envoie se fera avec la librairie RCSwitch.h
דוגמה ל- mySwitch.send (1975778, 24);
על הטיסות המתקדמות piloter avec cela des prises commandés.
מוּמלָץ:
כיצד לבצע פעמון דלת ללא מגע, זיהוי טמפרטורת הגוף, GY-906, 433MHz באמצעות Arduino: 3 שלבים
כיצד להכין פעמון דלת ללא מגע, זיהוי טמפרטורת הגוף, GY-906, 433MHz באמצעות Arduino: היום נכין פעמון ללא מגע, הוא יזהה את טמפרטורת הגוף שלך. במצב הנוכחי, חשוב מאוד לדעת אם טמפרטורת הגוף של מישהו גבוהה מהרגיל, כאשר מישהו צוחק. פרויקט זה יראה אור אדום אם יזהה
מכשיר קשר DIY עם מודולי RF כלליים של 433MHz: 4 שלבים
מכשיר קשר ווקי-טוקי עם מודולי RF כלליים של 433MHz: בפרויקט זה אראה לך כיצד להשתמש במודולי RF כלליים של 433MHz מ- Ebay על מנת ליצור מכשיר קשר פונקציונלי. זה אומר שנשווה בין מודולי RF שונים, נלמד קצת על מגבר מסוג d ולבסוף נבנה את מכשיר הקשר
חיישן טמפרטורה ולחות Arduino מופעל על ידי סולארי כחיישן אורגון 433mhz: 6 שלבים
חיישן טמפרטורה ולחות של Arduino מופעל על ידי חיישן אורגון של 433 מגה-הרץ: זהו מבנה של חיישן טמפרטורה ולחות מופעל על ידי שמש. חיישן תנועה כוח סולארי " מאיביי. וודא שכתוב עליה 3.7v
בקרת רדיו RF 433MHZ באמצעות HT12D HT12E - ביצוע שלט רחוק RF באמצעות HT12E & HT12D עם 433mhz: 5 שלבים
בקרת רדיו RF 433MHZ באמצעות HT12D HT12E | ביצוע שלט רחוק RF באמצעות HT12E & HT12D עם 433mhz: במדריך זה אראה לך כיצד להכין שלט רחוק RADIO באמצעות מודול מקלט משדרים של 433mhz עם קידוד HT12E & מפענח HT12D IC. בהוראה זו תוכל לשלוח ולקבל נתונים באמצעות רכיבים זולים מאוד כמו: HT
מודול RF 433MHZ - צור מקלט ומשדר ממודול RF 433MHZ ללא מיקרו -בקר: 5 שלבים
מודול RF 433MHZ | צור מקלט ומשדר ממודול RF 433MHZ ללא מיקרו -בקר: האם אתה רוצה לשלוח נתונים אלחוטיים? בקלות וללא צורך במיקרו -בקר? הנה, במדריך זה אני אראה לכם משדר RF מקלט בסיסי ומוכן לשימוש! במדריך זה תוכלו לשלוח ולקבל נתונים באמצעות ver מאוד