1
กลอ่ งสมองกลควบคมุ อุณหภมู แิ ละความช้นื ในโรงเรอื นทองคำเขียว
Cannabis greenhouse Temp & Humidity Embedded Control Box
กวีลกั ษณ์ อุตราชา
จริ ายสุ ดิษฐ์เจรญิ
ปริญญานพิ นธน์ เ้ี ปน็ ส่วนหน่งึ ของการศกึ ษาตามหลักสตู รปรญิ ญาวศิ วกรรมศาสตรบัณฑติ
สาขาวิชาวศิ วกรรมอิเลก็ ทรอนกิ ส์อจั ฉริยะ
คณะวศิ วกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยรี าชมงคลอีสาน วิทยาเขตขอนแก่น
พ.ศ. 2565
ลขิ สิทธข์ิ องคณะวศิ วกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยรี าชมงคลอีสาน
2
กลอ่ งสมองกลควบคมุ อณุ หภูมแิ ละความช้ืนในโรงเรือนทองคำเขยี ว
กวีลกั ษณ์ อุราชา
จริ ายสุ ดษิ ฐเ์ จรญิ
ปริญญานพิ นธน์ เ้ี ปน็ สว่ นหน่ึงของการศึกษาตามหลกั สตู รปริญญาวิศวกรรมศาสตรบัณฑิต
สาขาวชิ าวิศวกรรมอิเล็กทรอนิกส์อจั ฉริยะ
คณะวศิ วกรรมศาสตร์ มหาวิทยาลยั เทคโนโลยรี าชมงคลอีสาน วทิ ยาเขตขอนแกน่
พ.ศ. 2565
ลขิ สิทธขิ์ องคณะวศิ วกรรมศาสตร์ มหาวทิ ยาลยั เทคโนโลยรี าชมงคลอีสาน
3
Cannabis greenhouse Temp & Humidity Embedded Control Box
Kaweeluk Utracha
Jirayut Ditcharoen
This Project Report Submitted in Partial Fulfillment of the Requirement for
The Bachelor of Engineering
Department of Smart Electronics Engineering
Faculty of Engineering
Rajamangala University of Technology IsanKhonKaen Campus
2022
© Faculty of Engineering Rajamangala University of Technology Isan
4
ใบรบั รองปรญิ ญานพิ นธ์
มหาวิทยาลัยเทคโนโลยรี าชมงคลอีสาน วทิ ยาเขตขอนแกน่
หัวข้อปริญญานพิ นธ์ : กล่องสมองกลควบคุมอณุ หภูมิและความชื้นในโรงเรอื นทองคำเขียว
จัดทำโดย : นาย กวีลักษณ์ อุตาราชา
: นายจริ ายสุ ดษิ ฐเ์ จรญิ
สาขาวชิ า : วิศวกรรมอเิ ลก็ ทรอนกิ ส์อิเล็กทรอนิกส์อัจฉริยะ
อาจารยท์ ี่ปรึกษา : ดร.วิทยา ชำนาญไพร
ไดร้ ับอนมุ ตั ิให้เป็นส่วนหนง่ึ ของการศึกษาตามหลกั สูตรปริญญาวิศวกรรมศาสตรบ์ ณั ฑติ
คณะวิศวกรรมศาสตร์ มหาวทิ ยาลัยเทคโนโลยีราชมงคลอีสาน วทิ ยาเขตขอนแก่น
.........................................................คณะบดีคณะวิศวกรรมศาสตร์
(อาจารย์ ดร. ศภุ ฤกษ์ ชามงคลประดิษฐ์)
วนั ท.่ี .....เดือน............พ.ศ.........
คณะกรรมการสอบปรญิ ญานิพนธ์ ……….......................................ประธานทป่ี รกึ ษา
(ดร.วิทยา ชำนาญไพร)
........................................ประธานกรรมการสอบ
(ผศ.ดร.องั คณา เจริญมี)
…………………………………..กรรมการ
(ดร.วทิ ยา ชำนาญไพร)
…………………………………..กรรมการ
(นายเสกสนั ต์ ด้วงแพง)
ก
หัวขอ้ ปรญิ ญานิพนธ์ กล่องสมองกลควบคุมอณุ หภูมิและความชนื้ ในโรงเรอื นทองคำเขยี ว
จดั ทำโดย นายกวลี ักษณ์ อุตราชา รหสั นักศึกษา 63332210276-5
นายจิรายุส ดิษฐเ์ จรญิ รหสั นักศกึ ษา 63332210003-2
ปที ่ปี รญิ ญานิพนธส์ ำเรจ็ พ.ศ.2565
สาขาวชิ า วศิ วกรรมอเิ ลก็ ทรอนิกส์อจั ฉริยะ
ที่ปรกึ ษา ดร.วิทยา ชำนาญไพร
บทคดั ย่อ
เอกสารฉบับนี้ชื่อกล่องสมองกลควบคุมอุณหภูมิและความชื้นในโรงเรือนทองคำเขียว
ผู้พัฒนามีความต้องการจะสร้างระบบทีค่ อยตรวจสอบ เฝ้าดู ควบคุมอุณหภูมิความชื้น การไหลเวียนของ
อากาศ ค่าความเข้มแสง และคาร์บอนไดออกไซด์ เพื่อช่วยให้กัญชาเติบโตอย่างเหมาะสมที่สุด เพื่อที่จะ
ได้รบั ผลผลิตทม่ี ีคณุ ภาพสูดทีส่ ุดเป็นท่ีต้องการของตลาด เน่ืองจากในประเทศไทยต้งั อยใู่ นเขตร้อนใกล้เส้น
ศูนย์สูตร ทำให้ ภูมิอากาศ ของประเทศมีลักษณะเป็นแบบร้อนชื้น ไม่เหมาะกลับการปลูกชา ที่
เจริญเติบโตได้ดใี นอุณหภมู ิระหว่าง 19-30 ° C
ผู้พัฒนาจึงได้สร้างกล่องสมองกลควบคุมอุณหภูมิและความชื้นในโรงเรือนทองคำเขียว เพ่ือ
นำมาควบคุมและตรวจสอบอุณหภูมิความชื้น ความเข้มแสง และคาร์บอนไดออกไซด์ โดยมี 3 ชุด และ
แม่ข่าย 1 ชุด โดยลูกข่าย 1 ชุดมีเซ็นเซอร์วดั อุณหภมู ิ ความชื้น 2 ตัว เซ็นเซอร์วดั ค่าความเข็มแสง 1 ตัว
เซ็นเซอร์วัดคารบ์ อนไดออกไซด์ 1 ตัว พร้อมอุปกรณ์ควบคุมอุณหภูมิ ปั๊มน้ำ 1 ตัว พัดลม 1 ตัว อุปกรณ์
สำหรับควบคุมอุปกรณ์ไฟฟ้า 4 ช่องสัญญาณ ขนาดการทนแรงดันและกระแสไม่น้อยกว่า 220V/10A
ระบบมีแอพพลิเคชั่น Blynk, Firebase ในการแสดงผล มีการส่งข้อมลู ไปเกบ็ ยัง Google sheet และแจ้ง
เตอื นผา่ นแอพพลิเคชนั่ Line
ผลของการทดสอบโครงงานพบว่าสามารถส่งค่าเซ็นเซอร์ทุกตัวจากกล่องลูกข่ายทั้ง 3 กล่อง
มายังกล่องแม่ข่ายได้ กล่องแม่ข่ายสามารถควบคุมการเปิดปิดวาล์วทั้ง 3 วาล์ว เมื่ออุณหภูมิสูงอัตโนมัติ
กล่องแม่ข่ายสามารถ ส่งค่าเซ็นเซอร์ทุกตัวไปยัง Google Sheet, Application Blynk, Firebase แบบ
เรยี ลไทม์ ส่งค่าเฉลย่ี อุณหภมู ิ ความช้ืน คา่ ความเขม้ แสง ไปยัง application line ทกุ ชั่วโมง เปิดปิดวาล์ว
ผ่าน Application Blynk และสามารถตั้งเวลาเปดิ ปดิ วาลว์ ผ่าน Applicaion Blynk
ข
Project Title Cannabis greenhouse Temp & Humidity Embedded Control Box
Proposed by Mr. Kaweeluk Utracha, and Mr. Jirayut Ditcharoen
Academe Year 2022
Department of Smart Electronic Engineering
Advisor Dr. Vithaya Chumnanphrai
ABSTRACT
The temperature and humidity control box in the green gold house is the title
of this document. The designers aimed to make a system that could track, monitor, and
manage temperature and humidity. Carbon dioxide, air circulation, and light intensity
Because Thailand is located in the tropics near the equator, the country's environment is
hot and humid, which helps cannabis grow optimally for the finest quality products that
are in demand on the market. It is unsuited for tea production, which requires
temperatures between 19 and 30 degrees Celsius to grow.
The green gold house's temperature and humidity are controlled by a box
developed by the developer. It uses three sets of protocols and one set of servers to
regulate and monitor temperature, humidity, light intensity, and carbon dioxide. Two
temperature and humidity sensors, one light intensity sensor, and one carbon dioxide
sensor with temperature control device are included in one set of protocols. 1 water
pump, 1 fan, and a 4-channel device for controlling electrical equipment with a voltage
and current capacity of at least 220V/10A. In the display, there are Blynk and Firebase
applications. Data is transmitted to a Google Sheet and the Line application is notified.
In the green gold house, the developer has constructed a box to regulate the
temperature and humidity. It uses three sets of protocols and one set of servers to
regulate and monitor temperature, humidity, light intensity, and CO2. Two temperature
and humidity sensors, one light intensity sensor, and one carbon dioxide sensor with
temperature control device are all included in one set of protocols. 1 water pump, 1 fan,
and a 4-channel electrical equipment control device with a voltage and current capacity
of at least 220V/10A. Blynk and Firebase apps are displayed on the system. The
information is transmitted to a Google Sheet and the Line application is notified.
ค
กิตตกิ รรมประกาศ
ปริญญานิพนธ์กล่องสมองกลควบคุมอณุ หภูมแิ ละความช้ืนในโรงเรือนทองคำเขียว นี้สามารถ
สาํ เรจ็ สมบรู ณ์ไดเ้ นื่องด้วยความกรุณาของบุคคลหลายท่านที่ไดใ้ หว้ ามชว่ ยเหลือและ คําปรึกข้อเสนอแนะ
ทเ่ี ป็นประโยชน์ต่อโครงงานทางผู้จดั ทาํ ใคร่ขอแสดงความขอบพระคุณเป็น อยา่ งยิง่ ต่อผู้ท่ีเกี่ยวข้องทุท่าน
ซ่งึ ประกอบด้วย
ขอขอบพระคณุ อาจารยท์ ปี่ รึกษาอาจารย์ดร.วิทยา ชาํ นาญไพร และ อาจารย์ ผศ.ดร.อังคณา
เจริญมี ไดก้ รณุ าให้คาํ แนะนาํ ในหลกั การวิธีการต่างๆและถ่ายทอดความรตู้ ลอดจนข้อเสนอแนะ และ ชว่ ย
แก้ไขขอ้ บกพร่องต่างๆอกี ท้ังยงั ควบคุมการทําโครงการจนประสบความสาํ เรจ็ ไดด้ ้วยดตี ลอดจน
ขอขอบคุณผู้ทรงคุณวุฒิทุกท่านที่ให้ความอนุเคราะห์ในการสอบและประเมินผลโครงงาน
ผู้จัดทาํ โครงงานขอกราบขอบพระคณุ ไว้เป็นอย่างสูง ณ โอกาสนี้
ขอขอบพระคุณบิดา มารดาของผู้จดั ทําท่ีได้ใหโ้ อกาสทางการศึกษาและคอยสนับสนุนรวมท้ัง
กําลังใจท่ีคอยมอบให้มาตลอดมาอย่างหาที่เปรียบมิได้ขอบคุณพระคุณทุกท่านที่ไม่ได้เอ่ยนามในที่นี้เป็น
อยา่ งยง่ิ ในความกรณุ าและความชว่ ยเหลอื ในดา้ นต่างๆจึงทําให้โครงงานนส้ี ําเรจ็
ประโยชน์และคุณค่าอันพึงมีจากปริญญานิพนธ์ฉบบั นีผ้ ู้จัดทําโครงงานขอมอบเป็นกตัญญูตา
บูชาแด่ บดิ ามารดา ครอู าจารยต์ ลอดจนผมู้ พี ระคณุ ทกุ ท่าน
กวลี ักษณ์ อตุ ราชา
จิรายสุ ดิษฐเ์ จรญิ
ง
สารบัญ หน้า
ก
บทคัดยอ่ (ภาษาไทย) ข
บทคดั ย่อ(ภาษาอังกฤษ) ค
กิตกรรมประกาศ ฎ
สารบญั ตาราง ฐ
สารบัญรูปภาพ
บทที่ 1
1
1 บทที่ 1
1.1 สถานประกอบการ 2
1.1.1 ชอ่ื และที่ต้ังสถานประกอบการ 3
1.2 ความเปน็ มาและความสำคญั ของปัญหาโครงงานสหกิจศึกษา 3
1.1.2 ลกั ษณะการประกอบการ 3
1.1.3 ตำแหน่งและลักษณะงานสหกจิ ศึกษา 3
1.3 วตั ถุประสงค์ของโครงงานสหกิจศึกษา
1.3.1 เพ่ือควบคุมอณุ หภูมิ ความชน้ื ภายในโรงเรอื นให้เหมาะกบั การ 3
เจรญิ เติบโต ของตน้ กญั ชา 3
1.3.2 เพอื่ ตรวจสอบอณุ หภมู ิ ความชื้นในเรือนแบบเรยี ลไทม์ผ่านสมาร์ทโฟน 3
1.3.3 เพือ่ เก็บสถิติอุณหภูมิ ความชน้ื ภายในโรงเรือนแบบเรียลไทม์ 3
1.4 ขอบเขตของโครงงานสหกิจศึกษา 3
1.4.1 สามารถวดั อุณหภมู ิความชน้ื ภายในโรงเรอื น 3
1.4.2 มีจอแสดงผลทก่ี ลอ่ งคอนโทรล 3
1.4.3 ความคุมการ เปิด – ปิดปม๊ั น้ำท่ใี ชก้ บั สปริงเกอร์ 3
1.4.4 ความคมุ การ เปดิ – ปิดพดั ลมระบายอากาศได้อัตโนมัติ 3
1.4.5 เชื่อมโยงข้อมลู ระหวา่ งกล่องสมองกลฝังตวั กับ Google Sheet 3
1.4.6 เช่อื มโยงข้อมลู ระหว่างกล่องสมองกลฝังตวั กบั Line Notify
1.4.7 เชอื่ มโยงขอ้ มูลระหว่างกลอ่ งสมองกลฝงั ตวั กับ Application Blynk
จ
สารบัญ(ต่อ)
บทท่ี หน้า
1.4.8 เช่ือมโยงข้อมูลระหว่างกล่องสมองกลฝงั ตัวกับ Fire base 3
4
1.5 ประโยชน์ท่คี าดวา่ จะไดร้ บั จากโครงงานสหกิจศกึ ษา 4
1.5.1 สามารถควบคุมอณุ หภูมแิ ละความชนื้ ภายในโรงเรอื นได้ 4
1.5.2 สามารถตรวจเช็กอุณหภูมไิ ดผ้ ่าน Smart Phone 4
1.5.3 สามารถเก็บสถิตอิ ุณหภมู ิความชน้ื ไวท้ ี่ Google Sheet เพ่ือนำไป
วเิ คราะหต์ ่อได้ 4
1.5.4 สามารถแจ้งเตือนเมอื่ อุณหภูมิสงู เกินกำหนดผ่าน Line Notify แบบ
เรยี ลไทม์ 5
6
2 ทฤษฎที ่เี ก่ียวขอ้ งกบั โครงงานสหกจิ ศึกษา 6
2.1 ไมโครคอนโทรลเลอร์ 7
2.1.1 โครงสร้างโดยทวั่ ไป ของไมโครคอนโทรลเลอรน์ ั้น สามารถแบง่ ออกมาได้ 7
เป็น 5 ส่วนใหญ่ ๆ ดงั ตอ่ ไปนี้ 8
8
2.2 Sensor SHT20 9
2.2.1 Specification 10
11
2.3 Sensor DHT22 12
2.3.1 รายละเอยี ด 12
14
2.4 RS485 14
2.5 UART 16
2.6 I2C 17
2.6.1 เวอรช์ ่ันการพัฒนาของการสื่อสารอนกุ รมแบบ I2C
2.6.2 การใชง้ านการสอ่ื สารอนุกรมแบบ I2C
2.6.3 แบบอนกุ รม I2C จะมอี ยู่ 2 อยา่ ง ไดแ้ ก่
2.7 Line Notify
2.8 Google Sheet
2.9 Application Blynk
ฉ
สารบัญ(ต่อ) หน้า
บทที่ 18
2.9.1 องค์ประกอบของ Blynk Platform 18
2.9.2 Blynk Energy คืออะไร 19
21
2.10 SolidState Relay 21
2.11 ภาษา C และภาษา C++ 22
23
2.11.1 ภาษาซี (C Programming Language) คอื 24
2.11.2 ภาษา C++ คือ 24
2.12 จอ LCD 26
2.12.1 เทคโนโลยที พ่ี ฒั นามาใชก้ ับ LCD น้ันแบ่งออกเป็น 2 ประเภทคอื 29
2.13 MG-811 Carbon Dioxide Co2 Sensor Module 29
2.14 Arduino IDE 31
2.15 Arduino nano 32
2.15.1 Arduino Nano คอื อะไร 37
2.16 Arduino ESP32 38
2.16.1 ประวตั ิความเป็นมาของ ESP32 38
2.16.2 รายชือ่ ผพู้ ฒั นาชุด ESP_IDF 39
2.16.3 รายชื่อผูพ้ ัฒนาชุด Arduino core for ESP32 WiFi chip 39
2.16.4 ชุดซอฟแวร์พัฒนา ESP32 อ่ืน ๆ 39
2.16.5 การเลอื กใช้ชดุ ซอฟแวร์พฒั นา 40
2.16.6 สรปุ ท้ายบท 41
2.16 DC-to-DC Step Down LM2596 41
2.17 switching power supply 42
2.18 Solar cell Solar panels 42
2.19 Solenoid valve AC24v
3 วิธีการดำเนนิ งานโครงงานสหกจิ ศึกษา
3.1 บทนำ
ช
สารบญั (ต่อ)
บทท่ี หน้า
3.2 ศึกษาและรวบรวมขอ้ มูลทเ่ี กี่ยวข้องกบั โครงงาน 44
3.3 แนวความคดิ และแผนผงั ของโครงงาน 45
3.4 สร้างและพัฒนาระบบจัดการโรงเรอื น 45
3.4.1 การต่อวงจรบอร์ด Arduino nano + SHT20 เพือ่ วดั อณุ หภูมิ ความชื้น 46
ในอากาศ
3.4.2 การตอ่ วงจรบอรด์ Arduino nano + DHT22 เพ่ือวัดอุณหภูมิ ความช้นื 46
ในอากาศ
3.4.3 การตอ่ วงจรบอรด์ Arduino nano + Solar cell Solar panels เพ่ือวดั 47
ความเข้มแสง
3.4.4 การตอ่ วงจรบอร์ด Arduino nano + MG-811 Carbon Dioxide Co2 47
Sensor Module
3.4.5 การตอ่ วงจรบอร์ด Arduino nano + Ds18b20 48
3.4.6 การตอ่ วงจรบอรด์ Arduino nano + relay เพอ่ื เปดิ -ปิดปั๊มน้ำและพัดลม 48
3.4.7 การต่อวงจรรวม 49
3.4.8 นำอปุ กรณล์ งในกล่อง 49
3.5 การเขยี นโปรแกรมควบคุมให้ระบบสามารถสื่อสารกนั ด้วย โปรโตคอล 51
MODBUS
3.5.1 แผนผังโปรแกรมการทำงานของ Master Board1 52
3.5.2 แผนผงั โปรแกรมการทำงานของ Slave Board 1-3 53
3.5.3 แผนผังโปรแกรมการทำงานของ Master Board Control 54
3.6 การประเมนิ ราคาในการจัดซื้ออปุ รกณ์ 55
3.7 วธิ ีการทดลอง 56
3.7.1 ตดิ ตง้ั กลอ่ ง Master Board ยดึ ใส่ station 56
3.7.2 ติดตงั้ วาลว์ 3 ตวั และวาล์วอิสระ 57
3.7.3 ติดตัง้ ตัว Slave Board ทง้ั 3 ชดุ ใสใ่ นโรงเรือน 57
ซ
สารบญั (ต่อ) หน้า
58
บทท่ี 58
3.7.4 ทำการเจาะรทู ่อ PE ใส่หัวพ่นฝอย 59
3.7.5 เดนิ ระบบน้ำหลังคาโรงเรือน 59
3.7.6 เดินระบบนำ้ ชุดพ่นหมอกภายในโรงเรอื น 60
3.7.7 เดนิ ระบบรดนำ้ ภายในโรงเรือน 60
3.7.8 ตอ่ ปัม๊ นำ้ กับถงั พักนำ้ ต่อ Solenoid valve และเดินท่อนำ้ 61
3.7.9 ตดิ ต้งั พัดลมภายในโรงเรือง 62
3.7.10 การทำงานของหน้า Application Blynk 62
3.7.11 การทำงานของ Google sheets 63
3.7.12 การทำงานของ Line Notify 64
3.7.13 การทำงานของ Firebase 64
4 ผลการดำเนินโครงงาน 64
4.1 การทดสอบอา่ นค่า sensor ชุดลกู ข่ายจำนวน 3 ชุด และชดุ สำหรับแมข่ า่ ย 64
จำนวน1 ชุด 65
4.1.1 ทดสอบอ่านคา่ sensor กลอ่ ง Slave 1 66
4.1.1.1 อุปกรณท์ ่ใี ช้ทดสอบในการอ่านคา่ sensor มีดังตอ่ ไปน้ี 66
4.1.1.2 ลำดับขั้นตอนการทดสอบ 66
4.1.2 ทดสอบอ่านค่า sensor กล่อง Slave 2 68
4.1.2.1 อุปกรณท์ ใ่ี ช้ทดสอบในการอ่านค่า sensor มีดังต่อไปนี้ 68
4.1.2.2 ลำดบั ขน้ั ตอนการทดสอบ 68
4.1.3 ทดสอบอา่ นค่า sensor กลอ่ ง Slave 3 69
4.1.3.1 อปุ กรณท์ ใ่ี ช้ทดสอบในการอา่ นคา่ sensor มดี ังตอ่ ไปน้ี 69
4.1.3.2 ลำดับขน้ั ตอนการทดสอบ
4.2 การทดสอบการเชือ่ งโยงเปน็ โครงขา่ ยบนบัส RS-485
4.2.1 ทดสอบการเปลยี่ น ID Address ของอุปกรณ์ MODBUS
ฌ
สารบัญ(ต่อ)
บทที่ หน้า
4.2.1.1 อุปกรณท์ ใี่ ชส้ ำหรับการทดสอบการเปล่ียน ID Address ของ 69
อุปกรณ์ MODBUS
4.2.1.2 ลำดบั ขั้นตอนการทดสอบ 69
73
4.2.2 ทดสอบสื่อสารข้อมลู ของอุปกรณ์ MODBUS 73
4.2.2.1 อุปกรณท์ ใี่ ชท้ ดสอบ Software สำหรับทดสอบสอ่ื สารข้อมูลของ
อุปกรณ์ MODBUS 73
4.2.2.2 ขน้ั ตอนการทดสอบส่งคำร้องขออ่านขอ้ มูลจากลกู ข่าย 77
77
4.2.3 ทดสอบเปิดปิด relay กลอ่ ง Master และกล่องลูกขา่ ยทง้ั 3 กล่อง
4.2.3.1 อุปกรณ์ทใ่ี ชท้ ดสอบ Software สำหรับทดสอบเปิดปิด relay 77
กลอ่ ง Master และกล่องลกู ขา่ ยทงั้ 3 กลอ่ ง
4.2.3.2 ขน้ั ตอนการทดสอบเปิดปิด relay กล่อง Master และกล่องลกู 82
ขา่ ย 82
82
4.3 การทดสอบการส่งขอ้ มลู ไปสู่ IoT CLOUD SERVER
4.3.1 การทดสอบการแจง้ เตือนเม่อื อณุ หภูมใิ นโรงเรอื นสูงเกนิ 50 ° C 82
4.3.1.1 อปุ กรณท์ ใี่ ช้ทดสอบการแจง้ เตือนเมื่ออุณหภมู ใิ นโรงเรอื น 84
สูงเกนิ 50 ° C 84
4.3.1.2 ลำดับขั้นตอนการทดสอบ
4.3.2 การทดสอบสง่ ค่าเซ็นเซอรไ์ ปเกบ็ ไว้ที่ Google Sheets 84
4.3.2.1 อุปกรณ์ทีใ่ ช้ทดสอบการทดสอบส่งคา่ เซ็นเซอร์ไปเก็บไวท้ ี่ 90
Google Sheets 90
4.3.2.2 ลำดบั ขน้ั ตอนการทดสอบ 90
4.3.3 การทดสอบส่งคา่ เซน็ เซอร์ไปแสดงท่ี แอพพลิเคชั่น Blynk 95
4.3.3.1 อุปกรณ์ทีใ่ ช้ทดสอบสง่ ค่าเซ็นเซอรไ์ ปแสดงที่แอพพลเิ คชนั่ Blynk
4.3.3.2 ลำดับข้ันตอนการทดสอบ
4.3.4 การทดสอบสง่ คา่ เซ็นเซอร์ไปแสดงท่ี Fire Base
ญ
สารบัญ(ต่อ)
บทที่ บทที่
4.3.4.1 อุปกรณท์ ่ีใชท้ ดสอบส่งคา่ เซน็ เซอร์ไปแสดงที่ Fire Base 95
4.3.4.2 ลำดับข้ันตอนการทดสอบ 95
100
4.4 การทดสอบระบบควบคมุ ภายในโรงเรือน 100
4.4.1 การทดสอบระบบลดอุณหภูมิภายในโรงเรือน 100
4.4.1.1 อปุ กรณ์ในการทดสอบระบบลดอุณหภมู ิภายในโรงเรอื น 100
4.4.1.2 ลําดบั ข้นั ตอนการทดสอบ 103
103
5 สรุปผลการดำเนนิ โครงงาน 103
5.1 สรุปผลท่ีไดจ้ ากการดำเนินงาน 104
5.2 ปญั หาและแนวทางการแกไ้ ข 105
5.3 ขอ้ เสนอแนะในการปรังปรงุ โครงงาน 106
5.4 ประโยชนท์ ีไ่ ดร้ ับจากโครงงาน 109
110
บรรณานุกรม
ภาคผนวก 118
128
ภาคผนวก ก How to install วธิ ีการติดตั้งเครอื่ งมือสำหรับโปรแกรมใชง้ าน Arduino 170
สำหรบั การเขยี นโปรแกรม
ภาคผนวก ข Datasheetของอุปกรณ์ต่าง ๆ ในโครงงาน
ภาคผนวก ค โปรแกรมควบคุมการทำงาน
ประวัตผิ ูเ้ ขียน
ฎ
สารบัญตาราง
ตารางที่ หน้า
2.1 การต่อขาใช้งาน Sensor SHT20 8
3.1 การประเมนิ ราคาในการจัดซื้ออุปรกณ์ 55
4.1 อปุ กรณ์ทใี่ ชท้ ดสอบอ่านคา่ sensor กลอ่ ง Slave 1 64
4.2 ผลการทดลองอา่ นคา่ sensor กลอ่ ง Slave 1 10 ครง้ั 66
4.3 อุปกรณ์ทีใ่ ชท้ ดสอบอ่านค่า sensor กลอ่ ง Slave 2 66
4.4 ผลการทดลองอ่านค่า sensor กลอ่ ง Slave 2 10 ครัง้ 67
4.5 อุปกรณ์ทใ่ี ชท้ ดสอบอา่ นคา่ sensor กล่อง Slave 3 68
4.6 ผลการทดลองอ่านคา่ sensor กล่อง Slave 3 10 คร้ัง 69
4.7 อุปกรณท์ ่ใี ชส้ ำหรับการทดสอบการเปลี่ยน ID Address 69
4.8 ผลการทดสอบการเปลี่ยน ID Address Slave 1 70
4.9 ผลการทดสอบการเปลยี่ น ID Address Slave 2 71
4.10 ผลการทดสอบการเปลี่ยน ID Address Slave 3 72
4.11 อปุ กรณ์ทใี่ ชส้ ำหรับทดสอบส่ือสารขอ้ มูลของอปุ กรณ์ MODBUS 73
4.12 ผลการทดสอบส่งคำสั่งอา่ นค่าเซ็นเซอร์ ไปท่ีกลอ่ ง Slave 1 และให้กล่อง Slave 74
1 สง่ คา่ เซ็นเซอรก์ ลับมาที่กล่อง Master
4.13 ผลการทดสอบสง่ คำสง่ั อ่านค่าเซ็นเซอร์ ไปท่ีกลอ่ ง Slave 2 และให้กล่อง Slave 75
2 ส่งค่าเซน็ เซอรก์ ลับมาท่ีกลอ่ ง Master
4.14 ผลการทดสอบส่งคำสง่ั อา่ นคา่ เซน็ เซอร์ ไปท่ีกล่อง Slave 3 และให้กล่อง Slave 76
3 สง่ คา่ เซน็ เซอร์กลับมาที่กล่อง Master
4.15 อุปกรณท์ ี่ใช้สำหรับทดสอบเปดิ ปิด relay กลอ่ ง Master และกลอ่ งลกู ข่ายทั้ง 77
3 กล่อง
4.16 ผลการทดสอบเปิดปิด relay กลอ่ ง Slave 1 ผา่ น Blynk 78
4.17 ผลการทดสอบเปิดปิด relay กล่อง Slave 2 ผา่ น Blynk 79
4.18 ผลการทดสอบเปิดปิด relay กล่อง Slave 3 ผา่ น Blynk 80
ฏ
สารบญั ตาราง หน้า
81
ตารางท่ี 82
4.19 ผลการทดสอบเปิดปิด relay กล่อง Master ผ่าน Blynk 83
4.20 อปุ กรณ์ทใี่ ชท้ ดสอบการแจ้งเตือนเมื่ออณุ หภมู ิในโรงเรอื นสูงเกนิ 50 ° C 84
4.21 ผลการทดสอบแจ้งเตือนอุณหภูมิสงู เกิน 50 ° C ผา่ นแอพพลิเคชนั่ Line 86
4.22 อุปกรณท์ ใี่ ช้ทดสอบการทดสอบส่งค่าเซน็ เซอร์ไปเก็บไว้ที่ Google Sheets 87
4.23 ผลการทดสอบสง่ ค่าเซน็ เซอร์กล่อง Slave 1 ไปเกบ็ ไว้ที่ Google Sheets 89
4.24 ผลการทดสอบส่งค่าเซน็ เซอร์กล่อง Slave 2 ไปเก็บไวท้ ี่ Google Sheets 90
4.25 ผลการทดสอบสง่ ค่าเซน็ เซอร์กล่อง Slave 3 ไปเก็บไว้ท่ี Google Sheets 91
4.26 อุปกรณ์ทใ่ี ชท้ ดสอบสง่ คา่ เซน็ เซอร์ไปแสดงท่ีแอพพลเิ คชน่ั Blynk 93
4.27 ผลการทดสอบส่งค่าเซน็ เซอร์กล่อง Slave 1 ไปแสดงท่แี อพพลิเคช่ัน Blynk 94
4.28 ผลการทดสอบสง่ คา่ เซ็นเซอร์กล่อง Slave 2 ไปแสดงทแี่ อพพลเิ คช่นั Blynk 95
4.29 ผลการทดสอบส่งค่าเซน็ เซอร์กล่อง Slave 3 ไปแสดงทีแ่ อพพลิเคชั่น Blynk 96
4.30 อุปกรณ์ท่ีใชท้ ดสอบส่งค่าเซน็ เซอร์ไปแสดงที่ Fire Base 98
4.31 ผลการทดสอบสง่ ค่าเซ็นเซอร์กล่อง Slave 1 ไปแสดงท่ี Fire Base 99
4.32 ผลการทดสอบสง่ คา่ เซ็นเซอร์กล่อง Slave 2 ไปแสดงท่ี Fire Base 100
4.33 ผลการทดสอบสง่ ค่าเซ็นเซอร์กล่อง Slave 3 ไปแสดงท่ี Fire Base 102
4.34 อุปกรณ์ในการทดสอบระบบลดอุณหภูมิภายในโรงเรอื น
4.35 ผลการทดลองระบบลดอุณหภมู ภิ ายในโรงเรือน
ฐ
สารบญั รปู ภาพ
รปู ที่ หนา้
1.1 บริษัทเซฟเทค อินโนเวช่ัน จำกัด 1
1.2 แผนทต่ี ัง้ บริษทั เซฟเทค อนิ โนเวชั่น จำกดั 2
2.1 Sensor SHT20 8
2.2 DHT22 9
2.3 รูปแบบส่ือสารอนกุ รมแบบ I2C 13
2.4 การเขา้ ใช้งาน Line Notify 15
2.5 การการออก Token Line Notify 15
2.6 หนา้ แรก google sheets 16
2.7 หนา้ ต่างเขยี น code Javascript
2.8 ภาพแสดงการทำงานของ Blynk Platform 17
2.9 Energy Store
2.10 ตัวอยา่ งวงจรควบคุม Single Phase Solid State Relay 18
2.11 ตวั อปุ กรณ์ Single Phase Solid State Relay 19
2.12 ตัวอย่างวงจรควบคุม Three Phase Solid State Relay 19
2.13 ตัวอปุ กรณ์ Three Phase Solid State Relay 20
2.14 ภาษา C ภาษา C++ ภาษา 20
2.15 MG-811 Carbon Dioxide Co2 Sensor Module 21
2.16 Arduino IDE 23
2.17 อธบิ ายการใชป้ ุ่มอปุ กรณ์ในโปรแกรม Arduino ide 24
2.18 อธบิ ายการเลอื กใช้ Examples 26
2.19 อธิบายการเลือก Port ทจ่ี ะเชอ่ื มต่อ 27
2.20 ตำแหน่งขาของ Arduino nano 28
2.21 หน้าตาของชิปไอซี ESP32 ในรปู ตัวถัง QFN-42 28
2.22 โมดูล ESP8266 01 ผลติ โดยบริษัท Ai-Thinker หัวใจหลกั คอื ไอซี ESP8266 30
2.23 ดา้ นซา้ ย บอรด์ NodeMCU 0.9 และดา้ นขวา บอรด์ NodeMCU 1.0 31
33
34
ฑ
รปู ทส่ี ารบัญรูปภาพ(ตอ่ ) หน้า
35
รปู
2.24 หน้าเวบ็ หลักของชุดซอฟแวร์ Arduino core for ESP8266 WiFi chip อยู่ 36
บน GitHub 36
2.25 โมดูล ESP31B-WROOM-03 ใชช้ ิปไอซี ESP31B 37
2.26 หนา้ ตาของโมดลู ESP3212 ท่ี Ai-Thinker รว่ มกับ Seeedstudio ผลติ ขึ้น 39
2.27 หน้าตาของโมดูล ESP32S ที่ Seeedstudio ส่งมอบ 40
2.28 DC-to-DC Step Down LM2596 41
2.29 วงจรเบ้อื งตน้ ของ switching power supply 43
2.30 Solenoid valve AC24v 44
3.1 แสดงแผนผงั การข้นั ตอนในการดาํ เนนิ งาน 45
3.2 แสดงแผนผงั การศกึ ษาและรวบรวมข้อมลู 46
3.3 แผนผังของโครงงาน 46
3.4 Arduino nano + SHT20 47
3.5 Arduino nano + DHT22 47
3.6 Arduino nano + solar cell solar panels 48
3.7 Arduino nano + MG-811 Carbon Dioxide Co2 Sensor Module 48
3.8 Arduino nano + Ds18b20 49
3.9 Arduino nano + relay 49
3.10 การต่อวงจรรวม 50
3.11 Slave Board 1 50
3.12 Slave Board 2 51
3.13 Slave Board 3 52
3.14 Master Board 53
3.15 การทำงานของ Master Board 54
3.16 การทำงานของ Slave Board1-3
3.17 แผนผงั โปรแกรมการทำงานของ Master Board Control
สารบญั รูปภาพ(ต่อ) ฒ
รปู ท่ี หน้า
3.18 ติดตงั้ กลอ่ ง Master Board ยึดใส่ station 56
3.19 ตดิ ตงั้ วาลว์ 3 ตวั และวาลว์ อสิ ระ 57
3.20 ตดิ ตั้ง Slave Board ทง้ั 3 ชดุ ภายในโรงเรอื น 57
3.21 เจาะรูท่อ PE ใส่พ่นฝอย 58
3.22 เดินระบบนำ้ บนหลังคาโรงเรือน 58
3.23 เดินระบบน้ำชดุ พ่นหมอกภายในโรงเรือน 59
3.24 รดน้ำภายในโรงเรอื ง 59
3.25 ต่อป๊มั น้ำกับถังพกั น้ำ ต่อ Solenoid valve และเดินท่อน้ำ 60
3.26 ตดิ ต้งั พัดลมภายในโรงเรือง 60
3.27 หนา้ แรก บน Application Blynk 61
3.28 หน้า Gauge บน Application Blynk 61
3.29 เก็บข้อมูลเข้า Google sheets 62
3.30 แจ้งเตือน Line Notify 62
3.31 ส่งขอ้ มลู ข้นึ Firebase 63
4.1 แสดงการทดสอบอา่ นค่าเซน็ เซอร์กล่อง Slave 1 65
4.2 แสดงการทดสอบอ่านค่าเซ็นเซอร์กลอ่ ง Slave 2 67
4.3 แสดงการทดสอบอ่านค่าเซ็นเซอร์กลอ่ ง Slave 3 68
4.4 แสดงการแจ้งเตอื นผ่านแอพพลเิ คชั่น Line 83
4.5 แสดงการเกบ็ คา่ เซน็ เซอร์ Slave 1 85
4.6 แสดงการเกบ็ ค่าเซน็ เซอร์ Slave 2 87
4.7 แสดงการเก็บค่าเซ็นเซอร์ Slave 3 88
4.8 แสดงคา่ เซน็ เซอร์ Slave 1 บน Blynk 91
4.9 แสดงคา่ เซ็นเซอร์ Slave 2 บน Blynk 92
4.10 แสดงค่าเซ็นเซอร์ Slave 3 บน Blynk 94
4.11 แสดงค่าเซ็นเซอร์ Slave 1 บน fire base 96
สารบัญรูปภาพ(ต่อ) ณ
รปู ที่ หน้า
4.12 แสดงค่าเซ็นเซอร์ Slave 2 บน fire base 97
4.13 แสดงคา่ เซน็ เซอร์ Slave 3 บน fire base 99
4.14 Block diagram การทดสอบระบบรดอุณหภูมิภายในโรงเรือน 101
1
บทท่ี 1
บทนำ
1.1 สถานท่ปี ระกอบการ
รปู ที่ 1.1 แสดงรปู ของบริษัทเซฟเทค อินโนเวชั่น จำกัด
1.1.1 ชอ่ื และที่ต้งั สถานประกอบการ
บรษิ ทั : เซฟเทค อนิ โนเวชัน่ จํากดั
: Save tech Innovation Company Limited
ทต่ี ง้ั : 212 หมู่ 28 ตำบลศิลา อำเภอเมืองขอนแก่น จ.ขอนแกน่
2
รูปท่ี 1.2 แผนท่ีต้ังบริษัทเซฟเทค อินโนเวชน่ั จำกัด
1.2 ความเป็นมาและความสำคัญของปัญหาโครงงานสหกจิ ศกึ ษา
ปัจจุบันกัญชาเป็นพืชเศรษฐกิจและนำมาสกัดเป็นยารักษาได้ ซึ่งการปลูกกัญชาในโรงเรือน
เป็นได้แนวทางที่มาจากต่างประเทศสภาพอากาศแตกต่างประเทศไทย จึงทำให้ต้องใช้คนงานดูแลอย่าง
ใกล้ชิดทั้งการควบคุมอุณหภูมิ ความชื้น เพื่อรักษาคุณภาพของกัญชาก่อนนำมาสกัด ระบบควบคุม
อุณหภมู ใิ นโรงเรอื งกญั ชาอตั โนมัติ จะชว่ ยในการนำข้อมลู ทผ่ี า่ นการตรวจสอบจากเซ็นเซอร์ตา่ ง ๆ เชน่ ชุด
วัดความชื้น วัดอุณหภูมิ และนำข้อมูลมา ประมวลผล เพื่อควบคุมอุณหภูมิความชื้นในโรงเรอื น เพื่อดูแล
กญั ชาให้มคี ุณภาพตามท่ตี ลาดต้องการ
แนวคิดในการนำเอาเทคโนโลยีสมัยใหม่เข้ามาผสมผสานเข้ากับงานดา้ นเกษตรจึงเกิดขึ้น ไม่
ว่าจะเป็น คอมพิวเตอร์ อิเล็กทรอนิกส์ ไอที สื่อสาร เซ็นเซอร์ เทคโนโลยีชีวภาพ รวมทั้งนาโนเทคโนโลยี
จะเข้ามาช่วยแก้ไข้ปัญหาเกษตรกร เป็นไร่นาและโรงเรือนเกษตรทั้งหลาย ให้การเป็นผืนดินสุดไฮเทค
และทำให้โรงเรือนธรรมดากลายเป็นโรงเรือนอัจฉริยะที่มีความสามารถในการเปลี่ยนแปลงต่าง ๆ ด้วย
เซ็นเซอร์และการทำงานอย่างกึ่งอัตโนมัติจึงเป็นสิ่งหลีกเลี่ยงไม่ได้อนาคต โรงเรือนอัจฉริยะจะทำให้
เกษตรกรเป็นอาชีพที่มีความสุขที่สุดในโลก ที่ซึ่งเกษตรกรรม เทคโนโลยี และ สิ่งแวดล้อม จะอาศัยอยู่
ร่วมกันได้อย่างกลมกลืนดังนั้นเพื่อเป็นการแก้ไขปัญหาให้กับเกษตรกรในการบริหารจัดการโรงเรือน
ผูจ้ ัดทำจึงไดส้ รา้ งและพฒั นาระบบอัจฉริยะเพื่อควบคุมอุณหภูมิ ความชน้ื สมั พัทธ์ ของโรงเรอื นปลกู กัญชา
3
ซึ่งเป็นโปรแกรมสำเร็จรูปที่พัฒนาขึ้นมาเพื่อให้มีประสิทธิภาพมากกว่าการเปิด-ปิดปั๊มน้ำ แต่ยังมี
ความสามารถในการใช้เซนเซอร์ตรวจจับอุณหภูมิ ความชื้น และควบคุมการทำงานของอุปกรณ์แบบ
เรยี ลไทม์
1.1.2 ลกั ษณะการประกอบการ
บริษัทได้ก่อตั้งขึ้น เมื่อวันที่ 11 มกราคม 2561 บริษัท เซฟเทค อินโนเวชั่น จำกัด ประกอบ
ธุรกิจประเภท การขายส่งและการขายปลีกการซ่อมยานยนต์และ จักรยานยนต์ โดยให้บริการด้าน การ
ขายปลีกชน้ิ สว่ นและอปุ กรณ์เสริมใหมข่ องยานยนต์
1.1.3 ตำแหน่งและลกั ษณะงานสหกิจศึกษา
1) ตำแหนง่ งานสหกิจศกึ ษา: ผูช้ ่วยวิศวกรระบบสมาร์ทฟาร์ม
2) ลักษณะงานสหกิจศึกษา: ในการปฏิบัติสหกิจศึกษา บริษัท เซฟเทค อินโนเวช่ัน
จำกัด ลักษณะงานที่ได้รับหมอบหมายคือผู้ช่วยวิศวกรระบบสมาร์ทฟาร์ม ซึ่งในการปฏิบัติงานสหกิจ
ศึกษาด้านระบบสมาร์ทฟาร์ม ได้มีการศึกษาการทำงานของทุก ๆ ส่วนของระบบสมาร์ทฟาร์ม เพื่อให้ได้
เรียนรู้และ เข้าใจระบบสมารท์ ฟาร์ม
1.3วัตถปุ ระสงค์ของโครงงานสหกิจศกึ ษา
1.3.1 เพื่อควบคุมอุณหภูมิ ความชื้นภายในโรงเรือนให้เหมาะกับการเจริญเติบโตของต้น
กญั ชา
1.3.2 เพือ่ ตรวจสอบอุณหภมู ิ ความชน้ื ในเรอื นแบบเรยี ลไทม์ผ่านสมารท์ โฟน
1.3.3 เพอื่ เก็บสถติ อิ ุณหภมู ิ ความช้ืนภายในโรงเรือนแบบเรยี ลไทม์
1.4 ขอบเขตของโครงงานสหกจิ ศกึ ษา
1.4.1 สามารถวดั อุณหภูมิความชนื้ ภายในโรงเรือน
1.4.2 มีจอแสดงผลทีก่ ล่องคอนโทรล
1.4.3 ความคมุ การ เปิด – ปิดปัม๊ นำ้ ทใ่ี ช้กับสปรงิ เกอร์
1.4.4 ความคมุ การ เปดิ – ปดิ พัดลมระบายอากาศได้อตั โนมตั ิ
1.4.5 เช่อื มโยงขอ้ มูลระหวา่ งกล่องสมองกลฝงั ตัวกบั Google Sheet
1.4.6 เชอ่ื มโยงขอ้ มลู ระหว่างกล่องสมองกลฝังตวั กับ Line Notify
4
1.4.7 เช่ือมโยงขอ้ มลู ระหวา่ งกลอ่ งสมองกลฝังตวั กบั Application Blynk
1.4.8 เชอ่ื มโยงข้อมลู ระหวา่ งกลอ่ งสมองกลฝังตัวกบั Fire base
1.5 ประโยชน์ทคี่ าดว่าจะไดร้ บั จากโครงงานสหกจิ ศกึ ษา
1.5.1 สามารถควบคมุ อณุ หภูมแิ ละความชื้นภายในโรงเรือนได้
1.5.2 สามารถตรวจเช็กอุณหภมู ไิ ด้ผ่าน Smart Phone
1.5.3 สามารถเกบ็ สถิติอุณหภูมคิ วามชนื้ ไวท้ ่ี Google Sheet เพื่อนำไปวเิ คราะห์ต่อได้
1.5.4 สามารถแจ้งเตอื นเมอ่ื อณุ หภูมสิ งู เกินกำหนดผ่าน Line Notify แบบเรยี ลไทม์
5
บทที่ 2
ทฤษฎีทเ่ี ก่ียวขอ้ งกับโครงงานสหกิจศกึ ษา
ในการดำเนินการปรับปรุงแก้ไขปัญหาต่าง ๆ ในทางวิศวกรรมมีความจำเป็นอย่างยิ่งท่ี
ผู้ดำเนินการต้องทราบถึงหลักการในเชิงวิชาการอย่างเข้าใจ เพื่อใช้เป็นแนวทางและอ้างอิงในศึกษาและ
วิเคราะห์ เพื่อให้การแก้ไขปัญหาเป็นไปอย่างถูกต้องและเป็นแนวทางการดำเนินงาน ทางผู้ดำเนินการจึง
ไดท้ ำการศกึ ษาทฤษฎีทเี่ กย่ี วข้องดังนี้
2.1 ไมโครคอนโทรลเลอร์
2.2 Sensor SHT20
2.3 Sensor DHT22
2.4 RS485
2.5 UART
2.6 I2C
2.7 Line Notify
2.8 Google Sheet
2.9 Application Blynk
2.10 Relay
2.11 ภาษา C++ ภาษา C#
2.12 จอ LCD
2.13 MG-811 Carbon Dioxide Co2 Sensor Module
2.14 Arduino IDE
2.15 Arduino nano
2.16DC-to-DC Step Down LM2596
2.17Solar cell Solar panels
2.18Solenoid valve AC24v
6
2.1 ไมโครคอนโทรลเลอร์
ไมโครคอนโทรลเลอร์ คือ อุปกรณ์ควบคุมขนาดเล็ก ซึ่งบรรจุความสามารถที่คล้ายคลึงกับ
ระบบคอมพิวเตอร์ โดยในไมโครคอนโทรลเลอร์ได้รวมเอา ซีพียู หน่วยความจำ และพอร์ต ซึ่งเป็น
ส่วนประกอบหลักสำคญั ของระบบคอมพิวเตอรเ์ ขา้ ไว้ดว้ ยกนั โดยทำการบรรจเุ ข้าไว้ในตัวถังเดยี วกนั
2.1.1 โครงสร้างโดยทั่วไป ของไมโครคอนโทรลเลอร์นั้น สามารถแบ่งออกมาได้เป็น 5 ส่วน
ใหญ่ ๆ ดงั ตอ่ ไปนี้
1) หนว่ ยประมวลผลกลางหรอื ซพี ียู (CPU: Central Processing Unit)
2) หน่วยความจำ (Memory) สามารถแบ่งออกเป็น 2 ส่วน คือ หน่วยความจำที่มีไว้
สำหรบั เกโ็ ปรแกรมหลัก (Program Memory) เปรียบเสมือนฮาร์ดดีสก์ของเครื่องคอมพวิ เตอร์ต้งั โต๊ะ คือ
ข้อมูลใด ๆ ที่ถูกเก็บไว้ในนี้จะไม่สูญหายไปแม้ไม่มีไฟเลี้ยง อีกส่วนหนึ่งคือหน่วยความจำข้อมูล (Data
Memory) ใช้เป็นเหมือนกับกระดาษทดในการคำนวณของซีพียู และเป็นที่พักข้อมูลชั่วคราวขณะทำงาน
แต่หากไม่มีไฟเลี้ยง ข้อมูลก็จะหายไปคล้ายกับหน่วยความจำแรม (RAM) ในเครื่องคอมพิวเตอร์ทั่ว ๆ ไป
แต่สำหรับไมโครคอนโทรลเลอร์สมัยใหม่ หน่วยความจำข้อมูลจะมีทั้งที่เป็นหน่วยความจำแรม ซึ่งข้อมูล
จะหายไปเมื่อไม่มีไฟเลี้ยง และเป็นอีอีพรอม (EEPROM : Electrically Erasable Programmable
Read-Only Memory) ซง่ึ สามารถเกบ็ ข้อมูลไดแ้ มไ้ ม่มีไฟเลีย้ งก็ตาม
3) ส่วนติดต่อกับอุปกรณ์ภายนอก หรือพอร์ต (Port) มี 2 ลักษณะคือ พอร์ตอินพุต (Input
Port) และพอร์ตส่งสัญญาณหรือพอร์ตเอาต์พุต (Output Port) ส่วนนี้จะใช้ในการเชื่อมต่อกับอุปกรณ์
ภายนอก ถือว่าเป็นส่วนที่สำคัญมาก ใช้ร่วมกันระหว่างพอร์ตอินพุต เพื่อรับสัญญาณ อาจจะด้วยการกด
สวิตช์ เพ่อื นำไปประมวลผลและสง่ ไปพอร์ตเอาตพ์ ตุ เพ่ือแสดงผลเช่น การตดิ สว่างของหลอดไฟ เปน็ ต้น
4) ช่องทางเดินของสัญญาณ หรือบัส (BUS) คือเส้นทางการแลกเปลี่ยนสัญญาณข้อมูล
ระหว่าง ซีพียู หน่วยความจำและพอร์ต เป็นลักษณะของสายสัญญาณ จำนวนมากอยู่ภายในตัว
ไมโครคอนโทรลเลอร์ โดยแบ่งเป็นบัสข้อมูล (Data Bus) บัสแอดเดรส (Address Bus) และบัสควบคุม
(Control Bus)
5) วงจรกำเนิดสัญญาณนาฬิกา เป็นองค์ประกอบที่สำคัญมากอีกส่วนหนึ่ง เนื่องจากการ
ทำงานที่เกิดข้ึนในตัวไมโครคอนโทรลเลอร์ จะขึ้นอยู่กับการกำหนดจังหวะ หากสัญญาณนาฬิกามคี วามถี่
7
สูง จังหวะการทำงานก็จะสามารถทำได้ถี่ขึ้นส่งผลให้ไมโครคอนโทรลเลอร์ตัวนั้น มีความเร็วในการ
ประมวลผลสงู ตามไปด้วย
2.2 Sensor SHT20
เซ็นเซอร์อุณหภูมิและความชื้น SHT20 I2C มันมาพร้อมกับชิปเซ็นเซอร์อุณหภูมิและ
ความชื้น 4C CMOSens® SHT20 เซ็นเซอร์อุณหภูมิและความชื้น SHT20 I2C ใช้เทคนิคใหม่ของ
Sensirion นอกจากนี้ เซ็นเซอร์ความชื้นแบบ capacitive ชิปประกอบด้วยแอมพลิฟายเออร์ ตัวแปลง
A/D หน่วยความจำ OTP และหน่วยประมวลผลดิจิตอล ถึงเมื่อเปรยี บเทียบกับซีรีส์ SHT1x และ SHT7x
รุ่นแรก SHT20 จะแสดงความน่าเชื่อถือและความเสถียรในระยะยาวที่ดีกว่า สามารถวัดอุณหภูมิ
สภาพแวดลอ้ มโดยรอบและความชนื้ ในอากาศสัมพทั ธ์ไดอ้ ยา่ งแมน่ ยำ
เซ็นเซอร์อุณหภูมิและความชื้นกันน้ำ Arduino SHT20 ใช้การป้องกันน้ำแบบคู่ PCB ด้านใน
มีการป้องกันการแพร่กระจายและการห่อหุ้ม และกล่องหุ้มโพรบทำจากวัสดุกันน้ำ PE วัสดุนี้เป็นวัสดุ
พิเศษกันน้ำระบายอากาศที่ช่วยให้โมเลกุลของน้ำซึมเข้าไป ป้องกันไม่ให้หยดน้ำซึมเข้าไป เซ็นเซอร์จะ
ไม่ไดร้ บั ความเสียหายแม้ว่าจะจมอยใู่ นนำ้ เปน็ เวลานานก็ตาม มีตัวต้านทานแบบดึงข้ึน 10k ในตวั และตวั
เก็บประจุตัวกรอง 0.1uf ดังนั้นจึงสามารถใช้โดยตรงกับไมโครคอนโทรลเลอร์เช่น Arduino แนะนำ
DFRobot Gravity 4Pin Sensor Adapter สะดวกมาก
2.2.1 Specification
1. Operating Voltage: 3.3V/5V
2. Communication Interface: I2C / IIC
3. Protection Class: waterproof anti-condensation
4. RH Response Time: 8s (tau63%)
5. Accuracy: ±3% RH / ±0.3 C
6. Measuring Range: 0-100% RH / -40 to125 C
7. Dimension: 73mm * 17mm / 2.87 * 0.67 inches
8. Weight: 44g
8
รปู ท่ี 2.1 Sensor SHT20
ท่มี า: https://www.ab.in.th/product/285/sht20-i2c-sensor
Num Label Description
1 Red VCC
2 Black(Blue) GND
3 Green SDA
4 White(Yellow) SCL
ตารางท่ี 2.1 การต่อขาใชง้ าน
2.3 Sensor DHT22
โมดลู อุณหภมู ิและความช้ืนดจิ ติ อลที่สอบเทียบแลว้ พรอ้ มเซ็นเซอรอ์ อนบอรด์ DHT22
(AM2302) ซึ่งมีความแม่นยำสูงกว่าและช่วงการวัดที่กว้างกว่า DHT11สามารถใช้สำหรับการตรวจจับ
อุณหภมู ิและความช้ืนแวดล้อม ผา่ นอนิ เทอร์เฟสแบบสายเดี่ยวมาตรฐาน AM2302 ใชเ้ ทคโนโลยีบัสเด่ียว
แบบง่ายสำหรับการสื่อสาร ซึ่งใช้สายข้อมูลเพียงเส้นเดียว สำหรับการแลกเปลี่ยนข้อมูลและการควบคุม
ขอ้ มลู ในระบบ ในการใชง้ านมักจะต้องใช้ตวั ต้านทานแบบดงึ ขนึ้ ภายนอกประมาณ 5.1kΩ เมื่อบัสไม่ได้ใช้
งาน สถานะของบัสจะเปลี่ยนเป็น HIGH SDA ใช้สำหรับการส่ือสารข้อมูลและการซิงโครไนซ์ระหว่างไม
โครโพรเซสเซอร์และ AM2302 ใช้รูปแบบข้อมูลบัสเดี่ยว ข้อมูล 40 บิตในการส่งข้อมูลครั้งเดียว บิตสูง
ก่อนออก
2.3.1 Specification
2.3.1.1 Temperature
2.3.1.2 Resolution: 0.1°C
2.3.1.3 Accuracy: ±0.5℃
2.3.1.4 Measuring range: -40°C ~ 80°C
9
2.3.1.5 Humidity
2.3.1.6 Resolution : 0.1%RH
2.3.1.7 Accuracy : ±2%RH 25°C
2.3.1.8 Measuring range: 0%RH ~ 99.9 %RH
2.3.1.9 Operating voltage: 3.3V ~ 5.5 V
2.3.1.10 Recommended storage condition
2.3.1.11 Temperature : 10°C ~40°C
2.3.1.12 Humidity : 60%RH or below
รปู ท่ี 2.2 DHT22
ทีม่ า: https://www.thaieasyelec.com/product/487/dht22-digital-temperaturehumidity
2.4 RS485
RS485 คือมาตรฐานการสื่อสารข้อมูลดิจิตอลแบบอนุกรม (serial communication) ซึ่งถูก
กำหนดขึ้นครั้งแรกในปี ค.ศ. 1998 โดยความร่วมมือของ TIA (Telecommunications Industry
Association) และ EIA (Electronic Industries Association) มาตรฐาน RS485 ถูกใช้อย่างแพร่หลาย
ในโรงงานอตุ สาหกรรม เนอ่ื งจากสามารถส่งสญั ญาณได้ไกลและยังสามารถสง่ พร้อมๆกันไดห้ ลายจดุ ปกติ
แล้ว EIA จะตั้งชื่อมาตรฐานของตัวเองโดยการใช้คำนำหน้าว่า "RS" (Recommended Standard) แต่
เนื่องจากมาตรฐานนี้เป็นความร่วมมือระหว่าง 2 หน่วยงาน คือ TIA และ EIA ทั้งสองหน่วยงานจึงตกลง
เปลี่ยนจากคำว่า "RS" เป็น "TIA/EIA" แทนอย่างเป็นทางการ เพื่อระบุถึงแหล่งที่มาของมาตรฐานอย่าง
10
ชัดเจน โดยต่อมาทาง EIA ก็ได้ยกเลิกมาตรฐานนี้และมาตรฐาน RS485 นี้ก็ได้ถูกพัฒนาอย่างต่อเนื่อง
จนถงึ ปัจจบุ นั โดย TIA ทำให้มาตรฐาน RS485 ถกู เปล่ียนชือ่ เป็น "TIA-485" อย่างเป็นทางการ แต่สุดท้าย
เพราะความเคยชินทำให้วศิ วกรท่ัวโลกยงั เรียกมาตรฐานการสอ่ื สารน้วี ่า RS485 เหมอื นเดมิ
RS485 สามารถเช่ือมตอ่ การรบั ส่งข้อมลู แบบเครือข่าย (Network) โดยมอี ปุ กรณใ์ นเครือข่าย
ได้สูงสุดถึง 32 ตัว ซึ่งในเครือข่ายนั้น จะต้องมีอุปกรณ์อยู่ 1 ตัว ทำหน้าที่คอยจัดคิวการสื่อสารใน
เครือข่าย ซึ่งเราจะเรียกอุปกรณ์ตัวนี้ว่า Master และอุปกรณ์ส่วนที่เหลือเราจะเรียกว่า Slave โดย
ที่ Slave แต่ละตวั จะมีหมายเลข Address ของตัวเอง และเม่อื ตัว Master ต้องการส่ังการตวั Slave ตวั
Master จะส่งชุดคำสั่งพร้อมระบุหมายเลข Address ไปยังอุปกรณ์ Slave ทุกตัว เมื่ออุปกรณ์ Slave
ได้รับคำส่ังและคำสง่ั น้นั มีหมายเลข Address ตรงกับตวั เอง อุปกรณ์ Slave ถึงจะทำตามคำส่งั ของ
Master เครือข่าย RS485 สามารถมีอุปกรณ์ในระบบได้สูงสุด 32 ตัว เมื่ออุปกรณ์เหล่านั้นมี
ความต้านทานไฟฟ้า
ภายใน 12 kΩ แตป่ จั จุบันการออกแบบอุปกรณ์อเิ ล็กทรอนิกส์ได้พฒั นาจนมีความต้านทาน
ไฟฟ้าภายในท่สี ูงมาก ซงึ ทำใหเ้ ครือข่าย RS485 สามารถมอี ุปกรณใ์ นระบบได้สงู สุดถงึ 256 ตวั นอกจากนี้
เครือข่าย RS485 ยงั สามารถใช้ตัวขยายสญั ญาณ (Repeater) สำหรับเพิม่ อุปกรณ์ในเครือข่ายได้ถึงหลาย
พนั ตวั และครอบคุมระยะหลายกโิ ลเมตรกนั เลยทเี ดียว
2.5 UART
เป็นการสื่อสารข้อมูลผ่านพอร์ตอนุกรมแบบอะซิงโครนัส ระหว่างอุปกรณ์ต่าง ๆ ซึ่งนิยมใช้
เป็นการสื่อสารระหว่างไมโครคอนโทรลเลอร์ด้วยกัน การทำงานแบบอะซิงโครนัสหมายความว่าจะไม่มี
สัญญาณนาฬิกา ส่งออกมาจากตัวส่งหรือตัวรับเพื่อกำหนดจังหวะการรับส่งข้อมูล แต่จะกำหนดผ่านโดย
การต้งั ความเรว็ ในการรบั สง่ ข้อมูลของอปุ กรณด์ ังกล่าวแทน
UART จะอนุญาตให้มีการสื่อสารระหว่างอุปกรณ์เพียงสองชิ้นเท่านั้น ซึ่งได้แก่ตัวส่ง
(transmitter) และตัวรับ (receiver) และยังเป็นแบบฟูลดูเพล็กซ์ หรือสามารถสื่อสารได้สองทิศทางใน
เวลาเดียวกัน เมื่อการทำงานเริ่มต้นขึ้น ตัวส่งจะแปลงข้อมูลแบบขนานให้เป็นข้อมูลแบบอนุกรม แล้วส่ง
ข้อมูลดังกล่าวไปยังตัวรับ ซึ่งจะแปลงข้อมูลอนุกรมน้ันกลับไปเป็นแบบขนานตามเดิม การกำหนดจังหวะ
การรับสง่ ข้อมูลสามารถทำไดผ้ ่านการเพิม่ บิตเรม่ิ ตน้ (start bit) และบิตปิดทา้ ย (stop bit) ลงไปในข้อมูล
บิตเหลา่ นี้จะทำหนา้ นี้เป็นตวั บง่ บอกถึงจดุ เริ่มตน้ และจุดจบของข้อมลู ท่ีจะส่งออกไป ซ่งึ จะทำใหต้ วั รับรู้ว่า
จะต้องเริ่มอ่านข้อมูลดังกล่าวได้เมื่อใด เมื่อตัวรับสามารถตรวจจับบิตเริ่มต้นได้ ตัวรับจะเริ่มอ่านบิตที่
11
ตามมาด้วยความถี่ที่เรียกว่าอัตราบอด ทั้งตัวรับและตัวส่งจะต้องทำงานในอัตราบอดเดียวกัน หรือต้องมี
ค่าคลาดเคลื่อน ไม่สูงกว่า 10 เปอร์เซ็นต์เท่านัน้ อัตราบอดที่นิยมใช้จะอยู่ที่ 9,600 บิตต่อวินาที ข้อมูลท่ี
ส่งผ่าน UART จะถกู จัดระเบียบใหเ้ ปน็ แพ็กเก็ต (packet) แต่ละแพก็ เกต็ จะประกอบด้วยบิตเรมิ่ ตน้ 1 ตัว
(start bit) บติ ขอ้ มูล 5 ถงึ 9 ตวั (data bit) บติ พารติ ี 0 ถงึ 1 ตัว (parity bit) และบิตปดิ ทา้ ย (stop bit)
1 หรือ 2 ตวั ส่วนใหญ่แล้ว สายสอ่ื สารแบบ UART จะมีศักยไ์ ฟฟ้า สูงเมอ่ื ไม่ไดส้ ง่ ข้อมลู หากผู้ใช้ต้องการ
ส่งข้อมูลแล้ว ตัวส่งจะดึงศักย์ไฟฟ้าลงใน 1 รอบสัญญาณนาฬิกา เมื่อตัวรับตรวจจับการเปลี่ยนแปลงใน
ความต่างศักย์ไฟฟ้าได้ ตัวรับจะเริ่มอ่านบิตที่เหลือตามมา โดยจะเริ่มอ่านบิตท่ีมีนัยสำคัญต่ำสุด (least
significant bit) กอ่ นเป็นส่วนมากเม่ือตัวส่งตรวจจับบิตปิดทา้ ยได้ ตัวสง่ จะดันศักย์ไฟฟ้าในสายส่ือสารให้
สงู ขนึ้ ดังเดมิ ในระยะเวลาขน้ั ต่ำท่ี 2 ระยะบติ
2.6 I2C
I2C ย่อมาจาก Inter-Integrated Circuit คือรปู แบบการสื่อสารข้อมูลอย่างหนง่ึ ที่สร้างข้ึนมา
เพื่อสื่อสารข้อมูลความเร็วต่ำ นิยมใช้กับอุปกรณ์จำพวกไมโครโปรเซสเซอร์ ไมโครคอนโทรเลอร์และ
อุปกรณ์ต่างๆที่เกี่ยวข้อง I2C ถูกคิดค้นขึ้นมาในปี ค.ศ. 1982 โดย Philip semiconductor (ปัจจุบัน
เปล่ียนช่ือเปน็ NXP semiconductor) ขอ้ ดขี องการส่ือสารอนุกรมแบบ I2C คือ สามารถรบั -ส่งข้อมูลได้
หลายอุปกรณ์ในบัสเดียวกัน ดังรูป การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ I2C และใช้
สายสญั ญาณเพยี ง 2 เส้นในการรบั สง่ -ขอ้ มูล ทำใหส้ ามารถลดสายสัญญาณที่ใช้ในการเช่ือมต่ออุปกรณ์ลง
มาก โดยสายสญั ญาณทัง้ 2 เส้นแบง่ เป็น
– SDA (Serial Data) คือ สายสัญญาณสำหรับรับ-สง่ ข้อมลู
– SCL (Serial Clock) คอื สายสัญญาณนาฬิกา ใช้เป็นสำหรับควบคุมการรับ-ส่งข้อมลู
การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ I2C ประกอบไปด้วย 2 ส่วนคือ 1. อุปกรณ์
หลัก (Master Device) และ 2.อุปกรณ์ย่อย (Slave Device) ในระบบการสื่อสารแบบอนุกรม I2C
สามารถต่ออุปกรณ์ I2C Device ได้หลายอุปกรณ์ เวลาสื่อสารกันในระบบ Master Device จะอ้างอิง
Address ของ Slave Device เพื่อระบุว่าต้องการสื่อสารกับ Slave Device ตัวไหน และจะเห็นได้ว่า
สายสัญญาณทั้ง 2 เส้นต้องต่อตัวต้านทานแบบ Pull-up สาเหตุมาจากบอร์ด ESPino32 ไม่สามารถรับ
อินพตุ แบบ Open Drain หรือ Open Collector ของอุปกรณ์ I2C Device ไดโ้ ดยตรงจงึ ตอ้ งมีการต่อตัว
ต้านทานแบบ Pull-up มาเปลี่ยนสัญญาณทางไฟฟ้าให้กลายเป็นแบบ LVTTL ที่ตัวบอร์ด ESPino32
12
สามารถรับได้ แต่ส่วนใหญ่อุปกรณ์ I2C Device ต่างๆ ใส่ตัวต้านทานแบบ Pull-up มาจากโรงงาน
เรียบรอ้ ยแลว้ ดงั รูป Pull-up Resistor on I2C
2.6.1 เวอร์ช่ันการพฒั นาของการสื่อสารอนุกรมแบบ I2C
เวอร์ชนั่ ต้นฉบบั เริม่ ต้นในปี ค.ศ. 1982 เวอร์ชนั นถี้ กู สร้างข้นึ เพ่ือเปน็ ระบบบัสภายในท่ีใช้งาน
ง่ายสำหรับควบคุม และสื่อสารอุปกรณ์อิเล็กทรอนิกส์ต่างๆ ความเร็วในการสื่อสารของเวอร์ชันนี้อยู่ท่ี
100 kHz เวอร์ชั่น 1 เริ่มต้นในปี ค.ศ. 1992 เวอร์ชัน่ นี้เพิม่ Fast mode (FM) ที่มีความเร็วในการส่ือสาร
400 kHz และ เพิ่มจำนวน Address ที่รองรับเป็น 10 บิต เวอร์ชั่น 2 เริ่มต้นในปี ค.ศ. 1998 เวอร์ชั่นน้ี
เพิ่ม High speed mode (HS) ที่มีความเร็วในการสื่อสาร 3.4 MHz และลดการใช้พลังงานลง เวอร์ชั่น
2.1 เริ่มตน้ ในปี ค.ศ. 2000 เวอร์ชั่นน้ีอธิบายเวอร์ช่ัน 2 โดยไมม่ ีการเปลย่ี นแปลงหนา้ ทีส่ ำคญั
เวอร์ชั่น 3 เริ่มต้นในปี ค.ศ. 2000 เวอร์ชั่นนี้เพิ่ม Fast mode plus (Fm+) ที่มีความเร็วใน
การส่ือสาร 1 MHz และเพิ่มการเปล่ยี นแปลง Address ของอปุ กรณ์
เวอร์ชั่น4 เริ่มต้นในปี ค.ศ. 2012 เวอร์ชั่นนี้เพิ่ม Ultra Fast mode (UFm) ที่มีความเร็วใน
การส่ือสาร 5 MHz ใชล้ อจิกแบบ push-pull แทน pull-up resistor และเพิม่ manufacturer ID
เวอรช์ ่นั 5 เรม่ิ ตน้ ในปี ค.ศ. 2012 เวอร์ช่ันน้ีแกไ้ ขความผิดพลาดของเวอร์ชัน่ ก่อนหนา้
เวอร์ชั่น 6 เริ่มต้นในปี ค.ศ. 2014 เวอร์ชั่นนี้แก้ไขความผิดพลาดของสองเวอร์ชั่นก่อนหน้า
และใช้เวอรช์ ่นั นเี้ ป็นมาตรฐานสำหรับพอร์ทการส่ือสารอนุกรมแบบ I2C ของบอรด์ ESPino32 ขา Serial
Data (SDA) จะอยู่ที่ขา GPIO21 และขา Serial Clock (SCL) จะอยู่ที่ขา GPIO22 สามารถดูตำแหน่ง
พอร์ทการสื่อสารแบบอนุกรมแบบ I2C ของบอร์ด ESPino32 เพิ่มเติมได้จากแถบสีเขียวแก่ ในรูป
ESPino32 Pinout
2.6.2 การใช้งานการสือ่ สารอนกุ รมแบบ I2C
สำหรับการใช้งานการสื่อสารอนุกรมแบบ I2C จะใช้รูปแบบการสื่อสารที่เป็นมาตรฐานของ
การสื่อสารอนุกรมแบบ I2C มขี ั้นตอนการเขยี นข้อมลู ดว้ ยการสื่อสารอนกุ รมแบบ I2C และการอ่านข้อมูล
ด้วยการสอื่ สารอนกุ รมแบบ I2C ดงั นี้
13
การเขียนขอ้ มูลด้วยการส่ือสารอนกุ รมแบบ I2C มขี ัน้ ตอนดงั น้ี
1. Master Device ส่งสญั ญาณ Start ไปยงั Slave Device
2. Master Device เขียนไบต์ควบคุม (Control Byte) ไปยัง Slave Device (ไบต์
ควบคุม คอื Address ของ Slave ขนาด 7 บิต และคำสงั่ เขียนข้อมูล (0) จำนวน 1 บิต)
3. Master Device เขยี นขอ้ มลู ไปยงั Slave Device
4. Master Device ส่งสญั ญาณ Stop ไปยัง Slave Device
5. Master Device ส่งไบต์ควบคุมไปยัง Slave Device (ไบต์ควบคุม คือ Address
ของ Slave Device ขนาด 7 บิตและตามดว้ ยคำสั่งอ่านขอ้ มูล (1) จำนวน 1 บิต)
6. Master Device อา่ นข้อมูลจาก Slave Device
7. Master Device สง่ สญั ญาณ Stop ไปยัง Slave Device
รูปที่ 2.3 รปู แบบสื่อสารอนุกรมแบบ I2C
ที่มา : https://blog.thaieasyelec.com/espino32-ch8-how-to-use-i2c/
สำหรับการพฒั นาโปรแกรมการสือ่ สารอนุกรมแบบ I2C บนแพลตฟอรม์ Arduino จะใช้งาน
ผ่านไลบรารี่ Wire ที่ถูกติดตั้งมาบนโปรแกรม Arduino IDE เรียบร้อยแล้ว เมื่อผู้ใช้ต้องการพัฒนา
โปรแกรมบนโปรแกรม Arduino IDE จงึ สามารถเรียกใช้งานผา่ นการ #include <Wire.h>
ฟงั กช์ ันการใช้งานการส่ือสารอนกุ รมแบบ I2C ด้วยไลบราร่ี Wire
– Wire.begin() ฟงั กช์ ันสำหรบั เริม่ ตน้ ใชง้ านการสือ่ สารอนกุ รมแบบ I2C
– Wire.beginTransmission(address) ฟงั กช์ ันสำหรับเริ่มสง่ ข้อมลู ไปยงั อปุ กรณท์ ่มี ี Address
– Wire.endTransmission() ฟังกช์ นั สำหรับสนิ้ สุดการสือ่ สารอนกุ รมแบบ I2C
– Wire.write() ฟังกช์ ันสำหรบั เขียนขอ้ มลู I2C
14
– Wire.requestFrom(address, quantity) ฟังกช์ นั สำหรับร้องขอขอ้ มลู โดยระบจุ ำนวนข้อมลู ที่
– Wire.available() ต้องการในหนว่ ยไบต์จากอุปกรณท์ ม่ี ี Address ที่กำหนด
– Wire.read() ฟังก์ชนั สำหรบั ตรวจสอบว่ามีขอ้ มลู จาก Slave เขา้ มา
หรอื ไม่
ฟังก์ชนั สำหรับอ่านข้อมลู I2C
การตรวจสอบการเช่ือมต่อระหว่างบอรด์ ESPino32 กบั อุปกรณ์ I2C ขัน้ แรกก่อนท่ีจะใช้งาน
การสอ่ื สารอนุกรมแบบ I2C จะตอ้ งทำการตรวจสอบการเชือ่ มตอ่ ระหวา่ งตัวบอรด์ ESPino32 กบั อุปกรณ์
I2C Device ก่อนว่าถูกตอ้ งสมบรู ณ์หรือไม่ สว่ นใหญป่ ญั หาทพ่ี บในการส่อื สาร
2.6.3 แบบอนุกรม I2C จะมีอยู่ 2 อยา่ ง ได้แก่
1.ปัญหาจากการเชื่อมต่อ – ปัญหานี้อาจเกิดได้จากการต่อสาย SDA, SCL สลับกัน
หรือตอ่ วงจรไมค่ รบ เปน็ ตน้
2.ปัญหาจาก Address – ปญั หานีอ้ าจเกิดได้จากสายจั๊มพ์ท่ีใชข้ าดในทำให้การเชื่อมต่อ
ไม่สมบูรณ์ทำให้บอร์ด ESPino32 มองไม่เห็น Address ของอุปกรณ์ หรือ โมดูลบางตัว
เปลีย่ นไอซีทำให้ Address เปลย่ี น เวลาใชโ้ ปรแกรมที่เคยพฒั นามาแลว้ ไม่สามารถใช้ได้ เป็น
ตน้
การตรวจสอบการเชอ่ื มต่อระหว่างบอร์ด ESPino32 กับอุปกรณ์ I2C Device สามารถ
ตรวจสอบได้โดยใช้โปรแกรม i2c_scanner ดูเพิม่ เติมได้
ที่ https://playground.arduino.cc/Main/I2cScanner เมอื่ ใชง้ านโปรแกรมนีบ้ อร์ด ESPino32 จะ
คน้ หา Address ทั้งหมดที่ตอ่ อยู่บนพอร์ท I2C ของบอรด์ แล้วแสดงผลเปน็ Address 7 บิตของอุปกรณ์
นน้ั ๆ ออกมาทาง Serial Monitor
2.7 Line Notify
บริการท่ีคุณสามารถได้รับข้อความแจ้งเตือนจากเว็บเซอร์วิสต่าง ๆ ที่คุณสนใจได้ทาง LINE
โดยหลังเสร็จสิ้นการเชื่อมต่อกับทางเว็บเซอร์วิสแล้ว คุณจะได้รับการแจ้งเตือนจากบัญชีทางการของ
LINE Notify” ซ่ึงให้บริการโดย LINE นัน่ เอง คณุ สามารถเชอื่ มตอ่ กบั บรกิ ารท่หี ลากหลาย และยงั สามารถ
รบั การแจง้ เตอื นทางกลุ่มไดอ้ กี ดว้ ย ซึง่ บรกิ ารหลกั ๆ ท่ีสามารถเชอ่ื มต่อได้แก่ GitHub, IFTTT
15
หรือ Mackerelเราใช้ Line notify เพื่อแจ้งสถานะการออนไลน์ไปอีกระบบปลายทางได้ จึง
ทำให้เราสามารถส่งข้อความแจ้งเตือนจากบรกิ ารต่าง ๆ หรืออุปกรณ์ใด ๆ ก็ตาม ที่สามารถเชื่อมต่อกบั
internet และสามารถเชื่อมด้วย http post มายัง Account ของเราได้ ซึ่งการใช้งานโดยรวมของ Line
notify จะมีรูปแบบดังนี้ คือ เริ่มแรกเลย เราต้องไปสร้าง token ของ account ในระบบของ Line
เสยี กอ่ น จากนนั้ เกบ็ token นี้เอาไว้ แล้วเมือ่ เราต้องการที่จะสง่ ข้อความแจ้งเตอื นต่าง ๆ เราจะใช้ token
นีเ้ พอื่ สง่ ขอ้ ความแจ้งเตอื น ผา่ นทาง http post น่ันเอง
รปู ที่2.4 การเข้าใช้งาน Line Notify
ที่มา: https://notify-bot.line.me/th/
รูปท่ี2.5 การการออก Token Line Notify
ที่มา: https://notify-bot.line.me/th/
16
2.8 Google Sheet
Google ชตี เปน็ โปรแกรมสเปรดชตี ทร่ี วมอยูใ่ นชุดเครื่องมอื แก้ไขเอกสารของ Google บนเวบ็
ที่เสนอให้โดย Google ฟรี บริการนี้ยังรวมถึง Google เอกสาร, Google สไลด์, Google วาดเขียน,
Google ฟอร์ม, Google Sites และ Google Keep Google ชตี พรอ้ มใชง้ านในรูปแบบเว็บแอปพลิเคชัน
แอปบนอปุ กรณ์เคลอ่ื นท่สี ำหรบั Android, iOS, Windows, BlackBerry และเป็นแอปพลิเคชันเดสก์ท็อป
บน Chrome OS ของ Google แอพนี้เข้ากันได้กับรูปแบบไฟล์ Microsoft Excel แอปนี้อนุญาตให้ผู้ใช้
สร้างและแก้ไขไฟล์ออนไลน์ในขณะที่ทำงานร่วมกับผู้ใช้รายอื่นแบบเรียลไทม์ ผู้ใช้ติดตามการแก้ไขด้วย
ประวัติการแก้ไขที่นำเสนอการเปลี่ยนแปลง ตำแหน่งของบรรณาธิการจะถูกเน้นด้วยสีและเคอร์เซอร์
เฉพาะตัวแก้ไข และระบบการอนุญาตจะควบคุมสิ่งทีผ่ ู้ใช้สามารถทำได้ การอัปเดตได้แนะนำคณุ ลักษณะ
ต่างๆ โดยใช้การเรียนรู้ของเครื่อง ซึ่งรวมถึง "สำรวจ" ซึ่งให้คำตอบตามคำถามภาษาธรรมชาติในสเปรด
ชีต
รูปท่ี 2.6หนา้ แรก google sheets
ท่มี า: https://docs.google.com/spreadsheets/u/0/
17
รูปท่2ี .7 หนา้ ต่างเขยี น code Javascript
ท่มี า: https://docs.google.com/spreadsheets/u/0/
2.9 Application Blynk
Blynk Platform เป็น Open Source แพลตฟอรม์ อย่างหนง่ึ ซึ่งออกแบบมาสำหรับงาน IoT
ที่จะทำให้อุปกรณ์ต่างๆเชื่อมต่อเข้ากับระบบผ่านอินเทอร์เน็ตได้โดยง่าย สามารถควบคุมการทำงาน
อุปกรณ์ฮาร์ดแวร์จากระยะไกลผ่าน Application บน Smartphone ในส่วนของค่าบริการหากใช้งาน
Blynk Server จะสามารถใช้งานฟรีสำหรับอุปกรณ์ Prototype และมีค่าบริการสำหรับเชิงธุรกิจ (ดู
เพิ่มเติมได้ท่ี link) แต่ข้อดีของ Blynk Platform คือทางผู้ผลิตแจก Source Code สำหรับตั้ง Blynk
Server ด้วยตนเองได้ด้วยดังนน้ั ถา้ ใชว้ ธิ ีนี้ “*ฟรคี ่าบริการ”
18
รปู ท่ี 2.8 ภาพแสดงการทำงานของ Blynk Platform
ทม่ี า : https://blog.thaieasyelec.com/getting-started-iot-with-blynk/
2.9.1 องค์ประกอบของ Blynk Platform
Blynk มีองค์ประกอบหลักอยู่ 3 ส่วน ดังรูป ภาพแสดงการทำงานของ Blynk Platform
ประกอบด้วย
1.Blynk app คือ แอพลิเคชันใน Smartphone ที่มี widgets ต่างๆ สำหรับการ แสดงผล
และการควบคุมอุปกรณ์
2.Blynk Server คือ ตวั กลางในการสื่อสารระหวา่ งอุปกรณ์ทงั้ หมด สามารถใช้ Blynk Cloud
ของทาง Blynk platform หรือ ตง้ั Server เองผา่ น Single Board computer เช่น Raspberry Pi หรือ
บอร์ดอ่นื ๆ ได้
3. Blynk Libraries คือ ชุด Libraries สำหรับพัฒนาโปรแกรมใน platform ของอุปกรณ์
ตา่ งๆ
2.9.2 Blynk Energy คอื อะไร
Blynk Energy คือ Energy สำหรับแลกเปลี่ยนกับ Widget Box ต่างๆ สำหรับส่วนแสดงผล
ตัวอย่างเช่น ปุ่มกด, ปุ่มสไลด์, จอยสติ๊ก, กราฟ, แผนที่ เป็นต้น ซึ่งหากใช้งาน Blynk Server ของผู้ผลิต
เมื่อสมัครใช้งานแล้วจะมี Energy ให้ทดลองใช้งานฟรี 2000 สำหรับแลกเปลี่ยนกับ Widget Box ต่างๆ
ดงั รปู ภาพแสดง Enerygy แต่ถ้าไมพ่ อสามารถเสียเงินเพ่ือซื้อเพ่ิมได้ดังรปู ภาพแสดง Energy Store
19
รปู ท่ี 2.9 Energy Store
ทมี่ า : https://blog.thaieasyelec.com/getting-started-iot-with-blynk/
2.10 SolidState Relay
โซลิดสเตตรีเลย์ Solid State Relay คือ Relay ประเภทหนึ่ง ที่นิยมเรียกตามตัวย่อว่า SSR
เป็นสวติ ช์อเิ ลก็ ทรอนิกท่ีไม่ใชห้ น้าสัมผัส ในการตัดต่อวงจร แต่จะใชเ้ ทคโนโลยขี อง Semiconductor ทำ
ให้ไมม่ ีชน้ิ ส่วนที่เคลอื่ นที่ เพือ่ ลดเสยี งรบกวนทีเ่ กิดข้ึน และ เพิม่ อายุการใชง้ านได้ยาวนานมากขึ้น
Solid State Relay อาจถือได้ว่าเป็นสิ่งประดิษฐ์ที่ออกแบบมาเพื่อใช้แทน อาร์เมเจอร์รีเลย์
(Armature Relay) โดยมีขอ้ ดกี ว่า คือ มขี นาดเลก็ ก ไวตอ่ การทำงาน และ มอี ายกุ ารใช้งานท่ียาวกว่า ซ่ึง
จะแบง่ ได้เป็นแบบ Single Phase และ Three Phase
1. โซลิดสเตตรีเลย์แบบ 1 เฟส Single Phase Solid State Relay เป็นรีเลย์ที่ไม่มีหน้าคอน
แทค จึงสามารถทำงานความถี่สูงได้ มีอายุการใช้งานท่ียาวนาน และ มี LED เพื่อแสดงสภาวะการทำงาน
ของอนิ พตุ
รปู ท่ี 2.10ตัวอย่างวงจรควบคุม Single Phase Solid State Relay
ทม่ี า : https://i.pinimg.com/564x/0f/6e/67/e97ea98ec4fd5411.jpg
20
รปู ท่ี 2.11 ตัวอปุ กรณ์ Single Phase Solid State Relay
ที่มา : https://o.lnwfile.com/4cy3xv.jpg
2. โซลิดสเตตรีเลย์แบบ 3 เฟส Three Phase Solid State Relay เป็นโซลิดสเตตรีเลย์
แบบ 3 เฟส มีอายุการใช้งานยาวนาน มีวารีสเตอร์ป้องกัน Transient ฉนวนกันความร้อนสูง ระหว่าง
อินพตุ และ เอาท์พุต ความจขุ นาดใหญ่ ลำตวั เล็กกระทดั รดั โดยมักนำไปใช้งานกบั เคร่ืองจกั ร เครอ่ื งพิมพ์
อา่ งควบคมุ อุณภูมิ เครือ่ งฉีดพลาสติก เครือ่ งบรรจุ
รปู ท่ี 2.12 ตวั อย่างวงจรควบคุม Three Phase Solid State Relay
ที่มา : https://www.huimultd.com /allimg/200508/1_1705156345.jpg
21
รปู ที่ 2.13 ตวั อุปกรณ์ Three Phase Solid State Relay
ที่มา : https://ae01.alicdn.com/kf/TpK1RjSZFMq6zG_VXal.jpg_q50.jpg
2.11 ภาษา C ภาษา
2.11.1 ภาษาซี (C Programming Language) คือ ภาษาคอมพิวเตอร์ใช้สำหรับพัฒนา
โปรแกรมทั่วไป ถูกพัฒนาครั้งแรกเพื่อใช้เป็นภาษาสำหรับพัฒนาระบบปฏิบัติการยูนิกซ์ ( Unix
Opearating System) แทนภาษาแอสเซมบลี ซ่ึงเป็นภาษาระดับต่ำท่สี ามารถกระทำในระบบฮารด์ แวร์ได้
ด้วยความรวดเร็ว แต่จุดอ่อนของภาษาแอซเซมบลีก็คือความยุง่ ยากในการโปรแกรม ความเป็นเฉพาะตัว
และความแตกต่างกันไปในแต่ละเครื่อง เดนนิสริตชี (Dennis Ritchie) จึงได้คิดค้นพัฒนาภาษาใหม่นี้
ขึ้นมาเมื่อประมาณต้นปี ค.ศ. 1970 โดยการรวบรวมเอาจุดเด่นของแต่ละภาษาระดับสูงผนวกเข้ากับ
ภาษาระดับต่ำ เรยี กชอื่ วา่ ภาษาซี
เมอ่ื ภาษาซี ไดร้ ับความนิยมมากขึ้น จึงมีผ้ผู ลิต compiler ภาษาซอี อกมาแขง่ ขนั กนั มากมาย
ทำให้เริ่มมีการใส่ลูกเล่นต่าง ๆ เพื่อดึงดูดใจผู้ซื้อ ทาง American National Standard Institute (ANSI)
จึงตงั้ ข้อกำหนดมาตรฐานของภาษาซีขน้ึ เรียกวา่ ANSI C เพือ่ คงมาตรฐานของภาษาไว้ไมใ่ ห้เปล่ียนแปลง
ไป
โครงสร้างของโปรแกรมภาษาซี และตัวอย่าง
โปรแกรมในภาษาซีทุกโปรแกรมจะประกอบด้วยฟังกชั่นอย่างน้อย หนึ่งฟังกชั่น คือ ฟังก์ชั่น
main โดยโปรแกรมภาษาซีจะเรม่ิ ทำงานทีฟ่ งั กช์ ั่น main กอ่ น ในแต่ละฟงั กช์ นั่ จะประกอบดว้ ย
22
1. Function Heading ประกอบด้วยชื่อฟังก์ชั่น และอาจมีรายการของ argument (บางคน
เรียก parameter) อยู่ในวงเลบ็
2. Variable Declaration ส่วนประกาศตัวแปร สำหรับภาษาซี ตัวแปรหรือค่าคงที่ทุกตัว ที่
ใช้ในโปรแกรมจะต้องมีการประกาศก่อนว่าจะใช้งานอย่างไร จะเก็บค่าในรูปแบบใดเช่น interger หรือ
real number
3. Compound Statements ส่วนของประโยคคำสั่งต่าง ๆ ซึ่งแบ่งเป็นประโยคเชิงซ้อน
(compound statement) กับ ประโยคนิพจน์ (expression statment) โดยประโยคเชิงซ้อนจะอยู่
ภายในวงเล็บปีกกาคู่หนึ่ง { และ } โดยในหนึ่งประโยคเชิงซ้อน จะมีประโยคนิพจน์ที่แยกจากกันด้วย
เครื่องหมาย semicolon (;) หลายๆ ประโยครวมกัน และ อาจมีวงเล็บปีกกาใส่ประโยคเชิงซ้อนย่อยเข้า
ไปอกี ได้
2.11.2 ภาษา C++ คือ ภาษา C programming language รุ่นใหม่ เป็นภาษาในการเขียน
โปรแกรม ถูกพัฒนาโดย Dr.Bjarne Stroustrup ซึ่งเป็นนักวิจัยอยู่ทีห้องปฏิบัติการ Bell Labs ประเทศ
สหรัฐอเมริกาในระหว่างปี พ.ศ. 2525-2528 ภาษา C++ เกิดจากแนวคิดในการเพิ่มประสิทธิภาพภาษา
CC โดยได้นำความสามารถของ ภาษา C มาพัฒนา ให้เป็นโปรแกรมภาษาที่มีความเป็น Object
Oriented Programming (โปรแกรมเชิงวัตถุ) และนี้เองคือที่มาของภาษา C++ จากการพัฒนานี้ทำให้
ทกุ ส่ิงท่ีภาษา C ทำได้ ภาษา C++ ก็จะสามารถทำได้ แต่สิ่งท่ภี าษา C++ ทำได้ ภาษา C อาจจะทำไม่ได้
ภาษา C++ ถกู ออกแบบมาสำหรบั การทำงานภายใตส้ ิง่ แวดล้อมระบบปฏิบัตกิ าร UNIX ด้วยภาษา C++
ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมได้อย่างมีประสิทธิภาพมากขึ้น นอกจากนี้การเขียนโปรแกรม
เพือ่ ใหส้ ามารถนำกลบั มาใชไ้ ด้ใหม่ (reusability) ก็สามารถทำได้งา่ ยข้นึ
ข้อดขี องภาษา C++
1. ภาษา C++ จะมีการทำงานที่ค่อนข้างเร็วมากเมื่อเทียบกับภาษาอื่น และยังสามาถ
ดำเนนิ การกบั Hardware ได้ โดยท่ีโปรแกรมภาษาบางโปรแกรมอาจจะไม่สนับสนุนคุณลกั ษณะนี้
2.ภาษา C++ มีความเป็น Object Oriented Programming และยังเป็น Structure
Programming ซึ่งเหมาะที่จะใช้ ศึกษาเกี่ยวกับการเขียนโปรแกรมสำหรับผู้เริ่มต้น และนอกจากนั้นถ้า
หากเราจะเรียนเรื่อง Data Structure หรือ ทางด้าน อัลกอริทึ่ม ในต่างประเทศจะนิยมใช้ C++ ในการ
สอน รวมถึงการเรียนรู้ถึงระบบการทำงานของระบบปฏิบัติการ ตำราส่วนใหญ่ก็จะใช้ C++ ในการสอน
23
ซ่ึงถ้าเราสามารถอ่าน Source code C++ รู้เรื่องก็จะทำให้เราเรียนรู้เกี่ยวกับการเป็นโปรแกรมเมอร์ได้
ง่ายข้นึ
รปู ท่ี 2.14ภาษา C ภาษา C++ ภาษา
ทีม่ า : https://iconscout.com/icon/csharp-1
2.12 จอ LCD
LCD (Liquid crystal display) หรือจอภาพแอลซีดี คือ จอแสดงผลแบบ Digital ที่ใช้วัตถุ
ที่เป็นผลึกเหลว (liquid crystal) และใช้หลอดฟลูออเรสเซนต์ CCFL (Cold Cathode Fluorescent
Lamp) ซ่ึงมีลักษณะเปน็ หลอดผอมคล้ายๆหลอดกาแฟ เรียงในแนวนอนยาวลงมาเป็นตวั กำเนิดแสงสว่าง
แทนการใช้หลอดภาพในจอซอี าร์ที (CRT -Cathode Ray Tube Monitor)ในจอแบบเก่าจงึ ทำใหจ้ อภาพ
แอลซดี ีใช้พลงั งาน ไฟฟ้านอ้ ยกวา่ จอแบบซีอาร์ทปี ระมาณหนึง่ ในสาม โดยภาพท่ปี รากฏขน้ึ เกิดจากแสงท่ี
ถูกปล่อยออกมาจากหลอดไฟด้านหลังของจอภาพ (Black Light) ส่องแสงผ่านชั้นกรองแสง (Polarized
filter) ที่เป็นผลึกเหลว (ลักษณะ คล้ายๆเยลลี่ ลองสังเกตดูว่าถ้าเอามือจิ้มลงไป ที่จอจะรู้สึกว่านิ่มๆ) ท่ี
หยอดเอาไว้ระหว่างช่องกระจกจะถูกกระตุ้นด้วยไฟฟ้า ทำให้โมเลกุล ของลิควิดคริสตัลเหลวที่เรียงตัว
ด้วยกัน 3 เซลล์คือ แสงสีแดง แสงสีเขียว และแสงสีนํ้าเงิน ในส่วนของจุดภาพ พิกเซล (pixel) นั้นหมุน
เป็นมุม 90 องศา เพื่อให้เกิดไดท้ ั้งจุดสว่าง และจุดมืด (แต่ละพิกเซลไม่สามารถกำเนิดแสงได้เอง) หากจะ
กล่าวว่าเทคนิคของ LCD คือการบิดตัวโมเลกุล แล้วเอาเงาของมันมาใช้งานก็ถือว่าถูกต้องอย่างที่สุด จอ
LCD จะมหี ลายขนาดตงั้ แต่ 15 นวิ้ ไปจนถึง 108 น้ิว
24
2.12.1 เทคโนโลยีที่พัฒนามาใช้กับ LCD น้นั แบง่ ออกเป็น 2 ประเภทคอื
1. Passive Matrix หรือที่เรียกว่า Super-Twisted Nematic (STN) เป็นเทคโนโลยี
แบบเก่าที่ให้ความคมชัดและความสว่างน้อยกว่า ใช้ในจอโทรศัพท์มือถือทั่วไปหรือจอ Palm ขาวดำเป็น
สว่ นใหญ่
2. Active Matrix หรือที่เรียกวา่ Thin Film Transistors (TFT) สามารถแสดงภาพได้
คมชดั และสว่างกวา่ แบบแรก ใชใ้ นจอมอนเิ ตอรห์ รือโน๊ตบุ๊คเทคโนโลยี TFT LCD Mornitor
2.13 MG-811 Carbon Dioxide Co2 Sensor Module
รูปที่ 2.15 MG-811 Carbon Dioxide Co2 Sensor Module
ที่มา : https://www.MG811+Carbon+Dioxide+Co2+Sensor+Module&sxsrf
เซ็นเซอร์ก๊าซคาร์บอนไดออกไซด์เป็นอุปกรณ์ที่วัดระดับของก๊าซคาร์บอนไดออกไซด์ในก๊าซ
หรือของเหลว เซ็นเซอร์ก๊าซคาร์บอนไดออกไซด์ถูกนำมาใช้ในสาขาวิทยาศาสตร์และอุตสาหกรรมต่าง ๆ
เพื่อกำหนดเนื้อหาของก๊าซคาร์บอนไดออกไซด์ (CO2) ของสิ่งแวดล้อมหรือผลิตภัณฑ์ เซ็นเซอร์
คาร์บอนไดออกไซดย์ งั ใช้เพื่อตรวจสอบคุณภาพอากาศภายในอาคาร
25
ในการใชง้ านของผ้บู ริโภคเซ็นเซอร์คาร์บอนไดออกไซดม์ ักใช้ในเครื่องปรบั อากาศเพอ่ื ตรวจวัด
คุณภาพอากาศเนื่องจากระดับก๊าซคาร์บอนไดออกไซด์ที่สูงอาจทำให้เกิดอาการปวดหัวและอาจถึงขั้น
เสียชวี ิตในระดับที่สูงมาก เซน็ เซอร์ในเคร่อื งปรบั อากาศ (AC) สามารถกำหนดจำนวนคนทอ่ี ย่ใู น
ห้องด้วยปริมาณของก๊าซคาร์บอนไดออกไซด์ที่ผลิตโดยผู้อยู่อาศัยในห้อง ด้วยข้อมูลนี้หน่วย
เครื่องปรับอากาศสามารถปรับ AC เป็นอุณหภูมิที่สะดวกสบายสำหรับสถานการณ์นั้น เซ็นเซอร์ก๊าซ
คาร์บอนไดออกไซด์นั้นมีประโยชน์ในการกำหนดจำนวนสัตว์ในสภาพแวดล้อมหรือสภาพการหายใจของ
สตั ว์เหลา่ นัน้
ความสามารถในการวัดก๊าซคาร์บอนไดออกไซด์ในก๊าซมีความสำคัญในหลายอุตสาหกรรม
การใช้เซน็ เซอรค์ ารบ์ อนไดออกไซด์ในห้อง Hyperbaric ชว่ ยใหแ้ พทย์สามารถปฏิบตั ิงานในสภาพ
บรรยากาศที่ควบคุมอย่างระมัดระวัง เซ็นเซอร์ยังใช้ในการกำหนดระดับคาร์บอนไดออกไซด์
ใต้นำ้ หรือในอวกาศซึ่งสามารถนำมาใช้เพ่อื กำหนดความเป็นอยู่ของสภาพแวดลอ้ มใหม่
เซน็ เซอร์คาร์บอนไดออกไซดย์ ังสามารถใช้เพ่ือระบุปริมาณก๊าซคาร์บอนไดออกไซด์ในของเหลว เซ็นเซอร์
เหลา่ นีใ้ ชใ้ นการวดั ระดับกา๊ ซคาร์บอนไดออกไซด์ในเลอื ด นี่คอื การวดั ทีส่ ำคญั ในระหวา่ งการผา่ ตัดและเมื่อ
ผ้ปู ่วยเข้ารบั การรักษาในโรงพยาบาลภายใตก้ ารดูแลอยา่ งเข้มขน้
เซ็นเซอร์คาร์บอนไดออกไซด์ที่ละลายได้สามารถนำมาใช้ในการผลิตสิ่งของทั่วไปได้หลาย
อย่าง เซ็นเซอร์ใช้สำหรับตรวจสอบ CO2 ในเครื่องดื่มอัดลมเช่นโซดาเบียร์และสปาร์กลิงไวน์ซึ่งอัดเป็น
คาร์บอนไดออกไซด์ด้วยแรงดัน เซ็นเซอร์คาร์บอนไดออกไซด์ที่ละลายในของเหลวยังถูกนำไปใช้ใน
อตุ สาหกรรมยาดว้ ยซ่งึ CO2 มปี ระโยชนห์ ลายอยา่ ง
เซ็นเซอร์กา๊ ซคารบ์ อนไดออกไซด์ชนดิ หลักเรียกวา่ เซน็ เซอร์อินฟราเรดแบบไม่กระจาย (NDIR)
NDIR กำหนดปริมาณของกา๊ ซคาร์บอนไดออกไซดใ์ นก๊าซโดยการวัดการดูดซับของความยาวคลื่นของแสง
ในก๊าซ คาร์บอนไดออกไซด์มีคุณสมบัติดูดซับที่ไม่เหมอื นใครและปริมาณแสงที่ดูดซับโดยก๊าซจะแสดงให้
เห็นว่ามีคาร์บอนไดออกไซด์อยู่ในก๊าซนั้นมากแค่ไหน เซ็นเซอร์คาร์บอนไดออกไซด์อื่น ๆ วัดค่าการนำ
ความรอ้ นหรอื ความสามารถของสารในการนำความร้อนเพื่อกำหนดปรมิ าณ CO2
26
2.14 Arduino IDE
รูปที่ 2.16 Arduino IDE
ท่ีมา : https://www/search?q=arduino+ide&tbm
โปรแกรมที่ออกแบบมาเพื่อให้ง่ายต่อการเขียนซอฟต์แวร์สำหรับแพลตฟอร์มโอเพ่นซอร์สน้ี
แพลตฟอร์มArduino เป็นแพลตฟอร์มอิเล็กทรอนิกส์ยอดนิยมที่ออกแบบมาเพื่อลดความซับซ้อนของ
กระบวนการออกแบบอปุ กรณอ์ เิ ล็กทรอนิกส์ การใช้งานทัว่ ไป ไดแ้ ก่ หุ่นยนต์เทคโนโลยกี ารปรบั ปรงุ บา้ น
คอมพิวเตอร์ที่สวมใส่ได้และแอปพลิเคชันอิเล็กทรอนิกส์ที่แปลกใหม่ สิ่งประดิษฐ์ Arduino
สว่ นใหญไ่ ด้รับการพัฒนาโดยใช้Arduino IDE
IDE มักใช้โดยโปรแกรมเมอร์เพื่อเร่งกระบวนการเขียนโปรแกรม คุณสมบัติทั่วไปของ IDE
รวมถึงการกำหนดหมายเลขบรรทัดอัตโนมัติการเน้นไวยากรณ์และการรวบรวมแบบรวม แม้ว่าจะเป็นไป
ได้ในทางเทคนิคที่จะเขียนซอฟต์แวร์โดยใชโ้ ปรแกรมแก้ไขข้อความอย่างง่าย แต่กระบวนการนั้นง่ายกว่า
มากเมื่อเขียนโค้ดใน IDE ภาษาการเขียนโปรแกรมจำนวนมากมี IDEs ของตนเองและมีการพัฒนา IDE
สำหรับวัตถุประสงค์ทั่วไปหลายอย่าง IDE วัตถุประสงค์ทั่วไปเหล่านี้สามารถใช้กับภาษาการเขียน
โปรแกรมที่รองรบั ไดห้ ลากหลาย
Arduino IDE มีสภาพแวดล้อมที่อนุญาตให้โปรแกรมเมอร์ใช้โปรแกรมเดี่ยวตั้งแต่ต้นจนจบ
มันสามารถตดิ ตามไฟล์หลาย ๆ ไฟล์ในโครงการซึ่งช่วยให้โปรแกรมเมอร์เขียนโปรแกรมทีซ่ ับซ้อนมากข้ึน
หรือโมดูลาร์เพื่อจัดการโครงการของพวกเขา IDE ยังรวบรวมรหัสตัวเองทำการดีบักพื้นฐานและส่งรหัส
โดยตรงไปยังบอร์ดArduinoซึ่งจะใช้ bootloader Arduinoเพื่อเขียนโปรแกรมใหม่ลงใน
หน่วยความจำ แม้จะมคี ุณสมบัตเิ พ่ิมเติมเหล่านี้โปรแกรมเมอร์บางคนก็บ่นว่าArduino IDE น้ันขาดความ
แจ่มใสเมื่อเทียบกับ IDE อื่น ๆ ที่ก้าวหน้ากว่า นี่เป็นเพราะมันขาดคุณสมบัติทั่วไปหลายประการรวมถึง
การกำหนดหมายเลขบรรทัดที่มองเห็นโดยอัตโนมัติซึ่งจะช่วยให้โปรแกรมเมอร์สามารถอ้างถึงส่วนที่
27
เฉพาะเจาะจงของซอร์สโค้ดได้ง่ายเมื่อประเมินข้อความแสดงข้อผิดพลาดหรือการสื่อสารกับ
โปรแกรมเมอร์อื่น ๆ คุณลักษณะที่ขาดหายไปอื่น ๆ ได้แก่ ข้อความแสดงข้อผิดพลาดโดยละเอียดซึ่งมี
ประโยชนส์ ำหรับการวนิ ิจฉัยและแก้ไขข้อผดิ พลาดในการเขยี นโค้ดและการพับโค้ดซง่ึ ทำใหโ้ ปรแกรมเมอร์
สามารถตรวจสอบเฉพาะบางส่วนของซอร์สโค้ดที่เก่ยี วข้องโดยการซ่อน pars ซึง่ ไมไ่ ด้รับผลกระทบ
รปู ท่ี 2.17 อธบิ ายการใช้ป่มุ อุปกรณ์ในโปรแกรม Arduino ide
ทม่ี า : mhttps://www.arduino.cc/en/software
เม่ือเปิดโปรแกรม Arduino IDE ขึ้นมาก็จะพบหนา้ ต่างแบบดงั รปู โดยจะเป็นเปน็ ส่วนสำคัญๆ ได้ 4 ส่วน
1. คำสง่ั หรือเคร่อื งมือพื้นฐานของโปรแกรมทว่ั ไป
2. ส่วนของคำสั่งเพ่ือทำการทำงานของโคด้ และอุปกรณ์
3. สว่ นของ Code เพอ่ื สง่ั การทำงาน
4. ส่วนของ Output จะคอยบอก Error ความถูกต้อง หรอื อะไรกต็ ามทเี่ กีย่ วกับ Code
28
รปู ท่ี 2.18 อธิบายการเลือกใช้ Examples
ทีม่ า : http://apisit13411.blogspot.com/2018/08/basic-arduino-ide.html
ส่วนสำคญั อีกส่วนทอ่ี ยากแนะนำเบอื้ งตน้ --> กด File --> Examples
Examples เป็นตวั อย่างคำสัง่ (Code) เบ้ืองต้น ในนจี้ ะประกอบด้วย Code เบอ้ื งต้นของโค้ด
ต่างๆ เช่น โคด้ ไฟกระพรบิ โค้ดท่ีเกี่ยวกับ Arduino โค้ด Digital และ Analog เบอื้ งตน้ เรามาสารถใช้โค้ด
ดงั กลา่ วได้
รูปท่ี 2.19 อธบิ ายการเลือก Port ท่จี ะเชอ่ื มตอ่
ทมี่ า : http://apisit13411.blogspot.com/2018/08/basic-arduino-ide.html
29
ส่วนของ Tools เป็นอีกส่วนทีส่ ำคญั ในการ Import ของอุปกรณ์ที่เราต้องการส่ังการ Tools
เราสามารถนำส่วนเสริมเข้ามาติดตั้งได้ เพื่อการทำงานต่างๆ เช่น ArduBlock เป็นส่วนเสริมที่ทำการ
ติดตั้งที่หลังจากการลงโปรแกรม ArduBlock เป็นการเขียนโค้ดในรูปของ Block Code ทั้งนี้ก็เพื่อการ
ทำงานบางอย่างทเ่ี ราต้องการ
Port and Board เป็นการเลือกเชื่อมต่อกับอุปกรณ์ภายนอกที่เราต้องการเชื่อมการทำงาน
ระหว่าง อุปกรณ์ และ โปรแกรมการสั่งการ เข้าด้วยกัน เช่น ทำการเชื่อม Arduino UNO กับ Arduino
IDE ใหท้ ำการเลอื ก Port ให้ถกู ต้อง จากน้ันก็เขียน Code เพอื่ สงั่ การ Arduino UNO ให้ทำงานตามที่เรา
ตอ้ งการ
2.15 Arduino nano
Arduino nano เป็นอีกรุ่นทีค่ ุณสามารถค้นหาบอรด์ พัฒนา Arduino ที่มีชื่อเสียงได้ มีขนาด
เล็ก แต่อย่าหลงกลกับขนาดของมันเพราะมันซ่อนความเป็นไปได้มากมาย เปรียบเสมือนมีดของกองทัพ
สวิสสำหรับอุปกรณ์อิเล็กทรอนิกส์ ด้วยวิธีนี้คุณสามารถสร้างโครงการมากมายซึ่งเป็นสิ่งสำคัญที่จะต้อง
รักษาปริมาณการใชแ้ ละขนาดไว้ทีอ่ ่าว
เชน่ เดียวกับ Arduino และบอรด์ ทีเ่ ข้ากันไดท้ ั้งหมดมีความคล้ายคลึงกบั พ่ีสาวคนอ่นื ๆ แมว้ ่า
จะมีลักษณะทางเทคนิคที่เป็นเอกลักษณ์และแตกต่างจากบอร์ดอื่น ๆ ในบทความนี้คุณจะเห็นสิ่งเหล่าน้ี
ทัง้ หมด ความเหมอื นและความแตกต่าง เพื่อใหส้ ามารถเข้าใจทกุ สิ่งท่ีคุณจำเปน็ ต้องรู้เกี่ยวกับบอร์ดน้ีและ
เริ่มพฒั นาโครงการ DIY ของคุณเองดว้ ย Arduino Nano
2.15.1 Arduino Nano คอื อะไร
แพลตฟอร์มฮาร์ดแวร์ มันเป็นความคลาสสิกในโลกของฮาร์ดแวร์ฟรีและโลกของ
ผู้ผลิต ด้วยการพัฒนาและชายหาดซอฟต์แวร์คุณสามารถสร้างโครงการมากมายที่ขีด จำกัด คือ
จินตนาการของคุณและแน่นอนข้อ จำกัด ทางเทคนิคบางประการ แต่ช่วยให้คุณเรียนรู้อุปกรณ์
อเิ ล็กทรอนกิ ส์การเขยี นโปรแกรมและสรา้ งสิง่ มหัศจรรย์ที่แท้จริง
แม้แต่โครงการระดับมืออาชีพก็อาศัยบอร์ดพัฒนาเหล่านี้ ในกรณีของ Arduino
Nano มันเป็นรุ่นที่ลดลง de Arduino UNO. วิธีนี้ช่วยลดความต้องการพลังงานที่คุณใช้และยังหมายถึง
พ้นื ทท่ี ีจ่ ำเปน็ ในการจดั วางกอ้ นหนิ นอ้ ยลงจึงเหมาะอยา่ งยง่ิ สำหรับโครงการท่มี ีขนาดเปน็ ส่งิ สำคญั
30
นี่ไม่ใช่จาน Arduino UNO ย่อส่วนอย่างที่คุณเห็นมีบางส่วน ความแตกต่างทางเทคนิคท่ี
สำคญั . หรอื ไมก่ เ็ ปน็ ทางเลอื กอืน่ Lilypad. แต่จะแบง่ ปนั ลักษณะอน่ื ๆ และสาระสำคัญทม่ี อี ยู่ในโครงการ
Arduino ทั้งหมด แน่นอนว่าสามารถตั้งโปรแกรมได้เหมือนกัน Arduino IDE เช่นเดียวกับส่วนที่เหลือ
บอรด์ Arduino Nano มคี ุณสมบัติทางเทคนิคบางอย่างที่คุณควรรู้ก่อนเร่ิมใชง้ านนอกเหนือจาก ประเมิน
ว่าเป็นสิ่งที่คุณต้องการหรือไม่ สำหรับโครงการของคุณหรือไม่ตรงตามความคาดหวังของคุณ
เหล่านน้ั ลักษณะทางเทคนิค เสยี ง : เปน็ บอรด์ ไมโครคอนโทรลเลอรข์ นาดเลก็ ยดื หย่นุ และใชง้ านง่าย
มันขึ้นอยู่กับไมโครคอนโทรลเลอร์ Atmel ATmega328p หรือ MCU ในเวอร์ชัน 3.x และใน
ATmega168 ในเวอร์ชันก่อนหน้า ไม่ว่าในกรณีใดก็ตามจะทำงานที่ความถี่ 16 Mhz หน่วยความจำ
ประกอบด้วยแฟลช 16 KB หรือ 32 KB ขึ้นอยู่กับเวอร์ชัน (2KB ที่ใช้สำหรับ bootloader) โดยมี
หน่วยความจำ SRAM 1 หรือ 2 KB และ EEPROM 512 ไบต์หรือ 1 KB ขึ้นอยู่กับ MCU มีแรงดันไฟฟ้า
5v แตแ่ รงดนั ไฟฟ้าขาเข้าอาจแตกต่างกันไปตัง้ แต่ 7 ถงึ 12v มีพินดิจิตอล 14 พนิ อนาลอ็ ก 8 พนิ 2 พนิ รี
เซ็ตและ 6 พนิ เพาเวอร์ (VCC และ GND) สำหรับพนิ อนาล็อกและดิจิทลั พวกเขาไดร้ ับการกำหนดฟังก์ชัน
พิเศษหลายอย่างเช่น pinMode () และ digitalWrite () และ analogRead () สำหรบั แอนะล็อก ในกรณี
ของอะนาล็อกพวกเขาอนุญาตให้มีความละเอียด 10 บิตตั้งแต่ 0 ถึง 5v บนดิจิทัล 22 สามารถใช้เป็น
เอาท์พุตได้ PWM.ไม่รวมซ็อกเก็ตไฟฟ้ากระแสตรง ใช้ miniUSB มาตรฐานสำหรับการเชื่อมต่อกับ
คอมพิวเตอร์เพื่อตั้งโปรแกรมหรือเปิดเครื่องการใช้พลังงานคือ 19mA PCB ขนาด 18x45 มม. น้ำหนัก
เพยี ง 7 กรมั
รปู ที่ 2.20 ตำแหนง่ ขาของ Arduino nano
ที่มา : https://th.aliexpress.com/item/32918930208.html