இந்த திட்டத்தில் ARDUINO UNO இல் ADC (Analog to Digital Conversion) என்ற கருத்தைப் பயன்படுத்துகிறோம். ஒரு காந்தத்தின் புல வலிமையை அளவிட ஹால் எஃபெக்ட் சென்சார் மற்றும் அர்டுயினோ யூனோவைப் பயன்படுத்தப் போகிறோம். நாங்கள் இங்கு பயன்படுத்திய சென்சார் UGN3503U ஆகும். இது ஒரு ஹால் சென்சார் ஆகும், இது காந்தப்புல வலிமையை உணர்கிறது மற்றும் புல வலிமைக்கு விகிதாசார வெளியீட்டில் மாறுபட்ட மின்னழுத்தத்தை வழங்குகிறது. இந்த சென்சார் ' GAUSS ' இன் அலகுகளில் புல வலிமையை எடுக்கும்.

எனவே இந்த சென்சார் மூலம் மாறுபட்ட மின்னழுத்தமாக புல வலிமை இருக்கும். ஏடிசி அம்சத்தைப் பயன்படுத்துவதன் மூலம் இந்த மின்னழுத்தத்தை எண்ணாக மாற்றுவோம். இந்த எண் புல வலிமையைக் குறிக்கிறது மற்றும் எல்சிடியில் காட்டப்பட்டுள்ளது.
Arduino ஆறு ADC சேனல்களைக் கொண்டுள்ளது. அவற்றில் ஏதேனும் ஒன்று அல்லது அனைத்தையும் அனலாக் மின்னழுத்தத்திற்கான உள்ளீடுகளாகப் பயன்படுத்தலாம். UNO ADC 10 பிட் தீர்மானம் கொண்டது (எனவே (0- (2 ^ 10) 1023% இலிருந்து முழு எண் மதிப்புகள்). இதன் பொருள் 0 மற்றும் 5 வோல்ட்டுகளுக்கு இடையிலான உள்ளீட்டு மின்னழுத்தங்களை 0 மற்றும் 1023 க்கு இடையில் முழு மதிப்புகளாக வரைபடமாக்கும். எனவே ஒவ்வொரு யூனிட்டிற்கும் (5/1024 = 4.9 எம்வி).
இவை அனைத்திலும் நாம் ஒரு பொட்டென்டோமீட்டர் அல்லது பானையை 'A0' சேனலுடன் இணைக்கப் போகிறோம், மேலும் ADC முடிவை ஒரு எளிய காட்சியில் காண்பிக்கப் போகிறோம். எளிய காட்சிகள் 16x1 மற்றும் 16x2 காட்சி அலகுகள். 16x1 காட்சி அலகு 16 எழுத்துக்களைக் கொண்டிருக்கும் மற்றும் ஒரே வரிசையில் இருக்கும். 16x2 இல் மொத்தம் 16in 1 வது வரியில் 32 எழுத்துகளும், 2 வது வரிசையில் 16 எழுத்துக்களும் இருக்கும். ஒவ்வொரு கதாபாத்திரத்திலும் 5x10 = 50 பிக்சல்கள் இருப்பதை இங்கே ஒருவர் புரிந்து கொள்ள வேண்டும், எனவே ஒரு பாத்திரத்தைக் காண்பிக்க அனைத்து 50 பிக்சல்களும் ஒன்றாக வேலை செய்ய வேண்டும், ஆனால் அதைப் பற்றி நாம் கவலைப்பட வேண்டியதில்லை, ஏனென்றால் காட்சி அலகுக்கு மற்றொரு கட்டுப்படுத்தி (HD44780) உள்ளது பிக்சல்களைக் கட்டுப்படுத்தும் வேலை (நீங்கள் அதை எல்சிடி யூனிட்டில் காணலாம், இது பின்புறத்தில் உள்ள கறுப்புக் கண்).
கூறுகள் தேவை
வன்பொருள்: ARDUINO UNO, மின்சாரம் (5v), JHD_162ALCD (16x2LCD), 100uF மின்தேக்கி (2 துண்டுகள்), UGn3503U.
மென்பொருள்: arduino IDE (Arduino nightly)
சுற்று வரைபடம் மற்றும் விளக்கம்

மேலே உள்ள படம் arduino uno ஐப் பயன்படுத்தி காந்தப்புல அளவீட்டுக்கான சுற்று வரைபடத்தைக் காட்டுகிறது.
16x2 எல்சிடியில் ஒரு பின் ஒளி இருந்தால் எல்லாவற்றிற்கும் மேலாக 16 ஊசிகளும் உள்ளன, பின் ஒளி இல்லாவிட்டால் 14 ஊசிகளும் இருக்கும். ஒருவர் பின் ஒளி ஊசிகளை சக்தியளிக்கலாம் அல்லது விட்டுவிடலாம். இப்போது 14 ஊசிகளில் 8 தரவு ஊசிகளும் (7-14 அல்லது டி 0-டி 7), 2 மின்சாரம் வழங்கல் ஊசிகளும் (1 & 2 அல்லது விஎஸ்எஸ் & விடிடி அல்லது ஜிஎன்டி & + 5 வி), மாறுபட்ட கட்டுப்பாட்டுக்கு 3 வது முள் (எழுத்துக்கள் எவ்வளவு தடிமனாக இருக்க வேண்டும் என்பதை விஇஇ கட்டுப்படுத்துகிறது காட்டப்பட்டுள்ளது) மற்றும் 3 கட்டுப்பாட்டு ஊசிகளும் (RS & RW & E).
மேலே உள்ள சுற்றில், நான் இரண்டு கட்டுப்பாட்டு ஊசிகளை மட்டுமே எடுத்துள்ளதை நீங்கள் அவதானிக்கலாம், கான்ட்ராஸ்ட் பிட் மற்றும் READ / WRITE ஆகியவை பெரும்பாலும் பயன்படுத்தப்படுவதில்லை, எனவே அவை தரையில் சுருக்கப்படலாம். இது எல்சிடியை மிக உயர்ந்த மாறுபாடு மற்றும் வாசிப்பு பயன்முறையில் வைக்கிறது. எழுத்துக்கள் மற்றும் தரவை அதற்கேற்ப அனுப்ப நாம் இயக்க மற்றும் RS ஊசிகளைக் கட்டுப்படுத்த வேண்டும்.
எல்சிடிக்கு செய்யப்படும் இணைப்புகள் கீழே கொடுக்கப்பட்டுள்ளன:
தரையில் PIN1 அல்லது VSS
PIN2 அல்லது VDD அல்லது VCC to + 5v power
PIN3 அல்லது VEE தரையில் (ஒரு தொடக்கநிலைக்கு அதிகபட்ச மாறுபாட்டை வழங்குகிறது)
ARDUINO UNO இன் PIN8 க்கு PIN4 அல்லது RS (பதிவு தேர்வு)
PIN5 அல்லது RW (படிக்க / எழுது) தரையில் (எல்சிடியை வாசிப்பு பயன்முறையில் வைக்கிறது பயனருக்கான தகவல்தொடர்புகளை எளிதாக்குகிறது)
ARDUINO UNO இன் PIN9 க்கு PIN6 அல்லது E (இயக்கு)
ARDUINO UNO இன் PIN11 அல்லது D4 முதல் PIN10 வரை
ARDUINO UNO இன் PIN12 அல்லது D5 முதல் PIN11 வரை
ARDUINO UNO இன் PIN13 அல்லது D6 முதல் PIN12 வரை
ARDUINO UNO இன் PIN14 அல்லது D7 முதல் PIN13 வரை
ARDUINO IDE பயனரை 4 பிட் பயன்முறையில் எல்சிடியைப் பயன்படுத்த அனுமதிக்கிறது. இந்த வகை தகவல்தொடர்பு ARDUINO இல் முள் பயன்பாட்டைக் குறைக்க பயனருக்கு உதவுகிறது, மற்றதைப் போலல்லாமல் ARDUINO ஐ 4 it பயன்முறையில் பயன்படுத்துவதற்கு தனித்தனியாக திட்டமிடப்பட வேண்டியதில்லை, ஏனெனில் முன்னிருப்பாக ARDUINO 4 பிட் பயன்முறையில் தொடர்பு கொள்ள அமைக்கப்பட்டுள்ளது. சுற்றில் நாங்கள் 4 பிட் தகவல்தொடர்பு (டி 4-டி 7) பயன்படுத்தியதைக் காணலாம். எனவே மேலேயுள்ள அட்டவணையில் இருந்து கவனிப்பதில் இருந்து எல்.சி.டி.யின் 6 ஊசிகளை கட்டுப்படுத்தியுடன் இணைக்கிறோம், இதில் 4 ஊசிகளும் தரவு ஊசிகளும் கட்டுப்பாட்டுக்கு 2 ஊசிகளும் ஆகும்.
வேலை
ARDUINO UNO உடன் எல்.சி.டி.யை இணைக்க, நாம் சில விஷயங்களை அறிந்து கொள்ள வேண்டும்.
|
முதலில் UNO ADC சேனல்கள் 5V இன் இயல்புநிலை குறிப்பு மதிப்பைக் கொண்டுள்ளன. எந்தவொரு உள்ளீட்டு சேனலிலும் ஏடிசி மாற்றத்திற்கான அதிகபட்ச உள்ளீட்டு மின்னழுத்தத்தை 5 வி கொடுக்க முடியும் என்பதே இதன் பொருள். சில சென்சார்கள் 0-2.5V இலிருந்து மின்னழுத்தங்களை வழங்குவதால், 5V குறிப்புடன் நாம் குறைவான துல்லியத்தைப் பெறுகிறோம், எனவே இந்த குறிப்பு மதிப்பை மாற்ற எங்களுக்கு உதவும் ஒரு வழிமுறை உள்ளது. எனவே எங்களிடம் உள்ள குறிப்பு மதிப்பை மாற்றுவதற்காக (“அனலாக் ரெஃபரன்ஸ் ();”)
இயல்பாக, அதிகபட்ச போர்டு ஏடிசி தீர்மானம் 10 பிட்ஸைப் பெறுகிறோம், இந்த தீர்மானத்தை அறிவுறுத்தலைப் பயன்படுத்தி மாற்றலாம் (“அனலாக் ரீட் ரெசல்யூஷன் (பிட்கள்);”). இந்த தீர்மான மாற்றம் சில சந்தர்ப்பங்களில் கைக்கு வரலாம்.
இப்போது மேலே உள்ள நிபந்தனைகள் இயல்புநிலையாக அமைக்கப்பட்டால், “அனலாக் ரீட் (முள்);” என்ற செயல்பாட்டை நேரடியாக அழைப்பதன் மூலம் சேனல் '0' இன் ஏடிசியிலிருந்து மதிப்பைப் படிக்கலாம், இங்கே “முள்” நாம் அனலாக் சிக்னலை இணைத்த இடத்தைக் குறிக்கிறது, இந்த விஷயத்தில் அது “A0” ஆக இருங்கள். ADC இலிருந்து வரும் மதிப்பை ஒரு முழு எண்ணாக “int ADCVALUE = அனலாக் ரீட் (A0) ஆக எடுத்துக் கொள்ளலாம்; ”, இந்த அறிவுறுத்தலின் மூலம் ADC ஆனது“ ADCVALUE ”என்ற முழு எண்ணில் சேமிக்கப்பட்ட பிறகு மதிப்பு.
இப்போது 16x2 எல்சிடி பற்றி கொஞ்சம் பேசலாம். முதலில் நாம் தலைப்பு கோப்பை இயக்க வேண்டும் ('# அடங்கும்
இரண்டாவதாக நாம் எந்த வகை எல்சிடியை இங்கு பயன்படுத்துகிறோம் என்பதை போர்டுக்கு சொல்ல வேண்டும். எங்களிடம் பல வகையான எல்சிடி இருப்பதால் (20x4, 16x2, 16x1 போன்றவை). இங்கே நாம் ஒரு 16x2 எல்சிடியை UNO உடன் இடைமுகப்படுத்தப் போகிறோம், எனவே 'lcd.begin (16, 2);' 16x1 க்கு 'lcd.begin (16, 1);'
இந்த அறிவுறுத்தலில் நாம் ஊசிகளை எங்கு இணைத்தோம் என்று பலகைக்குச் சொல்லப் போகிறோம், இணைக்கப்பட்ட ஊசிகளை “RS, En, D4, D5, D6, D7” என்று குறிப்பிட வேண்டும். இந்த ஊசிகளை சரியாக குறிப்பிட வேண்டும். சுற்று வரைபடத்தில் காண்பிக்கப்படுவதை நாங்கள் RS ஐ PIN0 உடன் இணைத்ததால், முள் எண்ணை "லிக்விட் கிரிஸ்டல் எல்சிடி (0, 1, 8, 9, 10, 11);"
மேலே எஞ்சியிருப்பது தரவை அனுப்புவதே, எல்சிடியில் காட்டப்பட வேண்டிய தரவை “சி.டி.பிரிண்ட் (" ஹலோ, உலகம்! ");" என்று எழுத வேண்டும். இந்த கட்டளையின் மூலம் எல்சிடி 'ஹலோ, உலகம்!' இதைப் பற்றி நாங்கள் கவலைப்படத் தேவையில்லை என்பதை நீங்கள் காண முடியும் என்பதால், நாங்கள் துவக்க வேண்டும், தரவுகளைக் காட்ட UNO தயாராக இருக்கும். BYTE மூலம் BYTE தரவை இங்கு அனுப்ப ஒரு நிரல் வளையத்தை நாம் எழுத வேண்டியதில்லை.
சென்சார் அருகே ஒரு காந்தம் கொண்டு வரப்பட்டவுடன், சென்சார் புலத்திற்கு விகிதாசார வெளியீட்டில் ஒரு மின்னழுத்தத்தைக் குறிக்கிறது, இந்த மதிப்பு யூனோவால் எடுக்கப்பட்டு எல்சிடியில் காட்டப்படுகிறது. இந்த காந்தப்புல அளவீட்டு திட்டத்தின் வேலை கீழே உள்ள சி குறியீடு மூலம் மேலும் விளக்கப்பட்டுள்ளது.
