Lập Trình ESP8266 MCU

Một phần của tài liệu mô hình giám sát chất lượng nước thông qua ứng dụng IOT (Trang 27 - 34)

II.Thi Công Hệ Thống

Lập Trình ESP8266 MCU

Hình 20 Sơ Đồ Chân MCU

Pin GPIO: NodeMCU có 16 chân GPIO như trong sơ đồ trên có thể được sử dụng

để điều khiển các thiết bị ngoại vi khác như cảm biến, đèn LED, công tắc, v.v. Những chân này cũng có thể được sử dụng làm chân PWM.

Pin ADC (Bộ chuyển đổi tương tự sang số): Nó có một kênh ADC và có thể được

truy cập thông qua chân A0.

Pin SPI: Có 4 chân (SCK, MISO, MOSI, v.v.) có sẵn để giao tiếp SPI như được

hiển thị trong hình chữ nhật màu xanh lá cây trong sơ đồ.

Pin I2C: Nó có hỗ trợ chức năng I2C nhưng do sử dụng nội bộ các chân này, bạn

phải tìm chân nào là I2C.

Pin UART: Nó có hai giao diện UART. Vì, RXD0 và TXD0 được sử dụng để tải

mã lên bảng, chúng tôi không thể sử dụng chúng trong khi lập trình mô-đun này. Ta có thể sử dụng RXD1 và TXD1 bất cứ lúc nào.

Cài đặt NodeMCU trên Arduino IDE:

Hình 21 Cai Đ t MCU Trên IDEă

Hình 23 Cai Đ t MCU Trên IDEă

• Lập trình Web trên IDE bằng NodeMCU Chương trình web

Hàm setup()

Lập trình giao diện web nhận và hiện thị kết quả

webPage += “<h1>HT Electronic – ESP8266 Web Server</h1>

Kết nối vào mạng Wifi, gửi nội dung web server để hiện thị khi có client truy xuất vào

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED); //đợi kết nối Wifi thành công server.on(“/”, [](){ server.send(200, “text/html”, webPage);});

Bắt đầu chạy Web server server.begin();

Hàm loop()

• Lập trình và chạy thử trên IDE Thiết lập Wifi và Password

Hình 24 L p Wif va Passwordâ

• Source Code/Program #include <EEPROM.h> #include "GravityTDS.h" #define TdsSensorPin A1 GravityTDS gravityTds;

float temperature = 25,tdsValue = 0; void setup()

{

Serial.begin(115200);

gravityTds.setPin(TdsSensorPin);

gravityTds.setAref(5.0); //reference voltage on ADC, default 5.0V on Arduino UNO

gravityTds.setAdcRange(1024); //1024 for 10bit ADC;4096 for 12bit ADC gravityTds.begin(); //initialization

}

void loop() {

gravityTds.setTemperature(temperature); // set the temperature and execute temperature compensation

gravityTds.update(); //sample and calculate

tdsValue = gravityTds.getTdsValue(); // then get the value Serial.print(tdsValue,0);

Serial.println("ppm"); delay(1000);

}

Chạy thử chương trình

Hình 26 Test chương trình

Mô Phỏng Hệ Thống

Một phần của tài liệu mô hình giám sát chất lượng nước thông qua ứng dụng IOT (Trang 27 - 34)

Tải bản đầy đủ (DOC)

(39 trang)
w