fbpx
Arduino Lesson 05: Using Serial Protocol
Arduino Lesson 5

Serial Protocol භාවිතා කිරීම

Magicbit හා පරිගණක සමග ශ්‍රේණිගත සන්නිවේදනය භාවිතා කිරීම

Components Required

Buy

හැඳින්වීම

මෙම පාඩමේ දී අප ශ්‍රේණිගත සන්නිවේදනය පිළිබඳව ඉගෙන ගනිමු

 පාඩමේ අරමුණ

 මෙම පාඩම් මගින් අප පහත කරුණු වටහා ගනිමු,
  • ශ්‍රේණිගත මූලලේඛය(Serial Protocol) වටහා ගැනීම
  • Magicbit හා පරිගණක අතර ශ්‍රේණිගත මූලලේඛය භාවිතය

සිද්ධාන්තය

Microcontrollers ක්‍රමලේඛනයේ(program) දී උපාංග අතර සන්නිවේදනය ඉතාමත් වැදගත් වේ. මෙම අවශ්‍යතාවය සඳහා විවිධාකාර වූ ක්‍රමවේද තිබේ. නමුත් බහුලව භාවිතා වන ක්‍රමය වන්නේ ශ්‍රේණිගත මූලලේඛයයි(Serial Protocol). මෙම මූලලේඛය මගින් ඉතාම පහසුවෙන් පරිගණකය හා Microcontrollers අතර පණිවිඩය හුවමාරු කිරීමට හැකිය.

Communication bit sequence

ක්‍රමවේදය

අපි දෙවන උදාහරණයේ ලෙස බොත්තමක් වින්‍යාස(configure) කරමු (D34 භාවිතා වේ). ඉන්පසුව අපි පරිගණකය සහ Magicbit අතර ශ්‍රේණිගත සන්නිවේදනය ආරම්භ කරමු. මෙහිදී අප විසින් බොත්තම තද කරන්නේදැයි නිරීක්ෂණය කිරීම loop කොටසින් සිදුවේ. බොත්තම තද කළහොත් “Button Pressed” යන පණිවිඩය ශ්‍රේණිගත කොන්සෝලය(Serial Console) මගින් පෙන්නුම් කෙරේ.

Arduino සංකලිත ප්‍රවර්ධනය පරිසරය(Integrated Development Environment – IDE) භාවිතා කර අපට මෙම ශ්‍රේණිගත ප්‍රතිදාන බලා ගත හැක. පහත සලකුණු කර ඇති බොත්තම භාවිතා කිරීමෙන් ශ්‍රේණිගත කොන්සෝලයට පිවිසිය හැක.

Arduino IDE's serial monitor button

 

 

 

 

 

එවිට ශ්‍රේණිගත(අනුක්‍රමික/Serial) කොන්සෝලය දිස්වේ (ඔබට ශ්‍රේණිගත තීර්ථ අංකය(serial port number) නිවැරදිව තෝරා ගත යුතුය, කෙසේද යන්න ඉගෙන ගැනීමට මෙම සබැඳිය අනුගමනය කරන්න).

 

 

Serial Monitor preview

 

 

 

 

 

 

 

 

 

 

1: ඔබට මෙහි දත්ත ටයිප් කර Magicbit වෙත යැවීමට Enter ඔබන්න

2: මෙම ප්‍රදේශයේ Magicbit වෙතින් ලැබෙන දත්ත පෙන්වයි

3: මෙම මෙනුවෙන්, ඔබ පරිගණකය සහ Magicbit අතර පොදු baud අනුපාතයක් තෝරාගත යුතුය(baud rate යනු සන්නිවේදන වේගය ලබාදෙන ක්‍රමයකි, මෙම වේගය පරිගණකය හා Magicbit එක අතර සමාන විය යුතුය)

Code

 

void setup(){
  pinMode(34,INPUT);
  Serial.begin(9600);
}
void loop(){
  if(digitalRead(34) == LOW){
    Serial.println(“Button is Pressed”);
  }
}

පැහැදිලි කිරීම

Serial.begin(baudrate); මෙමඟින් ශ්‍රේණිගත සම්බන්ධතාවයක් ආරම්භ කරයි, බෝඩ් අනුපාතය(baud rate) දත්ත හුවමාරුවේ වේගය නියම කරයි (තත්පරයට බිටු/bits per second). සම්මත අගයන් වන්නේ 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000 සහ 25600

Serial.print(stuff to print); මෙම ශ්‍රිතය භාවිතයෙන්, අනුක්‍රමික(ශ්‍රේණිගත) දත්ත යැවිය හැක, මුද්‍රණය කිරීමට අවශ්‍ය දේවල් ඕනෑම ආකාරයක Arduino විචල්‍යයක්(variable) හෝ ස්ථිතික තන්තුවක්(static string) විය හැක(මෙහි “stuff to print” වෙනුවට වෙනත් ඕනෑම දත්තයක් සැපය හැක).

Void loop code: පෙර සඳහන් කළ පරිදි මෙම කොටසෙදි සිදුවන්නේ 34 පින් එකට සම්බන්ධ කර ඇති බොත්තම තද විද, නැතිද, බව සොයාගැනීමයි.

Serial.println(“Button is Pressed”); මෙම ශ්‍රිතය භාවිතයෙන් අපට දත්ත ශ්‍රේණිගත මාර්ගයට යොමු කළ හැක. මෙහි “Button is Pressed” වෙනුවට වෙනත් ඕනෑම ආකාරයේ පණිවිඩයක් සඳහන් කළ හැක.

ක්‍රියාකාරකම්

සැලකිය යුතුයි: Serial.print() භාවිතයෙන් උදාහරණය කරන්න, වෙනස නිරීක්ෂණය කරන්න. Arduino IDE හි අනුක්‍රමික(ශ්‍රේණිගත) කොන්සෝලයේ බොත්තම් එබූ වාරයන් ගණන පෙන්වන බොත්තම් කවුන්ටරයක් ​​සාදන්න.

Related Posts
Leave a Reply