# 🔌 دليل اختيار Port في Arduino IDE ## 📍 كيف تعرف Port الصحيح؟ ### Windows: 1. افتح **Device Manager** (إدارة الأجهزة) 2. ابحث عن **Ports (COM & LPT)** 3. وصّل ESP8266 بالـ USB 4. سيظهر جهاز جديد مثل: - `USB-SERIAL CH340 (COM3)` - `Silicon Labs CP210x (COM5)` - `USB Serial Port (COM7)` 5. الرقم بين الأقواس هو الـ Port (مثل COM3) ### Mac: 1. افتح **Terminal** 2. اكتب: `ls /dev/cu.*` 3. وصّل ESP8266 4. اكتب مرة أخرى: `ls /dev/cu.*` 5. الجهاز الجديد هو الـ Port (مثل `/dev/cu.usbserial-1420`) ### Linux: 1. افتح **Terminal** 2. اكتب: `ls /dev/ttyUSB*` أو `ls /dev/ttyACM*` 3. وصّل ESP8266 4. اكتب مرة أخرى 5. الجهاز الجديد هو الـ Port (مثل `/dev/ttyUSB0`) --- ## 🎯 في Arduino IDE: ### الخطوات: 1. افتح Arduino IDE 2. اذهب لـ **Tools** → **Board** → **ESP8266 Boards** 3. اختر **NodeMCU 1.0 (ESP-12E Module)** 4. اذهب لـ **Tools** → **Port** 5. اختر الـ Port الذي ظهر (مثل COM3) ### إذا لم يظهر Port: 1. تأكد من توصيل كابل USB بشكل صحيح 2. جرب كابل USB آخر (بعض الكابلات للشحن فقط) 3. ثبّت تعريف CH340 أو CP2102: - **CH340:** https://sparks.gogo.co.nz/ch340.html - **CP2102:** https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers --- ## 💡 LED الاختبار المدمج ### GPIO2 (D4) - Built-in LED: - موجود على لوحة ESP8266 نفسها - يضيء باللون الأزرق - **Inverted Logic:** - `digitalWrite(2, LOW)` = LED ON ✅ - `digitalWrite(2, HIGH)` = LED OFF ❌ ### استخدامات LED الاختبار: 1. **أثناء الاتصال بـ WiFi:** يومض بسرعة 2. **عند نجاح الاتصال:** يضيء ثابت 3. **عند فشل الاتصال:** يومض بسرعة جداً 10 مرات 4. **أمر test_led:** يومض 3 مرات ثم يضيء --- ## 🔧 إعدادات Serial Monitor ### في Arduino IDE: 1. اضغط **Ctrl+Shift+M** لفتح Serial Monitor 2. اختر Baud Rate من القائمة المنسدلة: - **115200** (موصى به) ⭐ - 9600 (بطيء) 3. اختر **Both NL & CR** من القائمة الثانية ### ماذا سترى: ``` ======================================== ESP8266 IoT Control System Device ID: ESP01 ======================================== Relay Pin: GPIO5 Test LED Pin: GPIO2 ---------------------------------------- Connecting to WiFi: MyWiFi ---------------------------------------- ..... ✓ WiFi Connected! IP Address: 192.168.1.150 Server: http://192.168.1.100/KL/backend/api/esp_control.php ---------------------------------------- System Ready! Waiting for commands... ======================================== ``` --- ## 🎨 مخطط Pins ``` NodeMCU ESP8266 ┌─────────────────┐ │ │ │ D0 GPIO16 │ │ D1 GPIO5 ⭐ │ ← Relay Pin (افتراضي) │ D2 GPIO4 │ │ D3 GPIO0 │ │ D4 GPIO2 💡 │ ← Built-in LED (افتراضي) │ D5 GPIO14 │ │ D6 GPIO12 │ │ D7 GPIO13 │ │ D8 GPIO15 │ │ │ │ 3V3 VCC GND │ └─────────────────┘ ``` --- ## ⚡ نصائح سريعة 1. **استخدم كابل USB جيد** - بعض الكابلات للشحن فقط 2. **لا تنسى تثبيت التعريفات** - CH340 أو CP2102 3. **افتح Serial Monitor دائماً** - لمعرفة ما يحدث 4. **LED الاختبار مفيد جداً** - يخبرك بحالة الجهاز 5. **Port يتغير أحياناً** - تحقق منه قبل كل رفع --- ## 🐛 حل المشاكل ### المشكلة: "Port not found" **الحل:** - ثبّت تعريف CH340 أو CP2102 - جرب كابل USB آخر - أعد تشغيل Arduino IDE ### المشكلة: "Upload failed" **الحل:** - تأكد من اختيار Board الصحيح (NodeMCU 1.0) - تأكد من اختيار Port الصحيح - اضغط زر FLASH على اللوحة أثناء الرفع ### المشكلة: LED لا يضيء **الحل:** - تذكر أن LED مقلوب (LOW = ON) - تأكد من Pin الصحيح (GPIO2) - بعض اللوحات ليس بها LED مدمج --- **تم التطوير بواسطة Kiro AI** 🤖