Arduino இல் உள்ள மென்பொருள் தொடர் நூலகம்

Arduino Il Ulla Menporul Totar Nulakam



Arduino இயங்குதளம் பல்வேறு திட்டங்களை உருவாக்க மக்களுக்கு உதவுகிறது. Arduino என்பது ஒரு பயனர் நட்பு தளமாகும், இது உட்பட பரந்த அளவிலான நூலகங்களுக்கான ஆதரவைக் கொண்டுள்ளது மென்பொருள் தொடர் நூலகம் . தி மென்பொருள் தொடர் நூலகம் உங்கள் Arduino போர்டில் உள்ள எந்த டிஜிட்டல் பின்களிலும் ஒரு தொடர் போர்ட்டை உருவாக்க உங்களை அனுமதிக்கிறது.

இந்தக் கட்டுரையில், SoftwareSerial நூலகத்தில் ஆழமாகச் சென்று அது எவ்வாறு செயல்படுகிறது என்பதை ஆராய்வோம்.







SoftwareSerial Library அறிமுகம்

தி மென்பொருள் தொடர் நூலகம் டிஎக்ஸ் மற்றும் ஆர்எக்ஸ் தவிர டிஜிட்டல் பின்களில் தொடர் தொடர்பை அனுமதிக்கும் நிலையான ஆர்டுயினோ நூலகம். நூலகம் ஒரு மென்பொருள் தொடர் போர்ட்டை உருவாக்க உதவுகிறது, இது மற்ற மைக்ரோகண்ட்ரோலர்கள், கணினிகள் அல்லது புளூடூத் தொகுதிகள் போன்ற பிற சாதனங்களுடன் தொடர்பு கொள்ள பயன்படுகிறது. SoftwareSerial நூலகம் Arduino IDE உடன் சேர்க்கப்பட்டுள்ளது மற்றும் எந்த Arduino போர்டிலும் பயன்படுத்தலாம்.



குறிப்பு: பொதுவாக, TX மற்றும் RX பின்கள் தொடர் தகவல்தொடர்புக்கு பயன்படுத்தப்படுகின்றன, ஆனால் இந்த நூலகத்தைப் பயன்படுத்தி, TX மற்றும் RX ஊசிகளை மாற்றுவதற்கு, Arduino போர்டு எந்த டிஜிட்டல் பின்களையும் பயன்படுத்த முடியும்.



மென்பொருள் தொடர் நூலக செயல்பாடுகளைப் புரிந்துகொள்வது

தி மென்பொருள் தொடர் நூலகம் மென்பொருள் தொடர் போர்ட்டை அமைக்கவும் கட்டுப்படுத்தவும் உதவும் பல செயல்பாடுகளை கொண்டுள்ளது. நீங்கள் தெரிந்து கொள்ள வேண்டிய சில முக்கிய செயல்பாடுகள் இங்கே:





SoftwareSerial()

இந்த செயல்பாடு ஒரு புதிய நிகழ்வை உருவாக்குகிறது மென்பொருள் சீரியல் வர்க்கம். இந்த செயல்பாட்டில் RX பின் மற்றும் TX பின் ஆகிய இரண்டு வாதங்கள் உள்ளன. எடுத்துக்காட்டாக, பின்கள் 2 மற்றும் 3 இல் ஒரு மென்பொருள் தொடர் போர்ட்டை உருவாக்க விரும்பினால், பின்வரும் குறியீட்டைப் பயன்படுத்துவீர்கள்:

SoftwareSerial mySerial ( 2 , 3 ) ; // RX, TX



தி SoftwareSerial() ஒரு புதிய நிகழ்வை உருவாக்க முறை பயன்படுத்தப்படுகிறது மென்பொருள் சீரியல் பொருள். இது பல நிகழ்வுகளை உருவாக்க அனுமதிக்கிறது, இருப்பினும் ஒரு நேரத்தில் ஒருவர் மட்டுமே செயலில் இருக்க முடியும்.

தொடரியல்

க்கான தொடரியல் SoftwareSerial() முறை பின்வருமாறு:

மென்பொருள் சீரியல் ( rxPin, txPin, inverse_logic )

அளவுருக்கள்

க்கான அளவுருக்கள் SoftwareSerial() உள்ளன

rxPin: இந்த அளவுரு தொடர் தரவைப் பெறப் பயன்படுத்தப்படும் பின்னைக் குறிப்பிடுகிறது.

txPin: இந்த அளவுரு தொடர் தரவை அனுப்பப் பயன்படுத்தப்படும் பின்னைக் குறிப்பிடுகிறது.

தலைகீழ்_தர்க்கம்: இந்த அளவுரு விருப்பமானது, மேலும் இது உள்வரும் பிட்களின் உணர்வைத் தலைகீழாக மாற்றுகிறது. இயல்புநிலை மதிப்பு தவறானது, அதாவது RX பின்னில் குறைந்த அளவு 0-பிட்டாகவும், உயர்வானது 1-பிட்டாகவும் விளக்கப்படும். சரி என அமைத்தால், RX பின்னில் உள்ள LOW இப்போது 1-பிட்டாகவும், உயர்வானது 0-பிட்டாகவும் இருக்கும்.

திரும்பு

தி SoftwareSerial() எதையும் திருப்பித் தருவதில்லை.

Arduino SoftwareSerial() நூலக செயல்பாடுகள்

அர்டுயினோ SoftwareSerial() சாதனங்களுக்கு இடையே தொடர் தொடர்புக்கான செயல்பாடுகளின் பட்டியலைக் கொண்டுள்ளது. சில முக்கிய செயல்பாடுகள் இங்கே விவாதிக்கப்படுகின்றன:

தொடங்கு()

தி தொடங்கு() செயல்பாடு ஒரு பாட் வீதத்துடன் மென்பொருள் தொடர் போர்ட்டை துவக்குகிறது. பாட் வீதம் என்பது தொடர் போர்ட்டில் தரவு பரிமாற்ற வேகம் ஆகும். எடுத்துக்காட்டாக, தொடர் தொடர்புக்கான பாட் வீதமாக 9600 ஐ அமைக்க, நீங்கள் பின்வரும் குறியீட்டைப் பயன்படுத்துவீர்கள்:

mySerial.தொடங்கு ( 9600 ) ;

கிடைக்கும் ()

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

என்றால் ( mySerial.கிடைக்கிறது ( ) > 0 ) {
// படி உள்ளீடு தரவு
char incomingByte = mySerial.read ( ) ;
}

படி()

தி படி() செயல்பாடானது மென்பொருள் தொடர் போர்ட்டிலிருந்து தரவின் அடுத்த பைட்டைப் படிக்கிறது. எடுத்துக்காட்டாக, ஒரு பைட் தரவைப் படித்து, சீரியல் மானிட்டரில் அச்சிட, நீங்கள் பின்வரும் குறியீட்டைப் பயன்படுத்துவீர்கள்:

char incomingByte = mySerial.read ( ) ;
Serial.println ( உள்வரும் பைட் ) ;

எழுது()

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

mySerial.write ( 'ஏ' ) ;

Arduino SoftwareSerial() நூலக எடுத்துக்காட்டு குறியீடு

இப்போது இந்த நூலகத்தைப் பயன்படுத்தி தொடர் தொடர்பு மூலம் இரண்டு Arduino போர்டுகளுக்கு இடையே தொடர்பு கொள்வோம். இரண்டு Arduino பலகைகளை எடுத்து கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி இணைக்கவும்.

இணைக்கவும் D2 மாஸ்டர் ஆர்டுயினோ போர்டில் D3 ஸ்லேவ் அர்டுயினோ போர்டில், இதேபோல் இணைக்கவும் D3 உடன் Master Arduino இன் D2 அடிமை அர்டுயினோவின்.

குறிப்பு: தொடர் தொடர்புக்கு, தி TX முள் எப்போதும் இணைக்கப்பட்டுள்ளது RX எதிர் Arduino இன் முள் மற்றும் RX மாஸ்டரின் முள் எப்போதும் இணைக்கப்பட்டுள்ளது TX மற்ற Arduino இன் முள்.

இரண்டு Arduino போர்டுகளின் வன்பொருள் பின்வருமாறு.

Arduino குறியீட்டை எவ்வாறு பயன்படுத்துவது என்பதை விளக்கும் ஒரு எடுத்துக்காட்டு இங்கே மென்பொருள் தொடர் நூலகம் இரண்டு Arduino பலகைகளுக்கு இடையே தொடர்பை ஏற்படுத்த:

அனுப்புநர் குழு குறியீடு

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

# அடங்கும்

// மென்பொருள் தொடர் பொருளை அமைக்கவும்
SoftwareSerial mySerial ( 2 , 3 ) ;

வெற்றிட அமைப்பு ( ) {
// தொடர் தொடர்பைத் தொடங்கவும்
தொடர்.தொடங்கு ( 9600 ) ;
போது ( ! தொடர் ) {
; // காத்திரு க்கான இணைக்க தொடர் போர்ட்
}

// மென்பொருள் தொடர் தொடர்பைத் தொடங்கவும்
mySerial.தொடங்கு ( 9600 ) ;
}

வெற்றிட வளையம் ( ) {
// மென்பொருள் தொடர் இணைப்பு வழியாக ஒரு செய்தியை அனுப்பவும்
mySerial.println ( 'ஹலோ, ரிசீவர் போர்டு!' ) ;
தாமதம் ( 1000 ) ;
}

ரிசீவர் போர்டு குறியீடு

கீழே உள்ள குறியீடு ரிசீவர் போர்டுக்கானது. இந்த குறியீட்டைப் பயன்படுத்தி Arduino இரண்டு Arduino போர்டுகளுக்கு இடையில் நிறுவப்பட்ட தொடர் தொடர்பு மூலம் மற்றொரு குழுவிலிருந்து சரத்தைப் பெறும்.

# அடங்கும்

// மென்பொருள் தொடர் பொருளை அமைக்கவும்
SoftwareSerial mySerial ( 2 , 3 ) ;

வெற்றிட அமைப்பு ( ) {
// தொடர் தொடர்பைத் தொடங்கவும்
தொடர்.தொடங்கு ( 9600 ) ;
போது ( ! தொடர் ) {
; // காத்திரு க்கான இணைக்க தொடர் போர்ட்
}

// மென்பொருள் தொடர் தொடர்பைத் தொடங்கவும்
mySerial.தொடங்கு ( 9600 ) ;
}

வெற்றிட வளையம் ( ) {
// காசோலை என்றால் மென்பொருள் தொடர் இணைப்பில் தரவு கிடைக்கிறது
என்றால் ( mySerial.கிடைக்கிறது ( ) ) {
// தரவைப் படித்து, தொடர் மானிட்டரில் அச்சிடவும்
Serial.println ( mySerial.readString ( ) ) ;
}
}

இந்த எடுத்துக்காட்டில், நாங்கள் முதலில் சேர்க்கிறோம் மென்பொருள் தொடர் நூலகம் குறியீட்டின் தொடக்கத்தில். பின்னர், நாங்கள் ஒரு உருவாக்குகிறோம் மென்பொருள் சீரியல் பொருள் ' என் சீரியல் ” முறையே RX மற்றும் TX பின்கள் என குறிப்பிடப்பட்ட பின்கள் 2 மற்றும் 3 உடன்.

இல் அமைப்பு() செயல்பாடு, வன்பொருள் தொடர் மற்றும் மென்பொருள் தொடர் தொடர்பாடல் இரண்டையும் 9600 பாட் வீதத்துடன் தொடங்குகிறோம். வளைய () அனுப்புநர் குழுவின் செயல்பாடு, mySerial.println() முறையைப் பயன்படுத்தி மென்பொருள் தொடர் இணைப்பு வழியாக ஒரு செய்தியை அனுப்புவோம், அடுத்த செய்தியை அனுப்புவதற்கு முன் ஒரு நொடி காத்திருக்கவும்.

ரிசீவர் போர்டின் லூப்() செயல்பாட்டில், பயன்படுத்தி மென்பொருள் தொடர் இணைப்பில் தொடர் தரவு கிடைப்பதை குறியீடு சரிபார்க்கும். mySerial.available() முறை. தரவு இருந்தால், mySerial.readString() முறையைப் பயன்படுத்தி தரவைப் படித்து, Serial.println() முறையைப் பயன்படுத்தி சீரியல் மானிட்டரில் அச்சிடுவோம்.

SoftwareSerial() நூலகத்தின் வரம்புகள்

தி மென்பொருள் தொடர் நூலகம் பல்வேறு நன்மைகளைக் கொண்டுள்ளது ஆனால் பயனர்கள் அறிந்திருக்க வேண்டிய சில வரம்புகளையும் கொண்டுள்ளது. இந்த வரம்புகள் அடங்கும்

  • ஒரே நேரத்தில் தரவை அனுப்பவும் பெறவும் இயலாமை.
  • பல மென்பொருள் தொடர் போர்ட்களைப் பயன்படுத்தும் போது, ​​ஒரே ஒரு போர்ட் மட்டுமே தரவைப் பெற முடியும்.
  • இந்த நூலகத்தைப் பயன்படுத்தி உருவாக்கப்பட்ட மென்பொருள் அடிப்படையிலான தொடர் போர்ட்கள் குறைந்த பாட் விகிதத்தில் இயங்குகின்றன மற்றும் வன்பொருள் அடிப்படையிலான தொடர் போர்ட்களைப் போல நம்பகமானவை அல்ல.
  • மெகா மற்றும் மெகா 2560 போர்டுகளில் உள்ள சில பின்கள் RXக்கான மாற்றம் குறுக்கீடுகளை ஆதரிக்காது, எந்த பின்களை பயன்படுத்தலாம் என்பதைக் கட்டுப்படுத்துகிறது.
  • இதேபோல், லியோனார்டோ மற்றும் மைக்ரோ போர்டுகளில், மாற்றம் குறுக்கீடுகள் இல்லாததால் குறிப்பிட்ட பின்களை மட்டுமே RXக்கு பயன்படுத்த முடியும்.
  • Arduino அல்லது Genuino 101 பலகைகளில் அதிகபட்ச RX வேகம் 57600 bps ஆகும்.
  • Arduino அல்லது Genuino 101 போர்டுகளின் டிஜிட்டல் பின் 13 இல் RX வேலை செய்யாது.
பலகை RX ஊசிகள்
மெகா & மெகா 2560 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).

லியோனார்டோ & மைக் 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

முடிவுரை

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