অবশ্যই কিছু প্রজেক্টে আপনার আরডুইনো বা অন্য কোন ডেভেলপমেন্ট বোর্ড বা DIY সার্কিটের সাথে রেডিও ফ্রিকোয়েন্সি সহ কাজ করতে হবে। ওয়েল, যে আপনার ক্ষেত্রে, আপনি কি জানতে হবে CC1101 রেডিও ফ্রিকোয়েন্সি (RF) ট্রান্সসিভার. এবং এটিই আমরা এই নিবন্ধে আপনাকে ব্যাখ্যা করার চেষ্টা করব।
এবং এই অন্য সঙ্গে আমাদের তালিকায় যোগদানকারী ইলেকট্রনিক উপাদান, আপনি বিভিন্ন সিগন্যাল ফ্রিকোয়েন্সি নিয়ে কাজ করতে পারেন...
আরএফ কি?

বিরূদ্ধে রেডিও ফ্রিকোয়েন্সি (আরএফ) আমরা ইলেক্ট্রোম্যাগনেটিক স্পেকট্রামের একটি অংশের কথা উল্লেখ করছি যা বাতাসের মাধ্যমে তথ্য প্রেরণ করতে ব্যবহৃত হয়। আরএফ তরঙ্গ হল এক ধরনের ইলেক্ট্রোম্যাগনেটিক রেডিয়েশন, এবং যখনই তারের মতো কন্ডাকটরের মাধ্যমে বৈদ্যুতিক শক্তি প্রেরণ করা হয় তখন তা উৎপন্ন হয়। RF শব্দটি ইলেক্ট্রোম্যাগনেটিক স্পেকট্রামের ন্যূনতম এনার্জেটিক অংশে প্রযোজ্য যা আমি আপনাকে আগের ছবিতে দেখাচ্ছি এবং যেটি 3 হার্টজ (Hz) এবং 300 গিগাহার্টজ (GHz) এর মধ্যে অবস্থিত৷
আলোর গতি = তরঙ্গদৈর্ঘ্য · ফ্রিকোয়েন্সি
আলোর গতি (আনুমানিক 3.000.000 m/s) কখনই পরিবর্তিত হয় না, তাই RF সংকেতের তরঙ্গদৈর্ঘ্য বাড়ার সাথে সাথে ফ্রিকোয়েন্সি সমানুপাতিকভাবে হ্রাস পায় এবং এর বিপরীতে। একটি অপেক্ষাকৃত উচ্চ ফ্রিকোয়েন্সি RF সংকেত একটি ছোট তরঙ্গদৈর্ঘ্য এবং একটি নিম্ন ফ্রিকোয়েন্সি RF সংকেত একটি দীর্ঘ তরঙ্গদৈর্ঘ্য আছে. এই একই কারণে, নিম্ন ফ্রিকোয়েন্সি সংকেত আরও অনুপ্রবেশকারী বা বৃহত্তর কভারেজ কভার করতে পারে। উদাহরণস্বরূপ, যদি আপনার কাছে 2.4 Ghz ওয়াইফাই থাকে তবে এটি 5 Ghz ওয়াইফাইয়ের তুলনায় আরও ভালভাবে পৌঁছাতে পারে এবং বাধা অতিক্রম করতে পারে, যদিও পরবর্তীটি উচ্চতর ট্রান্সমিশন গতির অনুমতি দেয়...
বর্ণালীর এই অঞ্চল থেকে বৈদ্যুতিক চৌম্বকীয় তরঙ্গগুলি একটি জেনারেটর থেকে একটি অ্যান্টেনায় উদ্ভূত বিকল্প কারেন্ট প্রয়োগ করে প্রেরণ করা যেতে পারে। দ্য রেডিও ফ্রিকোয়েন্সি তরঙ্গ, ইলেক্ট্রোম্যাগনেটিক তরঙ্গ হচ্ছে, আলোর গতিতে ভ্রমণ করে। এর সবচেয়ে মৌলিকভাবে, একটি অ্যান্টেনায় একটি ভিন্ন বৈদ্যুতিক সংকেত ইলেক্ট্রোম্যাগনেটিক দোলন (যেমন, আরএফ তরঙ্গ) তৈরি করতে পারে। এগুলি অনিচ্ছাকৃত হতে পারে (সম্ভাব্যভাবে অন্যান্য ডিভাইসে হস্তক্ষেপ ঘটাতে পারে) বা ইচ্ছাকৃত: সাবধানে সংমিশ্রিত সংকেত যা অন্যান্য অ্যান্টেনাগুলি গ্রহণ করতে পারে এবং দরকারী তথ্য হিসাবে ব্যাখ্যা করা যেতে পারে।
এই RF সীমার মধ্যে, আমরা উচ্চ গতিতে ডেটা প্রেরণ করতে পারি, উদাহরণস্বরূপ, যেমনটি করা হয়েছিল ওয়াই-ফাই যোগাযোগ এবং সেল ফোন, সেইসাথে ঐতিহ্যগত এএম এবং এফএম রেডিও।
একটি ট্রান্সসিভার কি?

একটি ট্রান্সসিভার একটি ডিভাইস যে একটি ট্রান্সমিটার এবং একটি রিসিভারের ক্ষমতা একত্রিত করে শেয়ার্ড সার্কিটে। এর মানে হল যে এটি একদিকে একটি ট্রান্সমিটার এবং অন্যদিকে একটি রিসিভারের প্রয়োজন ছাড়াই সংকেত পাঠাতে এবং গ্রহণ করতে পারে। অনেক DIY প্রকল্পের জন্য বেশ বাস্তব কিছু।
ট্রান্সসিভার হতে পারে দুটি সাধারণ প্রকার: ফুল ডুপ্লেক্স এবং হাফ ডুপ্লেক্স। একটি সম্পূর্ণ ডুপ্লেক্স ট্রান্সসিভারে, ডিভাইসটি একই সময়ে প্রেরণ এবং গ্রহণ করতে পারে। একটি সম্পূর্ণ ডুপ্লেক্স ট্রান্সসিভারের একটি সাধারণ উদাহরণ হল একটি মোবাইল ফোন। অন্যদিকে, একটি অর্ধ-ডুপ্লেক্স ট্রান্সসিভার একটি পক্ষকে নিঃশব্দ করে যখন অন্যটি প্রেরণ করে।
ট্রান্সসিভার হল বেতার যোগাযোগের ভিত্তি এবং এগুলি মোবাইল ফোন থেকে শুরু করে যোগাযোগ উপগ্রহ, অন্যান্য অনেক নেটওয়ার্ক এবং তথ্য আদান-প্রদানের উপায়, যেমন রেডিও, টিভি ইত্যাদির মাধ্যমে বিভিন্ন অ্যাপ্লিকেশনে ব্যবহৃত হয়।
একটি ট্রান্সসিভার অ্যাপ্লিকেশন
একটি রেডিও ফ্রিকোয়েন্সি (RF) ট্রান্সসিভার হল a বহুমুখী ডিভাইস যার প্রচুর সংখ্যক ব্যবহার থাকতে পারে। উদাহরণস্বরূপ, যেমনটি আমি আগে বলেছি, বিভিন্ন অ্যাপ্লিকেশনগুলিতে এর উপস্থিতি অপরিহার্য যেগুলির জন্য বেতার যোগাযোগের প্রয়োজন। মোবাইল টেলিকমিউনিকেশনের ক্ষেত্রে, ট্রান্সসিভারগুলি মোবাইল ফোনে সংকেত প্রেরণ এবং গ্রহণের জন্য ব্যবহৃত হয়। এছাড়াও, এগুলি ওয়াইফাই এবং ব্লুটুথের মতো প্রযুক্তিতে প্রয়োজনীয়, রাউটার, কম্পিউটার এবং ইন্টারনেট অফ থিংস (IoT) ডিভাইসগুলির মতো ডিভাইসগুলিতে স্থাপন করা হয়, যা তাদের অপারেশনের জন্য বেতার যোগাযোগের উপর নির্ভর করে।
পেশাদার ক্ষেত্রে, নিরাপত্তা ব্যবস্থায় আরএফ ট্রান্সসিভার অপরিহার্য। দ্বিমুখী রেডিও, যেমন পেশাদার অ্যাপ্লিকেশন, নিরাপত্তা এবং জরুরি পরিষেবাগুলিতে ব্যবহৃত দ্বি-মুখী রেডিও। এই ডিভাইসগুলি সনাক্তকরণ সিস্টেমেও অ্যাপ্লিকেশন খুঁজে পায়, যেমন বস্তু সনাক্তকরণ, নেভিগেশন এবং এয়ার ট্রাফিক নিয়ন্ত্রণের জন্য ব্যবহৃত রাডার, সেইসাথে পানির নিচের অ্যাপ্লিকেশনগুলির জন্য সোনার সিস্টেমে।
La সম্প্রচার, রেডিও এবং টেলিভিশন উভয়ের জন্য, এটি বিভিন্ন মাধ্যমের মাধ্যমে সংকেত প্রেরণের জন্য RF ট্রান্সসিভারের উপর নির্ভর করে, তা স্থলজ বা উপগ্রহ। তদ্ব্যতীত, মহাকাশ ডোমেনে, স্যাটেলাইট যোগাযোগ ব্যবস্থায় স্যাটেলাইট এবং গ্রাউন্ড স্টেশনগুলির মধ্যে যোগাযোগের জন্য ট্রান্সসিভারগুলি অত্যন্ত গুরুত্বপূর্ণ।
En রিমোট কন্ট্রোল এবং টেলিমেট্রি অ্যাপ্লিকেশন, আরএফ ট্রান্সসিভারগুলি ইলেকট্রনিক ডিভাইস, ড্রোন বা মনুষ্যবিহীন বায়বীয় যান (ইউএভি) থেকে ডেটা ট্রান্সমিশনের জন্য ব্যবহৃত হয়। এগুলি ন্যাভিগেশন সিস্টেমগুলিতেও অপরিহার্য, যেমন জিপিএস রিসিভার, যেখানে তারা অবস্থান নির্ধারণ এবং নেভিগেশনে অবদান রাখে। সংক্ষেপে, আরএফ ট্রান্সসিভারের বহুমুখিতা তাদের বিভিন্ন আধুনিক প্রযুক্তিতে অপরিহার্য উপাদান করে তোলে যা বেতার যোগাযোগ এবং ডেটা ট্রান্সমিশনের উপর নির্ভর করে।
স্পষ্টতই, এই অ্যাপ্লিকেশনগুলির মধ্যে কিছু রয়েছে যা CC1101-এর নাগালের মধ্যে নেই, যেহেতু এর সীমাবদ্ধতা রয়েছে এবং নির্দিষ্ট ফ্রিকোয়েন্সি রেঞ্জে কাজ করে৷ যাইহোক, আপনার জানা উচিত যে অন্যান্য ফ্রিকোয়েন্সি, দূরত্ব ইত্যাদির সাথে কাজ করার জন্য এই ট্রান্সসিভারের মতো বাজারে আরও ডিভাইস রয়েছে।
CC1101 কি?

El CC1101 একটি রেডিও ফ্রিকোয়েন্সি (RF) ট্রান্সসিভার যা 1 গিগাহার্জের নিচের ফ্রিকোয়েন্সিতে কাজ করার জন্য ডিজাইন করা হয়েছে। এই ডিভাইসটি রেডিও ফ্রিকোয়েন্সির মাধ্যমে ডেটা পাঠাতে বা গ্রহণ করতে আরডুইনোর মতো প্রসেসরের সাথে ব্যবহার করা যেতে পারে। CC1101 নিম্নলিখিত ব্যান্ডের মধ্যে যেকোনো ফ্রিকোয়েন্সিতে কাজ করতে পারে:
- 300 এবং 348 MHz
- 387 এবং 464 MHz
- 779 এবং 928 MHz
এই বৈশিষ্ট্যগুলি CC1101 কে একটি বিকল্প করে তোলে ওয়্যারলেস যোগাযোগের প্রয়োজন এমন বিভিন্ন প্রকল্পের জন্য বহুমুখী, Arduino এবং ESP8266/ESP321 প্রকল্প, এবং দূরবর্তী যোগাযোগের ক্ষেত্রের মধ্যে অন্যান্য ইলেকট্রনিক্স প্রকল্প সহ।
উপরন্তু, CC1101 আপনাকে বিট রেট সামঞ্জস্য করার অনুমতি দেয় বিভিন্ন ব্যবহারের জন্য, 0.6 Kbps থেকে 600 Kbps পর্যন্ত উচ্চতর ট্রান্সমিশন গতির অনুমতি দেয়। এবং এটি 2-FSK, GFSK এবং MSK3 মডুলেশনকেও সমর্থন করে।
আপনি যদি আগ্রহী হন, আপনি এটি বিশেষায়িত ইলেকট্রনিক্স দোকানে বা অনলাইন বিক্রয় প্ল্যাটফর্ম যেমন Amazon, Aliexpress এবং eBay-এ খুঁজে পেতে পারেন৷ এখানে আপনার একটি আছে সুপারিশ কিনতে:
+10 dBm পর্যন্ত সমর্থনকারী সমস্ত ফ্রিকোয়েন্সির জন্য আউটপুট পাওয়ারও প্রোগ্রামযোগ্য। সে পরিসীমা 100-150 মিটার পর্যন্ত, ফ্রিকোয়েন্সি উপর নির্ভর করে। এবং এর অপারেশনের জন্য এটির 1.8 থেকে 3.6V ভোল্টেজ প্রয়োজন। এসপিআই বাসের মাধ্যমে ডেটা যোগাযোগ করা হয়, তাই এটি একটি MCU বা Arduino এর মতো বোর্ডগুলির সাথে একসাথে ব্যবহার করা সহজ।
Arduino এর সাথে CC1101 ব্যবহার করা
এখন, একবার আপনি বুঝতে পেরেছেন যে CC1101 কী, আপনি যদি এটি Arduino এর সাথে ব্যবহার করতে চান তবে এটি করা সহজ। এটি করতে, প্রথম জিনিস সঠিকভাবে সংযোগ করুন আপনার ডেভেলপমেন্ট বোর্ডে RF ডিভাইস বা মডিউল। সতর্ক থাকুন, যেহেতু CC1101 5v ভোল্টেজ সহ্য করে না এবং আপনি এটিকে ক্ষতিগ্রস্ত করতে পারেন, তাই এটি আরডুইনোর 5v সকেটের সাথে সংযুক্ত হবে না যেমনটি আমরা অন্য অনেক ডিভাইসের সাথে করেছি। এটি সঠিকভাবে কাজ করার জন্য সংযোগটি নিম্নরূপ:
- ভিসি: এই সকেটটি থাকার জন্য এটি Arduino 3v3 এর সাথে সংযুক্ত থাকবে, যদি এটি না থাকে এবং আপনার কাছে শুধুমাত্র 5v থাকে, তাহলে আপনাকে এটিকে একটি ব্যাটারি বা বাহ্যিক উত্সের সাথে সংযুক্ত করতে হবে যা সেই ভোল্টেজ সরবরাহ করতে পারে বা CC1101 করবে ক্ষতিগ্রস্ত হতে
- SI: এটি Arduino SCK এর সাথে সংযুক্ত থাকবে, যা মডেলের উপর নির্ভর করে পিন পরিবর্তন করতে পারে, কিন্তু যা সাধারণত D13 হয়।
- SO: এই ক্ষেত্রে এটি GO2 এর সাথে সংযুক্ত হবে, যা সাধারণত Arduino এর D12 পিন।
- সিএসএন: আপনাকে এটিকে GO0 পিনে নিয়ে যেতে হবে, যা Arduino-এর D9।
- GND: এবং অবশেষে, GND Arduino এর GND বা আপনার পাওয়ার সাপ্লাইয়ের সাথে সংযুক্ত হবে।
এটি হয়ে গেলে, এটি Arduino IDE-তে পরীক্ষা করার জন্য কোডটি লেখার সময়। এটি করার জন্য, এখানে আমি আপনাকে একটি খুব প্রাথমিক উদাহরণ দেখাচ্ছি, তবে একটি যা আপনি আপনার পছন্দ অনুযায়ী পরিবর্তন করতে পারেন। এই ক্ষেত্রে CC1101 হিসাবে কাজ করা হবে রিসেপটর আরএফ সংকেত:
#include <ELECHOUSE_CC1101_SRC_DRV.h>
void setup(){
Serial.begin(9600);
if (ELECHOUSE_cc1101.getCC1101()){ // Comprobar la conexión SPI del CC1101.
Serial.println("Connection OK");
}else{
Serial.println("Connection Error");
}
ELECHOUSE_cc1101.Init(); // Inicializa el CC1101
ELECHOUSE_cc1101.setCCMode(1); // Configuración del modo de transferencia interna.
ELECHOUSE_cc1101.setModulation(0); // Modulación: 0 = 2-FSK, 1 = GFSK, 2 = ASK/OOK, 3 = 4-FSK, 4 = MSK.
ELECHOUSE_cc1101.setMHZ(300,15); // Pon la frecuencia que quieras usar para la transmisión (por defecto es 433,92 Mhz)
ELECHOUSE_cc1101.setSyncMode(2); // Modo de sync: 0 = No preamble/sync. 1 = 16 sync word bits detected. 2 = 16/16 sync word bits detected. 3 = 30/32 sync word bits detected. 4 = No preamble/sync, carrier-sense above threshold. 5 = 15/16 + carrier-sense above threshold. 6 = 16/16 + carrier-sense above threshold. 7 = 30/32 + carrier-sense above threshold.
ELECHOUSE_cc1101.setCrc(1); // 1 = CRC calculado en TX y comprobación CRC en RX habilitada. 0 = CRC deshabilitado en TX y RX.
Serial.println("Rx Mode");
}
byte buffer[61] = {0};
void loop(){
//Comprueba si se ha recibido algo en un tiempo marcado por (time in millis)
if (ELECHOUSE_cc1101.CheckRxFifo(100)){
if (ELECHOUSE_cc1101.CheckCRC()){ //Prueba CRC. Si "setCrc(false)" CRC devuelve un OK siempre.
Serial.print("Rssi: ");
Serial.println(ELECHOUSE_cc1101.getRssi());
Serial.print("LQI: ");
Serial.println(ELECHOUSE_cc1101.getLqi());
int len = ELECHOUSE_cc1101.ReceiveData(buffer);
buffer[len] = '\0';
Serial.println((char *) buffer);
for (int i = 0; i < len; i++){
Serial.print(buffer[i]);
Serial.print(",");
}
Serial.println();
}
}
}
CC1101 হিসেবে কাজ করছে প্রেরক RF সংকেত পূর্ববর্তী একটি অনুরূপ একটি কোড আছে.