Thứ Ba, 20 tháng 6, 2023

TP4056 1A MẠCH BẢO VỆ SẠC & XẢ 1S PIN LITHIUM -ION

 Khi pin được kết nối lần thứ hai, có thể không có đầu ra điện áp giữa OUT + và OUT-. Lúc này, mạch bảo vệ có thể được kích hoạt bằng cách sạc nó với điện áp 5V. Nếu pin bị đoản mạch từ B + B- và sau đó kết nối, nó cũng cần được sạc, tắt nguồn để kích hoạt mạch bảo vệ. Khi sử dụng bộ sạc điện thoại di động cho đầu vào, xin lưu ý rằng bộ sạc phải có đầu ra 1A trở lên, nếu không có thể không sạc được bình thường

 Ổ cắm USB TYPE C và lỗ cắm + bên cạnh là đầu vào nguồn điện, được kết nối với điện áp 5V. B + được kết nối với cực dương của pin lithium, và B- được kết nối với cực âm của pin lithium. OUT + và OUT- được kết nối với tải, chẳng hạn như cực dương hoặc âm của bảng tăng áp di động hoặc các tải khác.

Kết nối pin với B + B-, cắm bộ sạc điện thoại di động vào ổ cắm USB, đèn đỏ sáng để sạc và đèn xanh sáng cho đầy.




1A pin lithium sạc và bảo vệ tích hợp sạc bo mạch + bảo vệ mô-đun sạc hai trong một

Lưu ý: Phải ngắt tải trên đầu cuối OUT khi sạc

Chủ Nhật, 18 tháng 6, 2023

Thư viện blynk lập trình điều khiển dành cho điện thoại thông minh

 Build a smartphone app for your project in minutes!

Author
Volodymyr Shymanskyy
Website
https://blynk.io/
Github
https://github.com/blynkkk/blynk-library
Category
Communication
License
MIT
Library Type
Contributed
Architectures
Any

It supports WiFi, BLE, Bluetooth, Ethernet, GSM, USB, Serial. Works with many boards like ESP8266, ESP32, Arduino UNO, Nano, Due, Mega, Zero, MKR100, Yun, Raspberry Pi, Particle, Energia, ARM mbed, Intel Edison/Galileo/Joule, BBC micro:bit, DFRobot, RedBearLab, Microduino, LinkIt ONE ...



https://github.com/blynkkk/blynk-library

Module Cảm Biến Chất Lượng Không Khí MQ135

Thông số kỹ thuật

- Điện áp hoạt động : 5 VDC.

- Tín hiệu ra : Digital ( 0.1V & 5V).

- Tín hiệu ra : Analog ( 0.1V - 0.3V Tương đối không gây ô nhiễm ).

- Nồng độ ô nhiễm càng cao tín hiệu Analog ra càng cao ( Maximum : 4V).

- Kích Thước : 32*22*30mm.



Chức năng cảm biến

- Module cảm biến khí MQ-135  được sử dụng để kiểm tra chất lượng không khí được biết đến bằng cách phát hiện một loạt các loại khí, bao gồm các khí như NH3, Sunfua, NOx, rượu, hơi benzen, khói, gas và CO2.

- Module cảm biến MQ135 cũng có thể đo đạc được nhiều loại khí độc hại thiên nhiên khác.

- Khi cảm biến được đặt trong môi trường ô nhiễm, Nồng độ ô nhiễm trong không khí tăng lên, cảm biến đo đạc được và sẽ dẫn điện ở ngưỡng thiết lập, Lúc này sẽ xuất tín hiệu đầu ra được kết nối đến mạch chuyển đổi như mạch vi điều khiển, hoặc kết nối trực tiếp đến Module relay.

- Module cảm biến khí MQ135 là module lý tưởng để sử dụng trong nhà, văn phòng hoặc ứng dụng công nghiệp như mạch điều khiển và giám sát đơn giản, là một cảm biến với chi phí thấp và ứng dụng nhiều.

Kết nối LCD với ESP32

 

  • Trong phần này, chúng tôi sẽ hướng dẫn bạn cách kết nối I2C LCD với ESP32 và ESP8266. Màn hình LCD I2C sẽ được kết nối với bảng ESP với 4 chân (GND, VCC, SDA và SCL).

  • Kết nối của I2C LCD với các bo mạch ESP rất dễ dàng. Chúng ta phải kết nối thiết bị đầu cuối VCC với chân Vin, nối đất với mặt đất (mặt bằng chung), SCL của cảm biến với SCL của mô-đun và SDA của cảm biến với chân SDA của các mô-đun ESP.

  • Chân I2C trong ESP32 cho SDA là GPIO21 và cho SCL là GPIO22. Trong khi đó, trong ESP8266, các chân I2C mặc định cho SDA là GPIO4 và đối với SCL là GPIO5.

  • Các kết nối giữa các thiết bị có thể được nhìn thấy bên dưới.




  • Kiểm tra địa chỉ giao tiếp I2C Màn hình LCD
  • Mã này sẽ quét tìm bất kỳ thiết bị I2C nào được kết nối với ESP32 và sẽ chỉ định số lượng thiết bị có địa chỉ trong bảng điều khiển shell. Nếu sử dụng ESP8266, hãy thay thế chân SDA và SCL một cách thích hợp.

    import machine

     

    sdaPIN=machine.Pin(21)  #for ESP32

    sclPIN=machine.Pin(22)

     

    i2c=machine.I2C(sda=sdaPIN, scl=sclPIN, freq=10000)   

     

    devices = i2c.scan()

    if len(devices) == 0:

     print("No i2c device !")

    else:

     print('i2c devices found:',len(devices))

    for device in devices:

     print("At address: ",hex(device))

Thông báo tin nhắn cảnh báo sử dụng ESP32, Blynk V2.0

Trong dự án này: Tác giả thiết lập 3 thông số bao gồm nhiệt độ; độ ẩm; chất lượng không khí sử dụng ESP32 và Blynk V2.0 để điều khiển thông báo tin nhắn trên điện thoại thông minh.


 Code chương trình:

#define BLYNK_TEMPLATE_ID "TMPL6PvsyMwFf"

#define BLYNK_TEMPLATE_NAME "SANG TAO KHKT 2023"

#define BLYNK_AUTH_TOKEN "ASNpA2rZPPrEL6bU4ymgCGx1ziDGRG2f"


#include <LiquidCrystal_I2C.h>

#define BLYNK_PRINT Serial

#include <WiFi.h>

#include <WiFiClient.h>

#include <BlynkSimpleEsp32.h>

#include <DHT.h>

#include <Wire.h>

#include "MQ135.h"

//Initialize the LCD display

MQ135 gasSensor = MQ135(34);

LiquidCrystal_I2C lcd(0x27, 16, 2);


char auth[] = BLYNK_AUTH_TOKEN;


char ssid[] = "Duong Ha";  

char pass[] = "1234567890";  

const int ledPin = 14;

const int btnPin = 27;

#define DHTPIN 26         

#define DHTTYPE DHT21    

DHT dht(DHTPIN, DHTTYPE);

BlynkTimer timer;


void sendSensor(){

  float h = dht.readHumidity();

  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {

    Serial.println("Failed to read from DHT sensor!");

    return;

  }



  Serial.println(t);

  Blynk.virtualWrite(V6, h);

  Blynk.virtualWrite(V5, t);

    Serial.print("Temperature : ");

    Serial.print(t);

    Serial.print("Humidity : ");

    Serial.println(h);



//  if(t > 33){

//   // Blynk.email("dientuthaihavn@gmail.com", "thong_bao", "Khi CO vuot nguong cho phep. Nguy hiem tinh mang nguoi trong xe oto");

//    Blynk.logEvent("thong_bao","Khi CO vuot nguong cho phep. Nguy hiem tinh mang nguoi trong xe oto");

//  }

}

void MQ135_sensor()

{

    int air_quality = gasSensor.getPPM();

    Serial.print("Air Quality: ");  

    Serial.println(air_quality);

    //------------------------------

  Blynk.virtualWrite(V3, air_quality );

  lcd.setCursor(0, 1);

  lcd.print("Air_quality:");

  lcd.print(air_quality);

  lcd.print(" ");

  if(air_quality >3000){

//  Blynk.email("dientuthaihavn@gmail.com", "thong_bao", "Khi CO vuot nguong cho phep. Nguy hiem tinh mang nguoi trong xe oto");

  Blynk.logEvent("thong_bao","Khi CO vuot nguong cho phep. Nguy hiem tinh mang nguoi trong xe oto");

  lcd.setCursor(0, 0);

  lcd.print("Canh bao khi doc ");

  delay(1500);

  lcd.clear();

  }

}


void setup(){

  Serial.begin(115200);

  lcd.init();

  lcd.backlight();

  Blynk.begin(auth, ssid, pass);

  dht.begin();

  lcd.setCursor(0, 0);

  lcd.print("  Setup........  ");

  for (int a = 5; a <= 10; a++) {

    lcd.setCursor(a, 1);

    lcd.print(".");

    delay(1500);

    lcd.clear();

  }

  timer.setInterval(2500L, sendSensor);

  timer.setInterval(2500L, MQ135_sensor);

}


void loop(){

  Blynk.run();

  timer.run();

}

Điều khiển đèn Led sử dụng Esp32, Blynk V2.0

Trong dự án IoT này , chúng ta sẽ tìm hiểu cách tạo dự án nhỏ dựa trên IoT bằng cách sử dụng ESP32 và ứng dụng Blynk 2.0 IoT mới để điều khiển đèn Led trên điện thoại thông minh. Dự án có Hệ thống phản hồi thời gian thực . Chúng ta có thể sử dụng ứng dụng Blynk IoT từ mọi nơi trên thế giới và bằng cách sử dụng Kết nối Internet, chúng ta có thể theo dõi phản hồi theo thời gian thực trong Ứng dụng Blynk 2.0 IoT hoặc bảng điều khiển web đám mây Blynk.



Code chương trình:

 #define BLYNK_TEMPLATE_ID "TMPL6p7lVKpmC"

#define BLYNK_TEMPLATE_NAME "control"

#define BLYNK_AUTH_TOKEN "3K2Dk6Y9hsqalDqUEjE-LOTILS7AbNlU"

//

#define BLYNK_PRINT Serial

#include <WiFi.h>

#include <WiFiClient.h>

#include <BlynkSimpleEsp32.h>

char auth[] = BLYNK_AUTH_TOKEN;

char ssid[] = "Duong Ha";  

char pass[] = "1234567890"; 

void setup (){

  


  Serial.begin(9600);

  Blynk.begin(auth, ssid,pass, "blynk.cloud", 80);

  

}

void loop(){

  Blynk.run();

}


Thứ Bảy, 10 tháng 6, 2023

Blynk và cách đăng ký tài khoản

 

Blynk là một ứng dụng di động có máy chủ riêng để xử
lý các yêu cầu của người dùng. Nó là một ứng dụng mã nguồn mở và bất kỳ ai cũng
có thể sử dụng nó trong nhà thông minh để điều khiển các thiết bị, theo dõi dữ
liệu cảm biến và nhận được thông báo bằng một số hành động kích hoạt. Nó có một
giao diện đẹp với đồ thị, thời gian, thanh trượt, cần điều khiển và thậm chí cả
Video Streaming. Bạn cũng có thể tạo ứng dụng của riêng mình và xuất bản nó vào
cửa hàng Google Play.





  1. 1.     
    Dễ sử dụng: chỉ cần cài đặt từ app store của
    Android hoặc Apple, sau đó đăng ký tài khoản và mất không quá 5 phút để làm
    quen. Bạn chỉ cần kéo thả để xây dựng giao diện điều khiển cho riêng mình mà
    không cần lập trình gì hết.
  2. 2.     
    Đầy đủ tính năng và đẹp: Giao diện của Blynk rất
    thân thiện với người dùng và rất đẹp, và hỗ trợ rất nhiều loại tính năng khác
    nhau đáp ứng gần như tất cả nhu cầu bạn có trong 1 ứng dụng quản lý smart home.
  3. 3.     
    Mã nguồn mở: Bạn có thể tự cài đặt một máy chủ
    Blynk trong nhà bạn và tự do thay đổi các cấu hình theo ý muốn.





Tạo một dự án Blynk



Bước 1: Sau khi download ứng dụng, bạn hãy tạo tài khoản và đăng nhập
vào.



Bước 2: Nhấp vào “New Project” trong ứng dụng để tạo ứng dụng Blynk mới.
Đặt một tên bất kỳ cho ứng dụng.



Bước 3: Blynk làm việc với hàng trăm loại phần cứng và kiểu kết nối, vì vậy
bạn cần phải chọn loại phần cứng và kiểu kết nối. Trong dự án này, tôi đã chọn
loại phần cứng là NodeMCU và kiểu kết nối là WiFi như hình bên dưới. Cuối cùng,
bạn nhấp vào nút “Create” để tạo ứng dụng mới.



Bước 3: Bây giờ bạn sẽ nhận được một email với mã xác thực (Auth Token).
Bạn sẽ cần phải chèn mã này vào trong code Arduino.



Thêm widget vào dự án



Bước 1: Nhấp vào biểu tượng ‘+’ ở góc trên cùng bên phải. Bây giờ hộp
Widget sẽ mở ra, chúng ta cần 4 button để điều khiển relay. Bạn thêm 4 button bằng
cách chọn nó ở đây.



Bước 2: Bây giờ hãy nhấn vào Button từ trang chủ để định cấu hình. Đặt
tên cho Button (Ví dụ: Đèn). Chọn Pin đầu ra D0 và chọn Mode là Switch. Sau đó
quay trở lại. Tương tự như vậy, bạn hãy cấu hình cho các button còn lại.



Bước 3: Bạn đã tạo giao diện người dùng (GUI) cho ứng dụng như hình bên
dưới. Thông qua giao diện này bạn có thể điều khiển các thiết bị điện trong
ngôi nhà của mình.



Upload Firmware



Bước 1: Bây giờ kết nối NodeMCU với máy tính của bạn và mở phần mềm
Arduino IDE.



Cài đặt thư viện Blynk tại đây nếu bạn làm nó lần đầu tiên. Bạn cần tải
xuống file zip, giải nén và đặt nó vào thư mục libraries.



Bước 2: Copy chương trình dưới đây hoặc mở phần mềm Arduino. Chọn File →
Examples và điều hướng đến Blynk → WiFi → NodeMCU.



Bạn chỉ cần sửa đổi ba điều trong code này.



Dán mã xác thực (Auth Token) mà bạn đã nhận được trong email của mình vào
‘YourAuthToken’. Sau đó, thêm tên wifi và mật khẩu của bạn vào code tại các vị
trí ‘YourNetworkName’ và ‘YourPassword’

Cảm biến nhiệt độ độ ẩm DHT21/AM2301

 

 



Cảm biến nhiệt độ độ ẩm
DHT21/AM2301
là một loại cảm biến đo nhiệt độ và độ ẩm trong môi trường. Cảm
biến này sử dụng công nghệ điện dung để đo lường độ ẩm và nhiệt độ và được thiết
kế để sử dụng với các hệ thống điều khiển tự động hoặc các ứng dụng khác trong
các môi trường công nghiệp, gia đình hoặc thương mại.



Cảm biến DHT21/AM2301 sử dụng một bộ giải mã để chuyển đổi
tín hiệu analog sang dạng số, sau đó gửi dữ liệu đó đến vi điều khiển hoặc các
thiết bị khác thông qua các giao tiếp như I2C hoặc đường truyền UART.



Cảm biến này có độ chính xác cao và độ ổn định trong việc đo
lường nhiệt độ và độ ẩm, đặc biệt là ở mức độ đo thấp. Ngoài ra, cảm biến cũng
có khả năng chống ẩm và chống tĩnh điện, giúp tăng độ bền và độ tin cậy của thiết
bị.

Thông Số Kỹ Thuật



 -  Điện
áp hoạt động: 3.3V - 5.5V



 
Dòng điện tiêu thụ: 200uA - 500uA



 -  Phạm
vi đo nhiệt độ: -40 đến 80 độ C



 -  Độ
chính xác đo nhiệt độ: ±0.5 độ C



 -  Phạm
vi đo độ ẩm: 0 đến 100% RH



 -  Độ
chính xác đo độ ẩm: ±2% RH



 -  Tần
số đo lường: tối đa 1 lần / giây



 
Giao tiếp: Digital Signal Output (DHT21) hoặc 1-Wire Interface (AM2301)



 Thư viện cảm biến DHT: https://github.com/adafruit/DHT-sensor-library