Serial Protocol භාවිතා කිරීම
Magicbit හා පරිගණක සමග ශ්රේණිගත සන්නිවේදනය භාවිතා කිරීම
Components Required
හැඳින්වීම
මෙම පාඩමේ දී අප ශ්රේණිගත සන්නිවේදනය පිළිබඳව ඉගෙන ගනිමු
පාඩමේ අරමුණ
- ශ්රේණිගත මූලලේඛය(Serial Protocol) වටහා ගැනීම
- Magicbit හා පරිගණක අතර ශ්රේණිගත මූලලේඛය භාවිතය
සිද්ධාන්තය
Microcontrollers ක්රමලේඛනයේ(program) දී උපාංග අතර සන්නිවේදනය ඉතාමත් වැදගත් වේ. මෙම අවශ්යතාවය සඳහා විවිධාකාර වූ ක්රමවේද තිබේ. නමුත් බහුලව භාවිතා වන ක්රමය වන්නේ ශ්රේණිගත මූලලේඛයයි(Serial Protocol). මෙම මූලලේඛය මගින් ඉතාම පහසුවෙන් පරිගණකය හා Microcontrollers අතර පණිවිඩය හුවමාරු කිරීමට හැකිය.
ක්රමවේදය
උදාහරණයක් ලෙස D34 pin ඒකට සම්බන්ද push button ඒක භාවිතා කරමු. ඉන්පසුව අපි පරිගණකය සහ Magicbit අතර ශ්රේණිගත සන්නිවේදනය ආරම්භ කරමු. මෙහිදී අප විසින් බොත්තම තද කරන්නේදැයි නිරීක්ෂණය කිරීම loop කොටසින් සිදුවේ. බොත්තම තද කළහොත් “Button Pressed” යන පණිවිඩයකොන්සෝලය(Serial Console) මගින් පෙන්නුම් කෙරේ.
Arduino IDE (Integrated Development Environment) භාවිතා කර අපට මෙම ශ්රේණිගත ප්රතිදාන බලා ගත හැක. පහත සලකුණු කර ඇති බොත්තම භාවිතා කිරීමෙන් ශ්රේණිගත කොන්සෝලයට පිවිසිය හැක.
එවිට ශ්රේණිගත කොන්සෝලය දිස්වේ (ඔබට serial port number නිවැරදිව තෝරා ගත යුතුය.
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 හි අනුක්රමික(ශ්රේණිගත) කොන්සෝලයේ බොත්තම් එබූ වාරයන් ගණන පෙන්වන බොත්තම් කවුන්ටරයක් සාදන්න.