<< Go Back

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

1. โมดูลวัดระยะทาง HC-SR04

หลักการทำงาน
HC-SR04 เป็นเซนเซอร์โมดูลสำหรับตรวจจับวัตถุและวัดระยะทางแบบไม่สัมผัส โดยใช้คลื่นอัลตราโซนิก ซึ่งเป็นคลื่นเสียงความถี่สูงเกินกว่าการได้ยินของมนุษย์ วัดระยะได้ตั้งแต่ 2 – 400 เซนติเมตรหรือ 1 – 156 นิ้ว สามารถต่อใช้งานกับไมโครคอนโทรลเลอร์ได้ง่าย ใช้พลังงานต่ำ เหมาะกับการนำไปประยุกต์ใช้งานด้านระบบควบคุมอัตโนมัติ หรืองานด้านหุ่นยนต์ หลักการทำงานจะเหมือนกันกับการตรวจจับวัตถุด้วยเสียงของค้างคาว โดยจะประกอบไปด้วยตัวรับ-ส่งอัลตราโซนิก ตัวส่งจะส่งคลื่นความถี่ 40 kHz ออกไปในอากาศด้วยความเร็วประมาณ 346 เมตรต่อวินาที และตัวรับจะคอยรับสัญญาณที่สะท้อนกลับจากวัตถุ เมื่อทราบความเร็วในการเคลื่อนที่ของคลื่น, เวลาที่ใช้ในการเดินทางไป-กลับ (t) ก็จะสามารถคำนวณหาระยะห่างของวัตถุ (S) ได้จากสูตร

รูปที่ 1 หลักการตรวจจับและวัดระยะห่างระหว่างวัตถุด้วยคลื่นเสียง

รูปที่ 2 การต่อใช้งานโมดูลอัลตราโซนิก HC-SR04

ตามคุณลักษณะของเซนเซอร์ จะต้องสร้างสัญญาณพัลส์ความกว้างไม่น้อยกว่า 10 msec ป้อนเข้าที่ขา Trig หลังจากนั้นอีกประมาณ 1.4 msec จึงจะเริ่มมีสัญญาณพัลส์เกิดขึ้นที่ขา Echo มีความกว้างของสัญญาณตั้งแต่ 150 usec – 25 msec ซึ่งถ้าหากกว้างกว่านี้จะถือว่าตรวจไม่พบวัตถุ หลังจากนั้นควรหน่วงเวลาออกไปอีก 10 msec จึงจะส่งสัญญาณ Trig ออกไปอีกรอบ ตามรูปที่ 3

รูปที่ 3 สัญญาณที่ขา Trig และขา Echo ของโมดูลเซนเซอร์อัลตราโซนิก HC-SR04

ฝึกทักษะการทดลองกิจกรรมที่ 6 เรียนรู้การใช้งาน HC-SR04
อุปกรณ์ที่ใช้สำหรับการทดลอง

1. บอร์ด Raspberry Pi

2.โมดูลวัดระยะทาง HC-SR04

3. Breadboard

4. สาย Jumper
 
5. ตัวต้านทาน 4.7 กิโลโอห์ม  

การต่อวงจร
1. เสียบโมดูลวัดระยะทาง HC-SR04 เข้ากับ Breadboard

2. ใช้สาย Jumper 4 เส้นเสียบต่อจากขาของโมดูล HC-SR04 ซึ่งมี 4 ขา ไปยังขา GPIO โดยต่อดังนี้
- GND จะเสียบเข้ากับขา PIN6 (GROUND) ของ GPIO
- ECHO จะเสียบเข้ากับขา PIN18 (GPIO24) ของ GPIO
- TRIG จะเสียบเข้ากับขา PIN16 (GPIO23) ของ GPIO
- VCC จะเสียบเข้ากับขา PIN2 (5V) ของ GPIO

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์
            1. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

2. เขียนโปรแกรม ดังนี้

3. บันทึกและรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
เมื่อมีวัตถุมาขวางด้านหน้าของโมดูล HC-SR04 จะแสดงค่าระยะห่างระหว่างโมดูล HC-SR04 กับวัตถุออกมาทางจอภาพทุกๆ 1 นาที โดยจะแสดงตัวเลขทศนิยม 2 ตำแหน่ง จากนั้นให้ลองขยับระยะห่างให้น้อยลงหรือเพิ่มขึ้น แล้วสังเกตตัวเลขที่แสดงออกมา (ระยะห่างที่ได้จะมีหน่วยเป็นเซนติเมตร)

2. ลำโพง Buzzer Module

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

ฝึกทักษะการทดลองกิจกรรมที่ 7 เรียนรู้การใช้งาน Buzzer Module
อุปกรณ์ที่ใช้สำหรับการทดลอง

1. บอร์ด Raspberry Pi

2.Buzzer Module

3. Breadboard

4. สาย Jumper

การต่อวงจร
1. เสียบ Buzzer บน Breadboard

2. ใช้สาย Jumper เสียบบน Breadboard ในแถวเดียวกับขา VCC ของ Buzzer ส่วนปลายอีกด้านของสาย Jumper เสียบเข้ากับช่อง PIN1 (3V3) ของขา GPIO

3. ใช้สาย Jumper เสียบบน Breadboard ในแถวเดียวกับขา I/O ของ Buzzer ส่วนปลายอีกด้านของสาย Jumper เสียบเข้ากับช่อง PIN11 (GPIO17) ของขา GPIO

4. ใช้สาย Jumper เสียบบน Breadboard ในแถวเดียวกับขา GND ของ Buzzer ส่วนปลายอีกด้านของสาย Jumper เสียบเข้ากับช่อง PIN6 (Ground) ของขา GPIO (เมื่อเสียบสาย Ground เสียงลำโพงจะดังต่อเนื่อง ให้ถอดสาย Ground ออกชั่วคราว แล้วค่อยเสียบใหม่หลังรันโปรแกรม)

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์
1. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

2. เขียนโปรแกรม ดังนี้

3. บันทึกและรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
เสียงลำโพงจะดังและหยุดสลับกันทุกๆ 1 วินาที

3. Relay module แบบ 2 Channel (HL-52R)

Relay module HL-52R เป็นอุปกรณ์ไฟฟ้าชนิดหนึ่ง ซึ่งทำหน้าที่ตัดต่อวงจรแบบเดียวกับสวิตช์ โดยควบคุมการทำงานด้วยไฟฟ้า Relay มีหลายประเภท ตั้งแต่ Relay ขนาดเล็กที่ใช้ในงานอิเล็กทรอนิกส์ทั่วไป จนถึง Relay ขนาดใหญ่ที่ใช้ในงานไฟฟ้าแรงสูง โดยมีรูปร่างหน้าตาแตกต่างกันออกไป แต่มีหลักการทำงานที่คล้ายคลึงกัน สำหรับการนำ Relay ไปใช้งาน จะใช้ในการตัดต่อวงจร ทั้งนี้ Relay ยังสามารถเลือกใช้งานได้หลากหลายรูปแบบ

ฝึกทักษะการทดลองกิจกรรมที่ 8 เรียนรู้การใช้งาน Relay Module
อุปกรณ์ที่ใช้สำหรับการทดลอง     

1. บอร์ด Raspberry Pi

2. Relay Module
 

3. สาย Jumper

 

การต่อวงจร
1. เสียบสาย Jumper เข้ากับขาของ Relay Channel ที่ 1 โดยต่อสายดังนี้
- ช่อง VCC ของ Relay เสียบเข้ากับ PIN2 (5V) ของขา GPIO
- ช่อง GND ของ Relay เสียบเข้ากับ PIN6 (Ground) ของขา GPIO
- ช่อง IN1 ของ Relay เสียบเข้ากับ PIN40 (GPIO21) ของขา GPIO

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์
1. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

2. เขียนโปรแกรม ดังนี้

3. บันทึกไฟล์ และรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
Relay Channel ที่ 1 ซึ่งเปรียบเสมือนเป็นสวิตช์ไฟจะทำงาน โดยจะมีเสียงติ๊ด 1 ครั้ง และไฟสถานะจะติดเป็นเวลา 5 วินาที หลังจากนั้น Relay Channel ที่ 1 จะหยุดทำงาน โดยจะมีเสียงติ๊ด 1 ครั้ง และไฟสถานะจะดับเป็นเวลา 2 วินาที สลับกันไปเรื่อยๆ

4. กล้อง Raspberry Pi Camera Module v2

Raspberry Pi Camera Board เป็นโมดูลกล้องที่ออกแบบมาใช้งานร่วมกับบอร์ด Raspberry Pi โดยสามารถเชื่อมต่อกับ Socket CAMERA บนบอร์ดที่มีการเชื่อมต่อแบบ CSI Bus ได้ทันที และยังเหมาะสำหรับงานวิดีโอความละเอียดสูงและการถ่ายภาพนิ่ง นอกจากนี้ยังสามารถถ่ายภาพแบบ time-lapse และ slow-motion ได้

ฝึกทักษะการทดลองกิจกรรมที่ 9 เรียนรู้การใช้งาน Pi Camera สำหรับถ่ายภาพนิ่ง 1 ภาพ

อุปกรณ์ที่ใช้สำหรับการทดลอง

1. บอร์ด Raspberry Pi

2. Pi Camera

การเชื่อมต่อ
1. ปิด Raspberry Pi โดยไปที่ Pi > Shutdown > Shutdown

2. ถอดสาย Adapter ออกจากบอร์ด Raspberry Pi
3. เสียบสายแพ Pi Camera เข้าช่อง CSI โดยดึงเขี้ยวล็อคขึ้นก่อน จากนั้นเสียบสายแพลงไป โดยเอาด้านสีฟ้าหันมาทางพอร์ต LAN จากนั้นกดเขี้ยวล็อคลงไป

4. เสียบสาย Adapter เพื่อเปิดเครื่องอีกครั้ง

ตั้งค่าระบบ
1. เปิดการใช้งานกล้อง Pi Camera โดยคลิกเมนูไอคอน Pi --> Preferences --> Raspberry Pi Configuration

2. คลิกแท็บ Interface แล้วคลิกที่ Camera ให้เป็น Enabled แล้วคลิกปุ่ม OK

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์
1. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

2. เขียนโปรแกรม ดังนี้

3. บันทึกไฟล์และรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
กล้องจะเปิดหน้า Preview ขึ้นมา  5 วินาที หลังจากนั้นกล้องจะถ่ายภาพ และบันทึกภาพที่มีขนาด 640 x 480 pixels ไฟล์รูปภาพที่ได้จะถูกบันทึกไว้ในตำแหน่งเดียวกับไฟล์โค้ดคำสั่ง โดยมีชื่อว่า image1.jpg

คลิกเข้า File Manager

จะเจอรูปภาพที่ได้ถ่ายเอาไว้ ชื่อว่า image.jpg

ฝึกทักษะการทดลองกิจกรรมที่ 10 เรียนรู้การใช้งาน Pi Camera สำหรับถ่ายภาพนิ่งหลาย Shot

อุปกรณ์ที่ใช้สำหรับการทดลอง

1. บอร์ด Raspberry Pi

2. Pi Camera

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์

1. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

2. เขียนโปรแกรม ดังนี้

3. บันทึกไฟล์และรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
กล้องจะเปิดหน้า Preview ขึ้นมา  0.5 วินาที หลังจากนั้นกล้องจะถ่ายภาพ และจะวนซ้ำถ่ายภาพต่อเนื่อง 5 รอบ โดยบันทึกภาพที่มีขนาด 640 x 480 pixels และไฟล์รูปภาพที่ได้จะถูกบันทึกไว้ในตำแหน่งเดียวกับไฟล์โค้ดคำสั่ง โดยมีชื่อว่า image0.jpg, image1.jpg, image2.jpg, image3.jpg และ image4.jpg ตามลำดับ

คลิกเข้า File Manager

จะเจอรูปภาพที่ได้ถ่ายเอาไว้ ชื่อว่า image0.jpg, image1.jpg, image2.jpg, image3.jpg และ image4.jpg

ฝึกทักษะการทดลองกิจกรรมที่ 11 เรียนรู้การใช้งาน Pi Camera แสดงภาพนิ่งบนหน้าจอ

อุปกรณ์ที่ใช้สำหรับการทดลอง

1. บอร์ด Raspberry Pi

2. Pi Camera

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์
1. เชื่อมต่ออินเตอร์เน็ต และติดตั้งโปรแกรมที่ใช้แสดงภาพนิ่ง ในที่นี้จะติดตั้งโปรแกรม feh โดยเปิด Terminal แล้วพิมพ์คำสั่ง sudo apt-get install feh

2. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

3. เขียนโปรแกรม ดังนี้

4. บันทึกไฟล์และรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
โปรแกรม feh จะแสดงรูปภาพที่ชื่อว่า image.jpg ขึ้นมาให้ดูเป็นเวลา 5 วินาที แล้วปิดหน้าต่างแสดงภาพโดยอัตโนมัติ

5. Chip แปลงสัญญาณ Analog to Digital (MCP3008)

MCP3008 (Microchip) เป็น Chip แปลงสัญญาณ Analog ให้เป็นสัญญาณ Digital ด้วยจำนวน 8 Channels 10 Bit ADC โดยต่อผ่าน SPI interface MCP3008 นี้สามารถต่อใช้งานร่วมกับบอร์ด microcontroller อาทิเช่น Raspberry Pi ซึ่งตัวบอร์ด Raspberry Pi สามารถรับได้แต่สัญญาณ Digital เท่านั้น แต่สัญญาณที่เข้ามาเป็น Analog จึงต้องใช้ MCP3008 แปลงสัญญาณให้ก่อน

ขาของ MCP3008

การต่อขาวงจรกับขา GPIO ของบอร์ด

ฝึกทักษะการทดลองกิจกรรมที่ 12 เรียนรู้การใช้งาน MCP3008
อุปกรณ์ที่ใช้สำหรับการทดลอง

1. บอร์ด Raspberry Pi

2. MCP3008

3. Breadboard

4. สาย Jumper
 
5. ตัวต้านทาน 4.7 กิโลโอห์ม  

การต่อวงจร
1. เสียบชิป MCP3008 ไว้ตรงกลาง Breadboard โดยสังเกตที่ตัวชิปจะมีจุดกลมๆ บนชิป ให้วางอยู่ด้านบน

2. เสียบสาย Jumper จากขา PIN1 (3V3) ของขา GPIO ไปยังช่องใดก็ได้ในแถว + (สีแดง) ของ Breadboard

3. เสียบสาย Jumper จากขา VDD (ขาที่ 1 ขวามือ) ของชิป MCP3008 ไปยังแถว + (สีแดง) ของ Breadboard

4. เสียบสาย Jumper จากขา VREF (ขาที่ 2 ขวามือ) ของชิป MCP3008 ไปยังแถว + (สีแดง) ของ Breadboard

5. เสียบสาย Jumper จากขา PIN6 (Ground) ของขา GPIO ไปยังแถว - (สีฟ้า) ของ Breadboard

6. เสียบสาย Jumper จากขา AGND (ขาที่ 3 ขวามือ) ของชิป MCP3008 ไปยังแถว - (สีฟ้า) ของ Breadboard

7. เสียบสาย Jumper จากขา DGND (ขาที่ 8 ขวามือ) ของชิป MCP3008 ไปยังแถว - (สีฟ้า) ของ Breadboard

8. เสียบสาย Jumper จากขา CLK (ขาที่ 4 ขวามือ) ของชิป MCP3008 ไปยัง PIN23 (GPIO11 SP10_SCLK) ของขา GPIO

9. เสียบสาย Jumper จากขา DOUT (ขาที่ 5 ขวามือ) ของชิป MCP3008 ไปยัง PIN21 (GPIO9 SP10_MISO) ของขา GPIO

10. เสียบสาย Jumper จากขา DIN (ขาที่ 6 ขวามือ) ของชิป MCP3008 ไปยัง PIN19 (GPIO10 SP10_MOSI) ของขา GPIO

11. เสียบสาย Jumper จากขา CS/SHDN (ขาที่ 7 ขวามือ) ของชิป MCP3008 ไปยัง PIN24 (GPIO8 SP10_CE0_N) ของขา GPIO

12. เสียบ LDR Sensor บน Breadboard

13. เสียบสาย Jumper บน Breadboard โดยต่อแถวเดียวกับขาด้านหนึ่งของ LDR Sensor ไปยังแถว + (สีแดง) ของ Breadboard

14. เสียบตัวต้านทาน 4.7 กิโลโอห์มเข้ากับ Breadboard ในแถวเดียวกับขาอีกข้างหนึ่งของ LDR Sensor

15. ใช้สาย Jumper เสียบบน Breadboard ในแถวเดียวกับขา LDR และตัวต้านทาน 4.7 กิโลโอห์ม ส่วนปลายสาย Jumper ต่อไปยังขา CH0 ของชิป MCP3008

16. เสียบสาย Jumper ที่ขาอีกด้านหนึ่งของตัวต้านทาน 4.7 กิโลโอห์ม แล้วต่อไปยังแถว - (สีฟ้า) ของ Breadboard

การเขียนโปรแกรมด้วยภาษาไพทอนเพื่อทดสอบอุปกรณ์
เนื่องจาก Raspberry Pi ไม่มีความสามารถในการรับค่าแบบ Analog โดยตรง (รับได้เฉพาะ Digital In/Out ซึ่งมีค่า 0 และ 1 เท่านั้น) ซึ่งไม่เหมือนกับ Arduino Board ซึ่งรับค่าได้ทั้งแบบ Digital และ Analog ดังนั้นจึงมีนำชิป MCP3008 มาใช้ในการแปลงสัญญาณ Analog ให้เป็น Digital ค่าที่อ่านได้จะมีค่าระหว่าง 0 – 1023
1. ในการใช้งานชิป MCP3008 จะต้องใช้ไลบรารี่เพิ่มเติม ซึ่งจะต้องดาวน์โหลดและติดตั้งไลบรารี่ gpiozero โดยเปิด Terminal ขึ้นมา แล้วพิมพ์คำสั่งดังนี้
sudo apt-get update        
sudo apt-get install python-pip python3-pip
sudo pip install gpiozero

2. ติดตั้งเสร็จแล้ว ให้ปิดโปรแกรม Terminal
3. เปิดโปรแกรม Thonny Python IDE โดยไปที่ Pi > Programming > Thonny Python IDE

4. เขียนโปรแกรม ดังนี้

5. บันทึกและรันโปรแกรม โดยคลิกปุ่ม Run

ผลลัพธ์ที่ได้
โดยปกติแล้วตัวเซนเซอร์เข้มของแสงจะวัดค่าออกมาเป็น Digital คือ มีค่าอยู่ระหว่าง 0 – 1 โดยถ้าวัดค่าแสงในที่ที่มีแสงสว่างน้อย (กลางคืน) ซึ่งอาจทดสอบโดยการเอามือปิดตัวเซนเซอร์ จะได้ค่าออกมาเป็นค่า 0 ถ้าแสงสว่างมาก (กลางวัน) ซึ่งอาจทดสอบโดยการเอามือที่ปิดตัวเซนเซอร์ออก จะได้ค่าออกมาเป็นค่า 1 แต่ในการนำไปใช้จริงจำเป็นที่จะต้องใช้ค่าข้อมูลที่มากกว่า 0 และ 1 จึงจำเป็นตัวแปลงสัญญาณ นั่นก็คือ ชิป MCP3008 ซึ่งในที่นี้ได้ต่อขาเซนเซอร์ไปยังขา CH0 ของชิป MCP3008 เพื่อส่งค่าข้อมูลจากเซนเซอร์ไปแปลงที่ชิป ก่อนจะส่งข้อมูลไปยังขา GPIO
เมื่อทำการแปลงข้อมูลผ่านชิป MCP3008 จะเห็นว่าค่าที่ได้จะอยู่ระหว่าง 0.00 – 1.00 ซึ่งได้ค่าตัวเลขเป็นทศนิยมหลายตำแหน่ง หากต้องการเปลี่ยนจากค่าเลขทศนิยม 0.00 – 1.00 ไปเป็นค่า 0 – 1023 จึงจะต้องเขียนโค้ดคำสั่งในการแปลง โดยใช้หลักการเทียบบัญญัติไตรยางศ์ ซึ่งทำให้ได้สูตรออกมา คือ 1023 * value
จากการเขียนโค้ดคำสั่ง จะเห็นว่า LDR Sensor จะวัดค่าแสงทุกๆ  1 วินาที เมื่อ LDR Sensor วัดค่าแสงในที่ที่มีแสงสว่างน้อย จะได้ค่าออกมาเป็นค่าน้อย ถ้าแสงสว่างมาก จะได้ค่าออกมาเป็นค่ามาก

<< Go Back