January 15, 2022

TechXlk

All About Technology

Servo Motors | TechXlk Arduino Tutorials – 18

arduino servo __TechXlk__

ඔයලා මේ එකතු වෙන්නේ arduino පිළිබඳ මුල ඉදලා කියලා දෙන 18 වැනි article එකත් එක්ක.අද අපි කතා කරන්න යන්නේ srvo motors ගැන​.

ඔයාලට පේනවා ඇති මම දාලා තියනවා servo motors වල pictures 2ක්.එකක් තරමක් පොඩියි,අනිත් එක ලොකුයි අනෙකට වඩා, මේ පොඩි servo motor එකෙන් පොඩි බලයක් තියෙන්නේ,ඒ වගේම එකේ gear system එක හදලා තියෙන්නේ plastic වලින්.නමුත් මේ ලොකු servo motor එක අපිට ලොකු වැඩක් කරනවා නම් ගන්න පුලුවන්.ඒ වගේම මේකේ gear system එක හදලා තියෙන්නේ metal වලින්.

මම ඉස්සල්ලාම කියන්නම් කොහොමද servo motor එකක් වැඩ කරන්නේ කියලා. servo motor එකක් අංශක 0 සිට අංශක 180 දක්වා පමණක් කරකවන්න පුලුවන්.සමහර servo motors තියනවා එවා කැමති වට ගානක් කරකවන්න පුලුවන්.

මේ servo motor එකෙ wire 3ක් තියනවා.ඒ තැඹිලි , දුඹුරු හා රතු ආදී වශයෙන්,

                තැඹිලි පාට wire එක අපි යොදා ගන්නේ servo motor එක control කරන්න​,දුඹුරු හා රතු යොදා ගන්නේ servo එකට විදුලිය සපයන්න​.මෙහිදී රතු wire එක + ත් දුඹුරු wire එක – ලෙසත් තමයි සම්බන්ධ කරගන්න ඕනි.ඒ කියන්නේ රතු wire එක Arduino board එකේ 5V එකටත් දුඹුරු wire එක Arduino board එකේ GND එකටත් සම්බන්ධ කරන්න. ඒ වගේම තැඹිලි wire එක set කරන්න ඕනි Arduino board එකේ pwm pin එකකට​.

මේ ලොකු servo motor එක control කරන්න නම් අපිට external power source එකක් අවශ්‍ය වෙනවා.සමාන්‍යයෙන් 12V වගේ.

අපිට servo motor එකක් control කරන්න library එකක් ඕනි.

මම ඉස්සල්ලාම කියන්නම් library එකක් කියන්නේ මොකක්ද කියලා.

අපි මේ libraries භාවිතා කරන්නේ අපි ලියන code එක පහසු කර ගන්න​. දැන් ඔයාලා හිතන්න servo motor එක අංශක 90ක් කරකවන්න ඕනි කියලා. Library එකක් නතුව අපි සාමන්‍ය විදිහට pwm කරලා අංශක 90ක්  හරියටම කරකවන්න අමාරුයි.නමුත් servo motors වලට එන library එක පාවිච්චි කලාම අපිට කරන්න තියෙන්නේ අපිට කරකවන්න ඕනි කෝණය කොච්චර අගයක්ද කියලා දෙන්න විතරයි.දැන් ඔයාලට පේනවා ඇති අපිට කොච්චර පහසුවක්ද මේ libraries පාවිච්චි කලාම ලැබෙන්නේ කියලා.

ඒ වගේම ඔයාලට ඕන තරම් විවිධ devices වලට libraries හොයා ගන්න පුලුවන්.ඒ වගේම අපිටම libraries හදා ගෙන පාවිච්චි කරන්න පුලුවන්.

හොඳයි දැන් අපි බලමු servo motor එක control කරන්න sketch එක ලියන්නේ කොහොමද කියලා.

මම කලින් කිව්වා කොහොමද wires set කරන්න ඕනි කොහොමද කියලා. මම දැන් servo motor එකේ තැඹිලි පාට wire එක set කරන්නේ Arduino board එකේ 6 වැනි digital pwm pin එකට​.

#include <Servo.h>
Servo KP;
int servo=6;

void setup() {
   KP.attach(servo);
   KP.write(0);

}

void loop() {
   KP.write(90);

}

මම ඉස්සල්ලාම කරලා තියෙන්නේ servo motors වලට එන servo.h කියන library එක මේකට දලා තියනවා. මේ library එක arduino ide එක install කලාම download වෙලා තියනවා.

ඔයලට බලා ගන්න පුලුවන් මේ විදිහට ඔයාට තියන libraries වලට ආපු examples තියනවා.

මේ manage libraries එකට ගියාම ඔයාට මේ වගේ window එකක් ලැබෙයි.

හරි දැන් අපි ආය යමු sketch එකට.මම ඊළගට කරලා තියෙන්නේ KP කියලා object එකක් හදාගෙන තියනවා servo motor එක control කරන්න​.

ඔයාලට පුලුවන් ඕනම library එකක් මෙතනින් download කරගන්න.

ඉතින් ඔයා ගාව servo library එක නැත්තන් මෙතන්ට ගිහිල්ලා download කර ගන්න පුලුවන්.

ඊට පස්සේ setup එකේදී KP එක attach කරනවා 6 වැනි pin එකට​. ඊලගට servo motor එක අංශක 0 කෝණයට ගෙනියනවා.ඊටත් පස්සේ loop එකේදී servo motor එකට අංශක 90 කෝණයට යන්න කියනවා.දැන් servo motor එක දිගටම අංශක 90 කෝණයේම නැවතිලා තියනවා බලාගන්න පුලුවන්.

#include <Servo.h>
Servo KP;
int servo=6;

void setup() {
   KP.attach(servo);
   KP.write(0);

}

void loop() {
   for(int x=0;x<=120;x++){
       KP.write(x);
       delay(15);
       }

}

මම මේ අලුත් sketch එකේදී කරලා තියෙන්නේ අංශක 1න් 1ට කෝණය වැඩි කරන එක​.1 අංශකයක් ගියාට පස්සේ miliseconds 15ක් නතර වෙලා ඉන්නවා.එතකොට අපිට පුලුවන් මේ එක කැරකෙන වේගය පාලනය කරන්න​.  දැන් එතකොට මේ sketch එකේදී අංශක 0 ඉඳලා 120 දක්වා හෙමින් ගිහිල්ලා එක පාරම අංශක 0ට යනවා.

අපිට මේක නැති කරලා පහල sketch එකක් ලියලා තියනවා.

#include <Servo.h>
Servo KP;
int servo=6;

void setup() {
   KP.attach(servo);
   KP.write(0);

}

void loop() {
   for(int x=0;x<=120;x++){
       KP.write(x);
       delay(15);
       }
   for(int x=120;x>=0;x--){
       KP.write(x);
       delay(15);
       }

}

දැන් servo motor එක එකම වේගයෙන් අංශක 0 ඉදල 120ටත් අංශක 120 ඉදල 0ටත් එ ක දිගටම කැරකෙනවා බලාගන්න පුලුවන්.

හොඳයි අපි ඊළග ලිපියෙන් හමු වෙනකන් අදට සමුගන්නවා.