مشروع التحكم في محرك باستخدام ESP8266 وتطبيق RemoteXY
هذا المشروع يتيح التحكم بمحرك كهربائي عن بعد باستخدام وحدة ESP8266 وتطبيق RemoteXY. يتم توصيل ESP8266 بمحرك عبر وحدة تحكم مثل L298N، مما يسمح للمستخدم بتشغيل المحرك، إيقافه، وتغيير اتجاه دورانه من خلال تطبيق الهاتف المحمول.
طريقة العمل:
يقوم ESP8266 بإنشاء شبكة WiFi محلية يمكن للمستخدم الاتصال بها عبر الهاتف.
عند الاتصال بالتطبيق، يمكن إرسال أوامر لتشغيل المحرك أو إيقافه.
يعتمد التحكم على إشارات رقمية يتم إرسالها إلى وحدة القيادة (مثل L298N أو ترانزستور).
المكونات المطلوبة:
وحدة ESP8266 (مثل NodeMCU).
محرك كهربائي (DC Motor).
وحدة تحكم محرك (L298N أو MOSFET).
أسلاك توصيل.
تطبيق RemoteXY على الهاتف المحمول.
كود المشروع:
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
// إعدادات الشبكة اللاسلكية الخاصة بـ RemoteXY
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "12345678"
// تعريف واجهة RemoteXY
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = {2, 1, 1, 0, 0, 3, 1, 0, 6, 12, 2};
struct { uint8_t switch_01; } RemoteXY;
#pragma pack(pop)
// تعريف منافذ المحرك
#define MOTOR_PIN1 D5
#define MOTOR_PIN2 D6
void setup() {
RemoteXY_Init();
pinMode(MOTOR_PIN1, OUTPUT);
pinMode(MOTOR_PIN2, OUTPUT);
}
void loop() {
RemoteXY_Handler();
if (RemoteXY.switch_01 == 1) {
digitalWrite(MOTOR_PIN1, HIGH);
digitalWrite(MOTOR_PIN2, LOW);
}
else if (RemoteXY.switch_01 == 2) {
digitalWrite(MOTOR_PIN1, LOW);
digitalWrite(MOTOR_PIN2, HIGH);
}
else {
digitalWrite(MOTOR_PIN1, LOW);
digitalWrite(MOTOR_PIN2, LOW);
}
}