สอน Android App IoT (Kodular) บทที่ 8 ESP32 แสดงค่า POT ด้วย Guage

Narin Damnuy (KruRin)
3 min readJan 17, 2024

--

✍️ 🎚 💡เริ่มต้นจะต้องทำการสมัครใช้บริการ ดูที่ บทที่ 1

1.กดปุ่ม Create project ได้เลย

2.ป้อนชื่อ Project แล้วกด Next

3.ตั้งค่าได้ตามชอบใจ แต่ผมกด Finish เลย

4.คลิกที่ Screen1 กำหนด Align Horizontal เป็น Center, Screen Orientation เป็น Portrait และตั้งชื่อ Title

5.กด Tab Drawing and Animation แล้วลาก Canvas มาวาง

ตั้งค่าความกว้าง x ความยาว

6. ไปที่ Block แล้วสร้างฟังก์ชั่นชื่อว่า drawGauge โดยไปที่ Procedures แล้วเลือก to — do จากนั้นสร้าง block ดังภาพ

7. นำ Component Web มาวาง โดยไปที่เมนู Connectivity แล้วเลือก Web

8. นำ Component Clock มาวาง โดยไปที่เมนู Sensors แล้วเลือก Clock

ตั้งค่า Timer Interval ที่ 5000 เพื่อใช้ในการอ่านค่าเซนเซอร์ทุกๆ 5 วินาที

9. ไปที่ Block Clock1 แล้วลาก Clock1.Timer มาวาง

10. ไปที่ Block Web1 แล้วลาก set Web1.URL มาวาง

กำหนดค่าดังภาพ ส่วน IP Address ให้ใส่ตามค่าที่ได้จาก ESP32

11. ไปที่ Block Clock1 แล้วลาก when Web1.Got Text มาวาง

ใส่ Block ดังภาพ

การออกแบบส่วน Application เป็นอันเสร็จ สามารถดาวน์โหลดไฟล์ตัวอย่างได้ ที่นี่

12. ต่อไปเป็นการเขียนโค้ดในส่วนของ ESP32

/*******************************************************************
* Mr.Narin Damnuy (KruRin)
* Technology Computer
* Phatthalung Technical College
* fb.com/damnuy : LineID:damnuy27
* Free License
*******************************************************************/
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "xxxxxxxxxxxx"; // Enter SSID here
const char* password = "xxxxxxxxxxxx"; //Enter Password here
WebServer server(80);
#define POT 34 //ขา POT Pin ขา 34
int pot;
void setup() {
Serial.begin(115200);
delay(100);
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected..!");
Serial.print("Got IP: ");
Serial.println(WiFi.localIP());
server.on("/", handle_OnConnect);
server.onNotFound(handle_NotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
}
void handle_OnConnect() {
pot = analogRead(POT);
String ptr = (String)pot;
server.send(200, "text/plain", ptr);
Serial.print("POT : ");
Serial.println(pot);
}
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}

ทำการ Upload โค้ดลงบอร์ด ESP32 ค่า POT จะแสดงดังภาพ

ลองเพิ่มจอแสดงผลค่าความชื้นดูนะครับ

ขอบคุณที่รับชมครับผม

สนันสนุน KruRin ในการเขียนบทความ เลี้ยงกาแฟซักแก้วครับ กดที่นี่

สั่งซื้อใน Shopee ที่ลิ้งค์ด้านล่างได้เลยครับผม

หรือ กด ที่นี่

KruRin

บทต่อไป กดลิ้งค์ด้านล่างเลยครับ

สอน IoT ด้วยบอร์ด ESP32

42 stories

--

--

Narin Damnuy (KruRin)

Teacher in Computer Technology Department at Phatthalung Technical College