- எப்படி இது செயல்படுகிறது
- தேவையான கூறுகள்
- திட்டவியல்
- Arduino Osclloscope Code
- பைதான் (ப்ளாட்டர்) ஸ்கிரிப்ட்
- Arduino குறியீடு
- Arduino Oscilloscope in Action
எந்தவொரு எலக்ட்ரானிக்ஸ் பொறியியலாளர் அல்லது தயாரிப்பாளரின் பணியிடத்தில் நீங்கள் காணும் மிக முக்கியமான கருவிகளில் ஒன்று ஆஸில்லோஸ்கோப். இது முதன்மையாக அலைவடிவத்தைப் பார்ப்பதற்கும் மின்னழுத்த அளவுகள், அதிர்வெண், இரைச்சல் மற்றும் அதன் உள்ளீட்டில் பயன்படுத்தப்படும் சமிக்ஞைகளின் பிற அளவுருக்கள் ஆகியவற்றை காலப்போக்கில் மாறக்கூடும் என்பதற்கும் பயன்படுத்தப்படுகிறது. குறியீட்டு பிழைத்திருத்தத்திற்கான உட்பொதிக்கப்பட்ட மென்பொருள் உருவாக்குநர்களால் மற்றும் பழுதுபார்க்கும் போது மின்னணு சாதனங்களை சரிசெய்ய தொழில்நுட்ப வல்லுநர்களால் இது பயன்படுத்தப்படுகிறது. இந்த காரணங்கள் அலைக்காட்டி எந்த பொறியியலாளருக்கும் ஒரு கருவியாக இருக்க வேண்டும். ஒரே பிரச்சினை என்னவென்றால், அவை மிகவும் விலை உயர்ந்தவை, மிகக் துல்லியத்துடன் மிக அடிப்படையான செயல்பாடுகளைச் செய்யும் ஆஸில்லோஸ்கோப்புகள் $ 45 முதல் $ 100 வரை விலை உயர்ந்ததாக இருக்கும், அதே நேரத்தில் மிகவும் மேம்பட்ட மற்றும் திறமையான செலவுகள் $ 150 க்கும் அதிகமாக இருக்கும். இன்று நான் Arduino ஐ எவ்வாறு பயன்படுத்துவது என்பதை நிரூபிப்பேன்மற்றும் ஒரு மென்பொருள், எனக்கு பிடித்த நிரலாக்க மொழியான பைத்தானுடன் உருவாக்கப்படும், குறைந்த செலவில், 4-சேனல் ஆர்டுயினோ அலைக்காட்டி, சில மலிவான அலைக்காட்டிகள் அலைவடிவங்களின் காட்சி மற்றும் மின்னழுத்த அளவுகளை நிர்ணயிப்பது போன்ற பணிகளைச் செய்யக்கூடியவை. சமிக்ஞைகளுக்கு.
எப்படி இது செயல்படுகிறது
இந்த திட்டத்திற்கு இரண்டு பாகங்கள் உள்ளன;
- தரவு மாற்றி
- தி ப்ளாட்டர்
அலைக்காட்டிகள் பொதுவாக அதன் உள்ளீட்டு சேனலுக்கு பயன்படுத்தப்படும் அனலாக் சிக்னலின் காட்சி பிரதிநிதித்துவத்தை உள்ளடக்கியது. இதை அடைய, நாம் முதலில் சமிக்ஞையை அனலாக்ஸிலிருந்து டிஜிட்டலுக்கு மாற்ற வேண்டும், பின்னர் தரவைத் திட்டமிட வேண்டும். மாற்றத்திற்காக, சமிக்ஞை உள்ளீட்டில் உள்ள அனலாக் தரவை டிஜிட்டல் சிக்னலாக மாற்ற அர்டுயினோ பயன்படுத்தும் atmega328p மைக்ரோகண்ட்ரோலரில் ADC (அனலாக் டு டிஜிட்டல் மாற்றி) மீது நாங்கள் செல்வாக்கு செலுத்துவோம். மாற்றத்திற்குப் பிறகு, நேரத்திற்கான மதிப்பு UART வழியாக Arduino இலிருந்து PC க்கு அனுப்பப்படுகிறது, அங்கு பைத்தானைப் பயன்படுத்தி உருவாக்கப்படும் சதி மென்பொருள் மென்பொருள் ஒவ்வொரு தரவையும் நேரத்திற்கு எதிராகத் திட்டமிடுவதன் மூலம் உள்வரும் தரவை அலைவடிவமாக மாற்றும்.
தேவையான கூறுகள்
இந்த திட்டத்தை உருவாக்க பின்வரும் கூறுகள் தேவை;
- Arduino Uno (மற்ற பலகைகளில் எதையும் பயன்படுத்தலாம்)
- ப்ரெட்போர்டு
- 10 கே மின்தடை (1)
- எல்.டி.ஆர் (1)
- ஜம்பர் கம்பிகள்
தேவையான மென்பொருட்கள்
- Arduino IDE
- பைதான்
- பைதான் நூலகங்கள்: பைசீரியல், மேட்லோட்லிப், டிராவ்னோ
திட்டவியல்
Arduino Oscilloscope க்கான திட்டம் எளிதானது. ஆர்டுயினோவின் குறிப்பிட்ட அனலாக் முள் மூலம் ஆராயப்பட வேண்டிய சமிக்ஞையை நாம் இணைக்க வேண்டும். எவ்வாறாயினும், எல்.டி.ஆரை ஒரு எளிய மின்னழுத்த வகுப்பி அமைப்பில் பயன்படுத்துவோம், இது ஆராயப்பட வேண்டிய சமிக்ஞையை உருவாக்குகிறது, அதாவது உருவாக்கப்பட்ட அலைவடிவம் எல்.டி.ஆரைச் சுற்றியுள்ள ஒளியின் தீவிரத்தின் அடிப்படையில் மின்னழுத்த அளவை விவரிக்கும்.
கீழே உள்ள திட்டங்களில் காட்டப்பட்டுள்ளபடி கூறுகளை இணைக்கவும்;

இணைப்பிற்குப் பிறகு, அமைப்பு கீழே உள்ள படத்தை விரும்ப வேண்டும்.

இணைப்புகள் அனைத்தும் முடிந்தவுடன், குறியீட்டை எழுத தொடரலாம்.
Arduino Osclloscope Code
இரண்டு பிரிவுகளுக்கும் குறியீடுகளை எழுதுவோம். முன்னர் குறிப்பிட்டபடி ப்ளாட்டரைப் பொறுத்தவரை, நாங்கள் ஆர்டுயினோவிலிருந்து தரவை UART மற்றும் ப்ளாட்டுகள் வழியாக ஏற்றுக் கொள்ளும் பைதான் ஸ்கிரிப்டை எழுதுவோம், அதே நேரத்தில் மாற்றிக்கு, ADC இலிருந்து தரவை எடுத்து அதை மாற்றும் ஒரு Arduino ஸ்கெட்சை எழுதுவோம். மின்னழுத்த நிலைகள் சதித்திட்டத்திற்கு அனுப்பப்படுகின்றன.
பைதான் (ப்ளாட்டர்) ஸ்கிரிப்ட்
பைதான் குறியீடு மிகவும் சிக்கலானது என்பதால், அதனுடன் தொடங்குவோம்.
நாங்கள் உட்பட இரண்டு நூலகங்களைப் பயன்படுத்துவோம்; முன்பே குறிப்பிட்டபடி பைதான் ஸ்கிரிப்டுடன் டிரானோ, மேட்லோட்லிப் மற்றும் பைசீரியல் . சீரியல் போர்ட்டில் தொடர்பு கொள்ளக்கூடிய பைதான் ஸ்கிரிப்டை உருவாக்க பைசீரியல் எங்களை அனுமதிக்கிறது, மேட்லோட்லிப் சீரியல் போர்ட் வழியாக பெறப்பட்ட தரவுகளிலிருந்து அடுக்குகளை உருவாக்கும் திறனை நமக்கு வழங்குகிறது, மேலும் சதித்திட்டத்தை உண்மையான நேரத்தில் புதுப்பிக்க டிரானோ ஒரு வழியை வழங்குகிறது.
உங்கள் பிசி, வழியாக எளிதான ஆகியவற்றின் மீது இந்த தொகுப்புகளை நிறுவ பல வழிகள் உள்ளன பிப் . சாளரங்கள் அல்லது லினக்ஸ் கணினியில் கட்டளை வரி வழியாக பிப் நிறுவப்படலாம். பிஐபி பைதான் 3 உடன் தொகுக்கப்பட்டுள்ளது, எனவே பைதான் 3 ஐ நிறுவவும், பைத்தானை பாதையில் சேர்ப்பது குறித்த பெட்டியை சரிபார்க்கவும் நான் உங்களுக்கு அறிவுறுத்துகிறேன். குழாய் நிறுவுவதில் உங்களுக்கு சிக்கல்கள் இருந்தால், உதவிக்குறிப்புகளுக்கு இந்த அதிகாரப்பூர்வ பைதான் வலைத்தளத்தைப் பாருங்கள்.
குழாய் நிறுவப்பட்டவுடன், இப்போது நமக்குத் தேவையான பிற நூலகங்களை நிறுவலாம்.
விண்டோஸ் பயனர்களுக்கான கட்டளை வரியில் திறந்து, லினக்ஸ் பயனர்களுக்கான முனையம் மற்றும் பின்வருவனவற்றை உள்ளிடவும்;
குழாய் நிறுவு பைசீரியல்
இது முடிந்ததும், பயன்படுத்தி matplotlib ஐ நிறுவவும்;
குழாய் நிறுவல் matplotlib
டிராவ்னோ சில நேரங்களில் மேட்லோட்லிபுடன் நிறுவப்பட்டுள்ளது, ஆனால் உறுதியாக இருக்க, இயக்கவும்;
குழாய் நிறுவுதல் drawnow
நிறுவல் முடிந்தவுடன், இப்போது பைதான் ஸ்கிரிப்டை எழுத நாங்கள் தயாராக உள்ளோம்.
இந்த திட்டத்திற்கான பைதான் ஸ்கிரிப்ட் நான் ராஸ்பெர்ரி பை அடிப்படையிலான அலைக்காட்டிக்கு எழுதியதைப் போன்றது.
குறியீட்டிற்குத் தேவையான அனைத்து நூலகங்களையும் இறக்குமதி செய்வதன் மூலம் தொடங்குவோம்;
டிரானோ இறக்குமதியிலிருந்து plt ஆக இறக்குமதி நேர இறக்குமதி matplotlib.pyplot * இறக்குமதி பைசீரியல்
அடுத்து, குறியீட்டின் போது பயன்படுத்தப்படும் மாறிகள் உருவாக்கி துவக்குகிறோம். வரிசை துறைமுகத்திலிருந்து பெறப்பட்ட தரவைச் சேமிக்க வரிசை வால் பயன்படுத்தப்படும் மற்றும் எண்ணுவதற்கு cnt பயன்படுத்தப்படும். ஒவ்வொரு 50 தரவு எண்ணிக்கையிலும் இடம் 0 இல் உள்ள தரவு நீக்கப்படும். தரவு அலைக்காட்டியில் காண்பிக்கப்படுவதற்காக இது செய்யப்படுகிறது.
val = cnt = 0
அடுத்து, சீரியல் போர்ட் பொருளை உருவாக்குகிறோம், இதன் மூலம் Arduino எங்கள் பைதான் ஸ்கிரிப்டுடன் தொடர்பு கொள்ளும். கீழே குறிப்பிடப்பட்டுள்ள காம் போர்ட் அதே காம் போர்ட் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள், இதன் மூலம் உங்கள் ஆர்டுயினோ போர்டு ஐடிஇ உடன் தொடர்பு கொள்கிறது. மேலே பயன்படுத்தப்பட்ட 115200 பாட் வீதம் அர்டுயினோவுடன் அதிவேக தகவல்தொடர்புகளை உறுதிப்படுத்த பயன்படுத்தப்பட்டது. பிழைகளைத் தடுக்க, இந்த பாட் வீதத்துடன் தொடர்பு கொள்ள Arduino தொடர் துறைமுகமும் இயக்கப்பட வேண்டும்.
போர்ட் = சீரியல்.சீரியல் ('COM4', 115200, நேரம் முடிந்தது = 0.5)
அடுத்து, சதித்திட்டத்தைப் பயன்படுத்தி ஊடாடுகிறோம்;
plt.ion ()
பெறப்பட்ட தரவிலிருந்து சதித்திட்டத்தை உருவாக்க ஒரு செயல்பாட்டை உருவாக்க வேண்டும், நாங்கள் எதிர்பார்க்கும் மேல் மற்றும் குறைந்தபட்ச வரம்பை உருவாக்குகிறோம், இந்த விஷயத்தில் அர்டுயினோவின் ஏடிசியின் தீர்மானத்தின் அடிப்படையில் 1023 ஆகும். நாங்கள் தலைப்பை அமைத்து, ஒவ்வொரு அச்சையும் லேபிளித்து, சதித்திட்டத்தை எளிதில் அடையாளம் காண ஒரு புராணக்கதையைச் சேர்க்கிறோம்.
# எண்ணிக்கை செயல்பாட்டை உருவாக்கவும் def makeFig (): plt.ylim (-1023,1023) plt.title ('ஆசிலோஸ்கோப்') plt.grid (உண்மை) plt.ylabel ('ADC வெளியீடுகள்') plt.plot (val, 'ro - ', லேபிள் =' சேனல் 0 ') plt.legend (loc =' கீழ் வலது ')
இது முடிந்தவுடன், சீரியல் போர்ட்டிலிருந்து தரவை கிடைக்கும்போது எடுத்து அதை ப்ளாட் செய்யும் பிரதான லூப்பை எழுத இப்போது நாங்கள் தயாராக உள்ளோம். Arduino உடன் ஒத்திசைக்க, தரவைப் படிக்க அதன் தயார்நிலையைக் குறிக்க பைதான் ஸ்கிரிப்ட் மூலம் Arduino க்கு ஒரு ஹேண்ட்ஷேக் தரவு அனுப்பப்படுகிறது. Arduino ஹேண்ட்ஷேக் தரவைப் பெறும்போது, அது ADC இலிருந்து தரவோடு பதிலளிக்கிறது. இந்த ஹேண்ட்ஷேக் இல்லாமல், எங்களால் தரவை உண்மையான நேரத்தில் திட்டமிட முடியாது.
(உண்மை): port.write (b's ') # Arduino உடன் ஹேண்ட்ஷேக் என்றால் (port.inWaiting ()): # arduino பதிலளித்தால் மதிப்பு = port.readline () # பதில் அச்சு (மதிப்பு) # அச்சிடலைப் படிக்கவும் அதைக் கண்காணிக்கவும் எண் = int (மதிப்பு) # பெறப்பட்ட தரவை முழு எண் அச்சுக்கு மாற்றவும் ('சேனல் 0: {0}'. வடிவம் (எண்)) # அரை வினாடி தூங்கவும் . time.sleep (0.01) val.append (int (number)) drawnow (makeFig) # புதிய தரவு உள்ளீட்டை பிரதிபலிக்க சதி புதுப்பித்தல் plt.pause (.000001) cnt = cnt + 1 if (cnt> 50): val.pop (0) 0 நிலையில் உள்ள தரவை நீக்குவதன் மூலம் சதித்திட்டத்தை புதியதாக வைத்திருங்கள்
Arduino அலைவுகாட்டியுடன் முழுமையான மலைப்பாம்பு குறியீடு கீழே காட்டப்பட்டுள்ள கட்டுரையின் இறுதியில் வழங்கப்படுகிறது.
Arduino குறியீடு
இரண்டாவது குறியீடு ADC இலிருந்து சமிக்ஞையை குறிக்கும் தரவைப் பெறுவதற்கான Arduino ஸ்கெட்ச் ஆகும், பின்னர் சதி மென்பொருளிலிருந்து ஹேண்ட்ஷேக் சிக்னலைப் பெற காத்திருக்கவும். ஹேண்ட்ஷேக் சிக்னலைப் பெற்றவுடன், அது வாங்கிய தரவை UART வழியாக சதி மென்பொருளுக்கு அனுப்புகிறது.
நாம் Arduino என்ற அனலாக் முனையின் முள் பிரகடனம் செய்வதன் மூலம் தொடங்க சமிக்ஞை பயன்படுத்தப்படும் இது.
int சென்சார்பின் = A0;
அடுத்து, 115200 என்ற பாட் வீதத்துடன் தொடர் தகவல்தொடர்புகளைத் தொடங்குவோம்
வெற்றிட அமைவு () { // பைத்தான் ஸ்கிரிப்ட்டுடன் பொருந்துமாறு வினாடிக்கு 115200 பிட்களில் தொடர் தகவல்தொடர்பு துவக்க: சீரியல்.பெஜின் (115200); }
கடைசியாக, வொய்ட்லூப் () செயல்பாடு, தரவைப் படிப்பதைக் கையாளுகிறது, மேலும் தரவை சீரியல் வழியாக சதித்திட்டத்திற்கு அனுப்புகிறது.
void loop () { // அனலாக் முள் 0 இல் உள்ளீட்டைப் படியுங்கள்: மிதவை சென்சார்வல்யூ = அனலாக் ரீட் (சென்சார்பின்); பைட் தரவு = சீரியல்.ரெட் (); if (data == 's') { Serial.println (sensValue); தாமதம் (10); // நிலைத்தன்மைக்கான வாசிப்புகளுக்கு இடையில் தாமதம் } }
முழு Arduino தான் ஆசிலோஸ்கோப்பு குறியீடு கீழே காட்டப்பட்டுள்ள கட்டுரையின் இறுதியில் அத்துடன் கீழே கொடுக்கப்பட்டுள்ளது.
int சென்சார்பின் = A0; வெற்றிட அமைவு () { // பைத்தான் ஸ்கிரிப்ட்டுடன் பொருந்துமாறு வினாடிக்கு 115200 பிட்களில் தொடர் தகவல்தொடர்பு துவக்க: சீரியல்.பெஜின் (115200); } வெற்றிட சுழற்சி () { // அனலாக் முள் 0 இல் உள்ளீட்டைப் படியுங்கள்: ############################# #################### மிதவை சென்சார் மதிப்பு = அனலாக் ரீட் (சென்சார் பின்); பைட் தரவு = சீரியல்.ரெட் (); if (data == 's') { Serial.println (sensValue); தாமதம் (10); // நிலைத்தன்மைக்கான வாசிப்புகளுக்கு இடையில் தாமதம் } }
Arduino Oscilloscope in Action
Arduino அமைப்பில் குறியீட்டைப் பதிவேற்றி பைதான் ஸ்கிரிப்டை இயக்கவும். பைதான் கட்டளை வரி வழியாக தரவு ஸ்ட்ரீமிங் தொடங்குவதையும் கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி சதி ஒளி தீவிரத்துடன் மாறுபடுவதையும் நீங்கள் பார்க்க வேண்டும்.

ஆகவே ஆர்டுயினோவை ஆஸில்லோஸ்கோப்பாகப் பயன்படுத்தலாம், இதை ராஸ்பெர்ரி பை பயன்படுத்தி உருவாக்கலாம், ராஸ்பெர்ரி பை அடிப்படையிலான ஆஸில்லோஸ்கோப்பின் முழுமையான டுடோரியலை இங்கே பாருங்கள்.
