ets_printf(“reboot\n”);
esp_restart();
}
#include <TridentTD_LineNotify.h>
#define SSID “HUAWEI”
#define PASSWORD “12345678”
#define LINE_TOKEN “?????????????????????????????????”
// Pin definition for CAMERA_MODEL_AI_THINKER
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
const int Led_Flash = 4;
const int input1 = 12;
const int input2 = 13;
//const int trigPin = 12;
//const int echoPin = 13;
oolean startTimer = false;
unsigned long time_now=0;
int time_capture=0;
//long duration;
//int distance;
oolean shutter;
void setup() {
shutter = true;
Serial.begin(115200);
while (!Serial) { ; }
pinMode(input1, INPUT);
pinMode(input2, INPUT);
//pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
//pinMode(echoPin, INPUT);
pinMode(Led_Flash, OUTPUT);
WiFi.begin(SSID, PASSWORD);
Serial.printf(“WiFi connecting to %s\n”, SSID);
while(WiFi.status() != WL_CONNECTED) { Serial.print(“.”); delay(400); }
Serial.printf(“\nWiFi connected\nIP : “);
Serial.println(WiFi.localIP());
LINE.setToken(LINE_TOKEN);
timer = timerBegin(0, 80, true); //timer 0, div 80Mhz timerAttachInterrupt(timer, &resetModule,
true); timerAlarmWrite(timer, 20000000, false); //set time in us 15s timerAlarmEnable(timer);
//enable interrupt
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.pixel_format = PIXFORMAT_JPEG;
if(psramFound()){
// FRAMESIZE_ +
//QQVGA/160x120//QQVGA2/128x160//QCIF/176x144//HQVGA/240x176
//QVGA/320x240//CIF/400x296//VGA/640x480//SVGA/800x600//XGA/1024x768
//SXGA/1280x1024//UXGA/1600x1200//QXGA/2048*1536
config.frame_size = FRAMESIZE_SXGA; config.jpeg_quality = 10; config.fb_count = 2;
} else {
config.frame_size = FRAMESIZE_QQVGA; config.jpeg_quality = 12; config.fb_count = 1;
}
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf(“Camera init failed with error 0x%x”, err); return;
}
}
void loop() {
timerWrite(timer, 0); //reset timer (feed watchdog)
long tme = millis();
if(digitalRead(input1) == HIGH){
if(shutter == true){
Camera_capture();
Serial.println(“OK”);
startTimer = true;
shutter = false;
}
}
if(digitalRead(input1) == LOW){
shutter = true;
}
if(millis() > time_now + 1000) {
time_now = millis();
}
tme = millis() – tme;
delay(200);
}
void Camera_capture() {
digitalWrite(Led_Flash, HIGH);
delay(100);
digitalWrite(Led_Flash, LOW);
delay(100);
digitalWrite(Led_Flash, HIGH);
camera_fb_t * fb = NULL;
delay(200);
// Take Picture with Camera fb = esp_camera_fb_get();
if(!fb) {
Serial.println(“Camera capture failed”);
return;
}
digitalWrite(Led_Flash, LOW);
Send_line(fb->buf,fb->len);
esp_camera_fb_return(fb);
Serial.println(“Going to sleep now”);
esp_deep_sleep_start();
Serial.println(“This will never be printed”);
}
void Send_line(uint8_t *image_data,size_t image_size){ LINE.notifyPicture(image_data,
image_size);
}
ภาคผนวก ข
คู่มือการใช้งาน
คู่มือการใช้งาน
เครืองวัดอณุ หภูมิร่างกายทํางานอตั โนมัติ การแจ้งเตือนผ่านโปรแกรมไลน์
The thermometer works automatically notifications through the LINE program
แนะนาํ เครือง 1 6
ดา้ นหนา้
2
3
4
5
ดา้ นหลงั
7
1.กลอ้ งจบั ภาพ
2.หนา้ จอแสดงผล
3.เซนเซอร์ตรวจจบั วดั ระยะทาง
4.เซนเซอร์ตรวจจบั วดั อณุ หภมู ิ
5.ปลกั ไฟ
6.ฝาปิ ดตวั อปุ กรณ์ภายใน
7.ขาตงั เครืองวดั อณุ หภมู ิสามารถปรบั ระดบั ได้
วธิ ีการใช้
1.นาํ เครืองไปยงั ตาํ แหน่งทีตอ้ งการวดั
2.เปิ ด WIFI ทีตอ้ งการจะเชือมต่อกบั เครืองวดั อุณหภมู ิ
3.เสียบปลกั ไฟเพอื ให้เครืองเริมทาํ งาน
4.ใชม้ ือหรือหนา้ ผาก ไปไวต้ าํ แหน่งดา้ นของเครืองวดั อณุ หภมู ิ เซนเซอร์ตรวจจบั วดั
ระยะทางจะวดั ระยะใหอ้ ยใู่ นระยะทาํ การแสกน 1-10 ซม. ถา้ ไม่ถึงระยะแสกน จะแสดงผลที
หนา้ จอวา่ “เขา้ อีก”
5.เมือใชม้ ือหรือหนา้ ผาก เขา้ ระยะแสกนแลว้ เครืองจะทาํ การแสกนวดั อุณหภูมิอตั โนมตั ิ
และจะแสดงผลทีหนา้ จอวา่ “แสกน”
6.เมือแสกนแลว้ จะแสดงผลคา่ อณุ หภูมิทีวดั ไดเ้ ป็น °C องศา
7.คา่ อณุ หภูมิและรูปทีจบั ภาพขณะแสกนจะไปแสดงที APP LINE
คาํ แนะนาํ และการเกบ็ รักษา
1.ควรเกบ็ ใหพ้ น้ มือเดก็
2.เมือไมไ่ ดใ้ ชเ้ ป็ นเวลานานควรถอดปลกั ไฟออก
3.ระยะวดั ควรอยรู่ ะว่าง 2-10 ซม.
ภาคผนวก ค
บทความทางวิชาการ
ภาคผนวก ง
ประวตั ผิ ้จู ัดทาํ
ประวตั ิผ้จู ัดทํา
ชือ-สกุล จา่ อากาศเอกรชานนท์ ศิริประเสริฐ
วนั เดือน ปี เกดิ
ทีอยู่ วนั ที 17 เดือนพฤศจิกายน พ.ศ.2540
เบอร์โทรศัพท์ 197 ม.15 ต.สามพรา้ ว อ.เมืองอดุ รธานี
ประวตั ิการศึกษา
จ.อดุ รธานี 41000
091-0606780
พ.ศ. วฒุ ิการศึกษา สถานศึกษา
2565 วศ.บ.วศิ วกรรมไฟฟ้า คณะเทคโนโลยี
มหาวิทยาลยั ราชภฏั อดุ รธานี
2561 ระดบั ปวส. โรงเรียนจ่าอากาศ กรมยทุ ธศึกษา
ทหารอากาศ กรุงเทพมหานคร
2559 ระดบั มธั ยมศึกษาปี ที 6 โรงเรียนอุดรพทิ ยานุกลู
จงั หวดั อุดรธานี
2556 ระดบั มธั ยมศึกษาปี ที 3 โรงเรียนอดุ รพิทยานุกูล
จงั หวดั อดุ รธานี
ประวตั ิผ้จู ดั ทํา
ชือ-สกุล จ่าอากาศเอกอภิสิทธิ กองหิน
วนั เดือน ปี เกดิ
ทีอยู่ วนั ที 17 เดือนธนั วาคม พ.ศ.2540
เบอร์โทรศัพท์
ประวตั ิการศึกษา 157 ม.10 ต.ทา่ บอ่ อ.ทา่ บ่อ จ.หนองคาย 43110
062-4808937
พ.ศ. วฒุ ิการศึกษา สถานศึกษา
2565 วศ.บ.วศิ วกรรมไฟฟ้า คณะเทคโนโลยี
มหาวทิ ยาลยั ราชภฏั อดุ รธานี
2561 ระดบั ปวส. โรงเรียนจ่าอากาศ กรมยทุ ธศึกษา
ทหารอากาศ กรุงเทพมหานคร
2559 ระดบั มธั ยมศึกษาปี ที 6 โรงเรียนท่าบ่อ จงั หวดั หนองคาย
2556 ระดบั มธั ยมศึกษาปี ที 3 โรงเรียนท่าบ่อ จงั หวดั หนองคาย