Magicbit Servo
Magicbit මගින් Servo motor ක්රියා කරවමු
Components Required
හැදින්වීම
Servo Motors යනු ඉතා නිරවද්යතාවයකින් වස්තුවක් තල්ලු කිරීමට හෝ කරකැවීමට හැකි විද්යුත් උපාංගයකි. ඔබට යම් නිශ්චිත කෝණයකින් හෝ දුරකින් වස්තුවක් කරකැවීමට අවශ්ය නම්, ඔබට සර්වෝ මෝටරයක් භාවිතා කළ හැක.එය සෑදී ඇත්තේ සරල මෝටරයකින් වන අතර එය Servo-Mechanism එකක් හරහා ගමන් කරයි.
පාඩමේ අරමුණ:
- Magicbit සමග Servo Motors භාවිතා කිරීම
සිද්ධාන්ත
සර්වෝ මෝටරය PWM (Pulse Width Modulation) මූලධර්මය මත ක්රියා කරයි, එනම් එහි භ්රමණ කෝණය, එහි පාලන PIN වෙත යොදන ස්පන්දනයේ කාලසීමාව මගින් පාලනය වේ. සර්වෝමෝටරය සෑදී ඇත්තේ DC මෝටරයකින් වන අතර එය විචල්ය ප්රතිරෝධකයක් (potentiometer) සහ ගියර් මගින් පාලනය වේ. Servo Motors ඉතා නිවැරදිව පිහිටීම සහ වේගය පාලනය කරයි. දැන් පොටෙන්ටියෝමීටරයකට පතුවළේ(Shaft) යාන්ත්රික පිහිටීම දැනිය හැකිය. එබැවින්, එය ගියර් හරහා මෝටර් පතුවළ සමඟ සම්බන්ධ වේ. පතුවළේ වත්මන් පිහිටීම potentiometer මගින් විද්යුත් සංඥාවක් බවට පරිවර්තනය කර ඇති අතර එය විධාන ආදාන සංඥාව සමඟ සංසන්දනය කරයි. නවීන සර්වෝමෝටරවල, ඉලෙක්ට්රොනික කේතීකරණ(Electronic Encoders) හෝ සංවේදක පතුවළ පිහිටීම ලබාදෙයි. 1ms ක ස්පන්දනයක් අංශක -90 දී පතුවළ ප්රතිවිරුද්ධ දිශාවට ගෙන යනු ඇත, 1.5ms ක ස්පන්දනය අංශක 0 ක් වන උදාසීන ස්ථානයට ගෙන යනු ඇත, සහ 2ms ක ස්පන්දනය අංශක +90 දී පතුවළ දක්ෂිණාවර්තව චලනය කරයි. පහත රූපසටහන මගින් ස්පන්දන කාලයන් පිළිබඳ විස්තර දක්වා ඇත.
Figure 1:PWM Signals for various angles
ක්රමවේදය
මෙම පාඩම කිරීම සඳහා, ESP32Servo Library එක ස්ථාපනය කළ යුතුය.ESP32Servo Library බාගත කිරීමට මෙතන ක්ලික් කරන්න. ඉන්පසු Arduino IDE සඳහා Library ස්ථාපනය කරන්න.ESP32Servo Library ස්ථාපනය කිරීමට මෙම පියවර අනුගමනය කරන්න.
Figure 2: Include library -> Add.ZIP library
Figure 3: Select ZIP file
ඉන්පසු මැජික් සර්වෝ මෝටරය Magicbit වෙත සම්බන්ධ කරන්න. එම පියවර සම්පූර්ණ කිරීමෙන් පසු, ඔබගේ Magicbit සඳහා පහත කේතය උඩුගත කරන්න.
Code
#include <ESP32Servo.h>
Servo MagicServo;
void setup() {
MagicServo.attach(32);
}
void loop( ) {
for(int i=0; i<=180; i++){
MagicServo.write(i);
delay(10);
}
}
පැහැදිලි කිරීම
Servo MagicServo: servomotor MagicServo.attach: නිර්වචනය කිරීම සඳහා අපි වැඩසටහනේ object එකක් සෑදිය යුතුය: ‘attach’ යන්නෙන් අදහස් කරන්නේ මැජික්බිට් හි කුමන පින් එක සර්වෝමෝටරයට සම්බන්ධ වන්නේ දැයි යන්නයි.
For loop: මෙහි දී, අපි ලූප් ක්රියාව වැඩි කිරීමට ‘for loop’ භාවිතා කරමු. මේ නිසා, සර්වෝමෝටරය එහි කෝණය 0 සිට 180 දක්වා වැඩි කරන අතර සම්පූර්ණ වූ පසු, මෙම ක්රියාව ආරම්භක ස්ථානයට නැවත සකසයි. මෙම ක්රියාව ‘ෆෝ ලූප්’ තුළ නැවත නැවතත් සිදු කෙරේ.