පාඩම් මාලාව 7: ක්‍රියාකාරක (Actuators) සමඟ වැඩ කිරීම

සෙන්සර් මගින් පරිසරයෙන් දත්ත ලබාගන්නා සේම, ක්‍රියාකාරක (Actuators) යනු විද්‍යුත් සංඥා භෞතික චලනයන් බවට පත් කරන උපාංග වේ. සරලව කිවහොත්, Arduino ව්‍යාපෘතියකට බාහිර ලෝකය සමඟ "ක්‍රියා කිරීමට" ඉඩ දෙන්නේ ක්‍රියාකාරක මගිනි. මෙම පාඩමෙන් මෝටර් වර්ග පාලනය කරන ආකාරය ඉගෙන ගනිමු.

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

Actuator යනු ශක්තිය (බොහෝ විට විද්‍යුත්) චලනය බවට පරිවර්තනය කරන ඕනෑම උපාංගයකි. Arduino ව්‍යාපෘති වලදී බහුලවම භාවිතා වන ක්‍රියාකාරක වර්ග නම්:
  • DC Motors: වේගයෙන් භ්‍රමණය වන මෝටර් (e.g., සෙල්ලම් කාර්, පංකා).
  • Servo Motors: නිශ්චිත කෝණයකට (0° සිට 180° දක්වා) භ්‍රමණය කළ හැකි මෝටර් (e.g., රොබෝ අත්).
  • Stepper Motors: නිශ්චිත පියවර (steps) ගණනකින් භ්‍රමණය වන මෝටර් (e.g., 3D printers).
  • Relays: අඩු වෝල්ටීයතාවකින් වැඩි වෝල්ටීයතාවයක් (e.g., 230V විදුලි බුබුලක්) පාලනය කිරීමට යොදාගන්නා විද්‍යුත් ස්විචයකි.

DC මෝටරයක් Arduino pin එකකට කෙලින්ම සම්බන්ධ කිරීමෙන් Arduino බෝඩ් එකට හානි සිදුවිය හැක. මන්ද, මෝටර් ක්‍රියාත්මක වීමට වැඩි ධාරාවක් අවශ්‍ය වන බැවිනි.

එබැවින්, මෝටරය පාලනය කිරීමට මෝටර් ධාවකයක් (Motor Driver), උදාහරණයක් ලෙස L298N module එකක්, භාවිතා කළ යුතුය.
  • Motor Driver එකේ කාර්යය: Arduino වෙතින් ලැබෙන අඩු ධාරා සංඥා (low-current signals) මෝටරයට අවශ්‍ය වැඩි ධාරාවක් (high-current) බවට පත් කිරීමයි.
  • පාලනය: Motor Driver එකට සම්බන්ධ digital pins දෙකක් HIGH/LOW කිරීමෙන් මෝටරය ඉදිරියට සහ පසුපසට කරකැවිය හැක. analogWrite() භාවිතයෙන් එහි වේගයද පාලනය කළ හැක.

Servo මෝටර් පාලනය කිරීම ඉතා පහසුය. Arduino IDE එක සමඟ එන Servo.h library එක මේ සඳහා භාවිතා කළ හැක.
  • සම්බන්ධ කිරීම: Servo මෝටරයේ වයර් 3ක් ඇත. රතු (Power), දුඹුරු/කළු (GND) සහ තැඹිලි/කහ (Signal). Power සහ GND පිළිවෙලින් 5V සහ GND වලටද, Signal වයරය PWM digital pin එකකටද (e.g., pin 9) සම්බන්ධ කරන්න.
  • කේතය:
    1. #include <Servo.h> ලෙස library එක ඇතුළත් කරන්න.
    2. Servo myservo; ලෙස servo object එකක් සාදන්න.
    3. setup() තුළ, myservo.attach(9); ලෙස servo එක සම්බන්ධ කළ pin එක සඳහන් කරන්න.
    4. myservo.write(angle); ශ්‍රිතය භාවිතයෙන් servo එක 0° සහ 180° අතර කැමති කෝණයකට (angle) කරකැවිය හැක. (e.g., myservo.write(90);)

මෙම ව්‍යාපෘතියේදී, potentiometer එක කරකවන විට servo මෝටරයේ දණ්ඩ (arm) ඒ හා සමානව 0° සිට 180° දක්වා භ්‍රමණය වන සේ සකසමු.
  1. පරිපථය: Potentiometer එකක් A0 pin එකටද, Servo මෝටරයේ signal වයරය pin 9 ටද සම්බන්ධ කරන්න.
  2. කේතය:
    • loop() එක තුළදී, analogRead(A0) මගින් potentiometer අගය (0-1023) කියවන්න.
    • Servo මෝටරයට අවශ්‍ය වන්නේ 0-180 අතර කෝණයක් නිසා, potentiometer අගය map() ශ්‍රිතය භාවිතයෙන් පරිවර්තනය කරන්න: angle = map(potValue, 0, 1023, 0, 180);
    • අවසානයේ, myservo.write(angle); ලෙස servo මෝටරයේ කෝණය සකසන්න.
මෙය analog input එකක් මගින් actuator එකක් ඉතා නිරවද්‍ය ලෙස පාලනය කරන ආකාරය පෙන්වන හොඳ උදාහරණයකි.
← පෙර පාඩම: Sensors සමඟ වැඩ කිරීම ඊළඟ පාඩම: LCD සහ Displays →