انتقال صدا جاسوسی شنود رادیویی با آردوینو
محتویات
در این پروژه قصد داریم با استفاده از آردوینو و NRF24L01 یک دستگاه شنود صوتی بسازیم. این دستگاه جاسوسی صوتی بسیار قابل تنظیم است و به راحتی با دستگاه ها و سیستم های دیگر ادغام می شود. ماژول NRF24L01 امکان انتقال از طریق کانال خاص را فراهم می کند و تضمین می کند که ارسال های ما تا حدی خصوصی باقی میمانند و به سادگی قابل دسترسی دیگران نیست. این دستگاه برای نظارت بر اتاق کودک، مراقبت از حیوان خانگی یا … مناسب است.
با اندازه کوچک و قابلیت حمل آسان، این دستگاه جاسوسی صوتی برای هر کسی که نیاز به ضبط صوت پنهان و قابل اعتماد دارد، قابل استفاده است. مدار فرستنده از باتری تغذیه می کند و دارای محافظ باتری داخلی است. اندازه کوچک پروژه آن را همه کاره و مفید می کند. صرف نظر از اندازه کوچک، کیفیت صدای مناسب و همچنین محدوده انتقال مناسبی را نیز ارائه می دهد. در این مدار فرستنده آردوینو دارای میکروفونی است که ورودی صدا را می گیرد و در قسمت دیگر گیرنده آردوینو صدا را از فرستنده دریافت کرده و با استفاده از اسپیکر آن را خارج میکند.
نحوه این ارتباط به صورت ساده قبلا در آموزش ارتباط دو آردوینو با ماژول NRF24L01 توضیح داده شده است.
دستگاه شنود آردوینو چطور کار میکند؟
عملکرد دستگاه شنود آردوینو نسبتاً ساده است. ما از یک میکروفون خازنی برای دریافت صداها استفاده کرده ایم. سپس صداهای دریافت شده با استفاده از یک پیش تقویت کننده ساخته شده در اطراف یک تقویت کننده عملیاتی تقویت می شوند. سپس این سیگنال تقویت شده با استفاده از ADC داخلی آردوینو نمونه برداری می شود. هنگامی که داده ها نمونه می شوند و به فرمت دیجیتال تبدیل می شوند، آن داده ها با استفاده از ماژول NRF24L01 منتقل می شوند. در سمت گیرنده، داده های دریافتی پردازش می شوند و سیگنال PWM مربوطه در GPIO های آردوینو تولید می شود. این سیگنال های PWM سپس به یک بلندگو برای بازتولید صدا داده می شود. ما قبلاً PWM را به طور مفصل توضیح دادیم میتوانید مقاله PWM آردوینو را مطالعه کنید.
قطعات مورد نیاز
تمام قطعاتی که برای ساخت فرستنده و گیرنده آردوینو آردوینو نیاز دارید در زیر لیست شده است.
- آردوینو نانو
- آردوینو پرو مینی
- 2* ماژول NRF24L01
- ماژول TP4056 با حفاظت
- بلندگوی کوچک
- LM358
- مقاومت ها، خازن ها
مدار دستگاه انتقال صدا رادیویی با آردوینو
نمودار مدار کامل فرستنده اشکال جاسوسی آردوینو در زیر نشان داده شده است.
مدار حول یک آردوینو پرو مینی ساخته شده است. من این برد را به دلیل اندازه کوچکش انتخاب کردم. همچنین می توانید از بردهای آردوینو دیگر مانند آردوینو نانو، Uno و… استفاده کنید. باتری به ماژول TP4056 متصل است، این ماژول وظیفه شارژ و محافظت از باتری لیتیوم یونی را بر عهده دارد. سپس خروجی ماژول به یک تنظیم کننده ولتاژ 3.3 ولت متصل می شود. کل مدار توسط خروجی 3.3 ولت از این رگولاتور تغذیه می شود. میکروفون به ورودی پیش تقویت کننده ساخته شده در اطراف آمپلی فایر LM358 متصل است. پیش تقویت کننده سیگنال ضعیف میکروفون را تا حد مناسبی تقویت می کند. خروجی پیش تقویت کننده به پایه ADC0 آردوینو متصل می شود. ماژول NRF24L01 به پین های SPI آردوینو متصل است. پین های CE و CSN به پین های دیجیتال D7 و D8 آردوینو متصل می شوند.
تصویر زیر نمودار مدار گیرنده صوتی آردوینو را با استفاده از nRF24L01 نشان می دهد.
در اینجا من از آردوینو نانو استفاده کرده ام، زیرا استفاده از آن بسیار ساده تر است و کوچک بودن اندازه در سمت گیرنده زیاد مهم نیست. آردوینو از پورت USB روی بردی تغذیه می کند. 5 ولت از آردوینو نانو به رگولاتور ولتاژ متصل است. خروجی 3.3 ولت از AMS1117-3.3 برای تغذیه NRF24L01 استفاده می شود. اتصالات به ماژول NRF همانند فرستنده است. سپس اسپیکر به پین های دیجیتال D9 و D10 متصل می شود.
کد آردوینو برای فرستنده صدا جاسوسی
کد کامل در انتهای صفحه در فایل دانلودی قرار داده شده است. به عنوان اولین قدم مطمئن شوید که کتابخانه های RF24 و RF24Audio را از Library Manager نصب کرده اید.
#include <SPI.h> #include <RF24Audio.h> #include <RF24.h> #include "printf.h" RF24 radio(7,8); RF24Audio rfAudio(radio,0); void setup() { radio.begin(); radio.setPALevel(RF24_PA_MAX); radio.setChannel(10); radio.setDataRate(RF24_250KBPS); rfAudio.begin(); rfAudio.transmit(); } void loop() {}
کد از کتابخانه RF24Audio استفاده می کند. در ابتدا کتابخانه های مورد نیاز را فراخوانی کردیم. سپس دو نمونه برای برای کتابخانه های RF24 و RF24Audio ایجاد کرده ایم. در تابع setup، کتابخانه RF24 را با استفاده از تابع radio.beign مقداردهی اولیه کردیم. تابع setPALevel برای تنظیم حداکثر توان انتقال ماژول NRF24L01 استفاده می شود. تابع setChannel برای تنظیم کانال خصوصی و تابع setDataRate برای تنظیم نرخ انتقال داده استفاده می شود. پس از آن، کتابخانه RF24Aduio را مقداردهی اولیه کردیم. بعداً با فراخوانی تابع rfAudio.transmit جریان صوتی را فعال کردیم.
کد گیرنده شنود صدا برای آردوینو
#include <SPI.h> #include <RF24Audio.h> #include <RF24.h> #include "printf.h" RF24 radio(7,8); RF24Audio rfAudio(radio,0); void setup() { radio.begin(); radio.setChannel(10); radio.setDataRate(RF24_250KBPS); rfAudio.begin(); rfAudio.setVolume(7); rfAudio. receive(); } void loop() {}
کد از کتابخانه RF24Audio استفاده می کند. در ابتدا کتابخانه های مورد نیاز را فراخوانی کردیم. پس از آن دو نمونه برای کتابخانه های RF24 و RF24Audio ایجاد کرده ایم. در تابع setup، کتابخانه RF24 را با استفاده از تابع radio.beign مقداردهی اولیه کردیم. تابع setChannel برای تنظیم کانال خصوصی و تابع setDataRate برای تنظیم نرخ انتقال داده استفاده می شود. پس از آن، کتابخانه RF24Aduio را مقداردهی اولیه کردیم. تابع setVolume برای تنظیم سطح صدای خروجی استفاده می شود که از 1-7 پشتیبانی می کند. بعداً با فراخوانی تابع rfAudio.receive، جریان صدا را فعال کردیم.
می توانید با کاهش نرخ داده یا با استفاده از ماژول NRF با PA و LNA منطقه پوشش را افزایش دهید. به خاطر داشته باشید که کاهش سرعت داده بر کیفیت صدا تأثیر می گذارد. برای به دست آوردن کیفیت صدای بهتر باید سرعت داده را افزایش دهید.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام خسته نباشید برد بلوتوث چقدر هست
NRF24L01+PA+LNA هم قابل استفاده هستش تو این پروژه؟؟؟
سلام عرض ادب یه سوال داشتم اونم اینکه من برای این پروژه تجهیزات لازم رو گرفتم ولی توی بخش پروگرام کردن برد نانو، سیستم برد رو نمیشناسه حتی با نصب درایور ch340
موقع پروگرام ارور هم نمیده فقط میزنه loading و همینطور میمونه
اگه میشه راهنمایی کنید
سلام عزیز
در منوی tools قسمت processor گزینه old bootloader را انتخاب کنید
سلام دوست گرامی…ایا امکان ساخت یک نمونه برای خرید وجود دارد؟
(بصورت کامل گیرنده و فرستنده)
قیمت مجموعه بدون باتری چند میشود؟
سلام عزیز
باید خودتان بسازید.
توی مدار نمونه c5 و c4 نیست .
عدد گذاری خازن ها اشتباهه؟
سلام. من قصد ساخت این پروژه رو دارم. اما تمام محصولات توی فروشگاه شما نیست. چطوری میتونم دو عدد uno با باقی قطعات این پروژه رو خریداری کنم ؟
محصولات غیر موجود
AMS1117-3.3
TP4056 و یک سری قطعات دیگه
کدتون تست شده است؟
برای این میگم که تو void loop کدی نیست.
سلام عزیز
بله