- தேவையான பொருள்:
- ADC0804 ஒற்றை சேனல் 8-பிட் ADC தொகுதி:
- சுற்று வரைபடம் மற்றும் விளக்கம்:
- ராஸ்பெர்ரி பை நிரலாக்க:
- ராஸ்பெர்ரி பை பயன்படுத்தி எல்சிடியில் ஃப்ளெக்ஸ் சென்சார் மதிப்பைக் காட்டுகிறது:
ராஸ்பெர்ரி பை என்பது மின்னணு பொறியாளர்கள் மற்றும் பொழுதுபோக்கிற்காக வடிவமைக்கப்பட்ட ARM கட்டிடக்கலை செயலி அடிப்படையிலான பலகையாகும். PI இப்போது மிகவும் நம்பகமான திட்ட மேம்பாட்டு தளங்களில் ஒன்றாகும். அதிக செயலி வேகம் மற்றும் 1 ஜிபி ரேம் மூலம், பட செயலாக்கம் மற்றும் இன்டர்நெட் ஆஃப் திங்ஸ் போன்ற பல உயர் திட்டங்களுக்கு PI ஐப் பயன்படுத்தலாம். ஒரு PI உடன் செய்யக்கூடிய அருமையான விஷயங்கள் நிறைய உள்ளன, ஆனால் ஒரு சோகமான அம்சம் என்னவென்றால், அதில் உள்ளடிக்கிய ADC தொகுதி இல்லை.
ராஸ்பெர்ரி பை சென்சார்களுடன் ஒன்றிணைக்க முடிந்தால் மட்டுமே, அது உண்மையான உலக அளவுருக்களைப் பற்றி அறிந்து கொள்ளவும், அதனுடன் தொடர்பு கொள்ளவும் முடியும். அங்குள்ள பெரும்பாலான சென்சார்கள் அனலாக் சென்சார், எனவே இந்த சென்சார்களை இடைமுகப்படுத்த ராஸ்பெர்ரி பை உடன் வெளிப்புற ஏடிசி தொகுதி ஐசி பயன்படுத்த கற்றுக்கொள்ள வேண்டும். இந்த திட்டத்தில் , ராஸ்பெர்ரி பை மூலம் ஃப்ளெக்ஸ் சென்சார் எவ்வாறு இடைமுகப்படுத்தலாம் மற்றும் எல்சிடி திரையில் அதன் மதிப்புகளைக் காண்பிப்பது எப்படி என்பதைக் கற்றுக்கொள்வோம்.
தேவையான பொருள்:
- ராஸ்பெர்ரி பை (எந்த மாதிரி)
- ADC0804 IC
- 16 * 2 எல்சிடி காட்சி
- ஃப்ளெக்ஸ் சென்சார்
- மின்தடையங்கள் மற்றும் மின்தேக்கிகள்
- ப்ரெட்போர்டு அல்லது பெர்ஃப் போர்டு.
ADC0804 ஒற்றை சேனல் 8-பிட் ADC தொகுதி:
நாங்கள் மேற்கொண்டு செல்வதற்கு முன், இந்த ADC0804 ஐசி மற்றும் ராஸ்பெர்ரி பை மூலம் இதை எவ்வாறு பயன்படுத்துவது என்பதைப் பற்றி அறிந்து கொள்வோம். ADC0804 என்பது ஒரு ஒற்றை சேனல் 8-பிட் ஐசி ஆகும், அதாவது இது ஒரு ஏடிசி மதிப்பைப் படித்து 8 பிட் டிஜிட்டல் தரவுகளுக்கு வரைபடமாக்கலாம். இந்த 8-பிட் டிஜிட்டல் தரவை ராஸ்பெர்ரி பை மூலம் படிக்க முடியும், இதனால் 2 ^ 8 256 ஆக இருப்பதால் மதிப்பு 0-255 ஆக இருக்கும். கீழேயுள்ள ஐசியின் பின்அவுட்களில் காட்டப்பட்டுள்ளபடி, இந்த டிஜிட்டலைப் படிக்க டிபி 0 முதல் டிபி 7 வரையிலான ஊசிகளும் பயன்படுத்தப்படுகின்றன மதிப்புகள்.

இப்போது இங்கே மற்றொரு முக்கியமான விஷயம் என்னவென்றால், ADC0804 5V இல் இயங்குகிறது, எனவே இது 5V லாஜிக் சிக்னலில் வெளியீட்டை வழங்குகிறது. 8 முள் வெளியீட்டில் (8 பிட்டுகளை குறிக்கும்), ஒவ்வொரு முள் தர்க்கம் '1' ஐ குறிக்க + 5 வி வெளியீட்டை வழங்குகிறது. எனவே சிக்கல் PI தர்க்கம் + 3.3v ஆகும், எனவே நீங்கள் PI இன் + 3.3V GPIO முள் + 5V தர்க்கத்தை கொடுக்க முடியாது. PI இன் எந்த GPIO முள்க்கும் + 5V கொடுத்தால், போர்டு சேதமடைகிறது.
எனவே + 5V இலிருந்து படிநிலை-கீழ் தர்க்க நிலைக்கு, நாங்கள் மின்னழுத்த வகுப்பி சுற்று பயன்படுத்துகிறோம். வோல்டேஜ் டிவைடர் சர்க்யூட் பற்றி மேலும் விவாதிக்க முன்னர் அதைப் பற்றி விவாதித்தோம். நாம் என்ன செய்வோம், + 5 வி தர்க்கத்தை 2 * 2.5 வி தர்க்கங்களாக பிரிக்க இரண்டு மின்தடைகளைப் பயன்படுத்துகிறோம். எனவே பிரிவுக்குப் பிறகு ராஸ்பெர்ரி பைக்கு + 2.5 வி தர்க்கத்தைக் கொடுப்போம். எனவே, தர்க்கம் '1' ஐ ADC0804 ஆல் வழங்கும்போதெல்லாம் + 5V க்கு பதிலாக PI GPIO Pin இல் + 2.5V ஐப் பார்ப்போம். ADC பற்றி இங்கே மேலும் அறிக: ADC0804 அறிமுகம்.
பெர்ஃப் போர்டில் நாங்கள் கட்டியுள்ள ADC0804 ஐப் பயன்படுத்தி ADC தொகுதிக்கூறின் படம் கீழே உள்ளது:

சுற்று வரைபடம் மற்றும் விளக்கம்:
ராஸ்பெர்ரி பை உடன் ஃப்ளெக்ஸ் சென்சாரை இணைப்பதற்கான முழுமையான சுற்று வரைபடம் கீழே காட்டப்பட்டுள்ளது. அதன் விளக்கம் பின்வருமாறு.

இந்த ராஸ்பெர்ரி பை ஃப்ளெக்ஸ் சென்சார் சுற்று நிறைய கம்பிகளைக் கொண்ட ஒரு பிட் சிக்கலானதாகத் தோன்றலாம், ஆனால் நீங்கள் உற்றுப் பார்த்தால் பெரும்பாலான கம்பிகள் எல்சிடி மற்றும் 8-பிட் டேட்டா முள் ஆகியவற்றிலிருந்து நேரடியாக ராஸ்பெர்ரி பை உடன் இணைக்கப்பட்டுள்ளன. இணைப்புகளை உருவாக்கி சரிபார்க்கும்போது பின்வரும் அட்டவணை உங்களுக்கு உதவும்.
|
முள் பெயர் |
ராஸ்பெர்ரி முள் எண் |
ராஸ்பெர்ரி பை GPIO பெயர் |
|
எல்சிடி வி.எஸ் |
முள் 4 |
தரையில் |
|
எல்சிடி வி.டி.டி. |
முள் 6 |
வி.சி.சி (+ 5 வி) |
|
எல்சிடி வீ |
முள் 4 |
தரையில் |
|
எல்சிடி ரூ |
முள் 38 |
GPIO 20 |
|
எல்சிடி ஆர்.டபிள்யூ |
முள் 39 |
தரையில் |
|
எல்சிடி இ |
முள் 40 |
GPIO 21 |
|
எல்சிடி டி 4 |
முள் 3 |
GPIO 2 |
|
எல்சிடி டி 5 |
முள் 5 |
GPIO 3 |
|
எல்சிடி டி 6 |
முள் 7 |
GPIO 4 |
|
எல்சிடி டி 7 |
முள் 11 |
GPIO 17 |
|
ADC0804 Vcc |
முள் 2 |
வி.சி.சி (+ 5 வி) |
|
ADC0804 B0 |
முள் 19 (5.1 கே மூலம்) |
GPIO 10 |
|
ADC0804 B1 |
முள் 21 (5.1 கே மூலம்) |
GPIO 9 |
|
ADC0804 B2 |
முள் 23 (5.1 கே மூலம்) |
GPIO 11 |
|
ADC0804 B3 |
பின் 29 (5.1 கே மூலம்) |
GPIO 5 |
|
ADC0804 B4 |
முள் 31 (5.1 கே மூலம்) |
GPIO 6 |
|
ADC0804 B5 |
முள் 33 (5.1 கே மூலம்) |
GPIO 13 |
|
ADC0804 B6 |
முள் 35 (5.1 கே மூலம்) |
GPIO 19 |
|
ADC0804 B7 |
முள் 37 (5.1 கே மூலம்) |
GPIO 26 |
|
ADC0804 WR / INTR |
முள் 15 |
GPIO 22 |
ராஸ்பெர்ரியில் முள் எண்களைத் தீர்மானிக்க பின்வரும் படத்தைப் பயன்படுத்தலாம்.

எல்லா ஏடிசி தொகுதிகள் போலவே, ஏடிசி 0804 ஐசியும் செயல்பட ஒரு கடிகார சமிக்ஞை தேவைப்படுகிறது, அதிர்ஷ்டவசமாக இந்த ஐசி உள் கடிகார மூலத்தைக் கொண்டுள்ளது, எனவே ஆர்.சி. நாங்கள் 10K மற்றும் 105pf மதிப்பைப் பயன்படுத்தினோம், ஆனால் 1uf, 0.1uf, 0.01uf போன்ற எந்த மதிப்பையும் நாம் பயன்படுத்தலாம்.
பின்னர் சென்சார் ஃப்ளெக்ஸ் இணைக்க நாம் ஒரு 100 ஆயிரம் மின்தடை பயன்படுத்தி ஒரு சாத்தியமான பிரிப்பு சுற்று பயன்படுத்துகின்றனர். ஃப்ளெக்ஸ் சென்சார் வளைந்திருப்பதால், அதன் குறுக்கே உள்ள எதிர்ப்பு மாறுபடும், மேலும் மின்தடையின் குறுக்கே சாத்தியமான வீழ்ச்சி ஏற்படும். இந்த துளி ADC0804 IC ஆல் அளவிடப்படுகிறது மற்றும் அதன்படி 8-பிட் தரவு உருவாக்கப்படுகிறது.

ஃப்ளெக்ஸ் சென்சார் தொடர்பான பிற திட்டங்களைச் சரிபார்க்கவும்:
- ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலருடன் ஃப்ளெக்ஸ் சென்சார் இடைமுகம்
- ஃப்ளெக்ஸ் சென்சார் பயன்படுத்தி அர்டுயினோ அடிப்படையிலான கோபம் பறவை விளையாட்டு கட்டுப்பாட்டாளர்
- ஃப்ளெக்ஸ் சென்சார் மூலம் சர்வோ மோட்டார் கட்டுப்பாடு
- Arduino ஐப் பயன்படுத்தி விரல்களைத் தட்டுவதன் மூலம் டோன்களை உருவாக்குதல்
ராஸ்பெர்ரி பை நிரலாக்க:
இணைப்புகளைச் செய்து முடித்ததும், ராஸ்பெர்ரி பை பயன்படுத்தி இந்த 8-பிட்களின் நிலையைப் படித்து அவற்றை தசமமாக மாற்ற வேண்டும், இதனால் அவற்றைப் பயன்படுத்தலாம். எல்.சி.டி திரையில் இதைச் செய்வதற்கும் அதன் விளைவாக வரும் மதிப்புகளைக் காண்பிப்பதற்கும் நிரல் இந்தப் பக்கத்தின் இறுதியில் கொடுக்கப்பட்டுள்ளது. மேலும் குறியீடு கீழே உள்ள சிறிய குப்பைகளாக விளக்கப்பட்டுள்ளது.
நாம் ஒரு எல்சிடி வேண்டும் பை கொண்ட LCD இடைமுகம் நூலகம். இதற்காக ஷுபாம் உருவாக்கிய நூலகத்தைப் பயன்படுத்துகிறோம், இது 16 * 2 எல்சிடி டிஸ்ப்ளேவை பை மூலம் நான்கு கம்பி பயன்முறையில் இடைமுகப்படுத்த உதவும். நேரம் மற்றும் பை ஜிபிஐஓ ஊசிகளைப் பயன்படுத்த எங்களுக்கு நூலகங்கள் தேவை.
குறிப்பு : lcd.py ஐ இங்கிருந்து பதிவிறக்கம் செய்து, இந்த நிரல் சேமிக்கப்பட்ட அதே கோப்பகத்தில் வைக்கப்பட வேண்டும். அப்போதுதான் குறியீடு தொகுக்கும்.
இறக்குமதி எல்சிடி # எல்சிடி நூலகத்தை இறக்குமதி செய்யுங்கள் [email protected] இறக்குமதி நேரம் # இறக்குமதி நேர இறக்குமதி RPi.GPIO ஐ GPIO #GPIO ஆக GPIO ஆக மட்டுமே குறிப்பிடப்படும்
எல்சிடி முள் வரையறைகள் கீழே காட்டப்பட்டுள்ளது போல் மாறிகள் ஒதுக்கப்பட்டுள்ளனர். இந்த எண்கள் GPIO முள் எண்கள் மற்றும் உண்மையான முள் எண்கள் அல்ல என்பதை நினைவில் கொள்க. GPIO எண்களை முள் எண்களுடன் ஒப்பிடுவதற்கு மேலே உள்ள அட்டவணையைப் பயன்படுத்தலாம். வரிசை பைனரி அனைத்து தரவு முள் எண்களையும் உள்ளடக்கும் மற்றும் வரிசை பிட்கள் அனைத்து GPIO ஊசிகளின் விளைவாக மதிப்பை சேமிக்கும்.
#LCD முள் வரையறைகள் D4 = 2 D5 = 3 D6 = 4 D7 = 17 RS = 20 EN = 21 பைனரிகள் = (10,9,11,5,6,13,19,26) # முள் எண்களின் வரிசை DB0- உடன் இணைகிறது DB7 பிட்கள் = 8-பிட் தரவின் # மதிப்புகள்
இப்போது, உள்ளீடு மற்றும் வெளியீட்டு ஊசிகளை வரையறுக்க வேண்டும். ஏழு தரவு ஊசிகளும் உள்ளீட்டு முள் மற்றும் தூண்டுதல் முள் (RST மற்றும் INTR) வெளியீட்டு முள் ஆகும். தரவுத்தாள் படி ஒரு குறிப்பிட்ட நேரத்திற்கு வெளியீட்டு முள் உயர்வைத் தூண்டினால் மட்டுமே உள்ளீட்டு முனையிலிருந்து 8-பிட் தரவு மதிப்புகளைப் படிக்க முடியும். நாங்கள் binarys வரிசையில் பைனரி ஊசிகளையும் அறிவித்தார் செய்துள்ளதால் நாங்கள் ஒரு பயன்படுத்த முடியும் ஐந்து கீழே காட்டப்பட்டுள்ளது போல் வளைய அறிவிப்பு உள்ளது.
பைனரிகளில் பைனரிக்கு: GPIO.setup (பைனரி, GPIO.IN) # அனைத்து பைனரி ஊசிகளும் உள்ளீட்டு ஊசிகளாகும் # ட்ரிகர் முள் GPIO.setup (22, GPIO.OUT) #WR மற்றும் INTR ஊசிகளும் வெளியீடு
இப்போது எல்சிடி நூலக கட்டளைகளைப் பயன்படுத்தி எல்சிடி தொகுதியைத் துவக்கி, கீழே காட்டப்பட்டுள்ளபடி ஒரு சிறிய அறிமுக செய்தியைக் காண்பிக்கலாம்.
mylcd = lcd.lcd () mylcd.begin (D4, D5, D6, D7, RS, EN) # இன்ட்ரோ செய்தி mylcd.Print ("உடன் ஃப்ளெக்ஸ் சென்சார்") mylcd.setCursor (2,1) mylcd.Print ("ராஸ்பெர்ரி பை ") time.sleep (2) mylcd.clear ()
எல்லையற்ற போது சுழற்சியின் உள்ளே, பைனரி மதிப்புகள் அவற்றை தசமமாக மாற்றி எல்சிடியில் முடிவைப் புதுப்பிக்க ஆரம்பிக்கிறோம். ஏடிசி மதிப்புகளைப் படிப்பதற்கு முன்பு சொன்னது போல , ஏடிசி மாற்றத்தை செயல்படுத்த ஒரு குறிப்பிட்ட நேரத்திற்கு தூண்டுதல் முள் அதிகமாக இருக்க வேண்டும். பின்வரும் வரிகளைப் பயன்படுத்தி இது செய்யப்படுகிறது.
GPIO.output (22, 1) # தூண்டுதல் நேரத்தை இயக்கவும். தூக்கம் (0.1) GPIO.output (22, 0) # தூண்டுதல் முடக்கு
இப்போது, நாம் 8-தரவு ஊசிகளைப் படித்து, பிட்கள் வரிசையில் முடிவைப் புதுப்பிக்க வேண்டும். இதைச் செய்ய ஒவ்வொரு உள்ளீட்டு முள் உண்மை மற்றும் பொய்யுடன் ஒப்பிடுவதற்கு ஒரு for loop ஐப் பயன்படுத்துகிறோம். உண்மை என்றால் அந்தந்த பிட்கள் வரிசை 1 ஆக மாற்றப்படும், அது 0 ஆக மாற்றப்படும். இது அனைத்து 8-பிட் தரவுகளும் 0 ஆகவும், 1 மதிப்புகள் படிக்கப்படும் மதிப்புகளாகவும் இருக்கும்.
# உள்ளீட்டு ஊசிகளைப் படித்து, வரம்பில் i க்கான பிட் வரிசையில் புதுப்பிப்பு (8): if (GPIO.input (பைனரிகள்) == உண்மை): பிட்கள் = 1 என்றால் (GPIO.input (பைனரிகள்) == தவறு): பிட்கள் = 0
பிட்கள் வரிசையை நாங்கள் புதுப்பித்தவுடன், இந்த வரிசையை தசம மதிப்புக்கு மாற்ற வேண்டும். இது தசம மாற்றத்திற்கு பைனரி தவிர வேறில்லை. 8-பிட் பைனரி தரவுக்கு 2 ^ 8 என்பது 256 ஆகும். எனவே 0 முதல் 255 வரை தசம தரவைப் பெறுவோம். பைத்தானில் ஆபரேட்டர் “**” எந்த மதிப்பின் சக்தியையும் கண்டுபிடிக்க பயன்படுத்தப்படுகிறது. என்பதால் பிட்கள் MSB தொடங்குகிறது 2 ^ (7 நிலை) உடன் அதை பெருக்கி நாம். இந்த வழியில் நாம் அனைத்து பைனரி மதிப்புகளையும் தசம தரவுகளாக மாற்றலாம், பின்னர் அதை எல்சிடியில் காண்பிக்கலாம்
# வரம்பில் (8) பிட் வரிசையைப் பயன்படுத்தி தசம மதிப்பைக் கணக்கிடுங்கள்: தசம = தசம + (பிட்கள் * (2 ** (7-i)))
தசம மதிப்பை அறிந்தவுடன் மின்னழுத்த மதிப்பைக் கணக்கிடுவது எளிது. நாம் அதை 19.63 உடன் பெருக்க வேண்டும். ஏனெனில் 8-பிட் 5VADC க்கு ஒவ்வொரு பிட் 19.3 மில்லி வோல்ட் ஒப்புமை ஆகும். இதன் விளைவாக வரும் மின்னழுத்த மதிப்பு ADC0804 IC இன் பின்ஸ் வின் + மற்றும் வின்- முழுவதும் தோன்றிய மின்னழுத்தத்தின் மதிப்பு.
# மின்னழுத்த மதிப்பைக் கணக்கிடுங்கள் மின்னழுத்தம் = தசம * 19.63 * 0.001 # ஒரு அலகு 19.3mV ஆகும்
மின்னழுத்தத்தின் மதிப்பைப் பயன்படுத்தி, நெகிழ்வு சென்சார் எவ்வாறு வளைந்திருக்கிறது, எந்த திசையில் அது வளைந்திருக்கிறது என்பதை நாம் தீர்மானிக்க முடியும். எல்.சி.டி திரையில் ஃப்ளெக்ஸ் சென்சாரின் நிலையைக் குறிக்க, கீழேயுள்ள வரிகளில் , வாசிப்பு மின்னழுத்த மதிப்புகளை மின்னழுத்தத்தின் முன்னரே தீர்மானிக்கப்பட்ட மதிப்புகளுடன் ஒப்பிட்டேன்.
# மின்னழுத்தம் மற்றும் காட்சி நிலையை சென்சார் mylcd.setCursor (1,1) என்றால் (மின்னழுத்தம்> 3.8): mylcd.Print ("முன்னோக்கி வளைந்திருக்கும்") elif (மின்னழுத்தம் <3.5): mylcd.Print ("பின்தங்கிய வளைவு") வேறு: mylcd.Print ("நிலையான")
இதேபோல் நீங்கள் ராஸ்பெர்ரி பை செய்ய விரும்பும் எந்த பணியையும் செய்ய மின்னழுத்த மதிப்பைப் பயன்படுத்தலாம்.
ராஸ்பெர்ரி பை பயன்படுத்தி எல்சிடியில் ஃப்ளெக்ஸ் சென்சார் மதிப்பைக் காட்டுகிறது:
திட்டத்தின் வேலை மிகவும் எளிது. ஆனால் நீங்கள் lcd.py தலைப்பு கோப்பை பதிவிறக்கம் செய்து உங்கள் தற்போதைய நிரல் இருக்கும் அதே கோப்பகத்தில் வைத்திருக்கிறீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். ஒரு பிரெட்போர்டு அல்லது ஒரு பெர்ஃப் போர்டைப் பயன்படுத்தி இணைப்புகளை சுற்று வரைபடத்தில் காண்பிக்கவும், கீழேயுள்ள நிரலை உங்கள் பைவில் இயக்கவும், மேலும் நீங்கள் வேலை செய்ய வேண்டும். நீங்கள் அமைத்திருப்பது கீழே உள்ளதைப் போன்றதாக இருக்க வேண்டும்.

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