km การจัดการความร ู้ · สารบัญตาราง ง ......
TRANSCRIPT
KM การจดการความร
เรอง
การประยกตใช ระบบการรบร การตรวจสอบและการควบคมระยะไกล
ประจาปงบประมาณ พ.ศ. 2560 ศนยนวตกรรมและเทคโนโลยการศกษา
มหาวทยาลยเทคโนโลยสรนาร
คานา
ในปจจบนเทคโนโลยทางดานระบบอเลคทรอนคสและเทคโนโลยการสอสารขอมลม
ความกาวหนาอยางมากดงนนศนยนวตกรรมและเทคโนโลยการศกษาจงไดนาเทคโนโลย
ดงกลาวมาประยกตใชสาหรบการตรวจสอบและการควบคมระยะไกลมาใชกบสถาน
วทยกระจายเสยงของมหาวทยาลยเทคโนโลยสรนารเพอการออกอากาศทมประสทธภาพ
สงสดตามระเบยบและขอบงคบของสานกงานคณะกรรมการกจการกระจายเสยง กจการ
โทรทศนและกจการโทรคมนาคมแหงชาต และลดคาใชจายงบประมาณสาหรบเจาหนาเทคนค
ทตองปฏบตงานนอกชวงเวลาปฏบตปกต
ดงนนเพอเปนการเผยแพรแบงปนความรงานทศนยนวตกรรมและเทคโนโลยการศกษา
ไดดาเนนการจงไดจดทา KM การจดการความร ประจาปงบประมาณ พ.ศ. 2560 ชอหวขอ
ประเดนการจดการความร : การประยกตใช ระบบการรบร การตรวจสอบและการควบคม
ระยะไกล
ฝายเทคนควศวกรรม
ศนยนวตกรรมและเทคโนโลยการศกษา
มหาวทยาลยเทคโนโลยสรนาร
สารบญ
หนา
คานา ก
สารบญ ข
สารบญตาราง ง
สารบญรป จ
บทท
1 บทนา 1
1.1 ความเปนมาและความสาคญของปญหา 1
1.2 วตถประสงค 2
1.3 ตวชวดและการบรรลวตถประสงค 2
2 ทฤษฎและหลกการ 3
2.1 ไมโครคอนโทรลเลอร Arduino 3
2.1.1 รปแบบการเขยนโปรแกรมบน Arduino…………………………………………………3
2.1.2 Layout & Pin out Arduino Board (Model: Arduino UNO R3)…………….. 5
2.1.3 Ethernet Shield…………………………………………………………………………………….6
2.2 ZX-DHT11 บอรดวดความชนสมพทธและอณหภม 7
2.3 BARIX Barionet 100 8
2.4 IoT Cloud Services………………………………………………………………………………………………..8
3 ขนตอนและวธการดาเนนการ 10
3.1 กลาวนา 10
3.2 การสมครใชงานบรการระบบคลาวด 11
3.3 เชอมตอ Sensor วดอณหภมเขากบบอรด Arduino UNO 14
3.4 เชอมตอ Remote Monitor ระบบออกอากาศ 16 3.5 พฒนาโปรแกรมเพอสงเขาระบบระบบคลาวด 17
3.6 จดทา Hardware การเปดปดระบบอกกอากาศผานเครอขายคอมพวเตอร……18
สารบญ (ตอ) หนา
4 ผลการทดลอง 21
4.1 กลาวนา 21
4.2 การอานคาจาก Temp Sensor 21
4.3 การอานคาจากเครองสงกบ Arduino UNO 23
4.4 การสงขอมลเขา ThingSpeak 23
4.5 สรป 23
5 สรปผลและขอเสนอแนะ 24
5.1 สรปเนอหา 24
5.2 ปญหาและขอเสนอแนะ 24
รายการอางอง 25
ภาคผนวก 26
สารบญตาราง
ตารางท หนา
4.1 แสดงการอานคาสถานะของเครองสง 23
สารบญรป
รป หนา
2.1 บอรด Arduino และ Arduino Shield 3
2.2 การเขยนโปรแกรมบน Arduino IDE 4
2.3 เลอกรนบอรด Arduino ทตองการ upload 4
2.4 เลอกหมายเลข Comport ของบอรด 4
2.5 ภาพการ Verify เพอตรวจสอบความถกตอง และ Upload โปรแกรม 5
2.6 Layout & Pin out Arduino Board 6
2.7 Ethernet Shield สาหรบ Arduino UNO 7
2.8 บอรดวดความชนสมพทธและอณหภม 7
2.9 BARIX Barionet 100 8
2.10 Web ThingSpeak 9
3.1 โครงสรางของระบบ 10
3.2 การเขาส Thingspeak 11
3.3 การสราง Channel Thingspeak 11
3.4 การสราง New Channel 12
3.5 การตงชอ Channel 12
3.6 การแสดงคา Channel ID 13
3.7 การแสดงคา API Keys 13
3.8 ตวอยางการแสดงผล TingSpeak 14
3.9 การตอ Sensor DHT11 กบ Arduino UNO 15
3.10 การสงสญญาณ Sensor DHT11 16
3.11 การตอบอรด Arduino UNO กบเครองสง FM 16
3.12 การเพม Library ใน Arduno IDE 17
3.13 การตดตง ThingSpeak by MathWork 18
3.14 การตดตงอปกรณเปดปดเครองสง 19
3.15 Hardware ควบคมการเปดปดระบบออกอากาศผานเครอขายคอมพวเตอร 19
สารบญรป (ตอ)
รป หนา 3.16 ควบคมการเปดปดดวย web browser 20
4.1 ภาพ Serial Monitor แสดงคาอณหภมความชน 21
4.2 ตาแหนงการตดตง Temp Sensor บรเวณเครองสง 21
4.3 คา Fwd, Rfl, Vpa และ Ipa ของเครองสงวทย FM 23
4.4 ผลการแสดงคาขอมลของเครองสงท ThingSpeak 24
บทท 2
ทฤษฏและหลกการ 2.1 ไมโครคอนโทรลเลอร Arduino Arduino อานวา (อา-ด-อ-โน หรอ อาดยโน) เปนบอรดไมโครคอนโทรเลอรตระกล AVR ท
มการพฒนาแบบ Open Source คอมการเปดเผยขอมลทงดาน Hardware และ Software ตว
บอรด Arduino ถกออกแบบมาใหใชงานไดงาย ดงนนจงเหมาะสาหรบผเรมตนศกษา ทงนผใชงาน
ยงสามารถดดแปลง เพมเตม พฒนาตอยอดทงตวบอรด หรอโปรแกรมตอไดอกดวย
ความงายของบอรด Arduino ในการตออปกรณเสรมตางๆ คอผใชงานสามารถตอวงจร
อเลกทรอนคสจากภายนอกแลวเชอมตอเขามาทขา I/O ของบอรด หรอเพอความสะดวกสามารถ
เลอกตอกบบอรดเสรม (Arduino Shield) ประเภทตางๆ เชน Arduino XBee Shield, Arduino Music
Shield, Arduino Relay Shield, Arduino Wireless Shield, Arduino GPRS Shield เปนตน มาเสยบกบ
บอรดบนบอรด Arduino แลวเขยนโปรแกรมพฒนาตอไดเลย
(ภาพจาก http://www.thaieasyelec.com)
รปท 2.1 บอรด Arduino และ Arduino Shield
จดเดนททาใหบอรด Arduino เปนทนยม มดงน งายตอการพฒนา มรปแบบคาสงพนฐาน
ไมซบซอนเหมาะสาหรบผเรมตน, ม Arduino Community กลมคนทรวมกนพฒนาทแขงแรง, Open
Hardware ทาใหผใชสามารถนาบอรดไปตอยอดใชงานไดหลายดานราคาไมแพง และ Cross
Platform สามารถพฒนาโปรแกรมบน OS ใดกได [1]
2.1.1 รปแบบการเขยนโปรแกรมบน Arduino
เขยนโปรแกรมบนคอมพวเตอร ผานทางโปรแกรม ArduinoIDE ซงสามารถดาวนโหลดได
จาก Arduino.cc/en/main/software
4
(ภาพจาก http://www.thaieasyelec.com)
รปท 2.2 การเขยนโปรแกรมบน Arduino IDE
หลงจากทเขยนโคดโปรแกรมเรยบรอยแลว ใหผใชงานเลอกรนบอรด Arduino ทใชและ
หมายเลข Com port
(ภาพจาก http://www.thaieasyelec.com)
รปท 2.3 เลอกรนบอรด Arduino ทตองการ upload
(ภาพจาก http://www.thaieasyelec.com)
รปท 2.4 เลอกหมายเลข Comport ของบอรด
5
กดปม Verify เพอตรวจสอบความถกตองและ Compile โคดโปรแกรม จากนนกดปม
Upload โคด โปรแกรมไปยงบอรด Arduino ผานทางสาย USB เมออบโหลดเรยบรอยแลว จะแสดง
ขอความแถบขางลาง “Done uploading” และบอรดจะเรมทางานตามทเขยนโปรแกรมไวไดทนท
(ภาพจาก http://www.thaieasyelec.com)
รปท 2.5 ภาพการ Verify เพอตรวจสอบความถกตอง และ Upload โปรแกรม
2.1.2 Layout & Pin out Arduino Board (Model: Arduino UNO R3)
การตอใชงาน Arduino Board มรายละเอยดดงน
1. USB Port: ใชสาหรบตอกบ Computer เพออบโหลดโปรแกรมเขา MCU และ
จายไฟใหกบบอรด
2. Reset Button: เปนปม Reset ใชกดเมอตองการให MCU เรมการทางานใหม
3. ICSP Port ของ Atmega16U2 เปนพอรตทใชโปรแกรม Visual Com port บน
Atmega16U2
4. I/O Port: Digital I/O ตงแตขา D0 ถง D13 นอกจากน บาง Pin จะทาหนาทอนๆ
เพมเตมดวย เชน Pin0,1 เปนขา Tx, Rx Serial, Pin3,5,6,9,10 และ 11 เปนขา PWM
6
(ภาพจาก http://www.thaieasyelec.com)
รปท 2.6 Layout & Pin out Arduino Board
5. ICSP Port: Atmega328 เปนพอรตทใชโปรแกรม Bootloader
6. MCU: Atmega328 เปน MCU ทใชบนบอรด Arduino
7. I/O Port: นอกจากจะเปน Digital I/O แลว ยงเปลยนเปน ชองรบสญญาณ
อนาลอก ตงแตขา A0-A5
8. Power Port: ไฟเลยงของบอรดเมอตองการจายไฟใหกบวงจรภายนอก
ประกอบดวยขาไฟเลยง +3.3 V, +5V, GND, Vin
9. Power Jack: รบไฟจาก Adapter โดยทแรงดนอยระหวาง 7-12 V
10. MCU ของ Atmega16U2 เป น MCU ท ท าห น า ท เป น USB to Serial โดย
Atmega328 จะตดตอกบ Computer ผาน Atmega16U2
2.1.3 Ethernet Shield
ถาตองการให Arduino สามารถตดตอกบเครอขาย หรอเชอมตอกบอนเตอรเนตได
เพอทจะไดสะดวกในการควบคมและตดตามอปกรณตาง ๆ เชน การดงคาเซนเซอรตาง ๆ ทเรา
ตดตงไว มาดบนโทรศพทมอถอ หรอการเปดปดเครองใชไฟฟาผานทางอนเตอรเนต เพยงแคเสยบ
Ethernet Shield ตวนลงไป กสามารถเชอมตอ Arduino กบโลกกวางภายนอกผานทาง Ethernet
หรอ Internet ได [5]
7
(ภาพจาก https://www.arduitronics.com/)
รปท 2.7 Ethernet Shield สาหรบ Arduino UNO
2.2 ZX-DHT11 บอรดวดความชนสมพทธและอณหภม มนบอรดวดความชนสมพทธและอณหภม เปนแผงวงจรขนาดเลกทบรรจโมดลตรวจจบ
และวดความชนสมพทธเบอร DHT11 ซงนอกจากจะวดความชนสมพทธไดแลว ยงใหคาของ
อณหภมของพนททตรวจวดความชนดวย การตดตอเปนแบบหนงสาย นนคอใชขาพอรตของ
ไมโครคอนโทรลเลอร เพยง 1 หนงขาในการใชงาน [2]
(ภาพจาก http://inex.co.th/shop/zx-dht11.html)
รปท 2.8 บอรดวดความชนสมพทธและอณหภม
คณสมบตทางเทคนคของ ZX-DHT11 มดงน
•ใชโมดล DHT11 ตดตงบนแผนวงจรพมพ
•มตวตานทานตอพลอปทขา DATA ทาใหเชอมตอกบขาพอรตของไมโครคอนโทรลเลอร
ไดโดยไมตองตอตวตานทานเพม
•ใชไฟเลยง +3 ถง +5.5V ตองการกระแสไฟฟา 2.5mA ในขณะทาการวดคา และ 0.5mA
ในโหมดสลป
8
•วดความชนสมพทธได 20 ถง 80%RH มความผดพลาด ±5%RH และมความละเอยดใน
การวด 1% ขนาดของขอมล 8 บต
•วดอณหภมได 0 ถง 50 องศาเซลเซยส มความผดพลาด ±2 องศาเซลเซยส ความ
ละเอยดในการวด 1 องศาเซลเซยส ขนาดของขอมล 8 บต
•อตราการสมวด 1 วนาท
•ความเรวในการตอบสนองตอการเปลยนแปลงในการวด 6 ถง 30 วนาท
2.3 BARIX Barionet 100 เปนอปกรณททาหนาเวบเซรฟเวอรสนบสนน TCP และ SNMP รองรบการใชงาน Serial
ports, analog และ digital I/O, Relays และ Dallas 1-wire สามารถนาไปใชงานในแบบตางๆได
ดงตอไปน เชน การการตดตามและตรวจสอบสงแวดลอมตางๆ, ตรวจสอบสถานเปดปดอปกรณ
ทางไฟฟา, Access Control /Door controller, มอนเตอรอณหภม และ power management โดยม
ชองเชอมตอดงตอไปน มชอง Relay Output จานวน 2ตว, มชองรบสญญาณ Digital Inputs จานวน
4 ชอง, มชองรบสญญาณ Open Collector (digital) Outputs 24VDC จานวน 4 ชอง, มชองรบ
สญญาณ Analog (0..5VDC) จานวน 4 ชอง, มชอง RS-232 Serial Port จานวน 1 ชอง และมชอง
RS-422/485 Serial Port จานวน 1 ชอง [3]
(ภาพจาก http://www.barix.com)
รปท 2.9 BARIX Barionet 100
2.4 IoT Cloud Services ในปจจบนมผใหบรการดาน IoT Cloud Services อยหลายราย ซงเปดบรการและใหทดลอง
ใชงานไดฟร แตมขอจากดใชงานอยบาง ตวอยางบรษทไดแก Xively.com, ThingSpeak.com,
data.sparkfun.com, และ Plot.ly เปนตน ระบบเหลานใหบรการในการเกบขอมล เชน ขอมลทได
จากเซนเซอรตรวจวดคาตางๆทางกายภาพ หรออปกรณทเรยกวา IoT Devices สามารถแชรขอมล
9
ผานเวบ และแสดงขอมลเชงกราฟก (เชน เปนรปกราฟ) ผานหนาเวบได อพเดทขอมลบนหนาเวบ
ไดโดยอตโนมต สามารถนาเขาหรอดงขอมลออก (data import / export) ในรปแบบอยางเชน JSON
หรอ XML เปนตน ผานโปรโตคอล HTTP ดงนนจงสามารถใชภาษาคอมพวเตอรไดหลายภาษา เชน
C/C++, Python, Java, JavaScript เปนตน ในการเชอมตอกบระบบดงกลาว
สาหรบ Thingspeak เปนเวปทใหการบรการในการเกบขอมล และสามารถแสดงขอมลแบบ
real-time ได ซงเราสามารถ update ขอมล หรอจะเรยกดขอมลไดตลอดเวลา ทไหนกได เพราะ
ทางานบน cloud ซง thingspeak สรางมาเพอตองการใหตอบโจทยของ IoT อยแลว สวนขอมลท
เกบอยบน cloud นนกขนอยกบเราวาจะใชยงไง รปแบบไหน ในการทจะสงขอมล data ไปไวบน
cloud นน ทาง thingspeak ไดม api ในการตดตอไวเรยบรอยแลว [4]
(ภาพจาก https://thingspeak.com/)
รปท 2.10 IoT Cloud Services
การใชงาน ThingSpeak.com เพอเกบขอมลจากเซนเซอร (เชน อณหภมและความชน
สมพทธ) โดยมขนตอนทสาคญดงตอไปน:
1 สมครใชงานเพอขอเปดบญชผใชใหม (Sign Up)
2 ยนยนตวตนเพอเขาใชงานสาหรบบญชทสรางไวแลว (Sign In)
3 สราง New Channel หรอชองทางในการสงขอมลใหม พรอมกาหนดคณสมบตของ
Channel
4 สราง API Key สาหรบเขยนขอมล (API Key for Write) และอานขอมล (API Key for
Read)
5 เขยนโคดและรนโปรแกรม เพอสงขอมลไปยง ThingSpeak.com ผาน Channel ทไดสราง
6 ดขอมลในรปของกราฟผานหนาเวบ
บทท 3
ขนตอนและวธการดาเนนการ 3.1 กลาวนา ระบบสถานวทยกระจายเสยงของมหาวทยาลยเทคโนโลยสรนารจะมระบบออกอากาศ
ตดตงอยบรเวณถงเกบนาประปาของ มหาวทยาลยฯ และสวนจดรายวทยจะอยทศนย
นวตกรรมและเทคโนโลยการศกษา ปญหาคอ ทาอยางไรเราจะทราบสถานะขณะทระบบ
ออกอากาศกาลงทางาน เพราะระบบออกอากาศกบสวนจดรายการอยหางกนประมาณ 3 Km
ดงนนศนยนวตกรรมและเทคโนโลยการศกษาตองหาระบบมาสนบสนนและอานวยความ
สะดวกสาหรบปฏบตงาน
การพฒนาจะเรมจากการสมครใชงานบรการระบบคลาวดดวย Thingspeak, เชอมตอ
Sensor วดอณหภมเขากบบอรด Arduino UNO, เชอมตอ Remote Monitor ระบบออกอากาศ
สถานวทยกระจายเสยงเขากบชอง Analog input ของบอรด Arduino UNO, ตอ Ethernet
Shield กบ Arduino, พฒนาโปรแกรมเพอสงเขาระบบระบบคลาวด และจดทา Hardware การ
เปดปดระบบออกอากาศผานเครอขายคอมพวเตอร
(ภาพวาดดวยโปรแกรม Fritzing Version 0.9.3 โดย นายอานวย ทจนทก)
รปท 3.1 โครงสรางของระบบ
11
3.2 การสมครใชงานบรการระบบคลาวด Thingspeak เปน Platform as a Services ท ใหบรการเพอเกบขอมลแบบเรยลไทม
(Real-time) โดยขอมลทสงขนไปจะแสดงขอมลในรปแบบกราฟ สามารถอดเดทขอมล หรอ
เรยกดจากทใดกได
ขนตอนการใชงาน Thingspeak ทาไดดงน
1.ทาการสมคร และเขาสระบบเพอใชงาน Thingspeak
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.2 การเขาส Thingspeak
2.เลอก Channels --> My Channel
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.3 การสราง Channel Thingspeak
12
3.ทาการสราง Channels โดยเลอกท New Channels
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.4 การสราง New Channel
4.ใสขอมล Name และ Field
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.5 การตงชอ Channel
13
5.จะได Channel ID สาหรบเกบขอมลเรยบรอยแลว
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.7 การแสดงคา Channel ID
6.ตรวจสอบ API Keys เพอนาไปใชกบไมโครคอนโทรลเลอร
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.7 การแสดงคา API Keys
14
7.ทดลองสงคาขนมายง Field ตาง ๆ www.thingspeak.com
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 3.8 ตวอยางการแสดงผล
สาหรบการมอนเตอรเราสามารถใชอปกรณประเภท Smart Device หรอคอมพวเตอร
มอนเตอรผาน Web Browser ตาม Link https://thingspeak.com/channels/131256
3.3 เชอมตอ Sensor วดอณหภมเขากบบอรด Arduino UNO ในการการตอแบบปกต คอ ระยะหางระหวาง Sensor กบตว Arduino UNO หางกนไม
เกน 20 เมตร จะตองใช Pull up resistor ขนาด 5k ohm Pin 1 ตอกบ VDD Pin 2 ตอเปน
ขา DATA Pin 3 ไมไดใช Pin 4 ลงกราวด โดยใชแหลงจายแรงดน VDD ขนาด 5.5 VDC
15
(ภาพวาดดวยโปรแกรม Fritzing Version 0.9.3 โดย นายอานวย ทจนทก)
รปท 3.9 การตอ Sensor DHT11 กบ Arduino UNO
สาหรบวธการสงขอมลของ DHT11 ตวนใชการสอสารกบ MCU ดวยวธ Single-wire
Two-way Serial interface การสอสารแบบนจะใชสายสอสารเพยงเสนเดยวและสงขอมลไดทง
จาก MCU ไปทตว DHT11 และในทางกลบกนกได
สาหรบการพฒนาระบบงานของเราจะกาหนดให บอรด Arduino UNO ทาหนาทเปน
Master และ DHT11 ทาหนาทเปนSlave มการการใช pull up resistor เพอใหเวลาทางานปกตใน
ขณะทไมมอปกรณทตออยกบสายสอสารของเรา ระดบแรงดนของสญญาณในสาย Data คอ
แรงดนระดบ "สง" และจะมแรงดนในระดบ “ตา” เมอมอปกรณ (จะเปน Master หรอ Slave
กได) ดงสญญาณลงในระดบ "ตา"
ในการสอสารโดยใชสายเสนเดยวนน จาเปนตองใชโปรโตคอลทตกลงกนไวระหวางตว
MCU และ อปกรณทตองการสอสารดวย (Slave) อนดบแรก Master หรอ Arduino ของเราจะ
สง Start signal ทเปนแรงดนไฟฟาระดบตาอยางนอย 18 ไมโครวนาท ไปท Slave เพอให Slave
เขาใจวาจะเรมสงแลวนะ แลวรอไป 20-40 ไมโครวนาทเพอรอ Slave ตอบกลบ
เพอให Master รวา Slave กพรอม Slave จะสงแรงดนระดบตากลบไปบาง การสง
แรงดนจาก Slave กลบไปจะนาน 80 ไมโครวนาท จากนนจะรออก 80 ไมโครวนาท กอนทจะ
สงขอมลบตแรก มาถงตรงนขอมลยงไมถกสง แตพรอมจะสงแลว
16
(ภาพจาก www.arduitronics.com)
รปท 3.10 การสงสญญาณ Sensor DHT11
สาหรบการสงบตเปน "0" ตว Slave จะดงระดบแรงดนลงตานาน 50 ไมโครวนาท
และปลอยเปนระดบ "สง" นาน 26-28 ไมโครวนาท ดงรป แตถาเปนการสงขอมลเปน "1" ตว
สงจะดงสายสญญาณลงระดบตา 50 ไมโครวนาท และปลอยใหเปนระดบสงนาน 70
ไมโครวนาท DH11 สงมาเปนบต "0" หรอ "1" มา และสงมาจนครบขอมลหนงชด ในแตละชด
ของขอมลทสงมาจาก DH11ตว MCU รบขอมลแลวจะตองเอามาแปลงตอ วาขอมลทสงมามน
แปลวาอะไร แตละชดขอมลจะยาว 40 บต และใชเวลาสงประมาณ 40 มลลวนาท [5]
3.4 เชอมตอ Remote Monitor ระบบออกอากาศ สาหรบเครองสถานวทยของมหาวทยาลยของมหาวทยาลยเทคโนโลยสรนารจะม
จดเชอมตอออกมาภายนอก เพอตรวจสอบสถานของเครองโดยมชองเชอมตอทเราสามารถ
นามาใชงานไดดงน VPA (Supply Voltage), IPA (PA Current), WFD (Forward Power) และ RF
(Reflected Power) โดยแตละชองจะใหแรงดนออกมามคา ตงแต 0 ถง 3.9 V dc หากเราจะ
นามาใชงานจะตองเปรยบเทยบคาทไดจากหนาจอของเครองสงในขณะทเครองสงกาลงทางาน
อย แลวนาคาทไดไปคานวณในโปรแกรมตอไป
(ภาพวาดดวยโปรแกรม Fritzing Version 0.9.3 โดย นายอานวย ทจนทก)
รปท 3.11 การตอบอรด Arduino UNO กบเครอง FM
17
การคานวณคาตางๆจากเครองสง สามารถคานวณดงน
Forward Power = WFD (Volte)*(1000/3.9); (1)
Reflected Power = RF (Volte) *(20/2); (2)
Supply Voltage = VPA (Volte)*(48/2.8) (3)
PA Current = IPA (Volte)*(34/2.15) (4)
จากสมการ (1) ถาเครองสงม Forward Power เทากบ 1000 Watt จะไดแรงดน WFD
เทากบ 3.9 Vdc สมการ (2) ถาเครองสงม Reflected Power เทากบ 20 Watt จะไดแรงดน RF
เทากบ 2 Vdc สมการ (3) ถาเครองสงม Supply Voltage เทากบ 48 Volte จะไดแรงดน VPA
เทากบ 2.8 Vdc และใน สมการ (4) ถาเครองสงม PA Current เทากบ 34 Amp จะไดแรงดน
PA เทากบ 2.15 Vdc
3.5 พฒนาโปรแกรมเพอสงเขาระบบระบบคลาวด เปนการพฒนาโปรแกรมเพอสงขอมลเขา thingspeak หลงจากทไดลงทะเบยนไวแลว
เราจะพฒนาโปรแกรมบน Arduino IDE เนองจากมจดเดนในเรองของความงาย ในการเรยนร
และใชงาน เนองจากมการออกแบบคาสงตางๆขนมาสนบสนนการใชงาน ดวยรปแบบทไม
ซบซอน โดยมลาดบดงน
ด า เน นการ เพ ม Library ThingSpeak ใน Arduino IDE โดย ไป ท Sketch->Include
Library->Manage Libraries
(ภาพ Capture หนาจอ Arduino IDE โดย นายอานวย ทจนทก)
รปท 3.12 การเพม Library ใน Arduno IDE
18
ท Library Manager ใหคนหาคาวา ThingSpeak กจะเจอ ThingSpeak by MathWork
ใหทาการ Install Vertion ลาสด
(ภาพ Capture หนาจอ Arduino IDE โดย นายอานวย ทจนทก)
รปท 3.13 การตดตง ThingSpeak by MathWork
ดาเนนการเขยนโปรแกรมตามโครงสรางของ Arduino IDE โดยตองทาการ Include
Header File เขามาดงน
include "ThingSpeak.h" เพอใชสงขอมลไปท ThingSpeak
include <SPI.h> ใชสอสารระหวาง Arduino UNO กบ Ethernet Shield
include <Ethernet.h> เปน Protocal ทใชสอสารผานเครอขายคอมพวเตอร
include "DHT.h" ใชสอสารระหวาง Arduino UNO กบ Temp Sensor
ในการ update ขอมลจะเปนการสง HTTP Request ไปยง server เพอ update ขอมลท
ตองการตาม field ตาง ๆ ทเรากาหนด วธการ update โดยเราจะสงขอมลแบบน
https://api.thingspeak.com/update?key= UY3QM56YHHP1V8KG &field1=0
UY3QM56YHHP1V8KG คอ API KEY และ field1=0 คอขอมลของ field1 มคาเทากบ 0
หมายเหต สาหรบ Code โดยละเอยดจะอยในภาคผนวก
3.6 จดทา Hardware การเปดปดระบบอกกอากาศผานเครอขายคอมพวเตอร สาหรบการปดและเปดเครองสงทตดตงอยทบรเวณถงเกบนาประปา มหาวทยาลย
เทคโนโลยสรนาร (ไกลกบ โรงพยาบาลมหาวทยาลยเทคโนโลยสรนาร) จะใชอปกรณ BARIX
19
Barionet 100 เปนตวควบคมการทางานเนองจากม Relay Output จานวน 2 ชอง และยงม
ชองสอสาร RS232 จานวน 1 ชอง ซงจะใชรบสญญาณขอมล RDS (Radio Data System) ผาน
ระบบเครอขายคอมพวเตอรและสงขอมลทรบมาไปยง RDS Encoder รายละเอยดดงรปท 3.14
ในการเปดปดระบบออกอากาศจะสามารถทาไดโดยผาน Web Browser โดยหาก
ตองการเปดหรอปดอปกรณตวใด กกด REL1 หรอ REL2 บนภาพทแสดงใน Web Browser ได
เลย รายละเอยดดงรปท 3.16
(ถายภาพโดย นายอานวย ทจนทก)
รปท 3.14 การตดตงอปกรณเปดปดเครองสง
(ภาพวาดดวยโปรแกรม Fritzing Version 0.9.3 โดย นายอานวย ทจนทก)
รปท 3.15 Hardware ควบคมการเปดปดระบบออกอากาศผานเครอขายคอมพวเตอร
20
(ภาพ Capture หนาจอ โดย นายอานวย ทจนทก)
รปท 3.16 ควบคมการเปดปดดวย web browser
บทท 4
ผลการทดลอง
4.1 กลาวนา ในการพฒนาโปรแกรมเราจะดาเนนการพฒนาทละสวนเพอตรวจสอบความถกตอง
เชน การอานคาจาก Temp Sensor, การอานคาจากเครองสง และเมอขอมลทเราไดมาถกตอง
แลวกดาเนนการสงขอมลเขา ThingSpeak
4.2 การอานคาจาก Temp Sensor จากการทดสอบการทางานของ Temp Sensor การทางานถกตอง โดยดขอมลจาก
Serial Monitor เทยบกบอณหภมทอานไดจากระบบปรบอากาศภายในหอง Temp Sensor
DHT11 มการตอบสนองตออณหภมทคอนขางชา ไมควรนาไปใชวดในสภาพแวดลอมทมการ
เปลยนแปลงไปอยางรวดเรว
(ภาพ Capture หนาจอ Serial Monitor โดย นายอานวย ทจนทก)
รปท 4.1 ภาพ Serial Monitor แสดงคาอณหภมความชน
(ถายภาพโดย นายอานวย ทจนทก)
รปท 4.2 ตาแหนงการตดตง Temp Sensor บรเวณเครองสง
4.3 การอานคาจากเครองสงกบ Arduino UNO การอานคาแรงดนทางไฟฟาของ Arduino UNO เพอตรวจสอบสถานการณทางานของ
เครองสงวทยกระจายเสยงมความถกตองแมนยา สามารถนาขอมลทไดสงเขา ThingSpeak
เพอ Monitor ระบบออกอากาศได ตลอดเวลา
(ภาพวาดดวยโปรแกรม Fritzing Version 0.9.3 โดย นายอานวย ทจนทก)
รปท 4.3 คา Fwd, Rfl, Vpa และ Ipa ของเครองสงวทย FM
FM System Volte Meter Arduino UNO
FWD = 535 W 2.605 V A0 อานคาได 2.6 V
Rfl = 15 W 1.261 V A1 อานคาได 1.3 V
Vpa = 48.3 V 3.699 V A2 อานคาได 3.7 V
Ipa = 23.4 A 1.796 V A3 อานคาได 1.8 V
ตารางท 4.1 แสดงการอานคาสถานะของเครองสง
4.4 การสงขอมลเขา ThingSpeak การสงขอมลเขา ThingSpeak จะมคาหนวงเวลาประมาณ 5 วนาท
(ภาพ Capture หนาจอ www.thingspeak.com โดย นายอานวย ทจนทก)
รปท 4.4 ผลการแสดงคาขอมลของเครองสงท ThingSpeak
4.5 สรป จากการทดสอบแตสวนของวงจรเรยบรอยแลวเราจะนาสวนประกอบทงหมดมา
รวมเขาดวยกนเพอการใชงานจรง จากทดสอบระบบสามรถทางานไดถกตอง
บทท 5
สรปผลและขอเสนอแนะ
5.1 สรปเนอหา จากการออกแบบและทดสอบการใชงานของระบบทงหมด ผลการใชงานสรปไดวา
สามารถทางานไดจรงตามทไดออกแบบไว
5.2 ปญหาและขอเสนอแนะ จากการทดลองควรมการปรบปรงอปกรณ ดงน
� พฒนาระบบเพมเตมโดยหากเครองสงมคาทผดปกตควรมการแจงเตอนผานระบบ
SMS, Line, Facebook และ Mail ได
� ควรเกบขอมลไวท Data Base ของศนยนวตกรรมเพอจะไดเปนขอมลในการบารงรกษา
ระบบตอในอนาคต
25
รายการอางอง [1] บรษท วนส ซพพลาย จากด. บทความ Arduino คออะไร. แหลงทมา
http://thaieasyelec.com/article-wiki-th/electronic-article.html [2] บรษท อนโนเวตฟ เอกเพอรเมนต จากด. ZX-DHT11 มนบอรดวดความชนสมพทธและ
อณหภม. แหลงทมา http://inex.co.th/shop/zx-dht11.html [3] BARIX AG. BARIX Barionet 100. แหลงทมา http://www.barix.com/fileadmin/
/data/sheets /Barionet/Barix_Product_sheet_Barionet_100_30.pdf [4] หองปฏบตการระบบสมองกลฝงตว ภาควชาวศวกรรมไฟฟาและคอมพวเตอร คณะ
วศวกรรมศาสตร มหาวทยาลยเทคโนโลยพระจอมเกลาพระนครเหนอ. การทดลองใช
งาน Thingspeakสาหรบบรการดาน IoT แหลงทมา http://cpre.kmutnb.ac.th
/esl/learning/ index.php?article=iot-thingspeak [5] ราน arduitronics. การใชงาน DHT11 กบบอรด Arduino แหลงทมา
https://www.arduitronics.com /article/13/
ภาคผนวก ก
โคดโปรแกรมการทางาน
#include "ThingSpeak.h" #include <SPI.h> #include <Ethernet.h> #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT11 // DHT 11 #define VOLTAGE_MAX 5.0 #define VOLTAGE_MAXCOUNTS 1023.0 DHT dht(DHTPIN, DHTTYPE); unsigned long myChannelNumber = 131256; const char * myWriteAPIKey = "UY3QM56YHHP1V8KG"; byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; EthernetClient client; void setup() { Ethernet.begin(mac); ThingSpeak.begin(client); dht.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); ThingSpeak.setField(1,t); ThingSpeak.setField(2,h);
27
//Fw float pinVoltage = analogRead(A0) * (VOLTAGE_MAX / VOLTAGE_MAXCOUNTS); pinVoltage = pinVoltage*(1000/3.9); ThingSpeak.setField(3,pinVoltage); //Rf pinVoltage = analogRead(A1) * (VOLTAGE_MAX / VOLTAGE_MAXCOUNTS); pinVoltage = pinVoltage*(20/2); ThingSpeak.setField(4,pinVoltage); //VPA pinVoltage = analogRead(A2) * (VOLTAGE_MAX / VOLTAGE_MAXCOUNTS); pinVoltage = pinVoltage*(48/2.8); ThingSpeak.setField(5,pinVoltage); //IPA pinVoltage = analogRead(A3) * (VOLTAGE_MAX / VOLTAGE_MAXCOUNTS); pinVoltage = pinVoltage*(34/2.15); ThingSpeak.setField(6,pinVoltage); //Audio Level pinVoltage = analogRead(A4) * (VOLTAGE_MAX / VOLTAGE_MAXCOUNTS); ThingSpeak.setField(7,pinVoltage); // Write the fields that you've set all at once. ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey); delay(10000); // ThingSpeak will only accept updates every 15 seconds. }