MicroPython மைக்ரோகண்ட்ரோலர்கள் மற்றும் உட்பொதிக்கப்பட்ட அமைப்புகளுடன் பரவலாகப் பயன்படுத்தப்படுகிறது. மைக்ரோபைத்தான் ஐடிஇக்குள் குறியீடு மற்றும் நூலகங்களை எழுதலாம் மற்றும் பல சென்சார்களை இடைமுகப்படுத்தலாம். HC-SR04 சென்சார் கொண்ட ESP32 ஐப் பயன்படுத்தி தூரத்தை அளவிடுவதற்கு இந்த பதிவு உங்களுக்கு வழிகாட்டும்.
மைக்ரோபைத்தானைப் பயன்படுத்தி HC-SR04 அல்ட்ராசோனிக் சென்சார் கொண்ட ESP32
மீயொலி மூலம் ESP32 ஐ இணைக்க இரண்டு கம்பிகள் இணைக்கப்பட வேண்டும். மீயொலி உணரிகளைப் பயன்படுத்தி, நாம் பொருளின் தூரத்தை அளவிட முடியும் மற்றும் வாகன மோதலைத் தவிர்க்கும் அமைப்புகள் போன்ற இந்த அமைப்பின் அடிப்படையில் பதில்களைத் தூண்டலாம்.
ESP32 மற்றும் பிற மைக்ரோகண்ட்ரோலர்களுக்கான வடிவமைக்கப்பட்ட மொழியான MicroPython ஐப் பயன்படுத்தி நாம் பல சென்சார்களை இடைமுகப்படுத்தலாம் HC-SR04 . MicroPython குறியீடு எழுதப்படும், இது SONAR அலையானது சென்சாரிலிருந்து பொருளுக்கு மற்றும் மீண்டும் பொருளுக்கு அடைய எடுக்கும் நேரத்தை கணக்கிடுகிறது. பின்னர் தூர சூத்திரத்தைப் பயன்படுத்தி, பொருளின் தூரத்தைக் கணக்கிடலாம்.
HC-SR04 சென்சாரின் சில முக்கிய சிறப்பம்சங்கள் இங்கே:
சிறப்பியல்புகள் | மதிப்பு |
இயக்க மின்னழுத்தம் | 5V DC |
இயக்க மின்னோட்டம் | 15mA |
இயக்க அதிர்வெண் | 40KHz |
எனது வரம்பு | 2cm/ 1 அங்குலம் |
அதிகபட்ச வரம்பு | 400cm/ 13 அடி |
துல்லியம் | 3 மி.மீ |
அளவிடும் கோணம் | <15 டிகிரி |
HC-SR04 பின்அவுட் HC-SR04 பின்வருவனவற்றைக் கொண்டுள்ளது நான்கு ஊசிகள்:
- விசிசி: ESP32 Vin பின்னுடன் இணைக்கவும்
- Gnd: GND உடன் இணைக்கவும்
- தூண்டுதல்: ESP32 போர்டில் இருந்து கட்டுப்பாட்டு சமிக்ஞையைப் பெற பின் செய்யவும்
- எதிரொலி: மீண்டும் சிக்னல் அனுப்பு. மைக்ரோகண்ட்ரோலர் போர்டு நேரத்தைப் பயன்படுத்தி தூரத்தைக் கணக்கிட இந்த சமிக்ஞையைப் பெறுகிறது
மீயொலி எவ்வாறு செயல்படுகிறது
HC-SR04 சென்சார் ESP32 உடன் இணைக்கப்பட்ட பிறகு ஒரு சமிக்ஞை தூண்டுதல் முள் பலகை மூலம் உருவாக்கப்படும். HC-SR04 சென்சாரின் ட்ரிக் பின்னில் சமிக்ஞை பெறப்பட்டவுடன், ஒரு மீயொலி அலை உருவாகும், இது சென்சாரிலிருந்து வெளியேறி பொருள் அல்லது தடையாக இருக்கும் உடலைத் தாக்கும். அடித்த பிறகு அது பொருளின் மேற்பரப்பிற்குத் திரும்பும்.
பிரதிபலித்த அலை சென்சார் பெறும் முனையை அடைந்தவுடன் எதிரொலி பின்னில் ஒரு சமிக்ஞை துடிப்பு உருவாக்கப்படும். ESP32 எக்கோ பின் சிக்னலைப் பெறுகிறது மற்றும் பயன்படுத்தி பொருள் மற்றும் சென்சார் இடையே உள்ள தூரத்தைக் கணக்கிடுகிறது தூரம்-சூத்திரம்.
கணக்கிடப்பட்ட மொத்த தூரம் ESP32 குறியீட்டிற்குள் இரண்டால் வகுக்கப்பட வேண்டும், ஏனெனில் நாம் முதலில் பெறும் தூரம் சென்சாரிலிருந்து பொருளுக்கும், சென்சார் பெறும் முனைக்கும் உள்ள மொத்த தூரத்திற்கு சமம். எனவே உண்மையான தூரம் என்பது அந்த தூரத்தின் பாதிக்கு சமமான சமிக்ஞையாகும்.
திட்டவட்டமான
மீயொலி உணரியுடன் ESP32 ஐ இடைமுகப்படுத்துவதற்கான திட்டம் பின்வருமாறு:
ESP32 இன் GPIO 5 மற்றும் GPIO 18 உடன் சென்சாரின் தூண்டுதல் மற்றும் எக்கோ பின்னை இணைக்கவும். ESP32 GND மற்றும் Vin pin ஐ சென்சார் பின்களுடன் இணைக்கவும்.
HC-SR04 அல்ட்ராசோனிக் சென்சார் | ESP32 பின் |
தூண்டுதல் | ஜிபிஐஓ 5 |
எதிரொலி | ஜிபிஐஓ 18 |
GND | GND |
வி.சி.சி | வா |
வன்பொருள்
அல்ட்ராசோனிக் சென்சார் நிரல் செய்ய பின்வரும் கூறுகள் தேவை:
- ESP32
- HC-SR04
- ப்ரெட்போர்டு
- ஜம்பர் கம்பிகள்
MicroPython ஐப் பயன்படுத்தி ESP32 உடன் அல்ட்ராசோனிக் HC-SR04 ஐ எவ்வாறு அமைப்பது
அல்ட்ராசோனிக் சென்சார் மூலம் ESP32 ஐ நிரல் செய்வதற்கு முன், அதில் ஒரு நூலகத்தை நிறுவ வேண்டும். ESP32 போர்டை கணினியுடன் இணைக்கவும். மைக்ரோபைத்தானைப் பயன்படுத்தி தோனி ஐடிஇயில் அல்ட்ராசோனிக் சென்சார் மூலம் ESP32 உள்ளமைவை முடிக்க படிகளைப் பின்பற்றவும்.
படி 1: இப்போது Thonny IDE ஐ திறக்கவும். எடிட்டர் சாளரத்தில் ஒரு புதிய கோப்பை உருவாக்கவும் செல்க : கோப்பு>புதிய அல்லது அழுத்தவும் Ctrl + N .
புதிய கோப்பு திறக்கப்பட்டதும், தோனி ஐடிஇ எடிட்டர் சாளரத்தில் பின்வரும் குறியீட்டை ஒட்டவும்.
இறக்குமதி இயந்திரம் , நேரம்இருந்து இயந்திரம் இறக்குமதி பின்
வர்க்கம் HCSR04:
# echo_timeout_us சிப் வரம்பு வரம்பை அடிப்படையாகக் கொண்டது (400cm)
def __சூடான__ ( சுய , தூண்டுதல்_முள் , எதிரொலி_முள் , எக்கோ_டைம்அவுட்_எஸ் = 500 * இரண்டு * 30 ) :
சுய . எக்கோ_டைம்அவுட்_எஸ் = எக்கோ_டைம்அவுட்_எஸ்
# Init தூண்டுதல் பின் (அவுட்)
சுய . தூண்டுதல் = பின் ( தூண்டுதல்_முள் , முறை = பின். வெளியே , இழுக்க = இல்லை )
சுய . தூண்டுதல் . மதிப்பு ( 0 )
# Init echo pin (in)
சுய . எதிரொலி = பின் ( எதிரொலி_முள் , முறை = பின். IN , இழுக்க = இல்லை )
def _துடிப்பு_அனுப்பு மற்றும்_காத்திருங்கள் ( சுய ) :
சுய . தூண்டுதல் . மதிப்பு ( 0 ) # சென்சார் உறுதிப்படுத்தவும்
நேரம் . தூங்க_எங்களை ( 5 )
சுய . தூண்டுதல் . மதிப்பு ( 1 )
# ஒரு 10us பல்ஸ் அனுப்பவும்.
நேரம் . தூங்க_எங்களை ( 10 )
சுய . தூண்டுதல் . மதிப்பு ( 0 )
முயற்சி :
துடிப்பு_நேரம் = இயந்திரம். நேரம்_துடிப்பு_எங்களுக்கு ( சுய . எதிரொலி , 1 , சுய . எக்கோ_டைம்அவுட்_எஸ் )
திரும்ப துடிப்பு_நேரம்
தவிர OSE பிழை என எ.கா:
என்றால் ex. args [ 0 ] == 110 : # 110 = ETIMEDOUT
உயர்த்த OSE பிழை ( 'வரம்பிற்கு வெளியே' )
உயர்த்த ex
def தூரம்_மிமீ ( சுய ) :
துடிப்பு_நேரம் = சுய ._துடிப்பு_அனுப்பவும்_காத்திருங்கள் ( )
மிமீ = துடிப்பு_நேரம் * 100 // 582
திரும்ப மிமீ
def தூரம்_செ.மீ ( சுய ) :
துடிப்பு_நேரம் = சுய ._துடிப்பு_அனுப்பவும்_காத்திருங்கள் ( )
செ.மீ = ( துடிப்பு_நேரம் / இரண்டு ) / 29.1
திரும்ப செ.மீ
படி 2: எழுதிய பிறகு நூலகம் எடிட்டர் சாளரத்தில் உள்ள குறியீடு இப்போது மைக்ரோபைத்தான் சாதனத்தில் சேமிக்க வேண்டும்.
படி 3: செல்க : கோப்பு>சேமி அல்லது அழுத்தவும் Ctrl + S .
படி 4: ஒரு புதிய சாளரம் தோன்றும். ESP32 பிசியுடன் இணைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும். நூலகக் கோப்பைச் சேமிக்க MicroPython சாதனத்தைத் தேர்ந்தெடுக்கவும்.
படி 5: மீயொலி நூலகக் கோப்பை பெயருடன் சேமிக்கவும் hcsr04.py மற்றும் கிளிக் செய்யவும் சரி .
இப்போது மீயொலி hcsr04 சென்சார் நூலகம் வெற்றிகரமாக ESP32 போர்டில் சேர்க்கப்பட்டுள்ளது. வெவ்வேறு பொருள்களின் தூரத்தை அளக்க இப்போது நூலக செயல்பாடுகளை குறியீட்டிற்குள் அழைக்கலாம்.
MicroPython ஐப் பயன்படுத்தி அல்ட்ராசோனிக் சென்சார் குறியீடு
மீயொலி சென்சார் குறியீட்டிற்கு புதிய கோப்பை உருவாக்கவும் ( Ctrl + N ) எடிட்டர் சாளரத்தில், கீழே கொடுக்கப்பட்டுள்ள குறியீட்டை உள்ளிட்டு உள்ளே சேமிக்கவும் main.py அல்லது boot.py கோப்பு. இந்த குறியீடு HC-SR04 க்கு முன்னால் வரும் எந்தவொரு பொருளின் தூரத்தையும் அச்சிடும்.
போன்ற முக்கியமான நூலகங்களை அழைப்பதன் மூலம் குறியீடு தொடங்கப்பட்டது HCSR04 மற்றும் நேரம் உடன் நூலகம் தூங்கு தாமதம் கொடுக்க.
அடுத்து, ஒரு பெயருடன் ஒரு புதிய பொருளை உருவாக்கினோம் சென்சார் . இந்த பொருள் மூன்று வெவ்வேறு வாதங்களை எடுத்துக்கொள்கிறது: தூண்டுதல், எதிரொலி மற்றும் நேரம் முடிந்தது. இங்கே காலக்கெடு என்பது சென்சார் வரம்பிற்கு வெளியே செல்லும் அதிகபட்ச நேரமாக வரையறுக்கப்படுகிறது.
சென்சார் = HCSR04 ( தூண்டுதல்_முள் = 5 , எதிரொலி_முள் = 18 , எக்கோ_டைம்அவுட்_எஸ் = 10000 )தொலைவை அளவிட மற்றும் சேமிக்க ஒரு புதிய பொருள் பெயரிடப்பட்டது தூரம் உருவாக்கப்படுகிறது. இந்த பொருள் செமீ தூரத்தை சேமிக்கும்.
தூரம் = சென்சார். தூரம்_செ.மீ ( )மிமீயில் தரவைப் பெற பின்வரும் குறியீட்டை எழுதவும்.
தூரம் = சென்சார். தூரம்_மிமீ ( )அடுத்து, MicroPython IDE ஷெல்லில் முடிவை அச்சிட்டோம்.
அச்சு ( 'தூரம்:' , தூரம் , 'செ.மீ' )இறுதியில் 1 வினாடி தாமதம் வழங்கப்படுகிறது.
தூங்கு ( 1 )முழுமையான குறியீடு கீழே கொடுக்கப்பட்டுள்ளது:
இருந்து hcsr04 இறக்குமதி HCSR04இருந்து நேரம் இறக்குமதி தூங்கு
# ESP32
சென்சார் = HCSR04 ( தூண்டுதல்_முள் = 5 , எதிரொலி_முள் = 18 , எக்கோ_டைம்அவுட்_எஸ் = 10000 )
# ESP8266
#சென்சார் = HCSR04(trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
போது உண்மை :
தூரம் = சென்சார். தூரம்_செ.மீ ( )
அச்சு ( 'தூரம்:' , தூரம் , 'செ.மீ' )
தூங்கு ( 1 )
MicroPython சாதனத்தில் குறியீட்டை எழுதி சேமித்த பிறகு, நான் இப்போது அல்ட்ராசோனிக் சென்சார் இயக்குகிறேன் main.py கோப்பு குறியீடு. பிளே பொத்தானைக் கிளிக் செய்யவும் அல்லது அழுத்தவும் F5 .
பொருள் அருகில் இருக்கும்போது அல்ட்ராசோனிக் சென்சார் வெளியீடு
இப்போது அல்ட்ராசோனிக் சென்சார் அருகே ஒரு பொருளை வைத்து, Arduino IDE இன் தொடர் மானிட்டர் சாளரத்தில் அளவிடப்பட்ட தூரத்தை சரிபார்க்கவும்.
பொருள் தூரம் ஷெல் முனையத்தில் காட்டப்பட்டுள்ளது. இப்போது பொருள் மீயொலி சென்சாரில் இருந்து 5 செ.மீ.
பொருள் தொலைவில் இருக்கும்போது அல்ட்ராசோனிக் சென்சார் வெளியீடு
இப்போது எங்கள் முடிவைச் சரிபார்க்க, சென்சாரிலிருந்து வெகு தொலைவில் பொருட்களை வைத்து, மீயொலி சென்சாரின் செயல்பாட்டைச் சரிபார்ப்போம். கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளதைப் போன்ற பொருட்களை வைக்கவும்:
வெளியீட்டு சாளரம் நமக்கு ஒரு புதிய தூரத்தைக் கொடுக்கும், மேலும் அந்த பொருள் சென்சாரிலிருந்து வெகு தொலைவில் இருப்பதைக் காணலாம், எனவே அளவிடப்பட்ட தூரம் தோராயமாக இருக்கும். மீயொலி உணரியிலிருந்து 15 செ.மீ.
முடிவுரை
ரோபாட்டிக்ஸ் மற்றும் பிற திட்டங்களுக்கு வரும்போது தூரத்தை அளவிடுவது ஒரு சிறந்த பயன்பாட்டைக் கொண்டுள்ளது, தூரத்தை அளவிட வெவ்வேறு வழிகள் உள்ளன. ESP32 உடன் HC-SR04 வெவ்வேறு பொருட்களின் தூரத்தை அளவிட முடியும். இங்கே இந்த பதிவு ESP32 உடன் ஒருங்கிணைத்து தூரத்தை அளவிடத் தொடங்க வேண்டிய அனைத்து படிகளையும் உள்ளடக்கும்.