Chat
Danh mục
Mạch giàn phơi quần áo thông minh

Mạch giàn phơi quần áo thông minh

Số lượng:
Thêm vào giỏ
Mạch giàn phơi quần áo thông minh đã được thêm vào giỏ hàng



1.Nguyên lý hoạt động giàn phơi:

Nguyên lý hoạt động dàn phơi thông minh.

Chế độ tự động:

-          Khi khởi động hệ thống giá trí cảm biến sẽ gửi về cho node MCU tính toán, hệ thống sẽ kiểm tra điều kiện.

+ Nếu giá trị cảm biến mưa =1 và giá trị cảm biến ánh sáng > 40% thì động cơ sẽ kéo dàn phơi ra và hiển thị số liệu, trạng thái lên màn hình LCD 16x2.

+ Nếu giá trị cảm biến mưa =0  hoặc  giá trị cảm biến ánh sáng < 40% thì động cơ sẽ thu dàn phơi vào và hiển thị số liệu, trạng thái lên màn hình LCD 16x2.

Chế độ bằng tay:

-          Sau khi kết nối với Server Blynk qua app Blynk, hệ thống sẽ cập nhật data từ Node MCU gửi lên và kết nối để điều khiển động cơ dàn phơi.

 

+   Nếu biến kiểm tra phím bấm = 1 thì Node MCU sẽ điều khiển kéo dàn phơi ra.

+   Nếu biến kiểm tra phím bấm = 0 thì Node MCU sẽ điều khiển thu dàn phơi vào.




 2. Sơ đồ Nguyên lý:

3. Code chương trình:

#include "DHT.h"

#include <Wire.h>

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

#include <CayenneMQTTESP8266.h>

#include <LiquidCrystal_I2C.h>

#define BLYNK_PRINT Serial

#define CAYENNE_PRINT Serial

LiquidCrystal_I2C lcd(0x27,16,2);

#define rain 16 //D0

#define light A0

#define congtacin 2 //D3

#define congtacout 0 //D4

#define A 14 //D5

#define B 12 //D6

#define DHTTYPE DHT11

#define DHTPIN 13  // D7

DHT dht(DHTPIN, DHTTYPE);

unsigned long lastMillis = 0;

int rainvalue,analogvalue;

int lightvalue;

int h,t;

int keo,thu,chedo;

int bien;

char auth[] = "y9idbXjnlTh4JQ_mEEPbGEKV8taNh3BK";

char ssid[] = "tranductien";

char wifiPassword[] = "0964360952";

char username[] = "ad7d9960-6683-11ea-a38a-d57172a4b4d4";

char password[] = "d69661e4f9417a1c6b1519d3919c6b02db4f0e46";

char clientID[] = "032ba690-6684-11ea-ba7c-716e7f5ba423";

 

BlynkTimer timer;

BLYNK_WRITE(V4)

{

  chedo = param.asInt();

 

}

BLYNK_WRITE(V5)

{

  keo = param.asInt();

 

}

BLYNK_WRITE(V6)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

{

  thu = param.asInt();

 

}

void setup()

{

Serial.begin(9600);

Blynk.begin(auth, ssid, wifiPassword);

Cayenne.begin(username, password, clientID, ssid, wifiPassword);

dht.begin();

pinMode(light,INPUT);

pinMode(rain,INPUT);

pinMode(congtacin,INPUT_PULLUP);

pinMode(congtacout,INPUT_PULLUP);

pinMode(A,OUTPUT);

pinMode(B,OUTPUT);

lcd.init();

lcd.backlight();

lcd.setCursor(0, 0);

lcd.print(" Tran Duc Tien  ");

lcd.setCursor(0, 1);

lcd.print("MSSV:2202182013 ");

delay(2500);

lcd.setCursor(0, 0);

lcd.print("*-*- De Tai -*-*");

lcd.setCursor(0, 1);

lcd.print("Gian phoi smart ");

delay(2500);

lcd.setCursor(0, 0);

lcd.print("STATUS: IN  ");

lcd.setCursor(0, 1);

lcd.print("T:   H:   L:   %");

if(digitalRead(chedo)== 0 ){

lcd.setCursor(12, 0);

lcd.print("MANU");}

if(digitalRead(chedo)== 1 ){

lcd.setCursor(12, 0);

lcd.print("AUTO");}

timer.setInterval(1000L, sendSensor);

 

}

 

 

void sendSensor(){

rainvalue= digitalRead(rain);

lightvalue= map(analogRead(light),0,1023,100,0);

h = dht.readHumidity();

t = dht.readTemperature();

lcd.setCursor(2, 1);

lcd.print(t);

lcd.setCursor(7, 1);

lcd.print(h);

lcd.setCursor(12, 1);

lcd.print(lightvalue/100);

lcd.setCursor(13, 1);

lcd.print(lightvalue/10);

lcd.setCursor(14, 1);

lcd.print(lightvalue%10);

if(rainvalue==1){analogvalue=2;}

if(rainvalue==0){analogvalue=85;}

Blynk.virtualWrite(V0, t);

Blynk.virtualWrite(V1, h);

Blynk.virtualWrite(V2, lightvalue);

Blynk.virtualWrite(V3, analogvalue);

 

if (millis() - lastMillis > 10000) {

      

        lastMillis = millis();

        Cayenne.virtualWrite(1,t);

        Cayenne.virtualWrite(2,h);

        Cayenne.virtualWrite(3,lightvalue);

        Cayenne.virtualWrite(4,analogvalue);

        }

 

 }

void tudong(){

  if(rainvalue ==1 && lightvalue>40){

    lcd.setCursor(8, 0);

    lcd.print("OUT");

   if( digitalRead(congtacout)==1){ chayra();}

   else if( digitalRead(congtacout)==0){ ngung();}

  }

  else if(rainvalue ==0 || lightvalue<40){

    lcd.setCursor(8, 0);

    lcd.print("IN ");

   if( digitalRead(congtacin)==1){ chayvao();}

   else if( digitalRead(congtacin)==0){ ngung();}

  }

  else {ngung();}

  }

void chayra(){

  digitalWrite(A,1);

  digitalWrite(B,0);

 }

void chayvao(){

  digitalWrite(A,0);

  digitalWrite(B,1);

 } 

void ngung(){

  digitalWrite(A,0);

  digitalWrite(B,0);

  }

void manual(){  

 

 

  if(keo==1){

    lcd.setCursor(8, 0);

    lcd.print("OUT");

   if( digitalRead(congtacout)==1){ chayra();}

   else if( digitalRead(congtacout)==0){ ngung();}

  }

  else if(thu==1){

    lcd.setCursor(8, 0);

    lcd.print("IN ");

   if( digitalRead(congtacin)==1){ chayvao();}

   else if( digitalRead(congtacin)==0){ ngung();}

   

  }

  else {ngung();}

  }

void loop()

{

  if (chedo==0){

    lcd.setCursor(12, 0);

    lcd.print("AUTO");

    tudong();}

 if (chedo==1){

   lcd.setCursor(12, 0);

   lcd.print("MANU");manual();}

 

//Cayenne.loop();

Blynk.run();

timer.run();

 }


( Nguyên lý + Code chuẩn) Link Mediafire
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download
------------------------------------------------------------------------------------

DV1 - NHẬN VẼ MẠCH - LẬP TRÌNH 8051/ARDUINO/STM LẤY TRONG NGÀY 

BẤM XEM CÁCH ĐẶT HÀNG TẠI ĐÂY




-----------------------------------------------------------------------------------

DV2 - Mua linh kiện về làm mạch nhanh - Miễn phí Ship





DV3 - Kênh youtube chia sẻ kiến thức điện tử thực hành ngay


DV4 - Kênh cộng đồng Facebook Điện Tử ChipKool




CÔNG TY ECHIPKOOL - UY TÍN - CHẤT LƯỢNG - NHANH CHÓNG - BẢO MẬT