- வன்பொருள் தேவை:
- Arduino இன் டோன் () செயல்பாட்டைப் புரிந்துகொள்வது :
- Pitches.h தலைப்பு கோப்பு:
- Arduino இல் இசைக் குறிப்புகளை வாசித்தல்:
- திட்ட மற்றும் வன்பொருள்:
- Arduino நிரல் விளக்கம்:
- இந்த மெலடி பிளேயர் அர்டுயினோ சர்க்யூட்டின் வேலை:
உங்கள் மைக்ரோகண்ட்ரோலர் திட்டங்களை எளிதாக்குவதற்கும் விரைவுபடுத்துவதற்கும் அர்டுயினோ ஒரு சிறந்த வழியாகும், கிட்டத்தட்ட எல்லாவற்றையும் எளிமையாகக் காட்டிய டெவலப்பர்களின் சமூகத்திற்கு நன்றி. நீங்கள் முயற்சி செய்து வேடிக்கை பார்ப்பதற்காக இங்கு நிறைய ஆர்டுயினோ திட்டங்கள் உள்ளன. உங்கள் திட்டங்களில் சிலவற்றைப் பற்றி அறிவிக்க அல்லது பார்வையாளர்களைக் கவர சில ஒலி நடவடிக்கை தேவைப்படலாம். ஒரு பியானோவில் இசைக்கக்கூடிய ஏதேனும் தீம் பாடல்களை ஒரு எளிய நிரல் மற்றும் மலிவான பைசோ ஸ்பீக்கரின் உதவியுடன் உங்கள் ஆர்டுயினோவில் பிரதிபலிக்க முடியும் என்று நான் சொன்னால் என்ன செய்வது?
இந்த டுடோரியலில் , ஆர்டுயினோ டோன் () செயல்பாட்டைப் பயன்படுத்தி பைசோ பஸர் அல்லது ஸ்பீக்கரில் மெலடி வாசிப்பது எவ்வளவு எளிது மற்றும் எளிதானது என்பதைக் கற்றுக்கொள்வோம். இந்த டுடோரியலின் முடிவில் நீங்கள் பைரேட்ஸ் ஆஃப் கரீபியன், கிரேஸி தவளை, சூப்பர் மரியோ மற்றும் டைட்டானிக் ஆகியவற்றின் பிரபலமான சில டோன்களை இயக்க முடியும். Arduino உடன் எந்த பியானோ இசையையும் எவ்வாறு வாசிப்பது என்பதையும் நீங்கள் கற்றுக் கொள்வீர்கள். வீடியோவை இறுதியில் சரிபார்க்கவும்.
வன்பொருள் தேவை:
- Arduino (எந்த பதிப்பும் - UNO இங்கே பயன்படுத்தப்படுகிறது)
- பைசோ சபாநாயகர் / பஸர் அல்லது வேறு 8ohm பேச்சாளர்.
- ப்ரெட்போர்டு
- கம்பிகளை இணைக்கிறது
- பொத்தான்களை அழுத்தவும்
- 1 கே மின்தடை (விரும்பினால்)
Arduino இன் டோன் () செயல்பாட்டைப் புரிந்துகொள்வது:
ஒரு தொனி () எவ்வாறு இயங்குகிறது என்பதைப் புரிந்துகொள்வதற்கு முன்பு, பைசோ பஸர் எவ்வாறு செயல்படுகிறது என்பதை நாம் அறிந்து கொள்ள வேண்டும். எங்கள் பள்ளியில் பைசோ படிகங்களைப் பற்றி நாம் கற்றுக்கொண்டிருக்கலாம், இது ஒரு படிகத்தைத் தவிர வேறொன்றுமில்லை, இது இயந்திர அதிர்வுகளை மின்சாரமாக மாற்றும் அல்லது நேர்மாறாக மாற்றும். இங்கே நாம் ஒரு மாறி மின்னோட்டத்தை (அதிர்வெண்) பயன்படுத்துகிறோம், அதற்காக படிக அதிர்வுறும் வகையில் ஒலியை உருவாக்குகிறது. எனவே பைசோ பஸரை சிறிது சத்தம் போடுவதற்கு நாம் பைசோ மின்சார படிகத்தை அதிர்வுறச் செய்ய வேண்டும், படிகமும் சத்தமும் தொனி படிக எவ்வளவு விரைவாக அதிர்வுறும் என்பதைப் பொறுத்தது. எனவே மின்னோட்டத்தின் அதிர்வெண் மாறுபடுவதன் மூலம் தொனி மற்றும் சுருதியைக் கட்டுப்படுத்தலாம்.
சரி, ஆகவே அர்டுயினோவிலிருந்து மாறி அதிர்வெண் பெறுவது எப்படி ? இங்குதான் தொனி () செயல்பாடு வருகிறது. தொனி () ஒரு குறிப்பிட்ட முள் மீது ஒரு குறிப்பிட்ட அதிர்வெண்ணை உருவாக்க முடியும். தேவைப்பட்டால் கால அளவையும் குறிப்பிடலாம். தொனிக்கான தொடரியல் () ஆகும்
தொடரியல் தொனி (முள், அதிர்வெண்) தொனி (முள், அதிர்வெண், காலம்) அளவுருக்கள் முள்: தொனி அதிர்வெண்ணை உருவாக்க முள்: ஹெர்ட்ஸில் உள்ள தொனியின் அதிர்வெண் - கையொப்பமிடப்படாத முழு காலம்: மில்லி விநாடிகளில் தொனியின் காலம் (விரும்பினால்) - கையொப்பமிடாத நீண்டது
முள் மதிப்புகள் உங்கள் டிஜிட்டல் முள் ஏதேனும் இருக்கலாம். நான் இங்கே முள் எண் 8 ஐப் பயன்படுத்தினேன். உருவாக்கக்கூடிய அதிர்வெண் உங்கள் Arduino போர்டில் உள்ள டைமரின் அளவைப் பொறுத்தது. UNO மற்றும் பிற பொதுவான பலகைகளுக்கு உற்பத்தி செய்யக்கூடிய குறைந்தபட்ச அதிர்வெண் 31Hz மற்றும் உற்பத்தி செய்யக்கூடிய அதிகபட்ச அதிர்வெண் 65535Hz ஆகும். இருப்பினும் மனிதர்களான நாம் 2000 ஹெர்ட்ஸ் மற்றும் 5000 ஹெர்ட்ஸ் இடையே அதிர்வெண்களை மட்டுமே கேட்க முடியும்.
Pitches.h தலைப்பு கோப்பு:
இப்போது, arduino தொனி () செயல்பாட்டைப் பயன்படுத்தி சில சத்தங்களை எவ்வாறு உருவாக்குவது என்பது எங்களுக்குத் தெரியும். ஆனால், ஒவ்வொரு அதிர்வெண்ணிற்கும் எந்த வகையான தொனி உருவாக்கப்படும் என்பதை நாம் எவ்வாறு அறிவோம்?
Arduino எங்களுக்கு ஒரு குறிப்பு அட்டவணையை வழங்கியுள்ளது, இது ஒவ்வொரு அதிர்வெண்ணையும் ஒரு குறிப்பிட்ட இசைக் குறிப்பு வகைக்கு சமன் செய்கிறது. இந்த குறிப்பு அட்டவணை முதலில் பிரட் ஹக்மனால் எழுதப்பட்டது, யாருடைய பணியின் அடிப்படையில் தொனி () கட்டளை அமைக்கப்பட்டது. எங்கள் கருப்பொருள்களை இயக்க இந்த குறிப்பு அட்டவணையைப் பயன்படுத்துவோம். நீங்கள் தாள் இசையை நன்கு அறிந்தவராக இருந்தால், இந்த அட்டவணையைப் பற்றி நீங்கள் கொஞ்சம் புரிந்து கொள்ள முடியும், என்னைப் போன்ற மற்றவர்களுக்கு இது குறியீட்டின் மற்றொரு தொகுதி.
# வரையறுக்கவும் NOTE_B0 31 # வரையறுக்கவும் NOTE_C1 33 # வரையறுக்கவும் NOTE_CS1 35 # வரையறுக்கவும் NOTE_D1 37 # வரையறுக்கவும் NOTE_DS1 39 # NOTE_E1 41 # வரையறுக்கவும் NOTE_F1 44 # NOTE_B1 62 # வரையறுக்கவும் NOTE_C2 65 # வரையறுக்கவும் NOTE_CS2 69 # வரையறுக்கவும் NOTE_D2 73 # வரையறுக்கவும் NOTE_DS2 78 # வரையறுக்கவும் NOTE_E2 82 # NOTE_F2 87 ஐ வரையறுக்கவும் # NOTE_C3 131 ஐ வரையறுக்கவும் # NOTE_CS3 139 # வரையறுக்கவும் NOTE_D3 147 # NOTE_DS3 156 ஐ வரையறுக்கவும் # NOTE_E3 165 # வரையறுக்கவும் NOTE_F3 175 # வரையறுக்கவும் NOTE_FS3 185 # வரையவும் NOTE_C4 262 # NOTE_CS4 277 # வரையறுக்கவும் NOTE_D4 294 # வரையறுக்கவும் NOTE_DS4 311 # NOTE_E4 330 ஐ வரையறுக்கவும் # NOTE_F4 349 ஐ வரையறுக்கவும்# NOTE_FS4 370 ஐ வரையறுக்கவும் # NOTE_G4 392 ஐ வரையறுக்கவும் NOTE_FS5 740 # வரையறுக்கவும் NOTE_G5 784 # வரையறுக்கவும் NOTE_GS5 831 # வரையறுக்கவும் NOTE_A5 880 # வரையறுக்கவும் NOTE_AS5 932 # NOTE_B5 988 ஐ வரையறுக்கவும் # வரையறுக்கவும் NOTE_G6 1568 # வரையறுக்கவும் NOTE_GS6 1661 # வரையறுக்கவும் NOTE_A6 1760 # வரையறுக்கவும் NOTE_AS6 1865 # NOTE_B6 1976 ஐ வரையறுக்கவும் NOTE_G7 3136 # வரையறுக்கவும் NOTE_GS7 3322 # NOTE_A7 3520 ஐ வரையறுக்கவும் # NOTE_AS7 ஐ வரையறுக்கவும்3729 # வரையறுக்கவும் NOTE_B7 3951 # NOTE_C8 4186 ஐ வரையறுக்கவும் # NOTE_CS8 4435 ஐ வரையறுக்கவும் # NOTE_D8 4699 ஐ வரையறுக்கவும் # NOTE_DS8 4978 ஐ வரையறுக்கவும்
குறியீடு இந்த zip கோப்பில் pitches.h தலைப்பு கோப்பு கொடுக்கப்பட்டுள்ளது மேலாக , நீங்கள் பதிவிறக்கம் வேண்டும் மற்றும் இறுதியில் இந்த பயிற்சி வழங்கப்பட்டது அல்லது zip கோப்பு கொடுக்கப்பட்ட குறியீடு பயன்படுத்த போன்ற நம் Arduino குறியீடு இந்தக் கோப்பை அடங்கும்.
Arduino இல் இசைக் குறிப்புகளை வாசித்தல்:
Arduino ஐப் பயன்படுத்தி ஒரு கண்ணியமான மெல்லிசை இசைக்க, இந்த மெல்லிசைகள் என்ன என்பதை நாம் அறிந்து கொள்ள வேண்டும். ஒரு கருப்பொருளை இயக்க தேவையான மூன்று முக்கிய காரணிகள்
- குறிப்பு மதிப்பு
- குறிப்பு காலம்
- டெம்போ
எந்த குறிப்பு மதிப்பையும் இயக்க எங்களிடம் பிட்ச்ஸ் ஹெச் கோப்பு உள்ளது, இப்போது அதை இயக்க அதன் குறிப்பிட்ட குறிப்பு கால அளவைக் கண்டுபிடிக்க வேண்டும். டெம்போ என்பது மெல்லிசை எவ்வளவு விரைவாக இசைக்கப்பட வேண்டும் என்பதைத் தவிர வேறில்லை. குறிப்பு மதிப்பு மற்றும் குறிப்பு கால அளவை நீங்கள் அறிந்தவுடன், அவற்றை () போன்ற தொனியுடன் பயன்படுத்தலாம்
தொனி (பின் பெயர், குறிப்பு மதிப்பு, குறிப்பு காலம்);
இந்த டுடோரியலில் இயங்கும் டோன்களுக்காக, உங்கள் கருப்பொருள்களில் அவற்றை இயக்கக்கூடிய “theme.h” தலைப்பு கோப்பிற்குள் குறிப்பு மதிப்பு மற்றும் குறிப்பு காலத்தை நான் உங்களுக்கு வழங்கியுள்ளேன். உங்கள் சுரங்கத்தில் ஏதேனும் குறிப்பிட்ட தொனி இருந்தால், அதைப் படித்த உங்கள் திட்டத்தில் நீங்கள் விளையாட விரும்பினால்…. வேறு இந்த தலைப்பைத் தவிர்த்துவிட்டு அடுத்தவருக்கு கீழே விழவும்.
எந்தவொரு குறிப்பிட்ட தொனியையும் இயக்க, அந்த குறிப்பிட்ட இசையின் தாள் இசையைப் பெற வேண்டும் மற்றும் குறிப்பு மதிப்பு மற்றும் குறிப்பு கால அளவைப் படிப்பதன் மூலம் தாள் இசையை அர்டுயினோ ஸ்கெட்சாக மாற்ற வேண்டும். நீங்கள் ஒரு இசை மாணவராக இருந்தால், அது உங்களுக்கு ஒரு கேக் துண்டாக இருக்கும், இல்லையென்றால் சிறிது நேரம் செலவழித்து, நான் செய்ததைப் போல உங்களைத் துண்டிக்கிறேன். ஆனால் பைசோ பஸரில் உங்கள் தொனி விளையாடும் நாளின் முடிவில், உங்கள் முயற்சிக்கு மதிப்புள்ளது.
குறிப்பு மதிப்பு மற்றும் குறிப்பு காலம் உங்களிடம் கிடைத்தவுடன், கீழே காட்டப்பட்டுள்ளபடி அவற்றை “theme.h” தலைப்பு கோப்பிற்குள் நிரலில் ஏற்றவும்
// ############# ** "அவர் ஒரு பைரேட்" பைரேட்ஸ் ஆஃப் கரீபியனின் தீம் பாடல் ** ############# // int பைரேட்ஸ்_ குறிப்பு = {NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOT4_ NOTE_A3, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_F4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, குறிப்பு_4 NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_D4, 0, 0, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_F4, குறிப்பு 0, NOTE_D4, NOTE_E3, NOTE_F4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_D4, 0, NOTE_D4, NOTE_F4,NOTE_E4, NOTE_E4, NOTE_F4, NOTE_D4}; int Pirates_duration = {4,8,4,8,4,8,8,8,8,4,8,4,8,4,8,8,8,8,4,8,4,8, 4, 8,8,8,8,4,4,8,8,4,4,8,8,4,4,8,8, 8,4,8,8,8,4,4,8,8, 4,4,8,8,4,4,8,4, 4,8,8,8,8,4,4,8,8,4,4,8,8,4,4,8,8, 8,4,8,8,8,4,4,4,8,4,8,8,8,4,4,8,8}; // ########### அவர் முடிவு ஒரு பைரேட் பாடல் ############ //
பைரேட்ஸ் ஆஃப் தி கரீபியன் திரைப்படமான “அவர் ஒரு பைரேட்” தீம் குறிப்பின் மதிப்பு மற்றும் குறிப்பு கால அளவைக் காட்டுகிறது. உங்கள் கருப்பொருளை இதுபோன்று சேர்க்கலாம்.
திட்ட மற்றும் வன்பொருள்:
இந்த Arduino Tone Generator திட்ட திட்டத்தின் திட்டம் கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளது:

இணைப்பு மிகவும் எளிதானது, எங்களிடம் பைசோ ஸ்பீக்கர் உள்ளது, இது பின் 8 மற்றும் 1 கே மின்தடையின் மூலம் அர்டுயினோவின் மைதானத்துடன் இணைக்கப்பட்டுள்ளது. இந்த 1 கே மின்தடை தற்போதைய கட்டுப்படுத்தும் மின்தடையாகும், இது மின்னோட்டத்தை பாதுகாப்பான எல்லைக்குள் வைத்திருக்க பயன்படுகிறது. தேவையான மெலடியைத் தேர்ந்தெடுக்க நான்கு சுவிட்சுகள் உள்ளன. சுவிட்சின் ஒரு முனை தரையுடன் இணைக்கப்பட்டுள்ளது, மறு முனை முறையே முள் 2, 3, 4 மற்றும் 5 உடன் இணைக்கப்பட்டுள்ளது. சுவிட்சுகள் மென்பொருளைப் பயன்படுத்தி உள்நாட்டில் இயக்கப்பட்ட மின்தடையங்களைக் கொண்டிருக்கும். சுற்று மிகவும் எளிமையானது என்பதால், கீழே காட்டப்பட்டுள்ளபடி ரொட்டி பலகையைப் பயன்படுத்தி இணைக்க முடியும்:

Arduino நிரல் விளக்கம்:
நீங்கள் கருத்தை புரிந்து கொண்டவுடன், Arduino நிரல் மிகவும் நேராக முன்னோக்கி உள்ளது. முழுமையான குறியீடு டுடோரியலின் முடிவில் கொடுக்கப்பட்டுள்ளது. தலைப்பு கோப்புகளைச் சேர்ப்பது உங்களுக்குத் தெரியாவிட்டால், குறியீட்டை இங்கிருந்து ஒரு ஜிப் கோப்பாக பதிவிறக்கம் செய்து நேரடியாக உங்கள் ஆர்டுயினோவில் பதிவேற்றலாம்.
மேலே உள்ள இரண்டு சேர்க்க வேண்டிய தலைப்பு கோப்புகள். ஒவ்வொரு இசைக் குறிப்பையும் ஒரு குறிப்பிட்ட அதிர்வெண்ணுடன் ஒப்பிடுவதற்கு “பிட்ச்ஸ்.ஹெச்” பயன்படுத்தப்படுகிறது, மேலும் “தீம்ஸ்.ஹெச்” நான்கு டோன்களின் குறிப்பு மதிப்பு மற்றும் குறிப்பு கால அளவைக் கொண்டுள்ளது.
# அடங்கும் "பிட்ச்ஸ்." # அடங்கும் "கருப்பொருள்கள்."
தேவைப்படும்போது ஒவ்வொரு தொனியையும் இயக்க ஒரு செயல்பாடு உருவாக்கப்படுகிறது. இங்கே Play_Pirates () செயல்பாடு “அவர் ஒரு பைரேட்” என்று அழைக்கப்படும் போது தொனி இயக்கப்படும் . இந்த செயல்பாடு முள் எண் 8 இல் அதிர்வெண்ணை உருவாக்கும் தொனி செயல்பாட்டைக் கொண்டுள்ளது. இசையை இயக்கியவுடன் அதை நிறுத்த நோடோன் (8) அழைக்கப்படுகிறது. நீங்கள் உங்கள் சொந்த தொனி விளையாட விரும்பினால், நீங்கள் சேமித்திருக்கக் என்று புதிய குறிப்பை மற்றும் கால மதிப்புகளுக்கு Pirates_note மற்றும் Pirates_duration மாற்ற "themes.h" மதிப்பு
(int intNote = 0; thisNote <(sizeof (Pirates_note) / sizeof (int));); int pauseBetweenNotes = noteDuration * 1.05; // இங்கே 1.05 டெம்போ, மெதுவாக தாமதமாக விளையாட அதிகரிக்கவும் (pauseBetweenNotes); noTone (8); }}
முள் 2, 3, 4 மற்றும் 5 ஆகியவை குறிப்பிட்ட தொனியைத் தேர்ந்தெடுக்கப் பயன்படுகின்றன. மேலே உள்ள குறியீட்டைப் பயன்படுத்துவதன் மூலம் உள் இழுக்கும் மின்தடையங்களைப் பயன்படுத்தி இயல்பாக இந்த ஊசிகளை அதிக அளவில் வைத்திருக்கிறார்கள். பொத்தானை அழுத்தும்போது அது தரையில் இழுக்கப்படுகிறது.
pinMode (2, INPUT_PULLUP); pinMode (3, INPUT_PULLUP); pinMode (4, INPUT_PULLUP); pinMode (5, INPUT_PULLUP);
ஒரு பொத்தானை அழுத்தும்போது பாடலை இயக்க குறியீட்டின் தொகுதி கீழே பயன்படுத்தப்படுகிறது. இது ஒவ்வொரு பொத்தானின் டிஜிட்டல் மதிப்பைப் படிக்கும், அது குறைவாக (பூஜ்ஜியம்) பெறும்போது, பொத்தானை அழுத்தி, தேவையான செயல்பாட்டை அழைப்பதன் மூலம் அந்தந்த தொனியை இயக்குகிறது.
if (DigitalRead (2) == 0) {Serial.println ("தேர்ந்தெடுக்கப்பட்ட -> 'அவர் ஒரு கொள்ளையர்'"); ப்ளே_ பைரேட்ஸ் (); } if (DigitalRead (3) == 0) {Serial.println ("தேர்ந்தெடுக்கப்பட்ட -> 'கிரேஸி தவளை'"); Play_CrazyFrog (); } if (DigitalRead (4) == 0) {Serial.println ("தேர்ந்தெடுக்கப்பட்ட -> 'Mario UnderWorld'"); Play_MarioUW (); } if (DigitalRead (5) == 0) {Serial.println ("தேர்ந்தெடுக்கப்பட்ட -> 'அவர் ஒரு கொள்ளையர்'"); ப்ளே_ பைரேட்ஸ் (); }
இந்த மெலடி பிளேயர் அர்டுயினோ சர்க்யூட்டின் வேலை:
உங்கள் குறியீடு மற்றும் வன்பொருள் தயாரானதும், நிரலை உங்கள் ஆர்டுயினோவில் எரிக்கவும், பொத்தான்களை அழுத்துவதன் மூலம் நீங்கள் தொனியை இயக்க முடியும். உங்களுக்கு ஏதேனும் சிக்கல்கள் இருந்தால் பிழைத்திருத்தத்திற்கான உங்கள் சீரியல் மானிட்டரைப் பாருங்கள் அல்லது சிக்கலைப் புகாரளிக்க கருத்துப் பகுதியைப் பயன்படுத்தவும், உங்களுக்கு உதவ நான் மகிழ்ச்சியடைவேன்.

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