ماژول جوی استیک Joystick PS2 دو محوره
ماژول Joystick PS2 دو محوره، یک ماژول الکترونیکی است که از طریق اتصال به پورت PS2 یا پورت Joystick کنترلها و اطلاعات مربوط به حرکت و جهت دو محور را دریافت میکند. این ماژول به عنوان یک کنترلکننده دستی عمل میکند و معمولاً در پروژههای الکترونیکی و رباتیکا برای کنترل حرکت موتورها و مکانیزمها استفاده میشود.ماژول جوی استیک PS2 دو محوره به صورت یک واحد کوچک شامل دو جویاستیک (Joystick) با محورهای افقی (X) و عمودی (Y) میباشد. با جابهجایی هر جویاستیک، اطلاعات مربوط به جهت و میزان جابهجایی در محورهای X و Y به صورت سیگنالهای الکتریکی از ماژول خارج میشوند.برای استفاده از این ماژول، نیاز به اتصال آن به میکروکنترلر یا برد آردوینو و خواندن سیگنالهای خروجی از آن است. با تحلیل سیگنالهای خروجی از ماژول، میتوانید مقادیر محورهای X و Y را مشخص کرده و بر اساس آنها دستورات مربوط به حرکت و کنترل دستگاهها را اجرا کنید.ماژولهای جوی استیک PS2 دو محوره به عنوان یکی از اجزای ارزان و مفید در پروژههای الکترونیکی مورد استفاده قرار میگیرند و میتوانند به عنوان یک وسیله کنترلی کارآمد در نظر گرفته شوند.
مشخصات فنی ماژول جوی استیک Joystick PS2 دو محوره
- محورها: دو محور برای کنترل حرکت افقی (X) و عمودی (Y).
- رابط: PS2 یا پورت جویاستیک.
- ولتاژ کاری: 5 ولت DC (قابل اتصال به پایههای 5 ولت میکروکنترلر یا برد آردوینو).
- خروجیها: دو خروجی آنالوگ برای محورهای X و Y که ولتاژ خروجی آنها به تغییر موقعیت جویاستیک بستگی دارد.
- دقت: قابلیت تشخیص حرکتهای دقیق در محورهای X و Y.
- ابعاد: ابعاد کوچک و مناسب برای استفاده در پروژههای الکترونیکی و رباتیک.
- جنس بدنه: پلاستیک
- نوع اتصال: دارای پینها برای اتصال به برد آردوینو یا میکروکنترلرهای دیگر.
بررسی پایه های ماژول جوی استیک Joystick PS2 دو محوره
- VCC: این پایه به منبع تغذیه 5 ولت DC متصل میشود. این منبع تغذیه برای تغذیه مدار ماژول استفاده میشود.
- GND: این پایه به زمین (GND) متصل میشود و نقطه مشترک برای منابع تغذیه و مدارهای الکترونیکی ماژول است.
- VRx: این پایه خروجی آنالوگ محور افقی (X) ماژول است. با حرکت جویاستیک در افقی، ولتاژ خروجی این پایه تغییر میکند.
- VRy: این پایه خروجی آنالوگ محور عمودی (Y) ماژول است. با حرکت جویاستیک در عمودی، ولتاژ خروجی این پایه تغییر میکند.
- SW: این پایه یک سوئیچ (Switch) داخلی ماژول است که با فشردن جویاستیک، قطبه میشود. این پایه به صورت دیجیتال به میکروکنترلر یا برد آردوینو متصل میشود و با خواندن وضعیت آن میتوان از فشار دادن جویاستیک به عنوان یک دکمه استفاده کرد.
به همراه ماژول جوی استیک چه اقلامی باید خریداری شود؟
- برد آردوینو Arduino
- کابل فلت
- برد بورد
- درایور موتور
- موتور
- سرو موتور
راه اندازی ماژول جوی استیک با آردوینو
در ادامه یک کد آردوینو برای ماژول جوی استیک دو محوره نوشته شده است. کد را کپی و در نرم افزار آردوینو اجرا کنید. با تغییر شافت جوی استیک در دو محور X Y مقادیر دو محور نمایش داده خواهد شد.
const int joystickXPin = A0; // پین مربوط به محور افقی (X) ماژول جوی استیک
const int joystickYPin = A1; // پین مربوط به محور عمودی (Y) ماژول جوی استیک
const int joystickSWPin = 2; // پین مربوط به دکمه (SW) ماژول جوی استیک
void setup() {
pinMode(joystickSWPin, INPUT_PULLUP); // تنظیم پین دکمه به حالت ورودی با مقاومت پولآپ
Serial.begin(9600); // شروع ارتباط سریال برای نمایش مقادیر در مانیتور سریال
}
void loop() {
int joystickXValue = analogRead(joystickXPin); // خواندن مقدار آنالوگ محور افقی
int joystickYValue = analogRead(joystickYPin); // خواندن مقدار آنالوگ محور عمودی
int joystickSWState = digitalRead(joystickSWPin); // خواندن وضعیت دیجیتال دکمه
// نمایش مقادیر در مانیتور سریال
Serial.print("X: ");
Serial.print(joystickXValue);
Serial.print(", Y: ");
Serial.print(joystickYValue);
Serial.print(", SW: ");
Serial.println(joystickSWState);
delay(100); // تاخیر کوتاه برای جلوگیری از خواندن مقادیر بینهایت در مانیتور سریال
}
راه اندازی ماژول جوی استیک با میکروپایتون
این کد از ماژول machine در میکروپایتون استفاده میکند که به دسترسی به ویژگیهای سختافزاری مانند GPIO و ADC کمک میکند. این کد مقادیر آنالوگ محور افقی و عمودی را از پینهای مخصوصی ماژول جوی استیک با استفاده از کلاس ADC و وضعیت دیجیتال دکمه را از پین مخصوصی با استفاده از کلاس Pin خوانده و آنها را به محیط کنسول چاپ میکند.
from machine import Pin, ADC
# تعریف پینهای متصل به ماژول جوی استیک
پین_افقی_جوی_استیک = ADC(0) # پین آنالوگ مربوط به محور افقی (آنالوگ ورودی A0)
پین_عمودی_جوی_استیک = ADC(1) # پین آنالوگ مربوط به محور عمودی (آنالوگ ورودی A1)
پین_دکمه_جوی_استیک = Pin(2, Pin.IN, Pin.PULL_UP) # پین دیجیتال مربوط به دکمه (ورودی D2)
# تابع برای خواندن مقادیر آنالوگ از ماژول جوی استیک
def خواندن_مقادیر_جوی_استیک():
مقدار_افقی = پین_افقی_جوی_استیک.read() # خواندن مقدار آنالوگ محور افقی
مقدار_عمودی = پین_عمودی_جوی_استیک.read() # خواندن مقدار آنالوگ محور عمودی
وضعیت_دکمه = پین_دکمه_جوی_استیک.value() # خواندن وضعیت دیجیتال دکمه
return مقدار_افقی, مقدار_عمودی, وضعیت_دکمه
while True:
مقدار_افقی, مقدار_عمودی, وضعیت_دکمه = خواندن_مقادیر_جوی_استیک()
print("افقی:", مقدار_افقی)
print("عمودی:", مقدار_عمودی)
print("دکمه:", وضعیت_دکمه)
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- مبدل
- ابعاد فیبر
- 3.3 * 2.6 سانتی متر
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ مورد نياز
- 5 ولت DC
- فیبر مدار چاپی
- فایبر گلاس دو رو متالیزه
- چاپ مس
- دارای چاپ مشکی
- تعداد پایه ها
- 5 عدد
- ترتیب پایه ها
- مطابق چاپ برد
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.