ஜாய்ஸ்டிக் பயன்படுத்தி சர்வோ மோட்டாரை எவ்வாறு கட்டுப்படுத்துவது

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





இந்த இடுகையில் ஜாய்ஸ்டிக் மற்றும் அர்டுயினோவைப் பயன்படுத்தி சர்வோ மோட்டார்கள் கட்டுப்படுத்துவது எப்படி என்பதைக் கற்றுக்கொள்வோம். ஜாய்ஸ்டிக், அதன் ஊசிகளை, அதன் கட்டுமானம் மற்றும் வேலை பற்றிய கண்ணோட்டத்தைப் பார்ப்போம். சர்வோ மோட்டார்கள் கட்டுப்படுத்துவதற்கான அடிப்படையாக இருக்கும் ஜாய் ஸ்டிக்கிலிருந்து பயனுள்ள தரவை நாங்கள் பிரித்தெடுப்போம்.

அறிமுகம்

இந்த கட்டுரையின் குறிக்கோள் மட்டுமல்ல சர்வோ மோட்டார்கள் கட்டுப்படுத்தவும் ஆனால், எவ்வாறு பயன்படுத்துவது என்பதை அறிய கட்டுப்படுத்த ஜாய்ஸ்டிக் பல புற சாதனங்கள்.



இப்போது ஜாய்ஸ்டிக்கைப் பார்ப்போம்.

ஜாய்ஸ்டிக் என்பது ஒரு நெம்புகோலைக் கொண்டிருக்கும் உள்ளீட்டு சாதனமாகும், இது எக்ஸ் மற்றும் ஒய் அச்சுகளில் பல திசைகளில் நகரும். நெம்புகோலின் இயக்கம் ஒரு மோட்டார் அல்லது எந்த புற மின்னணு சாதனங்களையும் கட்டுப்படுத்த பயன்படுகிறது.



ஆர்.சி பொம்மைகளிலிருந்து போயிங் விமானங்கள் வரை ஜாய்ஸ்டிக்ஸ் பயன்படுத்தப்படுகின்றன மற்றும் ஒத்த செயல்பாடுகளைச் செய்கின்றன. கூடுதலாக கேமிங் மற்றும் சிறிய மகிழ்ச்சி குச்சிகள் Z அச்சில் ஒரு புஷ் பொத்தானைக் கொண்டுள்ளன, அவை பல பயனுள்ள செயல்களைச் செய்ய திட்டமிடப்படலாம்.

ஜாய்ஸ்டிக் விளக்கம்:

ஜாய்ஸ்டிக் விளக்கம்:

ஜாய்ஸ்டிக்ஸ் பொதுவாக மின்னணு சாதனங்கள் எனவே, நாம் சக்தியைப் பயன்படுத்த வேண்டும். நெம்புகோலின் இயக்கம் வெளியீட்டு ஊசிகளில் மின்னழுத்த வேறுபாட்டை உருவாக்குகிறது. மோட்டார் போன்ற வெளியீட்டு சாதனத்தைக் கட்டுப்படுத்த மின்னழுத்த அளவுகள் மைக்ரோகண்ட்ரோலரால் செயலாக்கப்படுகின்றன.

விளக்கப்பட்ட ஜாய்ஸ்டிக் ஒத்த ஒன்றாகும், இது பிளேஸ்டேஷன் மற்றும் எக்ஸ்பாக்ஸ் கட்டுப்படுத்திகளில் காணலாம். ஒன்றைக் காப்பாற்ற இந்த கட்டுப்படுத்திகளை நீங்கள் உடைக்க தேவையில்லை. இந்த தொகுதிகள் உள்ளூர் மின்னணு கடைகள் மற்றும் ஈ-காமர்ஸ் தளங்களில் எளிதாகக் கிடைக்கின்றன.

இப்போது இந்த ஜாய்ஸ்டிக் கட்டுமானத்தைப் பார்ப்போம்.

இது இரண்டு 10 கிலோ ஓம் கொண்டது பொட்டென்டோமீட்டர் எக்ஸ் மற்றும் ஒய் அச்சுகளில் நீரூற்றுகளுடன் நிலைநிறுத்தப்பட்டுள்ளது, இதனால் பயனர் நெம்புகோலில் இருந்து சக்தியை விடுவிக்கும் போது அது அதன் அசல் நிலைக்குத் திரும்புகிறது. இது Z அச்சில் ON பொத்தானை அழுத்துகிறது.

இது 5 பின்ஸ், 5 வோல்ட் வி.சி.சி, ஜி.என்.டி, மாறி எக்ஸ், மாறி ஒய் மற்றும் எஸ்.டபிள்யூ (இசட் அச்சு சுவிட்ச்) ஆகியவற்றைக் கொண்டுள்ளது. நாம் மின்னழுத்தத்தைப் பயன்படுத்தும்போது, ​​ஜாய்ஸ்டிக்கை அதன் அசல் நெம்புகோல் நிலையில் விட்டுவிடும்போது. எக்ஸ் மற்றும் ஒய் ஊசிகளும் பயன்படுத்தப்படும் மின்னழுத்தத்தின் பாதியை உருவாக்கும்.

நாம் நெம்புகோலை நகர்த்தும்போது மின்னழுத்தம் எக்ஸ் மற்றும் ஒய் வெளியீட்டு ஊசிகளில் மாறுபடும். இப்போது ஜாய்ஸ்டிக்கை Arduino க்கு நடைமுறையில் இடைமுகப்படுத்தலாம்.

திட்ட வரைபடம்:

ஜாய்ஸ்டிக் பயன்படுத்தி Arduino Servo மோட்டார் கட்டுப்பாடு

முள் இணைப்பு விவரங்கள் சுற்றுக்கு அருகில் கொடுக்கப்பட்டுள்ளன. பூர்த்தி செய்யப்பட்ட வன்பொருள் அமைப்பை இணைத்து குறியீட்டை பதிவேற்றவும்.

திட்டம்:

//---------------Program Developed by R.Girish--------------//
int X_axis = A0
int Y_axis = A1
int Z_axis = 2
int x = 0
int y = 0
int z = 0
void setup()
{
Serial.begin(9600)
pinMode(X_axis, INPUT)
pinMode(Y_axis, INPUT)
pinMode(Z_axis, INPUT)
digitalWrite(Z_axis, HIGH)
}
void loop()
{
x = analogRead(X_axis)
y = analogRead(Y_axis)
z = digitalRead(Z_axis)
Serial.print('X axis = ')
Serial.println(x)
Serial.print('Y axis = ')
Serial.println(y)
Serial.print('Z axis = ')
if(z == HIGH)
{
Serial.println('Button not Pressed')
}
else
{
Serial.println('Button Pressed')
}
Serial.println('----------------------------')
delay(500)
}
//---------------Program Developed by R.Girish--------------//

சீரியல் மானிட்டரைத் திறக்க நீங்கள் எக்ஸ் மற்றும் ஒய் அச்சின் ஊசிகளில் மின்னழுத்த அளவையும், இசட் அச்சின் நிலையையும் காணலாம், அதாவது கீழே விளக்கப்பட்டுள்ளபடி புஷ் பொத்தான்.

இந்த எக்ஸ், ஒய், இசட் அச்சுகள் மதிப்புகள் நெம்புகோலின் நிலையை விளக்குவதற்குப் பயன்படுத்தப்படுகின்றன. நீங்கள் பார்க்க முடியும் என மதிப்புகள் 0 முதல் 1023 வரை.

மின்னழுத்தம் 0V - 5V ஐ 0 முதல் 1023 மதிப்புகளாக மாற்றும் ADC மாற்றி ஒன்றில் Arduino கட்டியுள்ளதால் தான்.

நெம்புகோல் தீண்டப்படாமல் இருக்கும்போது, ​​நெம்புகோல் எக்ஸ் மற்றும் ஒய் அச்சுகள் இரண்டின் நடுப்பகுதியில் தங்கி 1023 இன் அரை மதிப்பைக் காட்டுகிறது என்பதை சீரியல் மானிட்டரிலிருந்து நீங்கள் காணலாம்.

இந்த ஜாய்ஸ்டிக்ஸை தயாரிப்பது ஒருபோதும் சரியாக இல்லாததால், இது 1023 இன் சரியான பாதி அல்ல என்பதையும் நீங்கள் காணலாம்.

இப்போது, ​​ஜாய்ஸ்டிக்ஸ் பற்றி உங்களுக்கு சில தொழில்நுட்ப அறிவு கிடைத்திருக்கும்.

இப்போது ஒரு ஜாய்ஸ்டிக் பயன்படுத்தி இரண்டு சர்வோ மோட்டார்கள் கட்டுப்படுத்துவது எப்படி என்று பார்ப்போம்.

சுற்று வரைபடம்:

எக்ஸ் அச்சில் ஜாய்ஸ்டிக்கை நகர்த்தும்போது இரண்டு சர்வோ மோட்டார்கள் ஒரு ஜாய்ஸ்டிக் மூலம் கட்டுப்படுத்தப்படுகின்றன. முள் # 7 இல் இணைக்கப்பட்டுள்ள சர்வோ நெம்புகோல் நிலையைப் பொறுத்து கடிகார திசையிலும் கடிகார எதிர்ப்பு வாரியாகவும் நகரும்.

நீங்கள் ஒரு குறிப்பிட்ட நிலையில் ஜாய்ஸ்டிக் மட்டத்தை வைத்திருந்தால், நீங்கள் சர்வோ ஆக்சுவேட்டரை ஒரு நிலையில் வைத்திருக்க முடியும்.

முள் # 6 இல் இணைக்கப்பட்ட சர்வோ மோட்டருக்கு ஒத்த, நீங்கள் நெம்புகோலை Y அச்சுடன் நகர்த்தலாம்.

நீங்கள் இசட் அச்சில் நெம்புகோலை அழுத்தும்போது, ​​இரண்டு மோட்டார்கள் 180 டிகிரி ஸ்வீப் செய்யும்.

நீங்கள் arduino ஐ இணைக்கலாம் 9 வி பேட்டரி அல்லது கணினிக்கு. நீங்கள் Arduino ஐ கணினியுடன் இணைத்தால், நீங்கள் தொடர் மானிட்டரைத் திறந்து, சர்வோ ஆக்சுவேட்டர்களின் கோணத்தையும் மின்னழுத்த அளவையும் காணலாம்.

சர்வோ மோட்டார் கட்டுப்பாட்டுக்கான திட்டம்:

//---------------Program Developed by R.Girish--------------//
#include
Servo servo_X
Servo servo_Y
int X_angleValue = 0
int Y_angleValue = 0
int X_axis = A0
int Y_axis = A1
int Z_axis = 2
int x = 0
int y = 0
int z = 0
int pos = 0
int check1 = 0
int check2 = 0
int threshold = 10
void setup()
{
Serial.begin(9600)
servo_X.attach(7)
servo_Y.attach(6)
pinMode(X_axis, INPUT)
pinMode(Y_axis, INPUT)
pinMode(Z_axis, INPUT)
digitalWrite(Z_axis, HIGH)
}
void loop()
{
x = analogRead(X_axis)
y = analogRead(Y_axis)
z = digitalRead(Z_axis)
if(z == LOW)
{
Serial.print('Z axis status = ')
Serial.println('Button Pressed')
Serial.println('Sweeping servo actuators')
for (pos = 0 pos <= 180 pos += 1)
{
servo_X.write(pos)
delay(10)
}
for (pos = 180 pos >= 0 pos -= 1)
{
servo_X.write(pos)
delay(15)
}
for (pos = 0 pos <= 180 pos += 1)
{
servo_Y.write(pos)
delay(10)
}
for (pos = 180 pos >= 0 pos -= 1)
{
servo_Y.write(pos)
delay(15)
}
Serial.println('Done!!!')
}
if(x > check1 + threshold || x {
X_angleValue = map(x, 0, 1023, 0, 180)
servo_X.write(X_angleValue)
check1 = x
Serial.print('X axis voltage level = ')
Serial.println(x)
Serial.print('X axis servo motor angle = ')
Serial.print(X_angleValue)
Serial.println(' degree')
Serial.println('------------------------------------------')
}
if(y > check2 + threshold || y {
Y_angleValue = map(y, 0, 1023, 0, 180)
servo_Y.write(Y_angleValue)
check2 = y
Serial.print('Y axis voltage level = ')
Serial.println(y)
Serial.print('Y axis servo motor angle = ')
Serial.print(Y_angleValue)
Serial.println(' degree')
Serial.println('------------------------------------------')
}
}
//---------------Program Developed by R.Girish--------------//

இந்த திட்டம் தொடர்பாக உங்களுக்கு ஏதேனும் குறிப்பிட்ட கேள்வி இருந்தால், கருத்துப் பிரிவில் வெளிப்படுத்த தயங்க, நீங்கள் விரைவான பதிலைப் பெறலாம்.




முந்தைய: Arduino ஐப் பயன்படுத்தி டிஜிட்டல் கொள்ளளவு மீட்டர் சுற்று அடுத்து: Arduino உடன் டிஜிட்டல் பொட்டென்டோமீட்டர் MCP41xx ஐப் பயன்படுத்துதல்