- எஃப்.எம் ரேடியோ பொது வேலை
- கூறுகள் தேவை
- RDA5807 பெறுநர்
- ஆடியோ பெருக்கி
- Arduino FM ரிசீவர் சுற்று வரைபடம்
- Arduino FM வானொலி குறியீடு விளக்கம்
- Arduino FM வானொலியின் வேலை
இன்று கிட்டத்தட்ட எல்லோரும் இசை, செய்திகள், பாட்காஸ்ட்கள் போன்றவற்றைக் கேட்க தங்கள் மொபைல் போன்களைப் பயன்படுத்துகிறார்கள். ஆனால் வெகு காலத்திற்கு முன்பு நாம் அனைவரும் உள்ளூர் எஃப்.எம் ரேடியோக்களைப் பொறுத்து சமீபத்திய செய்திகளையும் பாடல்களையும் பெற்றோம், மெதுவாக இந்த ரேடியோக்கள் பிரபலத்தை இழந்து வருகின்றன, ஆனால் அவசர காலங்களில் இணையம் முடக்கப்பட்டுள்ளது, பயனர்களுக்கு தகவல்களை அனுப்ப ரேடியோக்கள் முக்கிய பங்கு வகிக்கின்றன. ரேடியோ சிக்னல்கள் எப்போதும் காற்றில் இருக்கும் (அவை நிலையங்களால் ஒளிபரப்பப்படுகின்றன), அந்த ரேடியோ சிக்னல்களைப் பிடித்து ஆடியோ சிக்னல்களுக்கு மாற்ற எஃப்எம் ரிசீவர் சுற்று மட்டுமே நமக்குத் தேவை. எங்கள் முந்தைய பயிற்சிகளில், கீழே பட்டியலிடப்பட்டுள்ள வேறு சில எஃப்எம் டிரான்ஸ்மிட்டர்கள் மற்றும் பெறுநர்களையும் நாங்கள் கட்டியுள்ளோம்.
- ராஸ்பெர்ரி பை எஃப்எம் டிரான்ஸ்மிட்டர்
- ராஸ்பெர்ரி பை எஃப்எம் ரிசீவர் ரேடியோ
- எஃப்எம் டிரான்ஸ்மிட்டர் சுற்று
- தூண்டல் இல்லாமல் எஃப்.எம் டிரான்ஸ்மிட்டர் சுற்று
இந்த டுடோரியலில் நாம் ஒரு ஆர்டுயினோ எஃப்எம் ரிசீவரை உருவாக்கப் போகிறோம், அதை எங்கள் திட்ட ஆயுதக் களஞ்சியத்தில் சேர்க்கிறோம். நாங்கள் RDA5807 FM ரிசீவர் ஐசியை Arduino உடன் பயன்படுத்துவோம், எனவே அதை நிரல் செய்வோம், எந்தவொரு FM வானொலி நிலையத்தையும் இயக்குங்கள், இது பயனரால் ஒரு பொட்டென்டோமீட்டரைக் கொண்டு சரிசெய்ய முடியும். எங்கள் Arduino FM வானொலியின் வெளியீட்டு அளவைக் கட்டுப்படுத்த சுற்றுடன் ஒரு ஆடியோ பெருக்கியையும் பயன்படுத்துவோம், சுவாரஸ்யமானதாகத் தெரிகிறது? எனவே, தொடங்குவோம்.
எஃப்.எம் ரேடியோ பொது வேலை
வானொலி நிலையங்கள் மின் சமிக்ஞைகளை ரேடியோ சிக்னல்களாக மாற்றுகின்றன, மேலும் இந்த சமிக்ஞைகளை ஆண்டெனா வழியாக கடத்தப்படுவதற்கு முன்பு மாற்றியமைக்க வேண்டும். ஒரு சமிக்ஞையை AM மற்றும் FM என மாற்றியமைக்க இரண்டு முறைகள் உள்ளன. பெயர் குறிப்பிடுவதுபோல், ஒரு சமிக்ஞையை கடத்துவதற்கு முன்பு அலைவீச்சு பண்பேற்றம் (AM) வீச்சுகளை மாற்றியமைக்கிறது, அதேசமயம், அதிர்வெண் பண்பேற்றத்தில் (FM), ஆண்டெனா வழியாக பரவுவதற்கு முன்பு சமிக்ஞையின் அதிர்வெண் மாற்றியமைக்கப்படுகிறது. வானொலி நிலையங்களில், அவை சமிக்ஞையை மாற்றியமைக்க அதிர்வெண் பண்பேற்றத்தைப் பயன்படுத்துகின்றன, பின்னர் தரவை அனுப்பும். இப்போது, நாம் உருவாக்க வேண்டியது ஒரு ரிசீவர் மட்டுமே, அது சில அதிர்வெண்களுடன் இணைக்கப்படலாம், மேலும் அந்த சமிக்ஞைகளைப் பெறலாம், பின்னர் இந்த மின் சமிக்ஞைகளை ஆடியோ சிக்னல்களாக மாற்றலாம். நாங்கள் பயன்படுத்தப் போகிறோம்இந்த திட்டத்தில் RDA5807 FM ரிசீவர் தொகுதி, இது எங்கள் சுற்றுகளை எளிதாக்குகிறது.
கூறுகள் தேவை
- அர்டுடினோ நானோ
- RDA5807 ரிசீவர்
- ஆடியோ பெருக்கி
- கம்பிகளை இணைக்கிறது
- பானை - 100 கே
- சரியான வாரியம்
RDA5807 பெறுநர்
RDA5807 என்பது ஒரு ஒற்றை-சிப் எஃப்எம் ஸ்டீரியோ ரேடியோ ட்யூனர் தொகுதி ஆகும். இந்த தொகுதி உலகளாவிய அதிர்வெண் இசைக்குழு 50 - 115 மெகா ஹெர்ட்ஸ், தொகுதி கட்டுப்பாடு மற்றும் முடக்கு, நிரல்படுத்தக்கூடிய டி-முக்கியத்துவம் (50/75us), சமிக்ஞை வலிமை காட்டி மற்றும் எஸ்.என்.ஆர், 32.768KHz படிக ஆஸிலேட்டர், டிஜிட்டல் ஆட்டோ ஆதாயக் கட்டுப்பாடு போன்றவற்றை ஆதரிக்கிறது. RDA5807M ட்யூனரின் தொகுதி வரைபடம்.

இது டிஜிட்டல் லோ-ஐஎஃப் கட்டமைப்பைக் கொண்டுள்ளது மற்றும் குறைந்த சத்தம் பெருக்கி (எல்.என்.ஏ) ஐ ஒருங்கிணைக்கிறது, இது எஃப்எம் ஒளிபரப்பு இசைக்குழு (50 முதல் 115 மெகா ஹெர்ட்ஸ்), ஒரு நிரல்படுத்தக்கூடிய ஆதாயக் கட்டுப்பாடு (பிஜிஏ), உயர்-தெளிவுத்திறன் கொண்ட அனலாக்-டு-டிஜிட்டல் மாற்றி மற்றும் உயர் நம்பகத்தன்மை டிஜிட்டல்-க்கு-அனலாக் மாற்றிகள் (DAC கள்). வரம்பு அதிக சுமைகளைத் தடுக்கிறது மற்றும் அருகிலுள்ள சேனல்களால் உருவாக்கப்பட்ட இடைநிலை தயாரிப்புகளின் எண்ணிக்கையை கட்டுப்படுத்துகிறது. பிஜிஏ மிக்சர் வெளியீட்டு சமிக்ஞையை பெருக்கி, பின்னர் ஏடிசிகளுடன் டிஜிட்டல் மயமாக்குகிறது. டிஎஸ்பி கோர் சேனல் தேர்வு, எஃப்எம் டெமோடூலேஷன், ஸ்டீரியோ எம்.பி.எக்ஸ் டிகோடர் மற்றும் வெளியீட்டு ஆடியோ சிக்னலை நிர்வகிக்கிறது. RDA5807 பின்அவுட் ஐசி க்கான வரைபடம் கீழே கொடுக்கப்பட்டுள்ளது.

தொகுதி 1.8 - 3.3 வி மின் விநியோகத்தில் செயல்படுகிறது. தேர்ந்தெடுக்கப்பட்ட ஓய்வு மற்றும் கட்டுப்பாட்டு இடைமுகத்திற்கு வரும்போது, VIO பவர் அப் ஆக இருக்கும்போது தொகுதி தன்னை மீட்டமைக்கிறது, மேலும் 02H முகவரியின் 0 முதல் 1 வரை பிட் 1 இன் தூண்டுதலால் மென்மையான மீட்டமைப்பை ஆதரிக்கிறது. MCU உடன் தொடர்புகொள்வதற்கு தொகுதி I2C தகவல்தொடர்புகளைப் பயன்படுத்துகிறது, மேலும் இடைமுகம் தொடக்க நிலை, ஒரு கட்டளை பைட் மற்றும் தரவு பைட்டுகளுடன் தொடங்குகிறது. RDA5807 இல் 13 16-பிட் பதிவேடுகள் உள்ளன, ஒவ்வொன்றும் ஒரு குறிப்பிட்ட செயல்பாட்டைச் செய்கின்றன. பதிவு முகவரிகள் 00H உடன் தொடங்குகின்றன, இது சிப் ஐடிக்கு ஒதுக்கப்பட்டு 0FH உடன் முடிவடைகிறது. அனைத்து 13 பதிவுகளிலும், சில பிட்கள் முன்பதிவு செய்யப்பட்டுள்ளன, சில ஆர் / டபிள்யூ. ஒவ்வொரு பதிவும் அவர்களுக்கு ஒதுக்கப்பட்ட பிட்களைப் பொறுத்து மாறுபட்ட அளவு, சேனல்களை மாற்றுவது போன்ற பணிகளைச் செய்கிறது.
ஊசிகளால் மூடப்பட்டிருப்பதால், அதை ஒரு சுற்றுடன் இணைக்கும்போது தொகுதியை நேரடியாகப் பயன்படுத்த முடியாது. எனவே, நான் ஒரு பெர்ஃப் போர்டு மற்றும் சில ஆண் ஊசிகளைப் பயன்படுத்தினேன், மேலும் கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி தொகுதியின் ஒவ்வொரு முள் ஒவ்வொரு ஆண் முள் வரை சாலிடர் செய்தேன்.

ஆடியோ பெருக்கி
ஆடியோ பெருக்கி என்பது ஒரு மின்னணு சாதனம் ஆகும், இது குறைந்த சக்தி கொண்ட மின்னணு ஆடியோ சமிக்ஞைகளை ஒலிபெருக்கிகள் அல்லது ஹெட்ஃபோன்களை ஓட்டுவதற்கு போதுமானதாக இருக்கும் நிலைக்கு அதிகரிக்கிறது. LM386 ஐப் பயன்படுத்தி ஒரு எளிய ஆடியோ பெருக்கியை நாங்கள் உருவாக்கியுள்ளோம், அதற்கான சுற்று கீழே காட்டப்பட்டுள்ளது, மேலும் இந்த சுற்று பற்றி மேலும் அறிய இணைப்பையும் சரிபார்க்கலாம், மற்ற ஆடியோ பெருக்கி சுற்றுகளையும் சரிபார்க்கவும்.

Arduino FM ரிசீவர் சுற்று வரைபடம்
எஃப்.எம் பேண்டை டியூன் செய்வதற்கும் ஆடியோ பெருக்கியின் அளவைக் கட்டுப்படுத்துவதற்கும் இரண்டு பொட்டென்டோமீட்டர்களைப் பயன்படுத்தினோம். அளவை மாற்ற நீங்கள் LM386 இன் 1 முதல் 8 வது முள் வரை இணைக்கப்பட்டுள்ள பானை அல்லது LM386 இன் முள் 3 இல் இணைக்கப்பட்டுள்ள பானையை மாற்றலாம். கீழேயுள்ள படம் Arduino FM வானொலியின் முழுமையான சுற்று வரைபடத்தைக் காட்டுகிறது.

நான் பெருக்கியில் சிறிய மாற்றங்களைச் செய்தேன். பெருக்கியில் இரண்டு பொட்டென்டோமீட்டர்களைப் பயன்படுத்துவதற்குப் பதிலாக, ஒன்றை மட்டுமே பயன்படுத்தினேன். ஆதாயத்தை மாற்ற பயன்படும் பானையை நான் ஒரு மின்தடையுடன் பரிமாறிக்கொண்டேன். எனவே இப்போது எங்கள் திட்டத்திற்கு இரண்டு பொட்டென்டோமீட்டர்கள் உள்ளன, ஒன்று ட்யூன் செய்ய, மற்றும் ஒரு தொகுதி மாற்ற. சேனலை மாற்றியமைக்கப் பயன்படுத்தப்படும் பொட்டென்டோமீட்டர், அர்டுயினோ நானோவுடன் இணைக்கப்பட்டுள்ளது. பானையின் மைய முள் அர்டுயினோ நானோவின் A0 முள் உடன் இணைக்கப்பட்டுள்ளது, மீதமுள்ள இரண்டு ஊசிகளில் ஒன்று 5V உடன் இணைக்கப்பட்டுள்ளது, மற்றொன்று GND உடன் இணைக்கப்பட்டுள்ளது. வானொலியின் அளவைக் கட்டுப்படுத்த மற்றொரு பானை பயன்படுத்தப்படுகிறது மற்றும் மேலே உள்ள அத்திப்பழத்தில் காட்டப்பட்டுள்ளபடி இணைக்கப்பட்டுள்ளது.
Arduino இன் முள் A4 மற்றும் A5 ஆகியவை RDA5807M இன் SDA மற்றும் SCL முள் ஆகியவற்றுடன் இணைக்கப்பட்டுள்ளன. ரிசீவர் தொகுதி 3.3V இல் மட்டுமே இயங்குகிறது என்பதை நினைவில் கொள்ளுங்கள். எனவே, நானோவின் 3v3 முள் ரிசீவர் தொகுதியின் வி.சி.சி முள் உடன் இணைக்கவும். இணைப்புகள் செய்யப்பட்டவுடன் எனது அமைவு இப்படி இருந்தது

Arduino FM வானொலி குறியீடு விளக்கம்
குறியீடு ரிசீவர் தொகுதியைத் துவக்கி, முன்னமைக்கப்பட்ட அதிர்வெண்ணுடன் சேனலை அமைக்கும். A0 முள் நானோ வாசித்த மதிப்பு மாறும்போது (பானை மாற்றுவதன் மூலம்) அதிர்வெண் மாறுகிறது, இது சேனலை மாற்றுகிறது. முழு குறியீடு பக்கத்தின் இறுதியில் கொடுக்கப்பட்டுள்ளது.
RDA5807 உடன் தொடர்புகொள்வதற்கு தேவையான கம்பி நூலகத்தை சேர்ப்பதன் மூலம் எங்கள் திட்டத்தைத் தொடங்குகிறோம். பின்னர், மாறி “சேனல்” இல் சேனலின் மதிப்பை அமைப்போம். ரேடியோ தொடங்கும் போதெல்லாம் அது தானாகவே இந்த சேனலுடன் இணைக்கப்படும்.
#சேர்க்கிறது
அடுத்து, எங்கள் ஆரம்ப உள்ளமைவை அமைக்க எங்கள் RDA5807 IC இல் ஒவ்வொரு பதிவிற்கும் பைட்டுகளை ஏற்றுவோம். இந்த கட்டத்தில், நாங்கள் ரிசீவரை மீட்டமைக்கிறோம்.
uint8_t boot_config = {/ * பதிவு 0x02 * / 0b11000001, 0b00000011, / * பதிவு 0x03 * / 0b00000000, 0b00000000, / * பதிவு 0x04 * / 0b00001010, 0b00000000, / * பதிவு 0x05 * / 0b1001000 0b00000000, 0b00000000, / * பதிவு 0x07 * / 0b01000010, 0b00000010,};
சாதனத்தை மீட்டமைத்த பிறகு, சாதனத்தை டியூன் செய்யலாம். சேனலை சரிசெய்ய, முதல் 4 பைட்டுகளை மட்டுமே நிரல் செய்ய வேண்டும். குறியீட்டின் இந்த பகுதி சேனலை விரும்பிய அதிர்வெண்ணாக மாற்றும். முதலில் I2C இல், நாங்கள் பரிமாற்றத்தைத் தொடங்குகிறோம், தரவை எழுதுகிறோம் அல்லது படிக்கிறோம், பின்னர் பரிமாற்றத்தை முடிக்கிறோம். இந்த ரிசீவர் ஐ.சியில், ஐ 2 சி இடைமுகத்தில் ஒரு நிலையான தொடக்க பதிவு உள்ளது என்று தரவுத்தாள் தெளிவாகக் கூறுவதால் முகவரியைக் குறிப்பிட வேண்டியதில்லை, அதாவது ஒரு எழுதும் செயல்பாட்டிற்கு 0x02 ம, மற்றும் வாசிப்பு செயல்பாட்டிற்கு 0x0Ah.
uint8_t tune_config = {/ * பதிவு 0x02 * / 0b11000000, 0b00000001, / * பதிவு 0x03 * / (சேனல் >> 2), ((சேனல் & 0b11) << 6) - 0b00010000};
அமைப்பில், துவக்க உள்ளமைவை (மீட்டமைத்தல்) துவக்கி, பின்னர் RDA5807M க்கு டியூனிங் உள்ளமைவு பைட்டுகளை எழுதுவதன் மூலம் ஒரு சேனலுக்கு டியூன் செய்கிறோம்.
void setup () {Serial.begin (9600); pinMode (A0, INPUT); / * RDA5807M FM ட்யூனருடன் இணைக்கவும்: * / Wire.begin (); Wire.beginTransmission (RDA5807M_ADDRESS); வயர்.ரைட் (boot_config, BOOT_CONFIG_LEN); வயர்.இன்ட் டிரான்ஸ்மிஷன் (); Wire.beginTransmission (RDA5807M_ADDRESS); வயர்.ரைட் (tune_config, TUNE_CONFIG_LEN); வயர்.இன்ட் டிரான்ஸ்மிஷன் (); }
ஒரு அதிர்வெண்ணுக்கு டியூனிங் செய்ய பானையைப் பயன்படுத்தும் போது, நான் ஒரு சிக்கலை எதிர்கொண்டேன். A0 முள் படிக்கும் மதிப்புகள் நிலையானவை அல்ல. விரும்பிய மதிப்புடன் ஒரு சத்தம் கிளப் உள்ளது. A0 மற்றும் GND க்கு இடையில் இணைக்கப்பட்ட 0.1uF பீங்கான் மின்தேக்கியைப் பயன்படுத்தினேன், சத்தம் குறைக்கப்பட்டாலும், அது விரும்பிய அளவு வரை இல்லை. எனவே, நான் குறியீட்டில் சில மாற்றங்களைச் செய்ய வேண்டியிருந்தது. முதலில், சத்தத்தால் பாதிக்கப்படும் வாசிப்புகளை நான் குறிப்பிட்டேன். சத்தத்தின் அதிகபட்ச மதிப்பு 10 என்று நான் கண்டறிந்தேன். எனவே நான் நிரலை இவ்வாறு எழுதினேன், புதிய மதிப்புக்கும் அதே முள் பழைய மதிப்பிற்கும் உள்ள வேறுபாடு 10 ஐ விட அதிகமாக இருந்தால் மட்டுமே அது புதிய மதிப்பைக் கருத்தில் கொள்ளும் பின்னர் விரும்பிய சேனலுடன் டியூன் செய்கிறது.
void loop () {int channel1 = 187, avg = 0, newA; நிலையான எண்ணாக oldA = 0; int முடிவு = 0; newA = அனலாக் ரீட் (A0); if ((newA - oldA)> 10 - (oldA - newA)> 10) {Serial.println (newA); if (newA! = oldA) {channel = channel1 + (newA / 10); myChangeChannel (சேனல்); oldA = newA; }}} // லூப் முடிவு
இந்த செயல்பாடு tune_config வரிசையின் பைட்டுகளை அமைக்கப் பயன்படுகிறது, பின்னர் I2C நெறிமுறையைப் பயன்படுத்தி RDA5807M IC க்கு தரவை அனுப்பும்.
void myChangeChannel (int channel) else / * வேறு எதுவும் திருப்பித் தரப்படாவிட்டால் வெற்றிடத்தை int * / tune_config = (சேனல் >> 2); tune_config = ((சேனல் & 0 பி 11) << 6) - 0 பி 100010000; வயர்.பெஜின் (); Wire.beginTransmission (RDA5807M_ADDRESS); வயர்.ரைட் (tune_config, TUNE_CONFIG_LEN); வயர்.இன்ட் டிரான்ஸ்மிஷன் (); }
Arduino FM வானொலியின் வேலை
தொகுதி இயங்கும் போது, எங்கள் குறியீடு RDA5807-M ஐசியை மீட்டமைத்து விரும்பிய பயனரின் சேனலுக்கு அமைக்கிறது (குறிப்பு: இந்த அதிர்வெண் அடிப்படை அதிர்வெண்ணாக எடுத்துக் கொள்ளப்படுகிறது, அதன் அடிப்படையில் அதிர்வெண் அதிகரிக்கும்). பொட்டென்டோமீட்டரை மாற்றுவதன் மூலம் (A0 உடன் இணைக்கப்பட்டுள்ளது), Arduino நானோ வாசித்த மதிப்புகள் மாறுகின்றன. புதிய மற்றும் பழைய மதிப்புக்கு இடையிலான வேறுபாடு 10 ஐ விட அதிகமாக இருந்தால், எங்கள் குறியீடு இந்த புதிய மதிப்பைக் கருத்தில் கொள்ளும். பழைய மதிப்பிலிருந்து புதிய மதிப்பில் ஏற்பட்ட மாற்றத்தைப் பொறுத்து சேனல் மாற்றப்படுகிறது. அளவை அதிகரிப்பது அல்லது குறைப்பது பொட்டென்டோமீட்டரைப் பொறுத்தது, இது முள் 3 மற்றும் ஜிஎன்டி இடையே இணைக்கப்பட்டுள்ளது.

கட்டுமானம் மற்றும் குறியீட்டு முடிவில், நீங்கள் உங்கள் சொந்த எஃப்எம் வானொலியைக் கொண்டிருப்பீர்கள். எஃப்எம் வானொலியின் முழுமையான செயல்பாட்டை இந்த பக்கத்தின் கீழே இணைக்கப்பட்ட வீடியோவில் காணலாம். நீங்கள் திட்டத்தை ரசித்தீர்கள் மற்றும் பயனுள்ள ஒன்றைக் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன். இந்த திட்டத்தை செயல்படுத்துவதில் உங்களுக்கு ஏதேனும் கேள்விகள் இருந்தால், அவற்றை கருத்துப் பிரிவில் விடலாம் அல்லது பிற தொழில்நுட்ப உதவிகளுக்கு எங்கள் மன்றங்களைப் பயன்படுத்தலாம்.
