පාඩම් මාලාව 4: Digital Inputs සහ Outputs

මෙම පාඩමෙන්, Arduino බෝඩ් එකේ digital pins භාවිතයෙන් බාහිර උපාංග පාලනය කරන ආකාරය (Output) සහ බාහිර උපාංග වලින් සංඥා ලබාගන්නා ආකාරය (Input) ඉගෙන ගනිමු. Digital සංඥා යනු HIGH (ON) හෝ LOW (OFF) යන තත්ව දෙක පමණක් ඇති සංඥා වේ.

පාඩමේ අන්තර්ගතය

එක LED එකක් වෙනුවට LED කිහිපයක් එකවර පාලනය කිරීමට, අපට digital pins කිහිපයක් භාවිතා කළ හැකිය. එක් එක් LED එක වෙන වෙනම digital pin එකකට සම්බන්ධ කර, pinMode() ශ්‍රිතය භාවිතයෙන් ඒවා OUTPUT ලෙස සැකසිය යුතුය.

උදාහරණයක් ලෙස, රථවාහන ආලෝක පද්ධතියක් (traffic light) මෙන් රතු, කහ, සහ කොළ LED පිළිවෙලින් දැල්වීමට කේතයක් ලිවිය හැකිය.
// Pin 8, 9, 10 OUTPUT ලෙස සකසයි
pinMode(8, OUTPUT); 
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);

// LED දල්වා නිවා දමයි
digitalWrite(8, HIGH);  // Pin 8 (රතු LED) ON
delay(1000);
digitalWrite(8, LOW);   // Pin 8 (රතු LED) OFF

Push button එකක් යනු පරිශීලකයාගෙන් (user) input එකක් ලබාගැනීමට ඇති සරල ක්‍රමයකි. බොත්තම එබූ විට පරිපථය සම්පූර්ණ වී digital pin එකට HIGH (හෝ LOW) සංඥාවක් ලැබේ.
  • Pin Mode සැකසීම: බොත්තම සම්බන්ධ කළ pin එක pinMode(buttonPin, INPUT); ලෙස INPUT තත්වයට පත්කළ යුතුය.
  • Input අගය කියවීම: digitalRead(buttonPin) ශ්‍රිතය භාවිතයෙන් බොත්තමේ තත්වය (එබී ඇත්ද නැද්ද) කියවිය හැක. එය HIGH හෝ LOW යන අගයක් ලබාදෙයි.
  • Pull-up / Pull-down Resistors: බොත්තම නොඑබූ විට pin එකේ තත්වය අවිනිශ්චිත වීම (floating) වැළැක්වීමට pull-up හෝ pull-down ප්‍රතිරෝධකයක් භාවිතා කරයි. Arduino හි ඇති 내장 pull-up ප්‍රතිරෝධකය pinMode(buttonPin, INPUT_PULLUP); ලෙස සක්‍රීය කළ හැක.

Digital සෙන්සර් යනු push button එකක් මෙන් HIGH හෝ LOW යන ප්‍රතිදාන දෙකෙන් එකක් පමණක් ලබාදෙන සෙන්සර් වේ.

උදාහරණය: IR බාධක මගහැරීමේ සෙන්සරය (IR Obstacle Avoidance Sensor)
මෙම සෙන්සරය ඉදිරියෙන් බාධකයක් ඇති විට HIGH සංඥාවක්ද, බාධකයක් නැති විට LOW සංඥාවක්ද ලබා දෙයි. ಇದನ್ನು push button එකක් කියවන ආකාරයටම digitalRead() ශ්‍රිතයෙන් කියවිය හැක.

මෙය ඔබගේ පළමු interactive ව්‍යාපෘතියයි! අපි push button එකක් එබූ විට LED එකක් දැල්වෙන, සහ බොත්තම අතහැරි විට LED එක නිවී යන සරල පරිපථයක් සහ කේතයක් නිර්මාණය කරමු.
  1. පරිපථය: LED එකක් pin 13 ටද, push button එකක් pin 2 ටද සම්බන්ධ කරන්න.
  2. කේතය:
    • Pin 2 INPUT ලෙසත් pin 13 OUTPUT ලෙසත් setup() එකේදී සකසන්න.
    • loop() එකේදී, digitalRead() මගින් pin 2 හි අගය කියවන්න.
    • if statement එකක් භාවිතා කර, එම අගය HIGH නම්, pin 13 ට සම්බන්ධ LED එක digitalWrite() මගින් HIGH කරන්න.
    • එසේ නොමැති නම් (else), LED එක LOW කරන්න.
මෙමගින් input එකක් මත පදනම්ව output එකක් පාලනය කරන ආකාරය ඔබට ප්‍රායෝගිකව අවබෝධ වනු ඇත.
← පෙර පාඩම: Programming මුල් පියවර ඊළඟ පාඩම: Analog Inputs & Outputs →