The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

เทคโนโลยีเซนเซอร์เพื่อการเกษตร

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by thongchai.mfu, 2022-07-29 11:01:09

เทคโนโลยีเซนเซอร์เพื่อการเกษตร

เทคโนโลยีเซนเซอร์เพื่อการเกษตร

45

ในโปรแกรมกําหนดค่าตัวแปร data-2345 ซ่ึงกค็ ือ 2,345 แปลงเปน็ เลขฐาน 16 คือ 929 เปน็ เลขฐาน 8 คอื
4451 เป็นเลขฐานสองคอื 100100101001 กรณีทีส่ ั่งพมิ พ์โดยใชค้ ําส่งั Serial write(data); จะส่งค่าเป็น
เลขฐานสอง 8 บติ ล่าง 00101001 ซึ่งก็คือ 41 ฐานสบิ เทยี บเป็นรหัส ASCI คือ อักขระ ที่หนา้ ตา่ งของ Serial
Monitor จงึ แสดงเปน็ เคร่ืองหมาย ) หรือวงเล็บปิดนัน่ เอง

ภาพท่ี 4.10 แสดงการเปดิ หน้าตา่ ง Serial Monitor

ภาพที่ 4.11 แสดงหนา้ ต่าง Serial Monitor แสดงผลโปรแกรมการทดสอบ UART

หลกั สูตรการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยเี ซนเซอร์เพื่อการเกษตร อ.ดร.สรุ พล วรภทั ราทร

46

การเขยี นโปรแกรมไมโครคอนโทรลเลอร์ใช้งานอุปกรณ์อ่านค่าแบบอนาลอ็ ก

การเขยี นโปรแกรมไมโครคอนโทรลเลอร์ใช้งานใชง้ านอุปกรณ์อ่านค่าแบบอนาล็อก จาํ เป็นจะต้องใช้
หน้าต่าง Serial Monitor เพอื่ ใหท้ ราบในการแสดงผลของการเปลย่ี นแปลงคา่ อนาล็อก โดย โปรแกรมจะตอ้ ง
แปลงคา่ อนาล็อกท่ีเข้ามา ให้เปน็ คา่ ตวั เลขดิจติ อล

ภาพท่ี 4.12 แสดงโปรแกรมทดสอบไมโครคอนโทรลเลอร์ใชง้ านอุปกรณ์อ่านคา่ แบบอนาล็อก

จากโปรแกรมเริ่มท่บี รรทัดแรก เป็นการประกาศตวั แปรชือ่ วา่ GetAnalog เป็นแบบ int คือเราจะเอา
คา่ ทีอ่ ่านไดจ้ าก VR มาเก็บลงตัวแปรท่ชี ่อื ว่า GetAnalog พอเกบ็ คา่ Analog เอาไว้ท่ีตัวแปร GetAnalog แลว้
จะตอ้ งเอาตัวแปร GetAnalog ไปใช้งาน

void setup() ภายใน function น้จี ะเซต Serial Port ด้วยคาํ ส่งั Serial.begin(9600); ต่อมาเป็น
function Void loop ภายใน function น้ีมอี ยู่ 3 คาํ สั่ง โดยคําสง่ั แรก GetAnalog = analogRead(AO);
บรรทัดนี้ คือการสังให้ Arduino อา่ นค่าอนาล็อกซึง่ อา่ นค่าจากขาอนาลอ็ ก ท่ี A0 ตามทต่ี อ่ วงจรเอาไว้ การ
อ่านคา่ อนาล็อก เราจะใช้ function analogRead() ภายในวงเล็บให้ใส่หมายเลขขาอนาล็อก ของ Arduino ที่
เราต้องการจะอา่ นคา่ คาํ สัง่ ท่ีสอง Serial.println(GetAnalog); คําสง่ั นี้จะทําใหร้ ู้ว่าค่า อนาลอ็ กที่ Arduino
อา่ นได้ ทเ่ี กบ็ เอาไวใ้ นตวั แปร GetAnalog เป็นเทา่ ไร โดยท่ี Arduino จะส่งค่าที่อ่านได้ ผา่ นทาง Serial Port
มายงั คอมพวิ เตอร์ และแสดงผลออกท่หี น้าจอคอมพิวเตอร์ และคาํ สั่งสดุ ทา้ ย delay(500); คือ หยุดการทํางาน
ครงึ่ วินาที

ในการใช้หน้าตา่ ง Serial Monitor เพ่ือเวลาท่ี Arduino อ่านค่ามาได้แลว้ และให้สง่ ค่า นนั้ มาให้กบั
คอมพวิ เตอรผ์ า่ นทาง Serial Port จะรู้ไดว้ ่าค่าอนาล็อกที่ Arduino อ่านได้จาก VR ทปี่ รับค่าความ ต้านทาน
เป็นค่าเทา่ ไหร่ หรือในทางภาษาท่ีโปรแกรมเมอรเ์ รยี กวา่ debug

หลกั สูตรการอบรมพัฒนาเกษตรกรรุน่ ใหม่: เทคโนโลยีเซนเซอรเ์ พื่อการเกษตร อ.ดร.สุรพล วรภทั ราทร

47

จากนัน้ ให้ต่อเสียบสาย USB เพื่อเชื่อมต่อระหวา่ ง Arduino กบั คอมพวิ เตอร์ แล้วใหอ้ ัพ โหลด
โปรแกรมไปยัง Arduino เปดิ หน้าตา่ ง Serial Monitor ข้ึนมาเพื่อดคู า่ อนาล็อกท่ี Arduino อา่ นค่าได้ แล้วคอ่ ย
ๆ ทดลองหมนุ ปรับ VR จะเห็นวา่ คา่ อนาลอ็ กที่ได้มีการเปลี่ยนแปรงคา่

ภาพท่ี 4.13 แสดงคา่ ท่ีอ่านได้จากโปรแกรมทดสอบไมโครคอนโทรลเลอร์ใชง้ านอุปกรณ์อ่านคา่ แบบอนาล็อก

จากภาพจะเหน็ วา่ เมอื่ หมุน VR คา่ อนาล็อกท่ี Arduino อ่านได้จะส่งผา่ นมาทาง Serial Port มีการ
เปลย่ี นแปลงคา่ ใหล้ องหมนุ VR ไปทางขวาจนสุด คา่ สุดท้ายทไ่ี ด้ คือ 1023 จากตอนแรกยังไม่ได้ หมุนปรบั VR
ค่าทีไ่ ดเ้ ป็น 0 พอหมุนปรบั VR เพม่ิ ข้นึ มาเรื่อยๆ จนได้ค่าสดุ ท้ายกค็ ือ 1023 คา่ อนาล็อกที่ถูก แปลงเป็นค่า
ตวั เลขดิจิตอล จะมคี ่าตั้งแต่ 0 จนถึง 1023 หรือ ค่าอนาล็อกอ่านได้คือ 0 มีไฟเปน็ 0 โวลต์ และ ค่าอนาล็อกท่ี
1023 คือ มีไฟ +5 โวลต์ นน่ั เอง

4.4 การประยุกต์ใช้งานอุปกรณ์อ่านคา่ แบบอนาล็อกกับไมโครคอนโทรลเลอร์

ไมโครคอนโทรลเลอรถ์ า้ แปลความหมายแบบตรงตวั กค็ ือ ระบบคอนโทรลขนาดเลก็ เรียกอีกอย่าง หนง่ึ
คือเปน็ ระบบคอมพวิ เตอร์ขนาดเลก็ ที่สามารถนามาประยุกตใ์ ชง้ านไดห้ ลากหลาย โดยผา่ นการออกแบบ วงจร
ใหเ้ หมาะกบั งานต่าง ๆ และยงั สามารถโปรแกรมคาสงั่ เพื่อควบคุมขา Input / Output เพอ่ื สั่งงานให้ไป
ควบคมุ อุปกรณ์ตา่ ง ๆ ได้อีกดว้ ย ซง่ึ ก็นับว่าเปน็ ระบบที่สามารถนามาประยคุ ใชง้ านได้หลากหลาย ทั้งทางด้าน
Digital และ Analog ยกตัวอย่างเช่น ระบบสญั ญาณตอบรบั อตั โนมัติ, ระบบบัตรคิว, ระบบตอกบตั ร

การนําอุปกรณ์อ่านคา่ แบบอนาลอ็ กไปใช้งานประยุกต์ใช้งานกบั ไมโครคอนโทรลเลอร์สามารถ
นาํ ไปใชใ้ นการปรับระดับ หรือควบคุมสญั ญาณต่าง ๆ ทีเ่ ป็นแบบอนาล็อก เช่น การควบคุมมอเตอร์ การปรบั
ลด แสงสวา่ งของหลอดไฟ LED การรบั ค่าจากตัวตรวจจบั แบบอนาล็อกเปน็ ต้น โดยมีตัวอย่างการนาํ อุปกรณ์
อ่าน ค่าแบบอนาล็อกไปใชง้ าน คอื การประยุกต์ใช้งานอปุ กรณอ์ ่านค่าแบบอนาล็อกเพ่ือควบคุมความสว่างของ
หลอด LED

การประยุกตใ์ ช้งานอปุ กรณ์อ่านคา่ แบบอนาล็อกเพ่ือควบคุมความสวา่ งของหลอด LED เป็นการ
ประยกุ ต์นําไปใชง้ าน โดยเอาหลอด LED หน่งึ ตัว มาตอ่ ในวงจรท่ีมตี ัวตา้ นทานปรบั ค่าได้ พอเราหมุน ปรบั VR

หลกั สตู รการอบรมพัฒนาเกษตรกรรุน่ ใหม่: เทคโนโลยีเซนเซอรเ์ พอื่ การเกษตร อ.ดร.สรุ พล วรภัทราทร

48
เพิ่มขนึ้ ก็ใหแ้ สงหลอด LED สว่างเพม่ิ ขึน้ พอเราหมุนปรับ VR ลดลงก็ใหห้ ลอด LED สว่างน้อยลงจน ดับสนทิ
ดังวงจรตอ่ ไปน้ี

ภาพท่ี 4.14 แสดงการต่อวงจรอุปกรณ์อ่านคา่ แบบ analog เพอ่ื ควบคุมความสวา่ งของหลอด LED

ภาพท่ี 7.15 แสดงโปรแกรมการใช้งานอุปกรณ์อ่านค่าแบบ analog เพ่อื ควบคุมความสว่างของหลอด LED

หลกั สตู รการอบรมพัฒนาเกษตรกรร่นุ ใหม่: เทคโนโลยีเซนเซอรเ์ พอ่ื การเกษตร อ.ดร.สุรพล วรภทั ราทร

49

ในส่วนของโปรแกรมที่ function void loop ()
Serial.print(GetAnalog); Serial.print(" ");
Serial.println(Fade);

เป็นการสง่ ค่าจากการปรบั VR ไปทีห่ นา้ ต่าง Serial Monitor เอาไว้สําหรบั debug เพ่ือดู ค่าที่ Arduino
สง่ กลับมา

Fade = GetAnalog / 4;
analogWrite(6, Fade);
สองบรรทดั นี้ บรรทดั แรก เอา GetAnalog หารดว้ ย 4 แลว้ เอาไปเกบ็ ลงตวั ทตี่ วั แปร Fade ซง่ึ เปน็
แบบ int พอได้ค่า Fade ออกมาแลว้ ก็สั่งให้ analogWrite(6, Fdade) คอื สงั่ ให้หลอด LED สวา่ ง ซึ่ง LED
จะตอ่ อยูก่ บั ขาท่ี 6 ของ Arduino
เหตทุ ต่ี อ้ งให้ Fade = GetAnalog / 4 เพราะ function analogWrite(pin, value) ค่า ของ value
มีคา่ 0 ถึง 255 แตต่ ัวอ่านค่าอนาลอ็ ก อา่ นคา่ ได้ต้งั แต่ 0 ถึง 1023 หากไมน่ าํ มาหาร 4 จะทําให้ ค่าที่ได้ไม่
ตรงกนั ดงั น้ันจงึ ต้องหารดว้ ย 4 จงึ จะไมเ่ กนิ ค่า 0 ถึง 255 คา่ อนาล็อก จะเป็นแบบ (PWM Wave) คือ จะ
ใช้ไดก้ ับ pin ท่เี ปน็ แบบ PWM สามารถนําไปใชป้ รบั เพมิ่ หรือลดความสวา่ งของ LED ได้ หรือจะเอาไป ใช้
สําหรับควบคุม speed motor ได้

ภาพที่ 4.16 แสดงค่า Duty Cycle ของ Pulse Width Modulation

หลักสตู รการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอร์เพอ่ื การเกษตร อ.ดร.สุรพล วรภทั ราทร

50

ใหด้ ูที่ 0% Duty Cycle - analogWrite(0) จะเห็นว่าจะได้ไฟเปน็ 0 โวลต์ ดตู ่อท่ี 50% Duty Cycle
- analogWrite(127) ค่า analogWrite ท่ี 127 จะได้ไฟเป็น 50% ไฟทไี่ ด้ประมาณ 2.5 โวลต์ สดุ ท้ายมาดูท่ี
100% Duty Cycle analogWrite(255) คา่ analogWrite ท่ี 255 จะได้ไฟเป็น 5 โวลต์ เม่อื ปรับหมนุ VR
ค่า PWM ก็จะเปล่ียนตาม ทําใหส้ ามารถปรบั ความสวา่ งของหลอดไฟ LED ได้

ภาพท่ี 4.17 แสดงอปุ กรณจ์ ริงของวงจรใช้งานอปุ กรณ์อา่ นคา่ แบบอนาลอ็ กควบคุมความสวา่ งของหลอด LED

แบบทดสอบการอ่านคา่ เซน็ เซอรแ์ บบอนาล็อก

1.) จงอธบิ ายความหมายของสญั ญาอนาลอ็ ก
2.) จงอธบิ ายหลกั การทำงานของตวั ตา้ นทานปรบั คา่ ได้แบบแกนหมุน
3.) จงอธบิ ายหลักการทำงานของตวั ต้านทานชนิดเปล่ยี นคา่ ตามแสง
4.) จงอธบิ ายการสื่อสารผ่านพอรต์ อนกุ รม
5.) จงอธบิ ายการใชง้ าน UART

หลักสตู รการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พ่อื การเกษตร อ.ดร.สรุ พล วรภัทราทร

51

บทท่ี 5
การใชง้ านจอแสดงผลแบบ LCD

วตั ถปุ ระสงค์

1. เพ่ือให้มีความรู้ความเข้าใจในการเขยี นโปรแกรมไมโครคอนโทรลเลอร์ด้วยโปรแกรม Arduino
เพอ่ื ใช้งานจอแสดงผลแบบ LCD

บทนำ

จอแสดงผลแบบ LCD หรอื Liquid Crystal Display คอื หนา้ จอแสดงผลตวั อักษร ตวั เลขหรอื อักขระ
ต่าง ๆ รวมถึงบางรนุ่ ที่สามารถแสดงภาพกราฟฟคิ ได้ จอแสดงผลแบบ LCD จําเป็นสําหรับงานท่ี ต้องการ
แสดงผลการทํางานต่าง ๆ เพอ่ื ให้ผู้ใช้งานสามารถเช่ือมต่อเสมือนเปน็ ส่วนหนึง่ กบั วงจรอิเล็กทรอนิกส์ น้นั ๆ
เช่น ใชใ้ นการแสดงเวลาการทํางานของเครื่องจักร ใชเ้ สดงค่าอุณหภมู ิ และค่าความชน้ื สัมพทั ธ์ เปน็ ตน้

5.1 จอแสดงผลแบบ LCD

คําวา่ LCD ยอ่ มาจากคําวา่ Liquid Crystal Display ซึ่งเป็นจอท่ีทํามาจากผลกึ ครสิ ตอล เหลว
หลักการคือด้านหลังจอจะมีไฟสอ่ งสว่าง หรือที่เรยี กวา่ Backlight อยู่ เมื่อมีการปลอ่ ยกระแสไฟฟ้าเข้า ไป
กระตุ้นท่ีผลึก ก็จะทาํ ใหผ้ ลึกโปร่งแสง ทําใหแ้ สงท่ีมาจากไฟ Backlight แสดงข้นึ มาบนหนา้ จอ สว่ นอ่ืนท่ี โดน
ผลกึ ปดิ ก้นั ไวจ้ ะไม่สวา่ ง ผลึกมสี ที แ่ี ตกต่างกันตามสขี องผลึกคริสตอล เชน่ สีเขียว หรอื สฟี า้ เปน็ ต้น ทาํ ให้ เมอื่
มองไปท่จี อกจ็ ะพบกับตัวหนงั สือแลว้ พบกบั พนื้ หลังสีตา่ ง ๆ กนั

จอ Liquid Crystal Display (LCD) เปน็ จอแสดงผลรูปแบบหนง่ึ ท่ีนิยมนาํ มาใช้งานกนั กับ ระบบสมอง
กลฝังตวั อย่างแพร่หลาย จอ LCD มีทั้งแบบแสดงผลเป็นตัวอักขระเรยี กวา่ Character LCD ซ่ึงมี การกาํ หนด
ตวั อักษรหรืออักขระทส่ี ามารถแสดงผลไว้ได้อยู่แลว้ และแบบทสี่ ามารถแสดงผลเปน็ รูปภาพหรอื สญั ลักษณ์ได้
ตามความต้องการของผู้ใชง้ านเรยี กวา่ Graphic LCD นอกจากนีบ้ างชนดิ ยงั เป็นจอที่มีการผลติ ข้นึ มาใช้
เฉพาะงาน ทําใหม้ ีรปู แบบและรปู รา่ งเฉพาะเจาะจงในการแสดงผล เช่น นาฬิกาดจิ ิตอล เคร่ืองคิดเลข หรอื
หน้าปดั วิทยุ เป็นตน้

ชนดิ ของจอแสดงผลแบบ LCD

จอแสดงผลแบบ LCD สามารถแบง่ ออกได้เป็น 2 ชนดิ ๆ ตามลกั ษณะการแสดงผล ดงั น้ี

(1) จอแสดงผลแบบ Character LCD เปน็ จอทแ่ี สดงผลเปน็ ตวั อกั ษรตามช่องแบบ ตายตัว เชน่
จอแสดงผลแบบ LCD ขนาด 16x2 หมายถึง ใน 1 แถวมีตัวอักษรใส่ได้ 16 ตัว และมีทั้งหมด 2 บรรทดั
ใหใ้ ช้งาน ส่วนจอแสดงผลแบบ LCD ขนาด 20x4 จะหมายถงึ ใน 1 แถวมีตวั อักษรใสไ่ ด้ 20 ตวั และมี
ทงั้ หมด 2 บรรทัด

หลกั สตู รการอบรมพฒั นาเกษตรกรร่นุ ใหม่: เทคโนโลยีเซนเซอรเ์ พอ่ื การเกษตร อ.ดร.สุรพล วรภทั ราทร

52

ภาพท่ี 5.1 แสดงจอแสดงผลแบบ Character LCD ขนาด 20x4
(2) จอแสดงผลแบบ Graphic LCD เปน็ จอทสี่ ามารถกาํ หนดได้วา่ จะใหแ้ ตล่ ะจุดบน หน้าจอกนั แสง หรือ

ปล่อยแสงออกไป ทาให้จอนส้ี ามารถสรา้ งรูปข้นึ มาบนหนา้ จอได้ การระบุขนาดจะระบุใน ลกั ษณะของ
จาํ นวนจดุ (Pixels) ในแตล่ ะแนว เชน่ 128x64 หมายถึง จอที่มีจานวนจดุ ตามแนวนอน 128 จดุ และ
มจี ดุ ตามแนวตัง้ 64 จุด

ภาพที่ 5.2 แสดงจอแสดงผลแบบ Graphic LCD

หลักการทาํ งานของจอแสดงผลแบบ LCD
หลักการทาํ งานของจอแสดงผลแบบ LCD จะอาศยั ของเหลวพเิ ศษที่มีคุณสมบตั ิการบิด แกนโพราไรซ์

ของแสง ถา้ จา่ ยแรงดนั ไฟฟ้าเขา้ ไประหวา่ งสารเหลวน้ี โมเลกลุ จะบดิ ตวั และทําให้แสงไม่สามารถ ผ่านกระจก
ออกมาได้ ถา้ ไม่มีการจา่ ยแรงดนั ไฟฟา้ แสงจะทะลผุ ่านออกมาได้ การทางานเกิดจากกระจก โพลาไรซ์ 2 แผ่น ที่
มแี กนต้ังฉากกนั แสงจะไม่สามารถลอดผ่านออกมาได้ เปรียบเหมอื นเอาแว่นตาโพลาไรซ์ สองอนั มาบดิ ทํามมุ
ต้งั ฉากกนั แสงจะไม่ลอดผา่ น และมีการค้นพบวา่ มีของเหลวชนิดหนึง่ ท่ีปกตแิ ลว้ จะสามารถ "บิดแกนโพลาไรซ์
ของแสง" ได้ จงึ เกดิ ความคิดเอามาทําจอ LCD

หลักสูตรการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอร์เพ่อื การเกษตร อ.ดร.สุรพล วรภัทราทร

53

โครงสรา้ งของจอแสดงผลแบบ LCD ท่วั ไปจะประกอบขึน้ ด้วยแผน่ แก้ว 2 แผน่ ประกบกัน อยู่ โดยเวน้
ชอ่ งวา่ งตรงกลางไว้ 6-10 ไมโครเมตร ผวิ ดา้ นในของแผ่นแกว้ จะเคลือบดว้ ยตัวนาํ ไฟฟา้ แบบใสเพอ่ื ใชแ้ สดง
ตวั อักษร ตรงกลางระหวา่ งตัวนําไฟฟา้ แบบใสกับผลกึ เหลว มชี น้ั ของสารทีท่ ําใหโ้ มเลกุลของผลกึ รวมตัวกันใน
ทิศทางที่แสงส่องมากระทบเรียกว่า Alignment Layer และผลกึ เหลวที่ใชโ้ ดยท่ัวไปจะเปน็ แบบ Magnetic
มองเห็นได้ทั้งหมด 3 แบบด้วยกัน คือ

(1) จอแสดงผลแบบใช้การสะท้อนแสง (Reflective Mode) จอแสดงผล LCD แบบนี้ใช้ สารประเภท
โลหะเคลอื บอยู่ทีแ่ ผ่นหลงั ของ จอแสดงผล LCD ซึ่งจอแสดงผล LCD ประเภทน้เี หมาะกับการ นาํ มาใช้งานในที่
ที่มีแสงสวา่ งเพยี งพอ

(2) จอแสดงผลแบบใช้การสง่ ผา่ น (Transitive Mode) จอแสดงผล LCD จอแสดงผล แบบนว้ี าง
หลอดไฟไวด้ า้ นหลังจอ เพื่อทําใหก้ ารอ่านคา่ ที่แสดงผลทาํ ไดช้ ัดเจน

(3) จอแสดงผลแบบส่งผา่ นและสะท้อน (Transflective Mode) จอแสดงผล LCD แบบนี้ เป็นการ
นาํ เอาข้อดขี องจอแสดงผล LCD ทัง้ 2 แบบมารวมกัน

ภาพที่ 5.3 แสดงโครงสรา้ งของจอแสดงผลแบบ LCD
5.2 การต่อวงจรจอแสดงผลแบบ LCD กบั ไมโครคอนโทรลเลอร์

การเชือ่ มต่อจอแสดงผลแบบ LCD กบั ไมโครคอนโทรลเลอร์จะมีดว้ ยกนั 2 แบบ
การเชื่อมต่อจอแสดงผล LCD แบบขนานกับไมโครคอนโทรลเลอร์

หลักสตู รการอบรมพฒั นาเกษตรกรร่นุ ใหม่: เทคโนโลยเี ซนเซอร์เพอ่ื การเกษตร อ.ดร.สรุ พล วรภทั ราทร

54

การเชือ่ มต่อจอแสดงผล LCD แบบขนานกบั ไมโครคอนโทรลเลอร์ เปน็ การเชอื่ มต่อจอ LCD เข้ากบั
บอร์ด Arduino โดยตรง โดยจะแบ่งเป็นการเชอื่ มต่อแบบ 4 บิต และการเชอื่ มต่อแบบ 8 บติ ใน Arduino จะ
นยิ มเชอ่ื มต่อแบบ 4 บิต เน่ืองจากใช้สายในการเช่ือมต่อน้อยกว่า

ภาพที่ 5.4 แสดงการเชื่อมต่อจอแสดงผล LCD แบบขนานกบั ไมโครคอนโทรลเลอร์

การเชือ่ มต่อจอแสดงผล LCD แบบอนกุ รมกบั ไมโครคอนโทรลเลอร์

การเชื่อมต่อจอแสดงผล LCD แบบอนกุ รมกบั ไมโครคอนโทรลเลอร์ เปน็ การเชือ่ ตอ่ กบั จอ LCD ผา่ น
โมดูลแปลงรปู แบบการเชื่อมต่อกบั จอ LCD จากแบบขนาน มาเปน็ การเช่อื มตอ่ แบบอื่นท่ีใช้สายน้อย กว่า เช่น
การใชโ้ มดูล I2C Serial Interface จะเปน็ การนาํ โมดลู เชื่อมเข้ากบั ตัวจอ LCD แลว้ ใชบ้ อร์ด Arduino เชือ่ มตอ่
กบั บอร์ดโมดูลผ่านโปรโตคอล I2C ทาํ ให้ใช้สายสญั ญาณเพียง 2 เส้น กท็ ําให้หนา้ จอแสดงผล ข้อความตา่ ง ๆ
ออกมาได้

ภาพท่ี 5.5 แสดงการเชอ่ื มตอ่ จอแสดงผล LCD แบบอนกุ รมกับไมโครคอนโทรลเลอร์

หลักสูตรการอบรมพัฒนาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพ่ือการเกษตร อ.ดร.สุรพล วรภัทราทร

55

5.3 โปรแกรมไมโครคอนโทรลเลอรใ์ ช้งานจอแสดงผลแบบ LCD

การเขียนโปรแกรมจอแสดงผล LCD กับไมโครคอนโทรลเลอร์แบบขนาน จะต้องตอ่ วงจร ตามรปู ท่ี 9.4
จากนน้ั เม่ือตอ่ วงจรเรยี บร้อยแลว้ ใหต้ ่อสาย USB เขา้ กับบอรด์ Arduino จะเห็นกล่องสเี่ หลี่ยม ทงั้ หมด 16 ตวั
(หากเป็นจอ 16x2) ในบรรทัดแรก หากไม่พบกล่อง ใหป้ รับความชัดได้จาก VR ที่ต่ออยู่กบั ขา V0 จากนนั้ เขียน
โค้ดโปรแกรมเพื่อทดสอบ

ภาพท่ี 5.6 แสดงโปรแกรมใช้งานจอแสดงผล LCD แบบขนานกับไมโครคอนโทรลเลอร์

เมือ่ อพั โหลดโค้ดโปรแกรมลงไปเรยี บร้อยแลว้ หากมองไมเ่ หน็ ตวั อักษร หรือเห็นไมช่ ัด ให้ ปรับความ
คมชดั ท่ี VR 10K อีกครง้ั เม่ือปรบั อยู่ในระดับที่พอดี กดปุ่ม Reset บนบอรด์ Arduino จะได้ผล ออกมาตาม
ผลลัพธ์ท่ถี กู ต้อง

การเขียนโปรแกรมจอแสดงผล LCD แบบอนกุ รมกับไมโครคอนโทรลเลอร์

การเชื่อมต่อแบบอนุกรม จะใชง้ านโมดลู 2C Serial Interface Board Module มา เช่ือมต่อระหวา่ ง
Arduino กบั จอ LCD ให้ดาวน์โหลดไลบารีท่ ีช่ ือ่ LiquidCrystal 12C.zip ซ่งึ เปน็ ไฟล์ทีใ่ ช้ใน การทํางาน ไดจ้ าก

หลักสูตรการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พื่อการเกษตร อ.ดร.สรุ พล วรภทั ราทร

56

URL : http://www.nks.ac.th/download/LiquidCrystal 12C.zip แลว้ เพม่ิ ไลบารโี ดย เปดิ โปรแกรม
Arduino IDE ขึน้ มา จากน้นั กดไปท่ี Sketch > Include Library > Add ZIP Library จากนนั้ เลอื กไฟล์ท่ีได้
ดาวนโ์ หลดไวใ้ นขนั้ ตอนท่ีแล้ว จากนนั้ กดปุ่ม Open

ภาพท่ี 5.7 แสดงการเขา้ เมนเู พื่อติดตงั้ ไลบาร่ีที่ชอื่ LiquidCrystal 12C.zip

หลกั สตู รการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพื่อการเกษตร อ.ดร.สุรพล วรภทั ราทร

57

ภาพที่ 5.8 แสดงการเลือกไฟลไ์ ลบารี่ทชี่ ื่อ LiquidCrystal 12Czip ที่ไดด้ าวน์โหลดไว้
วงจรที่เชอ่ื มต่อจะเปน็ ไปตามรปู ท่ี 5.5 จากน้ันเม่ือตอ่ วงจรเรยี บรอ้ ยแลว้ ใหต้ ่อสาย USB เข้ากับบอร์ด
Arduino จะเหน็ กล่องสี่เหลย่ี มท้งั หมด 16 ตวั (หากเปน็ จอ 16x2) ในบรรทดั แรก หากไมพ่ บ กล่อง ใหป้ รับ
ความชดั ได้จาก VR ท่ีต่ออยู่กับขา V0 เช่นเดยี วกนั กบั แบบขนาน จากนน้ั เขียนโค้ดโปรแกรมเพื่อ ทดสอบ ดังน้ี

ภาพที่ 5.9 แสดงโปรแกรมใช้งานจอแสดงผล LCD แบบอนุกรมกับไมโครคอนโทรลเลอร์

ตรงบรรทดั ท่ี 2 LiquidCrystal 12C lcd (Ox3F, 16, 2); คา่ OX3F หากอพั โหลดแล้วไม่ สามารถใช้งานได้
หรอื ไม่มีอะไรแสดงผลออกทางหนา้ จอ ลองเปล่ยี นเป็น 0x27 แล้วอพั โหลดเข้าไปใหม่อีกคร้ัง กจ็ ะสามารถใช้
งานได้ 9.3.3 ฟงั ก์ชนั่ สั่งงานของจอแสดงผลแบบ LCD กบั ไมโครคอนโทรลเลอร์ Arduino

หลักสูตรการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพื่อการเกษตร อ.ดร.สรุ พล วรภัทราทร

58

ฟังก์ชัน่ ท่ีใช้สําหรบั ส่ังงานของจอแสดงผลแบบ LCD กบั ไมโครคอนโทรลเลอร์ Arduino ในโปรแกรม
Arduino IDE มดี ังนี้

(1) lcd.clear() ใช้ล้างหน้าจอ เมอ่ื มตี วั อกั ษรใดๆ อย่บู นหน้าจอ จะถูกลา้ งออกทง้ั หมด

(2) lcd.homet) ใช้ปรับให้เคอเซอร์กลับไปอยทู่ ต่ี ําแหนง่ แรกด้านซา้ ย เม่ือใชค้ าํ ส่ัง lcd.print() จะไป
เริ่มแสดงผลทางดา้ นบนซา้ ย

(3) Lcd.setCursor(ลําดับตัวอกั ษรนับจากทางซ้าย, บรรทดั ) ใชต้ ั้งคา่ เคอเซอร์ เชน่ lcd.setCursor(2,
0); หมายถึงตงั้ เคอเซอร์ไปตัวอักษรท่ี 2 นับจากทางซ้าย และอย่บู รรทัดแรก เมื่อใชค้ าํ สั่ง lcd.print()
ตัวอักษรตัวแรกจะอยู่ลําดบั ที่ 3 นับจากทางซ้าย

(4) lcd.write(ขอ้ มูลที่ตอ้ งการเขียนออกไป) ใชส้ ําหรบั เขียนข้อมูลออกไปท่ลี ะตัวอกั ษร

(5) lcd.print(ข้อมลู ทีต่ อ้ งการให้เขยี นออกไป [ รปู แบบข้อมูล]) ใช้เขยี นข้อมูลออกไป ทั้งขอ้ ความ

(6) lcd.cursor() ใช้สัง่ ให้แสดงเคเซอรบ์ นหนา้ จอ (7) lcd.noCursor() ใชส้ งั่ ให้ไม่แสดงเคเซอร์บน
หนา้ จอ (8) lcd.display() แสดงตวั อกั ษรบนหน้าจอ (9) lcd.noDisplay() ปดิ การแสดงตวั อกั ษรใน
หนา้ จอ (10) lcd.scrollDisplayLeft() เล่ือนตวั อกั ษรไปทางซา้ ย 1 ตวั (11) lcd.scrollDisplayRight()
เลื่อนตวั อกั ษรไปทางขวา 1 ตัว

(12) lcd.autoScrol() เลื่อนตวั อกั ษรไปทางขวาอัตโนมัติหากใช้คําส่งั lcd.print() หรือ lcd.write()
เมอื่ ตัวอักษรเต็มหนา้ จอ

(13) lcd.noAutoscroll() ปิดการเลื่อนตัวอักษรอตั โนมัติ

(14) lcd.leftToRight() เมื่อใช้คาํ สง่ั lcd.print() หรือ lcd.write() ตัวอักษรจะเขียน จากซ้ายไปขวา

(15) lcd.rightToLeft() เม่อื ใชค้ าํ สง่ั lcd.print() หรือ lcd.write() ตัวอักษรจะเขยี น จากขวาไปซ้าย

การสรา้ งตวั อักษรหรือรูปภาพลงจอแสดงผลแบบ LCD ในไมโครคอนโทรลเลอร์ Arduino

การสรา้ งตัวอักษรหรอื รปู ภาพลงจอแสดงผลแบบ LCD ในไมโครคอนโทรลเลอร์ Arduino นอกจากจะ
ใชต้ ัวอกั ษร ABCD ... ตวั เลข เครอื่ งหมายตา่ ง ๆ แลว้ จอแสดงผลแบบ LCD ยงั สามารถสร้าง ตวั อักษรเองให้
เป็นลักษณะของรูปภาพได้ เพอื่ เพ่ิมความเขา้ ใจ และความสวยงามของการแสดงผลข้อมูลบน
https://drive.google.com/drive/u/0/folders/1QD0MdWS3dwc90bjUFW9qpmv1M8w4BIcn

หลกั สูตรการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยเี ซนเซอรเ์ พื่อการเกษตร อ.ดร.สรุ พล วรภทั ราทร

59

ภาพท่ี 5.10 แสดงการสรา้ งตัวอกั ษรหรือรูปภาพลงจอแสดงผลแบบ LCD

5.4 การประยกุ ต์ใช้งานจอแสดงผลแบบ LCD กบั ไมโครคอนโทรลเลอร์

การนาํ จอแสดงผลแบบ LCD ไปประยุกต์ใช้งานกับไมโครคอนโทรลเลอรส์ ามารถนาํ ไปใช้ในการ
แสดงผลบนอปุ กรณ์ต่าง ๆ เชน่ การแสงผลจาํ นวนนบั ของเคร่ืองนบั จํานวน การแสดงผลสถานะ การทํางาน
ของเครื่องจักร การแสดงระยะเวลาการทาํ งานของเคร่ืองจักร เปน็ ตน้ โดยมีตวั อยา่ งการนําจอแสดงผลแบบ
LCD ไปใช้งานการใชง้ านจอแสดงผลแบบ LCD เพื่ออ่านค่าอนาลอ็ กจาก VR ในการควบคุมหรือสั่งงาน ตัวจอ
LCD นน้ั มีส่วนควบคมุ (Controller) รวมไวใ้ นตัวแลว้ ผใู้ ชส้ ามารถส่งรหัสคาํ สง่ั ควบคมุ การทาํ งานของจอ LCD
ผ่าน Controller วา่ ต้องการใช้แสดงผลอยา่ งไร โดย LCD Controller ของจอตัวนี้เป็น Hitachi เบอร์
HD44780 และขาในการเชอ่ื มต่อระหวา่ ง LCD กบั Microcontroller มีดังนี้

หลกั สตู รการอบรมพฒั นาเกษตรกรร่นุ ใหม่: เทคโนโลยีเซนเซอร์เพื่อการเกษตร อ.ดร.สรุ พล วรภทั ราทร

60
ภาพท่ี 5.11 แสดงวงจรการใช้งานจอแสดงผลแบบ LCD เพอ่ื อา่ นค่าอนาล็อกจาก VR

ภาพที่ 5.12 แสดงโปรแกรมใชง้ านจอแสดงผล LCD แบบขนานเพ่ืออา่ นคา่ อนาล็อกจาก VR

หลงั จากทีอ่ ัพโหลดโปรแกรมลงไปแลว้ เม่อื ทดสอบการหมุนท่ี VR จะมีผลคือคา่ ของ ตัวเลขอนาลอ็ ก
จะเปลี่ยนไปตามการหมนุ โดยจะแสดงค่าตงั้ แต่ 0 ถงึ 1023 พร้อมกับสง่ คา่ ท่ีปรบั ได้ออกไปยงั หน้าต่าง Serial
Monitor เพอื่ แสดงค่าดว้ ย แต่หากใช้จอแสดงผล LCD แบบอนุกรมก็สามารถเขยี นโปรแกรม ไดใ้ หม่ ดงั น้ี

หลกั สตู รการอบรมพัฒนาเกษตรกรรุน่ ใหม่: เทคโนโลยเี ซนเซอรเ์ พอื่ การเกษตร อ.ดร.สุรพล วรภทั ราทร

61

ภาพที่ 5.13 แสดงโปรแกรมใชง้ านจอแสดงผล LCD แบบอนุกรมเพ่ืออ่านคา่ อนาลอ็ กจาก VR

แบบทดสอบการใช้งานจอแสดงผลแบบ LCD

1.) จงอธิบายหลกั การทำงานของจอแสดงผลแบบ LCD
2.) จงยกตวั อย่างชนดิ ของจอแสดงผลแบบ LCD
3.) จงวาดแบบการตอ่ วงจรจอแสดงผลแบบ LCD
4.) ไลบาราที่ใช้ในการเชื่อต่อระหวา่ ง Arduino กับจอ LCD ชอ่ื อะไร

หลักสูตรการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยเี ซนเซอรเ์ พ่ือการเกษตร อ.ดร.สรุ พล วรภทั ราทร

62

บทท่ี 6
การใชง้ านอปุ กรณ์กาํ เนดิ เสยี ง

วัตถุประสงค์

1. เพ่อื ใหม้ คี วามรู้ความเข้าใจในการเขยี นโปรแกรมไมโครคอนโทรลเลอร์ดว้ ยโปรแกรม Arduino
เพอ่ื ใชง้ านอุปกรณ์กาํ เนดิ เสยี ง

บทนำ

แหล่งกําเนิดเสยี งเกดิ จากวตั ถุทีท่ ําใหเ้ กิดเสียงเมื่อวตั ถุนัน้ เกิดการสน่ั สะเทือน แหล่งกําเนิดเสยี งแต่ ละ

ชนิดจะทาํ ให้กําเนิดเสยี งท่ีมีความแตกต่างกันไประดับความดงั ของเสยี ง และอุปกรณ์กําเนิดเสียง ก็คือ วตั ถุ

หรืออุปกรณ์ทเ่ี ปน็ แหลง่ กาํ เนิดของคลื่นเสยี ง ซึ่งในการใช้งานอุปกรณ์กําเนิดเสยี งในระบบงานของ

ไมโครคอนโทรลเลอรม์ ีความจําเปน็ อยา่ งมาก ซึง่ เสียงจะช่วยในการแจง้ เตือนในสถานะต่างๆ เชน่ การแจ้ง

เตอื นเม่ือกดปุ่ม การแจ้งเตือนเม่อื เกดิ ข้อผดิ พลาด ดงั น้ัน อุปกรณ์กาํ เนิดเสยี งจงึ มีความสําคัญในงานด้าน

6.1 อปุ กรณ์กําเนดิ เสียง

เสียงเป็นคลื่นแมเ่ หล็กไฟฟ้า เกิดข้ึนเม่อื วัตถุหรือแหล่งกําเนิดเสยี ง มกี ารส่ันสะเทือน ส่งผลตอ่ การ
เคลื่อนท่ีของโมเลกลุ ของอากาศท่อี ย่โู ดยรอบ กล่าวคือโมเลกุลของอากาศเหลา่ นัน้ จะเคล่ือนท่ีจาก ตําแหนง่
แหล่งกําเนิดเสยี งไปชนกับโมเลกลุ ของอากาศท่ีอยถู่ ัดออกไป จะเกิดการถา่ ยโอนโมเมนตัมจากโมเลกุล ท่ีมกี าร
เคลอ่ื นที่ไปใหก้ ับโมเลกลุ ของอากาศท่ีอยใู่ นสภาวะปกติจากนนั้ โมเลกุลท่ชี นกันจะแยกออกจากกนั โดย โมเลกลุ
ของอากาศท่ีเคลอ่ื นท่มี าชนจะถกู ดงึ กลบั ไปยังตําแหน่งเดิมด้วยแรงปฏกิ ิริยาและโมเลกุลทไ่ี ด้รับการถา่ ย โอน
พลังงานก็จะเคลื่อนทีต่ ่อไปและไปชนกับโมเลกลุ ของอากาศท่อี ยู่ถดั ไป เป็นดงั นไ้ี ปเรื่อยๆ จนเคลอ่ื นที่ไปถงึ หู
เกดิ การได้ยินขึ้นปรากฏการณน์ ี้จะเกิดสลบั กนั ไปมาได้เม่ือสอื่ กลางหรือตวั กลางคืออากาศซึ่งมีคุณสมบัติยึด
หยนุ่ การเคล่อื นท่ีของโมเลกุลอากาศจะเกิดเป็นคลืน่ เสยี ง

แหลง่ กําเนดิ เสยี ง คือ วตั ถทุ ่ีทําใหเ้ กิดเสยี งเม่ือวตั ถนุ นั้ เกิดการสัน่ สะเทือน แหล่งกําเนดิ เสยี งแต่ละ
ชนิดจะทาํ ให้กําเนิดเสยี งท่ีมีความแตกตา่ งกันไประดับความดงั ของเสียง

อุปกรณ์กาํ เนดิ เสยี ง จงึ หมายถงึ วตั ถุ หรืออุปกรณ์ทเ่ี ปน็ แหล่งกาํ เนิดของคลื่นเสยี ง ซง่ึ ใน การใชง้ าน
อุปกรณ์กําเนดิ เสียงในระบบงานของไมโครคอนโทรลเลอร์มีความจําเปน็ อย่างมาก ซ่ึงเสียงจะช่วยใน การแจง้
เตือนในสถานะตา่ งๆ เช่น การแจง้ เตือนเม่ือกดปมุ่ การแจง้ เตือนเมื่อเกิดขอ้ ผดิ พลาด เป็นต้น

หลักสูตรการอบรมพฒั นาเกษตรกรร่นุ ใหม่: เทคโนโลยีเซนเซอรเ์ พ่ือการเกษตร อ.ดร.สุรพล วรภัทราทร

63
ชนดิ ของอปุ กรณก์ าํ เนิดเสยี งในงานไมโครคอนโทรลเลอร์

อปุ กรณ์กําเนดิ เสยี งในงานไมโครคอนโทรลเลอร์ มกี ารใชง้ านทจ่ี าํ กัดในเร่ืองของ กระแสไฟฟา้ แรงดนั
ที่จะใช้ในการขบั ตวั อุปกรณ์กําเนดิ เสียงให้ทํางาน ดังน้นั อุปกรณ์กาํ เนดิ เสยี งในงาน ไมโครคอนโทรลเลอร์จึง
นิยมใช้ บลซั เซอร์ และลําโพงเปียโซขนาดเล็ก เปน็ ตวั ส่งสญั ญาณเสยี งออกมา โดยมีรายละเอียดดังนี้

(1) บลซั เซอร์ (Buzzer) หรือเรยี กอีกอย่างหนึ่งว่า แบบแอคทีฟ (Active Buzzer) เป็น ลําโพงแบบ
แมเ่ หล็ก หรือแบบเปียโซท่มี ขี นาดเลก็ มีวงจรกําเนิดความถ่ี (Oscillator) อยู่ภายในตวั ใชไ้ ฟเล้ยี ง
3.3 - 5 V สามารถสรา้ งเสยี งเตอื นหรือส่งสัญญาณเสยี งเตือนได้ทันทเ่ี พียงแคจ่ ่ายแรงดันไฟฟ้าเข้า
ไป เมอื่ ป้อน แรงดันสามารถกําเนดิ เสยี งได้ดว้ ยตัวเอง แต่ไม่สามารถเปล่ียนความถข่ี องเสียงได้

ภาพที่ 6.1 แสดงแหง่ กําเนดิ เสียง แบบแอคทฟี
(2) ลาํ โพงเปยี โซ (Piezo Speakers) หรือเรยี กอกี อย่างหนง่ึ ว่า แบบพาสซฟี (Passive Buzzer)

ลาํ โพงชนดิ น้ีทํางานเหมือนลําโพงขนาดเลก็ คอื ถา้ ป้อน แรงดันไฟฟา้ กระแสตรงเขา้ ไปไม่มีเสียง
ถ้า ตอ้ งการให้มสี ัญญาณเสยี งต้องทาํ การป้อนสญั ญาณความถ่ี เข้าไป ลําโพงชนดิ น้ีสามารถกาํ เนดิ
เสยี งทม่ี ีความ แตกต่างกันตามความถี่ทปี่ อ้ นเข้ามา ลกั ษณะจะคลา้ ยกันกับแบบแบบแอคทีฟ และ
บางตวั จะมลี กั ษณะเปน็ พลาสติก มีแผน่ เปียโซไดอะเฟรมอยขู่ า้ งใน เปยี โซชนดิ นกี้ ารท่ีจะทําให้มี
เสยี งจะตอ้ งมวี งจรสร้างสญั ญาณจาก ภายนอก เช่นกนั

ภาพท่ี 6.2 แสดงแห่งกําเนดิ เสียง แบบพาสซีฟ

หลักสูตรการอบรมพัฒนาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอรเ์ พ่ือการเกษตร อ.ดร.สุรพล วรภทั ราทร

64

6.2 การต่อวงจรอุปกรณ์กําเนดิ เสยี งกับไมโครคอนโทรลเลอร์

การตอ่ วงจรอุปกรณ์กาํ เนิดเสยี งแบบแอคทฟี กับไมโครคอนโทรลเลอร์ Arduino

อุปกรณ์กาํ เนิดเสียงแบบแอคทฟี จะมวี งจรกาํ เนิดความถี่อยูภ่ ายในตัว ใชไ้ ฟเลยี้ ง 3.3 - 5V สามารถ
สร้างเสยี งเตอื นหรือส่งสัญญาณเสยี งออกมาไดเ้ ลย ซึ่งขาของอุปกรณก์ าํ เนิดเสยี งแบบแอคทฟี จะมี 2 ขา คือ ขา
ทเ่ี ปน็ ขว้ั ไฟบวก และขาท่ีเปน็ ขัว้ ไฟลบ การตอ่ วงจรสามารถทาํ ได้ 2 แบบ คือ

(1) ข้ัวบวกของอปุ กรณ์กาํ เนิดเสียงแบบแอคทีฟ ต่อท่ี 45 V และ ขวั้ ลบของอุปกรณ์ กาํ เนิดเสียงแบบ
แอคทฟี ต่อท่ีขา Output ของ บอร์ด Arduino เมอื่ ไดร้ บั ลอจิก 0 อปุ กรณ์กําเนดิ เสยี งแบบ แอคทีฟจะสง่ เสียง
ดงั ออกมา และ หากได้รบั ลอจิก 1 อปุ กรณก์ ําเนิดเสยี งแบบแอคทฟี ก็จะดับ

(2) ขั้วลบของอุปกรณ์กําเนิดเสยี งแบบแอคทีฟ ตอ่ ที่ GND หรือ DV และ ข้ัวบวกของ อุปกรณก์ าํ เนดิ
เสียงแบบแอคทีฟ ต่อท่ีขา Output ของ บอร์ด Arduino เมื่อไดร้ บั ลอจกิ 1 อุปกรณ์กาํ เนิดเสียง แบบแอคทีฟ
จะส่งเสยี งดังออกมา และหากได้รับ ลอจกิ 0 อุปกรณก์ ําเนิดเสยี งแบบแอคทีฟก็จะดับ

ภาพที่ 6.3 แสดงการต่อวงจรอุปกรณ์กําเนิดเสียงแบบแอคทฟี กบั ไมโครคอนโทรลเลอร์ Arduino

การต่อวงจรอปุ กรณก์ ําเนดิ เสยี งแบบพาสซีฟกับไมโครคอนโทรลเลอร์ Arduino

การต่อวงจรอุปกรณ์กาํ เนดิ เสียงแบบพาสซีฟกับไมโครคอนโทรลเลอร์ Arduino ซึ่งพาส ซฟี บัสเซอร์
เป็นอุปกรณ์ทําหน้าท่คี ลา้ ยลาํ โพง เพยี งแต่ออกแบบมาเพ่ือใชใ้ นการส่งสญั ญาณเสยี งความถีส่ งู ๆ หากจา่ ยไฟ
บวก และไฟลบ กจ็ ะไมม่ เี สียงอะไรออกมา แต่อาจจะทาํ ใหต้ วั อุปกรณ์กําเนิดเสียงแบบพาสซฟี เกดิ ความ
เสียหายได้ การจะทําใหเ้ สียงดงั จะต้องใชค้ วามถี่จา่ ยเข้าไปที่ขาบวกของตัวอปุ กรณก์ ําเนิดเสียงแบบพาส ซีฟ
และจําเปน็ จะต้องมีทรานซิสเตอรส์ ําหรบั ชว่ ยขับสัญญาณเสยี งใหม้ ีความแรงข้นึ จึงจะสามารถต่อใช้งาน กับ
ไมโครคอนโทรลเลอร์ได้

หลักสูตรการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอร์เพอื่ การเกษตร อ.ดร.สุรพล วรภทั ราทร

65

ภาพท่ี 6.4 แสดงวงจรอปุ กรณ์กําเนิดเสยี งแบบพาสซีฟ ต่อรว่ มกบั ทรานซสิ เตอร์ เพื่อขยายสญั ญาณ

ภาพท่ี 6.5 แสดงการต่อวงจรอุปกรณ์กําเนิดเสียงแบบพาสซฟี กบั ไมโครคอนโทรลเลอร์ Arduino

6.3 โปรแกรมไมโครคอนโทรลเลอร์ใชง้ านอปุ กรณ์กาํ เนดิ เสียง

การเขียนโปรแกรมไมโครคอนโทรลเลอร์ใชง้ านอุปกรณ์กําเนดิ เสียงแบบแอคทฟี

ในการเขียนโปรแกรมไมโครคอนโทรลเลอรใ์ ช้งานอปุ กรณ์กําเนิดเสยี งแบบแอคทีฟ จะ เขยี น
เหมอื นกับการสั่งงานหลอดไฟ LED คอื ถา้ หลอดไฟ LED ติด กจ็ ะมเี สยี ง และถา้ หลอดไฟ LED ดบั เสียง ก็จะ
เงียบลงด้วย ทําไดโ้ ดยการสง่ ค่า ลอจกิ 0 หรอื 1 ออกไปน่ันเอง แสดงดงั โค็ดตัวอย่าง

หลกั สูตรการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พอ่ื การเกษตร อ.ดร.สรุ พล วรภัทราทร

66

ภาพท่ี 6.6 แสดงโปรแกรมการใชง้ านอุปกรณ์กําเนิดเสียงแบบแอคทีฟกบั ไมโครคอนโทรลเลอร์ Arduino

การเขยี นโปรแกรมไมโครคอนโทรลเลอรใ์ ช้งานอุปกรณก์ ําเนดิ เสยี งแบบพาสซฟี

ในการใชง้ าน Arduino กบั ลําโพงบซั เซอร์แบบพาสซีฟ จะต้องเขยี นโปรแกรมเพ่ือส่ง ความถ่จี าก
Arduino เข้าไปยังลาํ โพงบัซเซอร์แบบพาสซีฟ ปจั จุบันเครื่องใช้ไฟฟา้ โดยทว่ั ไปมีลาํ โพงบัซเซอร์ติด ต้งั อยู่
ภายในดว้ ย เช่น ในคอมพวิ เตอรใ์ ช้ลําโพงบซั เซอรเ์ พื่อสง่ สัญญาณใหท้ ราบว่าสถานะของคอมพิวเตอร์มี ปญั หา
อะไร หรือในเครอ่ื งซักผา้ อตั โนมตั ิ เครอื่ งปรับอากาศ เมื่อทาํ การกดปมุ่ บนเครื่องหรือรีโมตคอนโทรลจะ ไดย้ นิ
เสยี งปืนดงั ขน้ึ มาดว้ ยเพือ่ บอกให้รู้วา่ ขณะน้ีทําการกด สวิตชแ์ ลว้

การใชง้ านอปุ กรณ์กําเนิดเสยี งแบบพาสซีฟเพยี งเขยี นโคด้ สรา้ งสัญญาณ HIGH และ LOW สลับกนั ไป
มาอย่างรวดเรว็ หรอื ใน Arduino สามารถใช้ฟงั กช์ ่นั tonet) ไดเ้ ลย ข้อดีของบสั เซอรแ์ บบพาสซีฟ คือสามารถ
กําหนดความถเ่ี สียงที่ต้องการไดเ้ อง เช่น เสียงสงู เสยี งตํา่ หรอื ทาํ เปน็ เสยี งเพลงออกมาเลยกไ็ ด้ โดย สามารถ
เขยี นโคด้ เพื่อทดสอบไดด้ ังต่อไปน้ี

หลกั สตู รการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยเี ซนเซอรเ์ พื่อการเกษตร อ.ดร.สรุ พล วรภัทราทร

67

ภาพท่ี 6.7 แสดงโปรแกรมการใชง้ านอปุ กรณ์กําเนิดเสียงแบบพาสซีฟกับไมโครคอนโทรลเลอร์ Arduino

6.4 การประยกุ ตใ์ ช้งานอปุ กรณก์ ําเนิดเสยี งกับไมโครคอนโทรลเลอร์

การนาํ อุปกรณ์กําเนดิ เสยี งไปใชง้ านกบั ไมโครคอนโทรลเลอร์จะสามารถนาํ ไปใช้ในการแจ้งเตือน
สัญญาณเตือน เสยี งบอกสถานะต่าง โดยสามารถเลือกใชต้ วั อุปกรณ์กําเนดิ เสยี งได้ 2 ลักษณะ คือ การ
ประยุกต์ใชง้ านอุปกรณก์ ําเนิดเสยี งแบบแอ็คทีฟ และการประยกุ ต์ใชง้ านอปุ กรณ์กําเนิดเสยี งแบบพาสซีฟ โดย
มี ตวั อย่างการนําอปุ กรณ์กําเนดิ เสยี งไปใช้งาน ดังน้ี
การประยุกตใ์ ช้งานอปุ กรณก์ ําเนิดเสียงแบบแอ็คทฟี สรา้ งวงจรปลกุ ด้วยแสงตะวัน

วงจรปลุกด้วยแสงตะวนั เปน็ การประยกุ ตเ์ อาความสามารถของตัวตรวจจับแสง หรือตัว ต้านทานที่
เปล่ียนคา่ ตามแสงมาประใช้งานกบั อุปกรณ์กําเนดิ เสียงแบบแอ็คทฟี ทําเป็นวงจรปลุกด้วยแสงตะวนั โดยเมือ่ มี
แสงมาตกกระทบ LDR จะทําใหค้ า่ ความตา้ นทานลดตาํ่ ลง ขาอนาลอกอินพุตของไมโครคอนทรลเลอร์ ไดร้ ับ
ค่าทตี่ าํ่ ลง เมื่อค่าน้อยกว่าที่กําหนดจะส่ังให้พอรต์ เอาต์พตุ สง่ สญั ญาณเสียงออกมาผา่ นทางอุปกรณก์ าํ เนิด เสยี ง
แบบแอ็คทีฟ หรอื บัซเซอร์ พรอ้ มกบั ไฟสถานะทีเ่ ปน็ หลอด LED ติดสว่างขน้ึ ไม่ไม่ไดร้ ับแสงค่าอนาลอก อินพตุ
จะสูงขึน้ โปรแกรมจะสัง่ ใหเ้ อาตพ์ ตุ เปน็ 0 ทําให้ อปุ กรณ์กําเนดิ เสียงแบบแอ็คทีฟหยุดทาํ งาน พรอ้ มกัน กบั ไฟ
สถานะ LED ดบั ลงด้วย แสดงไดด้ งั วงจรต่อไปนี้

หลักสตู รการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยีเซนเซอร์เพือ่ การเกษตร อ.ดร.สรุ พล วรภทั ราทร

68
ภาพที่ 6.8 แสดงการต่อวงจรอุปกรณ์กาํ เนิดเสียงแบบแอ็คทฟี สร้างวงจรปลกุ ด้วยแสงตะวัน

ภาพท่ี 6.9 แสดงโปรแกรมการใชง้ านอปุ กรณก์ ําเนิดเสยี งแบบแอค็ ทีฟสร้างวงจรปลุกดว้ ยแสงตะวัน

หลักสตู รการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยีเซนเซอรเ์ พือ่ การเกษตร อ.ดร.สรุ พล วรภัทราทร

69

ภาพท่ี 6.10 แสดงวงจรปลกุ ดว้ ยแสงตะวัน

การประยกุ ต์ใช้งานอปุ กรณก์ ําเนดิ เสียงแบบพาสซฟี สรา้ งวงจรตรวจจับการเคลื่อนไหว
อปุ กรณ์ตรวจจบั การเคล่ือนไหว เมือ่ มีคนอยู่ในบรเิ วณเป้าหมาย (detection Zone) มีอยู่ หลาย

ประเภท เชน่ ทํางานโดยใชแ้ สงอนิ ฟราเรด หรอื ใช้คลื่นไมโครเวฟ ในการตรวจจบั การเคลื่อนไหว) แต่ ประเภท
หน่ึงท่ีพบเหน็ ไดบ้ ่อยเรยี กว่า PIR (Passive Infrared) human detection Sensor ซ่งึ ทาํ งานโดยการ ตรวจจบั
การเปลี่ยนแปลงของรังสีอนิ ฟราเรดทแ่ี ผอ่ อกมาจากร่างกายของมนุษย์ (หรอื แหล่งความรอ้ นอืน่ ๆ) และ
เปรยี บเทยี บกับพน้ื หลงั ตัวอย่างการนําไปประยุกต์ใช้งาน เชน่ การตรวจจบั ผ้บู กุ รุกในอาคาร การตรวจจบั ผูอ้ ยู่
ในห้องและกําหนดพฤติกรรมการทาํ งานของเคร่ืองปรบั อากาศ เปน็ ตน้

การประยุกตใ์ ช้งานอุปกรณ์กําเนิดเสยี งแบบพาสซฟี สรา้ งวงจรตรวจจับการเคลอื่ นไหว โดยการทดลอง
ใช้งานอปุ กรณ์สําหรับการตรวจจบั การเคล่อื นไหว ซึ่งเป็นโมเดล AMN34112 NaPiOn Series ของบรษิ ัท
Panasonic Electric Works (ใน NaPiOn Series มใี ห้เลอื กใชห้ ลายร่นุ แต่แตกต่างกันเช่น ให้ เอาตพ์ ุตแบบ
แอนลอกหรือดจิ ิตอล ใชแ้ รงดันไฟเล้ยี งต่ํากว่า 3V และลดการปริมาณกระแสทีใ่ ชไ้ ดห้ รือไม่ มุม และระยะใน
การตรวจจับ เป็นตน้ )

AMN34112 เปน็ โมดูลที่ใช้แรงดนั ไฟเล้ยี งไดใ้ นช่วง 3V.6V มีระยะการตรวจจับในช่วง 10 เมตร (10m
Detection Type) มขี าต่อใช้งาน 3 ขา คือ VDD, OUT, GND ภายในมวี งจรขยายสัญญาณและ ให้เอาตพ์ ุตเปน็
แบบดิจติ อล และในการนําไปใช้งานร่วมกบั บอร์ดไมโครคอนโทรลเลอร์อย่างเช่น Arduino จะตอ้ งต่อตวั
ต้านทานแบบ Pull-down (เลอื กใชค้ า่ ในชว่ ง 10 กิโลโอหม์ ถงึ 100 กโิ ลโอห์ม) ระหว่างของขา OUT กับ GND

หลกั สูตรการอบรมพัฒนาเกษตรกรร่นุ ใหม่: เทคโนโลยเี ซนเซอร์เพื่อการเกษตร อ.ดร.สุรพล วรภทั ราทร

70
ภาพท่ี 6.11 แสดงโมดูล AMN34112 (ซ้ายมือ) และโมดูลท่มี กี ารบัดกรขี า pin-header (ขวามอื )

ภาพท่ี 6.12 แสดงการต่อวงจรอุปกรณ์กาํ เนดิ เสยี งแบบพาสซีฟร่วมกบั วงจรตรวจจบั การเคลือ่ นไหว

โค้ดโปรแกรม Arduino น้ี สาธิตการทาํ งานของบอร์ด Arduino เพื่อรับสัญญาณดจิ ติ อล (ตอ่ กบั ขา
Arduino D2) จากโมดูล AMN34112 แลว้ สรา้ งสัญญาณเอาต์พุต (ขา Arduino D3) ใชส้ าํ หรับการ แจง้ เตอื น
โดยใช้วงจร LED กบั อปุ กรณ์กําเนดิ เสียงแบบพาสซีฟ หรือบัซเซอรเ์ สียงในกรณีทีต่ รวจจบั การ เคล่ือนไหวได้

หลักสูตรการอบรมพัฒนาเกษตรกรรนุ่ ใหม่: เทคโนโลยีเซนเซอรเ์ พ่ือการเกษตร อ.ดร.สุรพล วรภทั ราทร

71

แบบทดสอบการใชง้ านจอแสดงผลแบบ LCD

1.) จงอธบิ ายแหลง่ กำเนิดเสยี ง
2.) จงยกตัวอยา่ งชนิดของอปุ กรณก์ ำเนิดเสยี ง
3.) จงวาดแผนภาพการต่อวงจรอุปกรณก์ ําเนิดเสยี งกับไมโครคอนโทรลเลอร์
4.) จงยกตวั อย่างการประยกุ ตใ์ ชง้ านอุปกรณก์ ำเนิดเสียงกบั ไมโครคอนโทรเลอร์

หลกั สูตรการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยีเซนเซอรเ์ พ่ือการเกษตร อ.ดร.สรุ พล วรภทั ราทร

72

บทท่ี 7
การควบคมุ รเี ลย์

วัตถปุ ระสงค์

1. เพอื่ ใหม้ คี วามรู้ความเข้าใจในการเขยี นโปรแกรมไมโครคอนโทรลเลอรด์ ว้ ยโปรแกรม Arduino
เพ่อื ควบคมุ รเี ลย์

บทนำ

รีเลย์ (Relay) เป็นอุปกรณท์ เี่ ปลย่ี นพลงั งานไฟฟา้ ให้เป็นพลังงานแมเ่ หล็ก เพื่อใช้ในการดงึ ดดู
หนา้ สมั ผสั ของหนา้ สัมผสั สวิตช์ให้เปลยี่ นสภาวะ โดยการปอ้ นกระแสไฟฟ้าให้กับขดลวด เพือ่ ทําการปดิ หรือ
เปดิ หน้าสัมผัสคล้ายกับสวิตชอ์ เิ ลก็ ทรอนกิ ส์ ซ่ึงเราสามารถนาํ รเี ลย์ไปประยุกตใ์ ชใ้ นการควบคมุ วงจรตา่ ง ๆ ใน
งานชา่ งอเิ ลก็ ทรอนิกส์มากมาย โดยสามารถประยุกตใ์ ช้งานรว่ มกบั ไมโครคอนโทรลเลอร์ได้

7.1 รเี ลย์

รเี ลย์ (Relay) คอื อปุ กรณ์อเิ ลก็ ทรอนิกสท์ ่ีทาํ หน้าทเี่ ป็นสวิตซต์ ัด-ต่อวงจร โดยใช้ แม่เหล็กไฟฟ้า และ
การทจ่ี ะให้รเี ลย์ทาํ งานก็ต้องจ่ายไฟให้อปุ กรณ์ เมือ่ รีเลย์ได้รบั การจ่ายไฟ จะทาํ ให้ หนา้ สมั ผัสติดกัน กลายเป็น
วงจรปิด และตรงขา้ มทนั ทีท่ีไม่ไดจ้ า่ ยไฟใหร้ ีเลย์ ก็จะกลายเปน็ วงจรเปิด ไฟทีเ่ ราใช้ ป้อนให้กับตวั รเี ลยก์ ็จะเป็น
ไฟที่มาจากเพาเวอร์ของอปุ กรณ์ไฟฟ้า ดังน้ัน ทนั ทที ีเ่ ปดิ เครอื่ งก็จะทําให้รเี ลย์ ทาํ งาน ดว้ ยการพัฒนาของการ
ทาํ งานจงึ ทําให้ รีเลย์ ต้องมีการพฒั นารูปแบบ และแบง่ แยกประเภทตา่ งๆ เพิม่ เตมิ เพ่ือเป็นการช่วยเสรมิ และ
ตอบสนองใหท้ ันต่อการทํางานต่างๆ ท่มี ีความหลากหลายมากขนึ้ ใน ปัจจบุ นั

ภาพท่ี 7.1 แสดงลักษณะของรีเลย์

ภาพท่ี 7.2 แสดงสญั ลักษณ์ของรเี ลย์ อ.ดร.สุรพล วรภทั ราทร

หลักสตู รการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพ่อื การเกษตร

73

ประเภทของรีเลย์

ประเภทของรีเลย์ โดยสามารถออกแบ่งไดเ้ ป็น 4 ประเภทหลัก ไดด้ งั น้ี

(1) รเี ลยท์ ั่วไป (General Relay) เป็นประเภทหนงึ่ ของ Relay ซึง่ เป็นอุปกรณไ์ ฟฟา้ ทีม่ ี ใชใ้ นวงการ
อิเลก็ ทรอนิกส์ ทาํ หน้าท่ีเปน็ สวิทช์ไฟลาํ ดบั ทีส่ อง (secondary Switch) คอื เป็นสวิตซ์ ตดั -ตอ่
วงจร โดยใชแ้ ม่เหล็กไฟฟ้า การทจ่ี ะใหร้ ีเลย์ประเภทนี้ทํางานได้นน้ั จําเป็นต้องจา่ ยกระแสไฟให้
ตามท่กี ําหนด (รีเลย์ อาจทาํ งานด้วยแรงดนั ตา่ํ มาก คือ 5 VDC ไปจนถงึ 220 VDC หรือใช้กับไฟ
AC ตง้ั แต่ 110VAC ถึง 230VAC) เมอื่ มกี ารจ่ายกระแสไฟให้กับตวั รเี ลย์แลว้ ก็จะทําใหห้ น้าสัมผัส
เกิดการติดกนั กลายเป็นวงจรปดิ และในทาง ตรงกันข้ามทันทีท่ีไมไ่ ด้จา่ ยไฟใหก้ ็จะกลายเป็นวงจร
เปิด โดยไฟท่ีเราใช้ป้อนให้กับตวั รเี ลย์ก็จะเปน็ ไฟท่ีมาจาก แหลง่ จา่ ยไฟต่างๆ ดงั นน้ั ทันทที เี่ ปิด
เครอ่ื งก็จะทําใหร้ ีเลย์ทาํ งานได้

ภาพที่ 7.3 แสดงรีเลย์ทัว่ ไป (General Relay)
(2) ไทเมอรร์ ีเลย์ (Timer Relay) เป็นรเี ลย์ประเภทหน่งึ ท่ีใชส้ าํ หรบั ควบคุมด้านเวลา การทํางานของ

อุปกรณ์นยิ มใชใ้ นงานอตุ สาหกรรมโรงงาน หรอื เป็นสว่ นประกอบของเครื่องจักรบางประเภท เป็น
ตน้

ภาพที่ 7.4 แสดงไทเมอรร์ ีเลย์ (Timer Relay)
(3) โซลติ สเตทรีเลย์ (Solid State Relay) เปน็ รเี ลยท์ ่ีมีโครงสรา้ งแตกต่างจากรเี ลย์ แบบอื่นๆ จะใช้

อปุ กรณ์เซมคิ อนดัคเตอร์ หรือสารก่งึ ตวั นํา เชน่ ทรานซิสเตอร์ เอสซีอาร์ ไทรแอ็ก เป็นต้น ชว่ ย
ลดเสียงรบกวนและยืดอายกุ ารใช้งานมี 2 ชนดิ คือ แบบ Single Phase และแบบ 3 Phase

หลกั สูตรการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยีเซนเซอรเ์ พื่อการเกษตร อ.ดร.สรุ พล วรภทั ราทร

74

ภาพที่ 7.5 แสดงโซลิตสเตทรีเลย์ (Solid State Relay)
(4) รีเลย์ปอ้ งกัน (Protection Relay) เปน็ อุปกรณท์ ี่ใช้ในการตรวจจบั ความผิดปกตทิ ี่ เปดิ กับอปุ กรณ์

ไฟฟา้ และสงั่ การปลดอปุ กรณ์ไฟฟ้าออกจากระบบไฟฟา้ โดยเร็ว ใชป้ อ้ งกันกระแสไฟฟา้ เกนิ
ปอ้ งกนั แรงดนั ไฟฟ้าสูงหรอื ตํ่าจนเกนิ ไป และ Phase Sequence

ภาพท่ี 7.6 แสดงรเี ลยป์ ้องกัน (Protection Relay)
7.2 การต่อวงจรรีเลย์กับไมโครคอนโทรลเลอร์
โมดลู รเี ลย์

โมดูลรเี ลย์ 1 ตวั ใช้ในการควบคมุ กระแสไฟฟา้ ตา่ งๆ ทํางานไดท้ ั้งกระแสตรงและ กระแสสลบั AC-DC
(output) รับกระแสมากสดุ 10A โดยรบั แรงดัน 5V จากไมโครคอนโทรเลอร์ เพื่อขับการ ทาํ งานของรีเลย์
สามารถใชไ้ ด้กบั ไมโครคอนโทรเลอรท์ ุกแบบ เชน่ Arduino, NodeMCU, ESP32, Raspberry Pi, Orange Pi
เปน็ ต้น

หลักสตู รการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยเี ซนเซอร์เพ่อื การเกษตร อ.ดร.สรุ พล วรภทั ราทร

75

ภาพที่ 7.7 แสดงโมดลู รีเลย์ 1 ช่อง

ภาพท่ี 7.8 แสดงวงจรโมดูลรีเลย์ 1 ชอ่ ง

การตอ่ วงจรโมดูลรีเลยก์ บั ไมโครคอนโทรลเลอร์ Arduino

การต่อวงจรโมดูลรเี ลยก์ บั ไมโครคอนโทรลเลอร์ Arduino เพอ่ื ควบคุม เปิดปดิ ไฟบ้าน ควบคมุ เปดิ ปดิ
อุปกรณ์ไฟฟ้าภายในบา้ น รเี ลย์ จะทาํ หนา้ ที่เหมือนสวติ ช์ทางไฟฟ้า ควบคุมการสับสะพานไฟ ด้วยสัญญาณ
Digital 1 0 ปกติการเปิดปิดไฟบา้ นเราจะใช้นว้ิ ในการกดสวติ ช์ แตถ่ ้าเราใช้รเี ลยแ์ ทนสวติ ช์ เรา สามารถนํา
สญั ญาณดจิ ติ อลมาควบคุมการเปดิ ปิดได้ สามารถนํามาประยุกต์ทํา Smart Home ควบคุมเปิดปิด อปุ กรณ์
ไฟฟ้าต่างๆ ภายในบา้ นได้ รีเลย์ทําหน้าทีเ่ หมือนสะพานไฟ ไมจ่ าํ เป็นต้องใชก้ บั ไฟ 220 VAC สามารถ ใช้กบั ไฟ
DC ได้ เช่น 12VDC รีเลยค์ วบคุมการไฟ 12VDC ได้ ดังวงจรตอ่ ไปนี้

หลักสตู รการอบรมพัฒนาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพ่อื การเกษตร อ.ดร.สุรพล วรภทั ราทร

76

ภาพที่ 7.9 แสดงการต่อวงจรโมดูลรเี ลยก์ ับไมโครคอนโทรลเลอร์ Arduino
7.3 โปรแกรมไมโครคอนโทรลเลอร์ควบคุมรีเลย์

การเขียนโปรแกรมไมโครคอนโทรลเลอรค์ วบคมุ รเี ลย์ จะเหมือนกันกับการเขยี นโปรแกรมเพื่อใช้งาน
หลอดไดโอดเปล่งแสง เพียงแตเ่ ปล่ยี นจากสถานะของอุปกรณ์จากไดโอดเปล่งแสง มาเป็นโมดูลรีเลย์ ดงั โคด็
โปรแกรมตอ่ ไปน้ี

ตอนแรก Arduino ยังไมส่ ง่ สัญญาณมาให้รีเลย์ ไฟสถานะรีเลย์ยงั ไมต่ ดิ ขา 2 ขา 3 ยงั ไม่ตดิ กนั ไฟ ไหล
ไม่ครบวงจร หลอดไฟยงั ไม่ติด รเี ลย์จะเหมือนสวติ ชท์ างไฟฟา้ ที่ใชส้ ัญญาณ ดิจิตอล 1 และ 0 มาควบคมุ การ
เปิดปิด สัญญาณที่ทําให้รีเลย์ทํางานต้องดูชนิดของรีเลย์มีแบบ Active HIGH และ Active LOW

ภาพที่ 7.10 แสดงโปรแกรมไควบคุมรเี ลย์

หลกั สูตรการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พอื่ การเกษตร อ.ดร.สุรพล วรภัทราทร

77
7.4 การประยุกตใ์ ช้งานรเี ลย์กับไมโครคอนโทรลเลอร์

การประยุกตใ์ ช้งานรเี ลยก์ บั ไมโครคอนโทรลเลอร์ สามารถนํามาประยุกต์ ทาํ Smart Home ควบคมุ
เปิดปิดอุปกรณ์ไฟฟ้าต่างๆภายในบ้านได้ หรือจะนํามาทํา Smart Farm ควบคมุ การจา่ ยนำ้ ในฟารม์ ได้ โดยมี
ตวั อย่างการประยุกต์ใชง้ านรเี ลยก์ บั ไมโครคอนโทรลเลอร์ ดังนี้ การประยกุ ตใ์ ช้งานควบคุมมอเตอร์ด้วยโมดูล
รเี ลย์
ในการประยุกต์ใช้งานควบคมุ มอเตอรด์ ้วยโมดลู รเี ลย์ จะใช้โมดูลรเี ลยท์ ี่มีตัวรีเลย์ท้ังหมด 2 ตวั เพอ่ื ใช้ในการ
ควบคมุ มอเตอร์ ในการกําหนดทิศทางของการหมุน โดยการกดทสี่ วิตช์เพอ่ื สั่งงานให้ มอเตอรห์ มนุ ไป และหมนุ
กลบั ดงั วงจรตอ่ ไปนี้

ภาพที่ 7.11 แสดงวงจรการประยกุ ต์ใชง้ านควบคมุ มอเตอร์ดว้ ยโมดูลรเี ลย์

หลกั สตู รการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอร์เพ่อื การเกษตร อ.ดร.สรุ พล วรภทั ราทร

78

ภาพที่ 7.12 แสดงโปรแกรมการประยุกตใ์ ชง้ านควบคุมมอเตอร์ดว้ ยรเี ลย์

แบบทดสอบการควบคุมรเี ลย์

1.) จงอธิบายความหมายของรเี ลย์
2.) จงยกตัวอยา่ งชนดิ ของรีเลย์
3.) จงวาดแผนภาพการต่อรีเลยก์ ับไมโครคอนโทรเลอร์
4.) จงยกตวั อย่างการประยกุ ต์รเี ลย์กบั ไมโครคอนโทรเลอร์

หลกั สูตรการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยีเซนเซอร์เพื่อการเกษตร อ.ดร.สุรพล วรภทั ราทร

79

บทที่ 8
การใช้งานอุปกรณ์ตรวจจับระดบั น้ำ

วัตถปุ ระสงค์

1. เพ่อื ใหม้ คี วามรู้ความเขา้ ใจในการเขยี นโปรแกรมไมโครคอนโทรลเลอรด์ ้วยโปรแกรม Arduino
เพ่อื ใชง้ านอปุ กรณต์ รวจจบั ระดับน้ำ

บทนำ

อปุ กรณ์ตรวจจับระดบั นำ้ (Water Level Sensor) เปน็ อุปกรณเ์ ซนเซอร์ที่ใช้วัดระดับนำ้ ซง่ึ สามารถ
ใชง้ านง่ายและมปี ระโยชนใ์ ชว้ ัดระดบั นำ้ ผ่านแถบหนา้ สัมผัสเมอื่ นำ้ มาถึงจุดเซนเซอร์ จะให้สัญญาณ 1 ออกมา
เป็นอนาลอ็ กเอาท์พุท ใชไ้ ฟ 3.3 - 5 โวลต์ สามารถอา่ นได้โดยตรงดว้ ยผา่ นบอร์ด Arduino เหมาะสําหรับใชท้ าํ
โครงงานเกย่ี วกบั เครือ่ งเตอื นระดบั นำ้ และให้ออกแบบสรา้ งเป็นระบบท่ีต้องตรวจจับความช้นื ได้ โดยถูก
ออกแบบมาสําหรบั การตรวจจับนำ้ ซง่ึ สามารถนาํ มาใชก้ ันอยา่ งแพรห่ ลายในการตรวจจับปริมาณน้ำฝน ระดับ
นำ้ แม้กระท่งั การรั่วไหลของของเหลว ส่วนใหญป่ ระกอบด้วยสามส่วน คือ ข้ัวต่อแบบอเิ ล็กทรอนิกส์ ตวั
ตา้ นทาน และสายนําไฟฟ้าเปลอื ยหลายเสน้

8.1 อุปกรณต์ รวจจบั ระดบั นำ้

อุปกรณ์ตรวจจับระดับน้ำ (Water Level Sensor) เป็นอุปกรณ์เซนเซอรท์ ่ีใชว้ ดั ระดับนำ้ ซงึ่ สามารถ
ใช้งานง่ายและมปี ระโยชนใ์ ช้วดั ระดบั น้ำผ่านแถบหนา้ สัมผัสเม่อื น้ำมาถงึ จุดเซนเซอร์ จะใหส้ ญั ญาณ 1 ออกมา
เปน็ อนาลอ็ กเอาท์พทุ ใชไ้ ฟ 3.3 - 5 โวลต์ สามารถอา่ นได้โดยตรงดว้ ยผา่ นบอรด์ Arduino เหมาะ สําหรบั ใช้
ทาํ โครงงานเก่ียวกบั เคร่ืองเตือนระดับนำ้ และให้ออกแบบสรา้ งเปน็ ระบบท่ีต้องตรวจจับความชืน้ ได้

อุปกรณ์ตรวจจับระดบั น้ำ ถกู ออกแบบมาสาํ หรบั การตรวจจบั นำ้ ซึ่งสามารถนาํ มาใชก้ ัน อย่าง
แพรห่ ลายในการตรวจจับปรมิ าณน้ำฝน ระดับน้ำ แม้กระทงั่ การรัว่ ไหลของของเหลว ส่วนใหญ่ ประกอบด้วย
สามส่วน คอื ขว้ั ต่อแบบอิเล็กทรอนกิ ส์ ตวั ต้านทาน และสายนาํ ไฟฟา้ เปลือยหลายเส้น

หลกั สตู รการอบรมพฒั นาเกษตรกรร่นุ ใหม่: เทคโนโลยีเซนเซอร์เพื่อการเกษตร อ.ดร.สรุ พล วรภทั ราทร

80

ภาพที่ 8.1 แสดงอปุ กรณต์ รวจจับระดบั นำ้ แบบต่างๆ
หลกั การทาํ งานของอุปกรณ์ตรวจจบั ระดบั น้ำ

อุปกรณ์ตรวจจบั ระดับน้ำ เป็นเซนเซอรต์ รวจจับระดับน้ำขนาดเล็ก ทม่ี ีประสิทธภิ าพและ ราคาไม่แพง
ซึ่งจะให้สัญญาณออกมาเป็นแบบสัญญาณอนาล็อกเปล่ียนแปลงคา่ ทเี่ อาต์พุต ใช้พลังงานตาํ่ และ มีความไวสูง
โดยอุปกรณต์ รวจจบั ระดบั นำ้ มีเอาต์พตุ เป็นแบบอนาลอ็ ก อยู่ในชว่ งแรงดันตั้งแต่ 0 ถึง 5 โวลต์ จําเปน็ ต้องอ่าน
แรงดันไฟฟา้ แบบอนาลอ็ กโดยใช้ ADC (ตัวแปลงสัญญาณอนาลอ็ กเป็นดจิ ติ อล) และแปลงเป็น คา่ ดิจติ อล แล้ว
จึงนําเอาค่าท่ไี ดม้ าใชง้ านต่อไป

ภาพท่ี 8.2 แสดงอุปกรณต์ รวจจับระดบั น้ำ แบบมีลายเส้นหลายเส้น

หลักสตู รการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พื่อการเกษตร อ.ดร.สรุ พล วรภัทราทร

81

ภาพท่ี 8.3 แสดงอุปกรณ์ตรวจจบั ระดบั นำ้ แบบ 2 ขา
อปุ กรณ์ตรวจจบั ระดับน้ำ มที ั้งแบบสองขา แบบมลี ายเสน้ หลายเส้น แตล่ ะขาหรอื แถบจะ ถูกชบุ ด้วย
วัสดตุ ัวนําซ่ึงมักเปน็ ทองแดง อุปกรณ์ตรวจจับระดับนำ้ ท้ังสองขาทําหน้าทีเ่ ปน็ ตวั ต้านทานแปรผนั ขาข้างหนึ่ง
จา่ ย แรงดันไฟฟ้า + และขาอีกขา้ งหน่ึงสร้างกราวด์ เม่อื ขาทัง้ สองจุ่มลงในนำ้ เสน้ ทางไฟฟ้าจะถูกสร้างขน้ึ
ระหวา่ งสองขาและอุปกรณต์ รวจจบั ระดบั น้ำเร่ิมนํากระแสไฟฟา้ ค่าของสื่อกระแสไฟฟ้า จะข้ึนอยกู่ ับ
อตั ราสว่ นหรือระดับของน้ำ ในวงจรอุปกรณ์ตรวจจับระดับน้ำ

หลกั สูตรการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยเี ซนเซอรเ์ พ่ือการเกษตร อ.ดร.สรุ พล วรภัทราทร

82

ภาพที่ 8.4 แสดงหลกั การทาํ งานของอปุ กรณต์ รวจจับระดับนำ้ แบบ 2 ขา

เม่ืออปุ กรณ์ตรวจจบั ระดบั นำ้ สัมผสั กบั น้ำอยา่ งต่อเนื่องเปน็ เวลานาน ทองแดงทลี่ ายเสน้ หรอื ทีข่ าจะ
เริ่มสลายตวั เนอื่ งจากน้ำและประจะไฟฟา้ ทําให้อายกุ ารใชง้ านของอุปกรณ์ตรวจจบั ระดบั นำ้ ส้นั ลง มวี ธิ ีแก้ไข
โดย การชุบส่วนทองแดงหรือขาดว้ ยทองคาํ ซึ่งไม่ทาํ ใหเ้ กิดการกดั กรอ่ นของสนิม หากใช้งานจริง จะต้องเลอื ก
ซื้อขาทป่ี อ้ งกันจากปรากฏการณ์กดั กร่อนนี้

8.2 การต่อวงจรอปุ กรณ์ตรวจจับระดบั นำ้ กบั ไมโครคอนโทรลเลอร์

อปุ กรณ์ตรวจจับระดับน้ำ มีขาตอ่ ใช้งาน 3 ขา โดยมขี าไฟเลีย้ ง 2 ขา เช่อื มต่อกับ + 5V ของ Arduino
ของเหลว หรอื นำ้ ขานี้จะเชือ่ มต่อกบั ขาอนาลอ็ กอนิ พุตบนบอรด์ arduino ที่จะอา่ นคา่ และนําไปประยกุ ต์ใช้

หลักสตู รการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พอ่ื การเกษตร อ.ดร.สุรพล วรภทั ราทร

83

ภาพท่ี 8.5 แสดงตําแหน่งขาของอปุ กรณต์ รวจจบั ระดับนำ้
การต่อวงจรอุปกรณต์ รวจจับระดับนำ้ กับไมโครคอนโทรลเลอร์ จะใช้เซ็นเซอร์ตรวจจับน้ำเพ่ือ
ตรวจสอบปริมาณน้ำทม่ี ใี นถงั โดยใช้ S pin เปน็ อินพุตแบบอนาล็อกท่ีเชือ่ มต่อกับ Arduino ค่าที่อ่านจะสงู ขึ้น
ตามพน้ื ผวิ เซ็นเซอร์ทีป่ กคลุมดว้ ยนำ้ เพราะน้ำทําหน้าทีเ่ ปน็ ตวั นําเนอ่ื งจากน้ำท่ีใช้ในการทดลองไม่ใช่น้ำ
บริสทุ ธิ์ (H2O) เพราะถ้าน้ำไมเ่ ปน็ ตัวเหนย่ี วนํา แต่ไม่ค่อยมีใครใชเ้ ซ็นเซอรป์ ระเภทนเี้ พื่อวดั ระดบั น้ำในถังเกบ็
น้ำ

ภาพท่ี 8.6 แสดงวธิ ีการทดสอบอุปกรณ์ตรวจจับระดบั น้ำ

หลักสูตรการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยีเซนเซอร์เพอ่ื การเกษตร อ.ดร.สรุ พล วรภทั ราทร

84

ภาพที่ 8.7 แสดงการต่อวงจรอปุ กรณ์ตรวจจบั ระดับน้ำกบั ไมโครคอนโทรลเลอร์
8.3 โปรแกรมไมโครคอนโทรลเลอร์ใชง้ านอุปกรณ์ตรวจจบั ระดบั นำ้

ในการเขียนโปรแกรมเพือ่ ใช้งานอปุ กรณ์ตรวจจบั ระดบั นำ้ จะใชว้ ธิ กี ารเขยี นโปรแกรมเชน่ เดยี วกันกบั
การอา่ นค่าจากตวั ตรวจจับแบบอนาล็อกโดยจะให้ค่าแสดงเป็นเปอรเ์ ซ็นต์ผ่านทางหน้าตา่ ง Serial Monitor
เม่ือเขียนโปรแกรมเสรจ็ แลว้ ให้ อพั โหลดโค้ดลงไปยังไมโครคอนโทรลเลอร์ แล้วเปดิ หนา้ ตา่ ง Serial Monitor
โดยตัวคา่ ตวั เลขจะไปแสดงท่ีหนา้ ต่าง Serial Monitor โคด้ โปรแกรมเพ่ือทดสอบการทํางาน ดงั ตอ่ ไปน้ี

ภาพท่ี 8.8 แสดงโปรแกรมไมโครคอนโทรลเลอร์ใช้งานอปุ กรณ์ตรวจจับระดับนำ้

หลักสตู รการอบรมพัฒนาเกษตรกรร่นุ ใหม่: เทคโนโลยีเซนเซอรเ์ พอื่ การเกษตร อ.ดร.สรุ พล วรภทั ราทร

85

ภาพที่ 8.9 แสดงคา่ เปอร์เซ็นต์อุปกรณต์ รวจจบั ระดบั น้ำผา่ นทางหนา้ ต่าง Serial Monitor

8.4 การประยุกต์ใช้งานอุปกรณ์ตรวจจบั ระดบั น้ำกับไมโครคอนโทรลเลอร์

การประยุกตใ์ ช้งานอุปกรณต์ รวจจับระดบั นำ้ กับไมโครคอนโทรลเลอร์ สามารถนํามาประยกุ ต์ ใน การ
สร้างเครอ่ื งเตือนระดับน้ำลน้ ระบบตัดจา่ ยน้ำอัตโนมตั ิ ระบบรถน้ำตน้ ไม้แบบอัตโนมัติ และเคร่ืองวัดค่าค่า
ความชนื้ เปน็ เปอร์เซน็ ต์ ให้แสดงผลออกมาทางจอแสดงผลแบบ LCD นาํ มาออกแบบทาํ เปน็ ระบบ Smart
Farm เป็นตน้ โดยมตี วั อยา่ งการประยุกตใ์ ช้งานอปุ กรณ์ตรวจจับระดับนำ้ กบั ไมโครคอนโทรลเลอร์ ดังน้ี การ
ประยุกตใ์ ชง้ านอปุ กรณ์ตรวจจบั ระดับนำ้ แสดงผลผ่านจอ LCD

ในการประยุกต์ใชง้ านอุปกรณ์ตรวจจบั ระดับนำ้ แสดงผลผ่านจอ LCD เพ่ือทาํ เป็น เครอ่ื งตรวจจบั
ระดับนำ้ จะใชอ้ ุปกรณ์ตรวจจับระดบั น้ำแบบหลายเสน้ และจอแสดงผลแบบ LCD ขนาด 16x2 แบบอนกุ รม
ผ่านทางบัส 12C แสดงเปน็ ค่าเปอร์เซน็ ต์ ดังวงจรต่อไปนี้

ภาพที่ 8.10 แสดงวงจรการประยุกต์ใชง้ านอปุ กรณต์ รวจจับระดบั นำ้ แสดงผลผ่านจอ LCD

หลักสูตรการอบรมพัฒนาเกษตรกรรุ่นใหม่: เทคโนโลยีเซนเซอรเ์ พ่ือการเกษตร อ.ดร.สรุ พล วรภทั ราทร

86

ภาพที่ 8.11 แสดงโปรแกรมการประยุกตใ์ ชง้ านอุปกรณ์ตรวจจบั ระดบั นำ้ แสดงผลผา่ นจอ LCD

แบบทดสอบการใชง้ านอุปกรณต์ รวจจับระดับน้ำ

1.) จงอธบิ ายความหมายของอปุ กรณ์ตรวจจบั น้ำ
2.) จงอธบิ ายหลกั การทำงานของอุปกรณ์ตรวจจับระดบั นำ้
3.) จงวาดแผนภาพการตอ่ วงจรอุปกรณต์ รวจจบั ระดบั นำ้ กับไมโครคอนโทรลเลอร์
4.) จงยกตัวอย่างการประยกุ ตใ์ ช้อุปกรณต์ รวจจับระดับน้ำกบั ไมโครคอนโทรเลอร์

หลักสตู รการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยีเซนเซอรเ์ พอ่ื การเกษตร อ.ดร.สรุ พล วรภทั ราทร

87

บทท่ี 9
การใช้งานอุปกรณต์ รวจวัดอณุ หภูมิความชนื้

วตั ถุประสงค์

1. เพือ่ ให้มีความรู้ความเข้าใจในการเขยี นโปรแกรมไมโครคอนโทรลเลอร์ด้วยโปรแกรม Arduino
เพ่ือ ใชง้ านอปุ กรณต์ รวจวดั อุณหภูมคิ วามช้นื

บทนำ

อปุ กรณ์ตรวจวดั อณุ หภูมคิ วามชนื้ คือ โมดูล หรอื เซ็นเซอร์สําหรบั วัดอณุ หภูมิ และความชนื้ ใน อากาศ
ใชง้ านงา่ ยและสามารถใชง้ านกับ Arduino Uno ได้ ซ่ึงจะมอี ยสู่ องแบบ คือ แบบที่มาเปน็ โมดลู กบั แบบทีม่ ีแต่
เซ็นเซอร์มาให้อย่างเดยี ว โดยการรบั สง่ ข้อมูลจาก อุปกรณต์ รวจวดั อณุ หภูมคิ วามชน้ื นนั้ จะใช้ สายสัญญาณ
เสน้ เดยี วกนั และเป็นสัญญาณแบบดิจติ อล ใช้ในการวัดค่าอณุ หภมู ิ และความช้ืนในอากาศ เพ่ือ นําไป
ประยกุ ตใ์ ชง้ านกบั ไมโครคอนโทรลเลอร์ออกแบบเปน็ ระบบควบคุม

9.1 อปุ กรณ์ตรวจวัดอณุ หภูมคิ วามช้นื

ความหมายของอปุ กรณต์ รวจวดั อุณหภูมิความชน้ื

ความช้นื (Humidity) คือ ปรมิ าณไอนำ้ ท่ีมอี ยู่ในอากาศบริเวณใดบริเวณหน่งึ ซึ่งมีสดั ส่วน ที่แตกตา่ ง
กันไปในแตล่ ะท้องท่ี ถ้าอากาศมคี วามชืน้ ต่ํา นำ้ ก็จะระเหยได้มาก แต่ถา้ อากาศมีความชน้ื สูง น้ำกจ็ ะ ระเหยได้
น้อย โดยความช้นื นั้นมหี ลายประเภท ได้แก่ ความชื้นสมั บูรณ์ ความชน้ื จําเพาะ และความชน้ื สัมพทั ธ์

ความชน้ื สัมพทั ธ์ คือ อัตราส่วนของปรมิ าณไอนำ้ ในอากาศตอ่ ปรมิ าณไอน้ำที่ทําให้อากาศ อม่ิ ตวั (อากาศอ่ิมตวั
คือ อากาศทมี่ ีไอน้ำอยูเ่ ต็มท่แี ละไม่สามารถรับเพมิ่ ได้อีกแล้ว ณ อุณหภมู หิ น่ึง)

ภาพท่ี 9.1 แสดงสตู รหาค่าความช้ืนสมั พัทธ์

อุณหภูมิ (Temperature) คอื ปริมาณความร้อน ถา้ อากาศรอ้ น ปรมิ าณความร้อนก็จะ มาก แตถ่ ้า
อากาศเย็น ปรมิ าณความร้อนก็จะน้อย

อุปกรณ์ตรวจวดั อุณหภูมิความชน้ื คือ โมดลู หรอื เซน็ เซอร์สําหรบั วดั อณุ หภมู ิ และ ความชน้ื ในอากาศ
หรอื Temperature Sensor Humidity Sensor เปน็ อปุ กรณ์สาํ หรบั ตรวจวัดอุณหภูมิ หรอื ความชน้ื ในบริเวณ
ที่ใชง้ าน ซึ่งเหมาะสาํ หรบั ห้องควบคุมอณุ หภมู คิ วามชื้น อุตสาหกรรมอาหาร ห้องอบ หอ้ งแชเ่ ย็น หอ้ งทดลอง

หลกั สูตรการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยเี ซนเซอร์เพ่ือการเกษตร อ.ดร.สรุ พล วรภัทราทร

88

ห้องควบคุมระบบคอมพวิ เตอร์ Clean Room Warehouse ทีม่ ี ปญั หาในการควบคุม อุณหภูมิ หรือ ความชนื้
ทําให้เกิดความเสยี หายต่ออุปกรณ์ หรือวสั ดุท่ีตอ้ งการควบคมุ อุณหภูมิ ความชนื้ อุปกรณต์ รวจวัดอณุ หภมู ิ
ความช้นื สามารถช่วยให้ วดั คา่ อุณหภมู ิ ความชื้นไดอ้ ยา่ งถกู ต้อง แม่นยํา และ สามารถเขียนโปรแกรมควบคุม
ไดง้ ่าย

ภาพที่ 9.2 แสดงอปุ กรณต์ รวจวัดอณุ หภูมิความชืน้ DHT11 และ DHT22

หลักการทาํ งานของอปุ กรณ์ตรวจวดั อณุ หภูมคิ วามชน้ื DHT

DHT มาจากคําว่า Digital Humidity and Temperature Sensor แปลตรงตวั คอื เซนเซอร์ตรวจจบั
ความชื้นและอุณหภูมแิ บบดจิ ิตอล มีความสามารถในการตรวจวดั ความชนื้ และอณุ หภูมใิ น อากาศ โดยสามารถ
ให้ค่าออกมา 3 แบบคือ

(1) ความช้ืน (Humidity) โดยคา่ ท่ีได้เป็นความชืน้ สมบรู ณ์ (Absolute Humidity) หมายถึง อตั ราส่วน
ระหวา่ งมวลของไอน้ำที่มีอยู่ในอากาศตอ่ 1 หน่วยปริมาตรของอากาศ มีหนว่ ยเป็น กรัม/ ลกู บาศก์เมตร
ความช้ืนสัมบูรณ์จะเปล่ียนไปตามความดนั อากาศทีเ่ ปล่ยี นแปลงไป

(2) อุณหภูมิ (Temperature) ค่าเฉล่ยี ของพลังงานจลน์ของอนภุ าคในสสารใด ๆ ซึง่ สอดคล้องกบั
ความรอ้ นหรือเยน็ ของสสารน้ัน (ในท่ีนีค้ ืออากาศ)

(3) ดัชนีความร้อน (Heat index) เปน็ ดัชนีการวัดคา่ ความร้อนท่ีแทจ้ ริงทเ่ี รารู้สึกสืบ เนอ่ื งมาจากผล
ของความชืน้ ในสภาวะความอุณหภูมสิ งู และความช้ืนในอากาศสูงรา่ งกายของคนเราจะรู้สกึ รอ้ น กวา่ อุณหภมู ิ
ทว่ี ัดไดจ้ ากเทอรโ์ มมเิ ตอร์

โดยท่ีอุปกรณ์ตรวจวัดอุณหภูมิความช้นื DHT11 และอุปกรณต์ รวจวัดอณุ หภมู ิความชื้น DHT22 มกี าร
ใชง้ านทเ่ี หมือนกัน แตกต่างเพียงความสามารถในการวัดค่าทีต่ ัว DHT22 จะมีความสามารถสงู กว่า เรม่ิ จาก
MCU จะส่งสัญญาณ put down voltage ไปยงั DHT11/22 โดย ถ้าเป็น DHT 11 จะใชเ้ วลาส่ง down

หลกั สตู รการอบรมพัฒนาเกษตรกรรนุ่ ใหม่: เทคโนโลยีเซนเซอรเ์ พือ่ การเกษตร อ.ดร.สรุ พล วรภัทราทร

89

voltage อยา่ งตำ่ 18 ms แตถ่ ้าเปน็ DHT22 จะใช้เวลาอยา่ งต่ำ 1 ms และ MCU จะ put up voltage เพ่ือรอ
การตอบสนองจาก DHT ประมาณ 20-40 us หลังจากนนั้ DHT จะสง่ สัญญาณ put down Voltage เวลา 80
us เป็นการตอบสนองไปยัง MCU แลว้ DHT กจ็ ะ put up voltage เพอื่ เตรียมสง่ ข้อมูล โดยในการส่งข้อมูล
แตล่ ะบิต DHT จะมีการ put down voltage 50 us หลังจาก DHT มกี าร pull down voltage 50 us เพือ่
เป็นการบอก MCU ว่าจะส่งข้อมูล 1 บติ โดยการสง่ บิตค่า “0” DHT จะทาํ การสง่ สัญญาณ pull up voltage
26-28 us และ สง่ บติ คา่ “1” DHT จะทําการส่งสญั ญาณ pull up voltage 70 us

การสง่ ข้อมูลของ DHT11 คือ จะส่งท้งั หมด 40 บิต โดยจะแบ่งเปน็ 5 สว่ น ส่วนละ 8 บิต ซึง่ 8บิตแรก
จะเป็นคา่ หนา้ ทศนิยมของอุณหภูมิ, 8บิตทส่ี องเป็นคา่ หลงั ทศนิยมของอุณหภูมิ, 8บิตท่ีสามจะเป็น คา่ หน้า
ทศนยิ มของความชื้น, 8บิตทส่ี ีเ่ ปน็ คา่ หลงั ทศนิยมของความชื้น และ 8บติ สุดทา้ ยคือเปน็ คา่ ท่ตี รวจสอบ ว่า
ข้อมลู error หรอื ไม่

ภาพที่ 9.3 แสดงการสง่ ข้อมูลของ DHT11

การส่งข้อมลู ของ DHT22 คือ จะสง่ ทง้ั หมด 40 บติ โดยจะแบ่งเปน็ 3 สว่ น สองส่วนแรก ส่วนละ 16
บติ และส่วนสุดท้าย 8 บติ ซง่ึ 16บติ แรกและ 16บิตท่สี อง หมายถึงค่าอุณหภมู แิ ละค่าความช่ืน ตามลําดบั ที่
รวมท้ังค่าหนา้ และหลังทศนยิ ม โดย ตวั เลขหลักหน่วยจะหมายถึงตวั หลงั ทศนิยม และ 8บติ สุดทา้ ยคือเปน็ คา่ ที่
ตรวจสอบว่าข้อมูล error หรอื ไม่

ภาพที่ 9.4 แสดงการส่งข้อมูลของ DHT22 อ.ดร.สุรพล วรภทั ราทร

หลกั สูตรการอบรมพฒั นาเกษตรกรรุน่ ใหม่: เทคโนโลยเี ซนเซอร์เพอ่ื การเกษตร

90

โครงสร้างของอปุ กรณ์ตรวจวัดอุณหภูมิความชน้ื DHT

โครงสร้างภายในของอุปกรณ์ตรวจวดั อุณหภมู ิความชน้ื DHT ประกอบดว้ ย 2 สว่ น คอื

(1) Resistive Humidity Sensing Component เซนเซอรค์ วามช้นื ทีจ่ ะวัดการ เปล่ียนแปลง
อิมพีแดนซ์ไฟฟา้ ของตัวกลางดูดความชน้ื การทํางานของเซนเซอร์ก็คอื ดูดซบั ไอนำ้ และไอออนที่ แตกตวั เปน็
ผลให้ค่าความนาํ ไฟฟา้ ของตัวกลางเพิ่มขึน้ โดยชว่ งเวลาการตอบสนองของเซนเซอรอ์ ยู่ในช่วง 10 ถงึ 30 วนิ าที

(2) NTC Temperature Sensor Thermistor เป็นเซนเซอร์ที่ความต้านทานลดลง เมือ่ อุณหภมู ิ
เพิม่ ข้นึ แต่มกี ารเปล่ยี นแปลงความต้านทานสงู มาก ตวั อย่างเช่น ท่ีอณุ หภูมิ 0 C NTC มคี วาม ต้านทาน 10KQ
แตท่ อ่ี ุณหภมู ิ 100 °C NTC จะมีความตา้ นทานลดลงเหลือเพยี ง 2000 เท่านนั้ ดว้ ยความไว ต่อการเปลี่ยนแปลง
มาก เทอร์มิสเตอร์แบบน้จี งึ เหมาะกับงานท่ีต้องการวดั ความแตกต่างของอุณหภมู ิทชี่ ัดเจน แตเ่ ทอร์มิสเตอรม์ ี
คณุ สมบตั ิไม่เป็นเชงิ เส้น ดังน้ันชว่ งอุณหภมู ิที่ใช้งานจึงจํากัดอยู่ในช่วงแคบ ๆ เปน็ ช่วง ๆ ไป เชน่ ช่วง 50-150
°C หรือ 150-250 °C เปน็ ตน้

ภาพท่ี 9.5 แสดงโครงสร้างของอปุ กรณ์ตรวจวัดอุณหภูมคิ วามชื้น DHT

9.2 การต่อวงจรอปุ กรณ์ตรวจวัดอุณหภูมิความชน้ื กับไมโครคอนโทรลเลอร์

การต่อวงจรอปุ กรณต์ รวจวัดอณุ หภูมคิ วามช้ืนกบั ไมโครคอนโทรลเลอร์ Arduino เพื่อวดั อณุ หภูมิ และ
ความช้ืนด้วย DHT11 ซ่ึงเปน็ เซน็ เซอร์ท่ีใชว้ ัดอณุ หภูมเิ ปน็ องศาเซลเซียส และองศาฟาเรนไฮ อีกทัง้ ยัง สามารถ
วัดความชน้ื สมั พทั ธ์ในอากาศไดอ้ กี ดว้ ย สามารถใชว้ ดั คา่ ได้เท่ยี งตรงกว่า NTC หรือ PTC มาก เพราะ ให้
เอาต์พุตออกมาในรูปของดิจิตอล ใช้วัดอุณหภมู ิอากาศโดยรอบ

- อุปกรณต์ รวจวดั อุณหภูมิความชื้น DHT11 มีทง้ั หมดอยู่ 4 ขา ไดแ้ ก่ ขา 1 VCC ขา 2 DATA ขา 3
NC และขา 4 GND โดย DHT11 จะใชว้ ธิ กี ารสง่ ข้อมูลให้กับไมโครคอนโทรลเลอร์ด้วยสายเพยี งเส้นเดยี วใน
แบบของดิจติ อลลอจิก โดยจะใช้งานจริงเพยี ง 3 ขา คอื ขา +VCC ขา GND และขา DATA เทา่ น้ัน

หลักสูตรการอบรมพัฒนาเกษตรกรร่นุ ใหม่: เทคโนโลยเี ซนเซอร์เพอื่ การเกษตร อ.ดร.สรุ พล วรภัทราทร

91
ภาพที่ 9.6 แสดงตําแหน่งขาของอุปกรณต์ รวจวัดอณุ หภมู ิความชืน้ DHT11

ภาพท่ี 9.7 แสดงวงจรอุปกรณ์ตรวจวดั อณุ หภูมคิ วามชน้ื DHT11 กับไมโครคอนโทรลเลอร์

9.3 โปรแกรมไมโครคอนโทรลเลอรใ์ ช้งานอปุ กรณ์ตรวจวัดอุณหภูมคิ วามช้ืน

การโปรแกรมไมโครคอนโทรลเลอรใ์ ช้งานอุปกรณต์ รวจวดั อุณหภูมคิ วามช้นื จะต้องทําการดาวน์
โหลดไรบราร่ี ทใี่ ชก้ บั DHT11 ก่อน โดยมที ้ังหมด 2 ไฟล์ คอื ไฟล์ Adafruit.zip และไฟล์ DHT.zip เพื่อใช้
สําหรับในการเขยี นโปรแกรม โดยสามารถดาวนโ์ หลดไฟล์ Adafruit.zip และไฟล์ DHT.zip ได้จาก
http://www.nks.ac.th/download/Adafruit.zip และ http://www.nks.ac.th/download/DHT.zip

หลักสูตรการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพอื่ การเกษตร อ.ดร.สรุ พล วรภัทราทร

92

ภาพที่ 9.8 แสดงการดาวน์โหลดไฟล์ไรบรารี Adafruit.zip

ภาพที่ 9.9 แสดงการดาวน์โหลดไฟล์ไรบราร่ี DHT.zip
จากนน้ั ให้เปิดโปรแกรม Arduino IDE ขนึ้ มาแล้วไปท่ี Sketch > Include Library > Add ZIP

หลกั สตู รการอบรมพฒั นาเกษตรกรรุ่นใหม่: เทคโนโลยเี ซนเซอร์เพอ่ื การเกษตร อ.ดร.สรุ พล วรภัทราทร

93

ภาพที่ 9.10 แสดงการติดตั้งไฟลไ์ รบราร่ี Adafruit.zip และ DHT.zip
เลอื กไฟล์ทีด่ าวน์โหลดมาเก็บไวใ้ นเคร่อื ง ชือ่ ไฟล์ Adafruit.zip และ DHT.zip ให้เลือกท่ลี ะไฟล์ โดย
จะไมส่ ามารถเลือกพร้อมกัน 2 ไฟล์ ในครัง้ เดยี วได้ จากน้ันเลือก Open ทาํ เหมอื นกันทั้ง 2 ครัง้ ก็ถอื ว่าเป็น
การเสร็จสนิ้ การติดตั้งไรบรารี่ ของอปุ กรณ์ตรวจวัดอณุ หภมู ิความชน้ื DHT11

ภาพท่ี 9.11 แสดงการเลือกไฟลส์ าํ หรบั ติดตงั้ ไรบรารี่ ช่อื ไฟล์ Adafruit.zip

หลกั สตู รการอบรมพัฒนาเกษตรกรรนุ่ ใหม่: เทคโนโลยเี ซนเซอร์เพ่ือการเกษตร อ.ดร.สุรพล วรภัทราทร

94

ภาพที่ 9.12 แสดงการเลือกไฟล์สาํ หรับตดิ ตัง้ ไรบราร่ี ช่อื ไฟล์ DHT.zip

ในการเขียนโปรแกรมเพอ่ื ใช้งานอุปกรณต์ รวจวัดอุณหภูมิความชนื้ ของ DHT11 จําเป็นจะตอ้ งตดิ ต้ัง
ไรบรารล่ี งไปกอ่ นทง้ั 2 ไฟล์ หากไม่ทําการติดตง้ั จะไม่สามารถคอมไพลโ์ ปรแกรมได้เม่ือเขยี นโปรแกรมเสร็จ
แลว้ ให้ อพั โหลดโค็ดลงไปยงั ไมโครคอนโทรลเลอร์ โดยตัวค่าอุณหภมู แิ ละความช้ืนจะไปแสดงที่หนา้ ตา่ ง Serial
Monitor โค้ดโปรแกรมเพื่อทดสอบการทํางาน ดังต่อไปนี้

ภาพท่ี 9.13 แสดงโปรแกรมไมโครคอนโทรลเลอร์ใชง้ านอุปกรณต์ รวจวดั อุณหภมู ิความช้นื DHT11

หลักสูตรการอบรมพฒั นาเกษตรกรรนุ่ ใหม่: เทคโนโลยีเซนเซอรเ์ พ่อื การเกษตร อ.ดร.สรุ พล วรภทั ราทร


Click to View FlipBook Version