اطلاعیه

Collapse
No announcement yet.

کنترل پرده ها و شاتر ها با برد توسعه T-Energy TTGO با هسته ESP32

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترل پرده ها و شاتر ها با برد توسعه T-Energy TTGO با هسته ESP32

    این برد با قابلیت‌های وای‌فای و بلوتوث، به شما امکان می‌دهد تا پرده‌ها و شاترها را به راحتی از طریق اپلیکیشن‌های موبایل یا سایر دستگاه‌های هوشمند کنترل کنید.
    ابتدا برد توسعه ی
    برد توسعه T-Energy TTGO دارای هسته بلوتوث و وای فای ESP32 رو به صورت خلاصه و مفید معرفی میکنم.



    ویژگی‌های اصلی برد T-Energy TTGO

    هسته ESP32
    پردازنده دو هسته‌ای Tensilica LX6: عملکرد بالا با فرکانس کاری تا 240 مگاهرتز.
    حافظه: 520 کیلوبایت SRAM و 4 مگابایت فلش.


    اتصال بی‌سیم
    وای‌فای: پشتیبانی از استاندارد 802.11 b/g/n.
    بلوتوث: پشتیبانی از بلوتوث 4.2 و بلوتوث کم‌مصرف (BLE).


    درگاه‌ها و اتصالات
    پورت‌های GPIO: پشتیبانی از تعداد زیادی پورت GPIO برای اتصال سنسورها و ماژول‌های مختلف.
    SPI، I2C، UART: پشتیبانی از پروتکل‌های ارتباطی مختلف برای اتصال به دستگاه‌های جانبی.
    پورت USB: برای پروگرام کردن و تامین توان.


    مدیریت توان
    باتری لیتیوم: پشتیبانی از باتری لیتیوم پلیمر (LiPo) با مدار شارژ داخلی.
    مصرف انرژی کم: قابلیت‌های مدیریت توان برای بهینه‌سازی مصرف انرژی در پروژه‌های مبتنی بر باتری.

    کاربردها و پروژه‌ها

    اینترنت اشیاء (IoT)
    کنترل و مانیتورینگ دستگاه‌ها: اتصال سنسورها و دستگاه‌های مختلف به اینترنت برای کنترل و مانیتورینگ.
    پروژه‌های خانه هوشمند: کنترل سیستم‌های روشنایی، دما، و امنیت از طریق بلوتوث و وای‌فای.


    پروژه‌های بی‌سیم
    سیستم‌های ردیابی و موقعیت‌یابی: استفاده از بلوتوث برای ردیابی اشیا و افراد.
    شبکه‌های سنسوری بی‌سیم: ایجاد شبکه‌های سنسوری برای جمع‌آوری و ارسال داده‌ها.


    پروژه‌های آموزشی و تحقیقاتی
    آموزش مبانی اینترنت اشیاء: استفاده در کلاس‌های آموزشی برای آموزش مبانی IoT و ارتباطات بی‌سیم.
    تحقیقات دانشگاهی: مناسب برای پروژه‌های تحقیقاتی دانشگاهی در حوزه‌های مختلف.

    در ادامه، مراحل راه‌اندازی و کدهای نمونه برای کنترل پرده‌ها و شاترها توسط این برد آورده شده است.
    ​​

    مراحل راه‌اندازی

    1. نصب نرم‌افزار Arduino IDE
    دانلود و نصب Arduino IDE:
    می‌توانید Arduino IDE را از وب‌سایت Arduino دانلود و نصب کنید.

    افزودن پشتیبانی از ESP32:
    در Arduino IDE به مسیر File -> Preferences رفته و لینک زیر را در قسمت Additional Board Manager URLs وارد کنید:



    سپس به مسیر Tools -> Board -> Board Manager رفته و esp32 را جستجو کرده و نصب کنید.


    2. اتصال برد به کامپیوتر
    اتصال برد T-Energy TTGO به کامپیوتر:
    از طریق کابل USB برد را به کامپیوتر متصل کنید.
    در Arduino IDE، پورت سریال مربوطه و برد ESP32 را انتخاب کنید.




    3. اتصال به شبکه وای‌فای

    کد:
    #include <WiFi.h>
    
    const char* ssid = "your_SSID";
    const char* password = "your_PASSWORD";
    
    void setup() {
      Serial.begin(115200);
      WiFi.begin(ssid, password);
    
      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi...");
      }
    
      Serial.println("Connected to WiFi");
      Serial.print("IP address: ");
      Serial.println(WiFi.localIP());
    }
    
    void loop() {
      // کدهای مربوط به کنترل پرده‌ها و شاترها
    }​
    4. کنترل پرده‌ها و شاترها با استفاده از موتورهای DC یا سروو
    برای کنترل پرده‌ها و شاترها، می‌توانید از موتورهای DC، سروو موتورها یا موتورهای استپر استفاده کنید. در این مثال، از یک سروو موتور برای باز و بسته کردن پرده‌ها استفاده می‌کنیم.

    اتصالات:
    سروو موتور: سیم سیگنال سروو به یک پین دیجیتال (مثلاً D5)، سیم تغذیه به 5V و سیم زمین به GND متصل شود.

    کد نمونه برای کنترل سروو موتور:

    کد:
    #include <WiFi.h>
    #include <ESPAsyncWebServer.h>
    #include <Servo.h>
    
    const char* ssid = "your_SSID";
    const char* password = "your_PASSWORD";
    
    AsyncWebServer server(80);
    Servo myservo;
    
    void setup() {
      Serial.begin(115200);
      myservo.attach(5); // پین متصل به سروو موتور
    
      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi...");
      }
    
      Serial.println("Connected to WiFi");
      Serial.print("IP address: ");
      Serial.println(WiFi.localIP());
    
      // تنظیمات سرور وب برای کنترل پرده‌ها
      server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
        request->send(200, "text/html", "<h1>Control Curtains</h1><button onclick=\"fetch('/open')\">Open</button><button onclick=\"fetch('/close')\">Close</button>");
      });
    
      server.on("/open", HTTP_GET, [](AsyncWebServerRequest *request){
        myservo.write(0); // باز کردن پرده‌ها
        request->send(200, "text/plain", "Opened");
      });
    
      server.on("/close", HTTP_GET, [](AsyncWebServerRequest *request){
        myservo.write(180); // بستن پرده‌ها
        request->send(200, "text/plain", "Closed");
      });
    
      server.begin();
    }
    
    void loop() {
      // کدهای اصلی برنامه
    }​

    جدیدترین ویرایش توسط Tanrina; ۱۲:۳۷ ۱۴۰۳/۰۴/۰۴.

    #2
    سلام وقت بخیر
    در صورت استفاده از این برد برای کنترل پرده‌ها آیا امکان برنامه‌ریزی هم وجود داره؟ یعنی بجز کنترل با اپلیکیشن و گوشی قابلیت تعریف سناریو و هوشمندسازی داره مثلا در زمان تعریف شده بطور خودکار عمل کنه یا خیر
    با تشکر

    دیدگاه


      #3
      سلام
      بله شما می توانید با استفاده از یک سنسور نور و تعریف سناریو به صورت هوشمند پرده ها را کنترل کنید.


      ملزومات پروژه

      برد T-Energy TTGO ESP32
      سنسور نور (مثلاً BH1750 یا LDR)
      موتور DC یا سروو موتور برای حرکت پرده‌ها و شاترها
      ماژول درایور موتور (مثلاً L298N برای موتورهای DC)
      منبع تغذیه مناسب
      سیم‌ها و اتصالات

      مراحل انجام پروژه

      1. نصب نرم‌افزارهای مورد نیاز
      • نصب Arduino IDE
      • نصب کتابخانه‌های مورد نیاز برای ESP32 و سنسور نور
      2. راه‌اندازی سنسور نور
      • اتصال سنسور نور به برد ESP32 (معمولاً از طریق I2C یا ADC)
      • تست خواندن مقادیر نور از سنسور
      3. کنترل موتور
      • اتصال موتور به درایور موتور و سپس به ESP32
      • تست حرکت موتور با دستورات ساده
      4. برنامه‌نویسی
      • نوشتن کد برای خواندن مقادیر نور از سنسور
      • تعریف حد آستانه نور برای باز و بسته شدن پرده‌ها
      • کنترل موتور برای باز و بسته شدن پرده‌ها

      5. آزمایش و تنظیمات نهایی
      • آزمایش عملکرد سیستم در شرایط نوری مختلف
      • تنظیم دقیق حد آستانه نور برای بهینه‌سازی عملکرد
      نمونه کد
      در زیر یک نمونه کد ساده برای این پروژه آورده شده است:
      کد:
      #include <Wire.h>
      #include <BH1750.h>
      #include <Servo.h>
      
      BH1750 lightMeter;
      Servo myServo;
      
      void setup() {
        Serial.begin(115200);
        Wire.begin();
        lightMeter.begin();
        myServo.attach(9); // پین متصل به سروو موتور
        
        // تنظیم موقعیت اولیه پرده‌ها
        myServo.write(0);
      }
      
      void loop() {
        float lux = lightMeter.readLightLevel();
        Serial.print("Light: ");
        Serial.print(lux);
        Serial.println(" lx");
      
        if (lux < 50) { // حد آستانه برای بستن پرده‌ها
          myServo.write(180); // بستن پرده‌ها
        } else {
          myServo.write(0); // باز کردن پرده‌ها
        }
        
        delay(1000); // تاخیر ۱ ثانیه‌ای
      }
      ​
      این کد از سنسور
      BH1750 برای اندازه‌گیری نور استفاده می‌کند و با استفاده از سروو موتور پرده‌ها را باز و بسته می‌کند. با تنظیم دقیق‌تر حد آستانه نور و بهینه‌سازی کد می‌توانید عملکرد بهتری از سیستم خود داشته باشید.





      جدیدترین ویرایش توسط Tanrina; ۰۸:۴۸ ۱۴۰۳/۰۴/۱۰.

      دیدگاه


        #4
        سپاس فراوان از پاسخ‌گویی شما دوست عزیز

        دیدگاه

        لطفا صبر کنید...
        X