সুচিপত্র:
- ধাপ 1: Le Montage
- ধাপ 2: Le Code Arduino
- ধাপ 3: ইনফোস সুর লেস কোড ইনফ্রা-রাউজ
- ধাপ 4: ইনফোস সুর কোড RX433
ভিডিও: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:02
Le but est d’afficher les code 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, envoyer ces codes et piloter n’importe quoi!
ধাপ 1: Le Montage
সহজ, একটি Arduino Nano, une diode réceptrice infra-rouge et un récepteur 433 mhz।
ধাপ 2: Le Code Arduino
// ইনফ্রা রুজ
#অন্তর্ভুক্ত
int recvPin = 11; // পিন Arduino éালা 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) sur pin 2 de Arduino Uno et Nano
}
// affichage des কোড InfraRouge
অকার্যকর ircode (decode_results *ফলাফল)
{
// প্যানাসনিক
যদি (ফলাফল-> ডিকোড_টাইপ == প্যানাসনিক) {
Serial.print (ফলাফল-> ঠিকানা, HEX);
সিরিয়াল.প্রিন্ট (":");
}
Serial.print (ফলাফল-> মান, HEX);
} // অকার্যকর
// afficahge des কোড encodés
অকার্যকর এনকোডিং (decode_results *ফলাফল)
{
সুইচ (ফলাফল-> ডিকোড_ টাইপ) {
ডিফল্ট:
কেস অজ্ঞাত: সিরিয়াল.প্রিন্ট ("ইনকনু"); বিরতি;
case NEC: Serial.print ("NEC"); বিরতি;
কেস সনি: সিরিয়াল.প্রিন্ট ("সনি"); বিরতি;
কেস RC5: Serial.print ("RC5"); বিরতি;
কেস RC6: Serial.print ("RC6"); বিরতি;
কেস ডিশ: সিরিয়াল.প্রিন্ট ("ডিশ"); বিরতি;
কেস শার্প: Serial.print ("SHARP"); বিরতি;
কেস JVC: Serial.print ("JVC"); বিরতি;
কেস SANYO: Serial.print ("SANYO"); বিরতি;
কেস মিত্সুবিশি: সিরিয়াল.প্রিন্ট ("মিতসুবিশি"); বিরতি;
কেস স্যামসাং: সিরিয়াল.প্রিন্ট ("স্যামসাং"); বিরতি;
কেস এলজি: সিরিয়াল.প্রিন্ট ("এলজি"); বিরতি;
কেস হোয়াইটার: Serial.print ("WHYNTER"); বিরতি;
কেস AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); বিরতি;
ক্ষেত্রে প্যানাসনিক: সিরিয়াল.প্রিন্ট ("প্যানাসনিক"); বিরতি;
কেস ডেনন: সিরিয়াল.প্রিন্ট ("ডেনন"); বিরতি;
}
}
// ডাম্প les résultats
অকার্যকর dumpInfo (decode_results *ফলাফল)
{
// বাফার উপচে পড়েছে কিনা তা পরীক্ষা করুন
যদি (ফলাফল-> ওভারফ্লো) {
Serial.println ("IR কোডটি অনেক দীর্ঘ। IRremoteInt.h সম্পাদনা করুন এবং RAWBUF বৃদ্ধি করুন");
প্রত্যাবর্তন;
}
// এনকোডিং মান দেখান
Serial.print ("Encodage:");
এনকোডিং (ফলাফল);
Serial.println ("");
// কোড এবং দৈর্ঘ্য দেখান
সিরিয়াল.প্রিন্ট ("কোড:");
ircode (ফলাফল);
সিরিয়াল.প্রিন্ট ("(");
সিরিয়াল.প্রিন্ট (ফলাফল-> বিট, ডিসি);
Serial.println ("bits)");
}
// গঠন
অকার্যকর dumpRaw (decode_results *ফলাফল)
{
// কাঁচা তথ্য মুদ্রণ করুন
সিরিয়াল.প্রিন্ট ("সময় [");
সিরিয়াল.প্রিন্ট (ফলাফল-> কাঁচা -১, ডিসি);
Serial.println ("]:");
জন্য (int i = 1; i rawlen; i ++) {
স্বাক্ষরবিহীন দীর্ঘ x = ফলাফল-> কাঁচা বুফ * ব্যবহার
যদি (! (i & 1)) {// এমনকি
সিরিয়াল.প্রিন্ট ("-");
যদি (x <1000) Serial.print ("");
যদি (x <100) Serial.print ("");
সিরিয়াল.প্রিন্ট (x, DEC);
} অন্যথায় {// বিজোড়
সিরিয়াল.প্রিন্ট ("");
সিরিয়াল.প্রিন্ট ("+");
যদি (x <1000) Serial.print ("");
যদি (x <100) Serial.print ("");
সিরিয়াল.প্রিন্ট (x, DEC);
যদি (i rawlen-1) Serial.print (","); // ',' শেষের জন্য প্রয়োজন নেই
}
যদি (! (i % 8)) Serial.println ("");
}
Serial.println (""); // নতুন লাইন
}
//+=============================================================================
// decode_results কাঠামোটি ফেলে দিন।
//
void dumpCode (decode_results *ফলাফল)
{
// ঘোষণা শুরু করুন
Serial.print ("স্বাক্ষরবিহীন int"); // ভেরিয়েবল টাইপ
Serial.print ("rawData ["); // অ্যারে নাম
সিরিয়াল.প্রিন্ট (ফলাফল-> কাঁচা - ১, ডিসি); // অ্যারের আকার
সিরিয়াল.প্রিন্ট ("] = {"); // ঘোষণা শুরু করুন
// ডাম্প ডেটা
জন্য (int i = 1; i rawlen; i ++) {
Serial.print (ফলাফল-> rawbuf * USECPERTICK, DEC);
যদি (i rawlen-1) Serial.print (","); // ',' শেষের প্রয়োজন নেই
যদি (! (i & 1)) Serial.print ("");
}
// শেষ ঘোষণা
সিরিয়াল.প্রিন্ট ("};"); //
// মন্তব্য
সিরিয়াল.প্রিন্ট ("//");
এনকোডিং (ফলাফল);
সিরিয়াল.প্রিন্ট ("");
ircode (ফলাফল);
// নতুন লাইন
Serial.println ("");
// এখন "পরিচিত" কোডগুলি ডাম্প করুন
যদি (ফলাফল-> ডিকোড_ টাইপ! = অজানা) {
// কিছু প্রোটোকলের একটি ঠিকানা থাকে
যদি (ফলাফল-> ডিকোড_টাইপ == প্যানাসনিক) {
Serial.print ("স্বাক্ষরবিহীন int addr = 0x");
Serial.print (ফলাফল-> ঠিকানা, HEX);
Serial.println (";");
}
// সকল প্রোটোকলের ডেটা আছে
Serial.print ("স্বাক্ষরবিহীন int ডেটা = 0x");
Serial.print (ফলাফল-> মান, HEX);
Serial.println (";");
}
}
অকার্যকর লুপ ()
/***************************************************** *InfraRouge ********************************************/
{
decode_results ফলাফল; // ফলাফল সংরক্ষণ করার জন্য কোথাও
if (irrecv.decode (& results)) {// একটি আইআর কোড ধরুন
ডাম্প ইনফো (এবং ফলাফল); // ফলাফল আউটপুট
ডাম্পরো (এবং ফলাফল); // RAW ফরম্যাটে ফলাফল আউটপুট করুন
ডাম্পকোড (এবং ফলাফল); // উত্স কোড হিসাবে ফলাফল আউটপুট
Serial.println (""); // এন্ট্রিগুলির মধ্যে ফাঁকা লাইন
irrecv.resume (); // পরবর্তী মান জন্য প্রস্তুত
}
/*************************************************** *** RX433 **********************************************/
যদি (mySwitch.available ())
{
int মান = mySwitch.getReceivedValue ();
Serial.println ("RX433");
যদি (মান == 0) {
Serial.print ("Codage inconnu");
} অন্যথায়
{
Serial.print ("Reçu");
সিরিয়াল.প্রিন্ট (mySwitch.getReceivedValue ());
সিরিয়াল.প্রিন্ট (" /");
সিরিয়াল.প্রিন্ট (mySwitch.getReceivedBitlength ());
সিরিয়াল.প্রিন্ট ("বিট");
Serial.print ("Protocole:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
}//লুপ
ধাপ 3: ইনফোস সুর লেস কোড ইনফ্রা-রাউজ
I a y plusieurs protocoles:
NEC: 32 বিট (প্রটোকল বিবরণ)
সনি: 12 বা 20 বিট (প্রোটোকল বিবরণ) (সনি আইআর রিমোট কোডগুলি বোঝা।)
RC5: 12 বিট (প্রোটোকল বিবরণ)
RC6: 20 বা 36 বিট (প্রোটোকল বিবরণ)
Sonyালা Sony et RC5/6, chaque transmission doit être répétés 3 fois!
মনোযোগ: la librairie IRremote.h ne semble pas pouvoir envoyer des কোড 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 code 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);
পুট ফ্যাসিলমেন্ট পাইলটারে এভেক সেলা ডেস প্রাইজ কমান্ড।
প্রস্তাবিত:
Arduino ব্যবহার করে কিভাবে একটি নন-টাচ ডোরবেল, বডি টেম্পারেচার ডিটেকশন, GY-906, 433MHz তৈরি করতে হয়: 3 ধাপ
Arduino ব্যবহার করে কিভাবে একটি নন-টাচ ডোরবেল, বডি টেম্পারেচার ডিটেকশন, GY-906, 433MHz তৈরি করবেন: আজ আমরা একটি নন-টাচ ডোরবেল তৈরি করব, এটি আপনার শরীরের তাপমাত্রা সনাক্ত করবে। এখনকার পরিস্থিতিতে, কারও শরীরের তাপমাত্রা স্বাভাবিকের চেয়ে বেশি, যদি কেউ ককিং করছে তা জানা খুবই গুরুত্বপূর্ণ।
জেনেরিক 433MHz RF মডিউল সহ DIY ওয়াকি-টকি: 4 টি ধাপ
জেনেরিক 433MHz RF মডিউল সহ DIY ওয়াকি-টকি: এই প্রকল্পে আমি আপনাকে দেখাবো কিভাবে একটি কার্যকরী ওয়াকি-টকি তৈরি করার জন্য Ebay থেকে জেনেরিক 433MHz RF মডিউল ব্যবহার করতে হয়। তার মানে আমরা বিভিন্ন আরএফ মডিউল তুলনা করব, একটি ক্লাস ডি এম্প্লিফায়ার সম্পর্কে কিছুটা জানব এবং অবশেষে ওয়াকি-টকি তৈরি করব।
Arduino সৌর চালিত তাপমাত্রা এবং আর্দ্রতা সেন্সর 433mhz ওরেগন সেন্সর হিসাবে: 6 ধাপ
Arduino সৌর চালিত তাপমাত্রা এবং আর্দ্রতা সেন্সর 433mhz ওরেগন সেন্সর হিসাবে: এটি একটি সৌর চালিত তাপমাত্রা এবং আর্দ্রতা সেন্সর তৈরি করে। সৌর শক্তি মোশন সেন্সর " ইবে থেকে। নিশ্চিত করুন যে এটি 3.7v ব্যাটার বলে
HT12D HT12E ব্যবহার করে RF 433MHZ রেডিও কন্ট্রোল - 433mhz: 5 টি ধাপ সহ HT12E এবং HT12D ব্যবহার করে একটি Rf রিমোট কন্ট্রোল তৈরি করা
HT12D HT12E ব্যবহার করে RF 433MHZ রেডিও কন্ট্রোল | 433mhz দিয়ে HT12E এবং HT12D ব্যবহার করে একটি Rf রিমোট কন্ট্রোল তৈরি করা: এই নির্দেশে আমি আপনাকে দেখাবো কিভাবে 433mhz ট্রান্সমিটার রিসিভার মডিউল ব্যবহার করে HT12E এনকোড & HT12D ডিকোডার আইসি এই নির্দেশে আপনি খুব সস্তা উপাদানগুলির মতো ডেটা পাঠাতে এবং গ্রহণ করতে পারেন: HT
আরএফ মডিউল 433MHZ - কোন মাইক্রোকন্ট্রোলার ছাড়াই 433MHZ RF মডিউল থেকে রিসিভার এবং ট্রান্সমিটার তৈরি করুন: 5 টি ধাপ
আরএফ মডিউল 433MHZ | কোন মাইক্রোকন্ট্রোলার ছাড়াই 433MHZ RF মডিউল থেকে রিসিভার এবং ট্রান্সমিটার তৈরি করুন: আপনি কি ওয়্যারলেস ডেটা পাঠাতে চান? সহজে এবং কোন মাইক্রোকন্ট্রোলারের প্রয়োজন নেই? এখানে আমরা যাচ্ছি, এই নির্দেশে আমি আপনাকে দেখাবো mi বেসিক আরএফ ট্রান্সমিটার এবং রিসিভার ব্যবহারের জন্য প্রস্তুত