இந்த திட்டத்தில் Arduino Uno ஐப் பயன்படுத்தி ஒரு தொனி ஜெனரேட்டரை உருவாக்குவோம். யு.என்.ஓ உடன் இணைக்கப்பட்ட பொத்தான்கள் எங்களிடம் இருக்கும், அவை ஒவ்வொன்றும் வெவ்வேறு தொனியை உருவாக்குகின்றன. UNO ஆல் உருவாக்கப்படும் தொனியின் அதிர்வெண் ஒவ்வொரு அகத்திலும் ஒரே மாதிரியாக இருக்கும். இது ஒவ்வொரு பத்திரிகையிலும் மாறும் ஒலியின் தீவிரம். Arduino Uno உடன் பியானோ தயாரிக்க இது எளிதான வழியாகும். இந்த பியானோ சுற்றுகளையும் சரிபார்க்கவும்.
டோன்களை 20 வரை அதிகரிக்கலாம். இது சிறந்த தொனி மாறுபாட்டையும் மென்மையான மாற்றங்களையும் தருகிறது. தொனியின் தீவிரம் PWM (பல்ஸ் அகல பண்பேற்றம்) மூலம் மாற்றப்படுகிறது. PWM இன் எடுத்துக்காட்டு கீழே உள்ள வரைபடத்தில் காட்டப்பட்டுள்ளது.

PWM இல், சமிக்ஞையின் அதிர்வெண் அல்லது சமிக்ஞையின் காலம் (டன் + டோஃப்) எப்போதும் நிலையானது. TURN ON மற்றும் TURN OFF நேர மாற்றங்கள் மட்டுமே மாறுகின்றன. மேலே உள்ள படத்தில் இரண்டாவது வரைபடத்தில், டர்ன் ஆன் நேரம் 80% மற்றும் டர்ன் ஆஃப் நேரம் முழு காலத்தின் 20% ஆகும்.
மூன்றாவது வரைபடத்தில், டர்ன் ஆன் நேரம் 50% மற்றும் டர்ன் ஆஃப் நேரம் முழு காலத்தின் 50% ஆகும். எனவே முதல் வழக்கில் நாம் 80% கடமை விகிதத்தையும் இரண்டாவது வழக்கில் 20% கடமை விகிதத்தையும் கொண்டிருக்கிறோம்.
கடமை விகிதத்தில் இந்த மாற்றத்துடன், Vrms (மின்னழுத்தத்தின் ரூட் சராசரி சதுர மதிப்பு) இல் மாற்றம் உள்ளது, இந்த மின்னழுத்தம் பஸருக்கு வழங்கப்படும்போது, கடமை விகிதத்தில் மாற்றம் ஏற்படும் போதெல்லாம் அது வேறுபட்ட சத்தத்தை ஏற்படுத்துகிறது.
ஒவ்வொரு பொத்தான்களுக்கும் வெவ்வேறு கடமை விகிதத்தின் PWM சமிக்ஞையை வழங்க UNO ஐ நாங்கள் திட்டமிடப் போகிறோம். எனவே எங்களிடம் ஒரு டோன் ஜெனரேட்டர் உள்ளது, இது ஒவ்வொரு பொத்தான் அழுத்தத்திலும் வெவ்வேறு தொனியை உருவாக்குகிறது.
கூறுகள் தேவை
வன்பொருள்: அர்டுயினோ யூனோ, மின்சாரம் (5 வி), 1000 யுஎஃப் மின்தேக்கி, 100 என்எஃப் மின்தேக்கி, பஸர், பொத்தான்கள் (8 துண்டுகள்).
மென்பொருள்: ஆர்டினோ இரவு அல்லது அட்மல் ஸ்டுடியோ 6.2
சுற்று வரைபடம் மற்றும் வேலை விளக்கம்
தொனி ஜெனரேட்டருக்கான சுற்று கீழே உள்ள வரைபடத்தில் காட்டப்பட்டுள்ளது.

சப்ளை மின்னழுத்த மின்தேக்கிகளிலிருந்து வரும் சத்தத்தை வடிகட்ட, வரைபடத்தில் காட்டப்பட்டுள்ளபடி முனையங்கள் முழுவதும் வைக்கப்படுகின்றன.
அர்டுயினோ யூனோவின் பிடபிள்யூஎம் பிசிபி போர்டில் “~” எனக் குறிக்கப்பட்ட எந்த ஊசிகளிலும் அடைய முடியும். UNO இல் ஆறு PWM சேனல்கள் உள்ளன. இருப்பினும், PINS 0-7 இல் நிறுவப்பட்ட PWM ஊசிகளை நாம் பயன்படுத்த முடியாது, ஏனெனில் பொத்தான்கள் இடைமுகத்திற்கு PINS விரும்பப்படுகிறது.
PINS 0-7 ஐ உள்ளீடுகளாகத் தேர்ந்தெடுப்பதற்கு ஒரு காரணம் உள்ளது, ஏனெனில் PINS 0-7 மைக்ரோகண்ட்ரோலரின் PORTD ஐ குறிக்கிறது. எனவே பிந்தைய வழக்கில் PORTD இன் முழுமையான BYTE ஐ எடுக்கலாம்.
இப்போது வேறு கடமை விகிதம் PWM ஐப் பெறுவதற்கு, நாங்கள் பின்வரும் கட்டளையைப் பயன்படுத்தப் போகிறோம்.
|
அனலாக்ரைட் (9, மதிப்பு); |
மேலே உள்ள நிலையில் இருந்து நாம் நேரடியாக தொடர்புடைய முள் மீது PWM சமிக்ஞையைப் பெறலாம். அடைப்புக்குறிக்குள் முதல் அளவுரு PWM சமிக்ஞையின் முள் எண்ணைத் தேர்ந்தெடுப்பதாகும். இரண்டாவது அளவுரு கடமை விகிதத்தை எழுதுவதற்கானது.
Arduino Uno இன் PWM மதிப்பை 0 முதல் 255 ஆக மாற்றலாம். “0” உடன் மிகக் குறைவானது “255” ஆக உயர்ந்தது. கடமை விகிதமாக 255 உடன் PIN9 இல் 5V கிடைக்கும். கடமை விகிதம் 125 என வழங்கப்பட்டால், PIN9 இல் 2.5V கிடைக்கும். UNO இன் PORTD இல் இணைக்கப்பட்ட 8 பொத்தான்களில் 0-250 என்ற வரி விகிதத்தை பிரிக்க உள்ளோம். இங்கே நான் ஒவ்வொரு பொத்தானுக்கும் 25 அதிகரிப்புகளைத் தேர்வு செய்கிறேன், ஆனால் அது உங்கள் விருப்பப்படி.
அதனுடன் ஒவ்வொரு பொத்தானுடனும் கடமை விகிதம் மாறும் ஒரு PWM சமிக்ஞை நமக்கு இருக்கும். இது பஸருக்கு வழங்கப்படுகிறது, எங்களிடம் டோன் ஜெனரேட்டர் உள்ளது. இந்த Arduino அடிப்படையிலான தொனி ஜெனரேட்டரின் வேலை கீழே கொடுக்கப்பட்டுள்ள C குறியீட்டில் படிப்படியாக விளக்கப்பட்டுள்ளது.
