اطلاعیه

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; 2024/06/24, 12:37.

    #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; 2024/06/30, 08:48.

      دیدگاه


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

        دیدگاه


          #5
          سلام توی وضعیت الان برای نصب هسته esp32 espressif به مشکل خوردم نمیتونم دانلود کنم امکانش هست اگه کسی فایلش رو داره یا لینک داخلی داره برام بفرسته.... ممنون میشم واقعا ali09105574860@iran.ir

          دیدگاه

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