الوصف
وحدة عصا تحكم بمحورين XY
تتيح وحدة الإدخال هذه التحكم بالحركة على المحورين X وY. وتُستخدم عادةً مع مشاريع Arduino مثل الروبوتات والألعاب والواجهات التفاعلية.
🔧 المواصفات المذكورة
- التغذية: 5 V DC وفق القائمة
- المخارج: إشارتان تناظريتان للمحورين X وY وإشارة رقمية لزر الضغط
- الأبعاد: 34 × 34 × 15 mm
- عناصر الاستشعار: مقياسا مقاومة للمحورين X وY مع زر ضغط مدمج
⚙️ طريقة العمل
يكشف مقياسا المقاومة الحركة على المحورين X وY. يؤدي تحريك العصا إلى تغيير المقاومة وجهد الخرج التناظري المقابل. ويؤدي الضغط على العصا إلى تشغيل الزر المدمج.
💡 الاستخدامات
- التحكم بالروبوتات
- واجهات الألعاب
- التحكم بالمحركات
- المشاريع التفاعلية
📌 مخطط الأطراف
- VCC: التغذية (5 V وفق القائمة)
- GND: الأرضي
- VRx: خرج تناظري للمحور X
- VRy: خرج تناظري للمحور Y
- SW: خرج رقمي لزر الضغط

🔌 الاستخدام مع Arduino Uno
صِل VCC وGND بالطاقة والأرضي في Arduino. صِل VRx وVRy بمدخلين تناظريين لقراءة موضع العصا، وصِل SW بمدخل رقمي لاكتشاف الضغط.
مثال Arduino أساسي
#define VRX_PIN A0
#define VRY_PIN A1
#define SW_PIN 2
void setup() {
Serial.begin(9600);
pinMode(SW_PIN, INPUT_PULLUP);
}
void loop() {
int xValue = analogRead(VRX_PIN);
int yValue = analogRead(VRY_PIN);
int buttonState = digitalRead(SW_PIN);
Serial.print("X-axis: ");
Serial.print(xValue);
Serial.print(" | Y-axis: ");
Serial.print(yValue);
Serial.print(" | Button: ");
Serial.println(buttonState);
delay(100);
}
تقرأ هذه الشيفرة المحورين التناظريين وحالة الزر، ثم تطبع القيم في Serial Monitor.
مكونات المثال الأساسي
- Arduino Uno
- وحدة عصا تحكم بمحورين XY
- أسلاك توصيل
شرح الشيفرة
- التهيئة: بدء الاتصال التسلسلي وضبط طرف زر العصا.
- القراءة والعرض: قراءة قيم المحورين التناظريين وحالة الزر وطباعتها في Serial Monitor.
التوصيلات الأساسية
- VCC: 5V (Arduino)
- GND: GND (Arduino)
- VRx: A0 (Arduino)
- VRy: A1 (Arduino)
- SW: D2 (Arduino)
مثال متقدم مع شاشة I2C LCD
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define VRX_PIN A0
#define VRY_PIN A1
#define SW_PIN 2
void setup() {
lcd.begin();
lcd.backlight();
Serial.begin(9600);
pinMode(SW_PIN, INPUT_PULLUP);
}
void loop() {
int xValue = analogRead(VRX_PIN);
int yValue = analogRead(VRY_PIN);
int buttonState = digitalRead(SW_PIN);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("X: ");
lcd.print(xValue);
lcd.setCursor(8, 0);
lcd.print("Y: ");
lcd.print(yValue);
lcd.setCursor(0, 1);
lcd.print("Button: ");
lcd.print(buttonState ? "Released" : "Pressed");
delay(100);
}
يقرأ هذا المثال المحورين X وY والزر، ويعرض القيم على شاشة I2C LCD.
مكونات المثال المتقدم
- Arduino Uno
- وحدة عصا تحكم بمحورين XY
- شاشة I2C LCD 1602
- أسلاك توصيل
التوصيلات المتقدمة
- VCC: 5V (Arduino)
- GND: GND (Arduino)
- VRx: A0 (Arduino)
- VRy: A1 (Arduino)
- SW: D2 (Arduino)
- VCC الشاشة: 5V (Arduino)
- GND الشاشة: GND (Arduino)
- SCL الشاشة: A5 (Arduino Uno)
- SDA الشاشة: A4 (Arduino Uno)
تثبيت المكتبة
لاستخدام شاشة I2C LCD، ثبّت مكتبة LiquidCrystal I2C عبر مدير المكتبات في Arduino IDE: افتح Sketch → Include Library → Manage Libraries، وابحث عن “LiquidCrystal I2C”، ثم ثبّتها.
تحقّق من علامات أطراف الوحدة وحدود الجهد للوحة المتصلة قبل تشغيل الدائرة.










