9

Click here to load reader

โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

1 โครงการสื่อการสอน อุปกรณ์คอมพิวเตอร์

โดยใช้บอร์ด Arduino UNO R3 เป็นคอนโทรลเลอร์ในการติดต่อกับ อุปกรณ์อินพุต (สวิตซ์) และ อุปกรณ์เอาต์พุต (หลอด LED และบอร์ด MP3) อุปกรณ์ที่ใช้ในการทดลอง

1.บอร์ด Arduino UNO R3 2.บอร์ด MP3 3.หลอด LED 4.ตัวต้านทาน 100 โอห์ม 5.ตัวต้านทาน 4.7 กิโลโอห์ม 6.สวิตปุ่มกด 7.แจ็คล าโพลงตัวเมีย 8.ล าโพง 9. USB Type B

10.ถ่าน 9 โวลต์ หรือ ใช้สาย USB Type B เสียบที่ บอร์ด Arduino UNO R3 เข้ากับ Power bank 11.สายไฟ

Page 2: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

2 อธิบายหลักการท างานของระบบ

เมื่อมีการกดปุ่มสวิตซ์(Pull up) บอร์ด Arduino UNO R3 จะท าการรับอินพุตเข้ามา แล้วน าไปตรวจสอบเงื่อนไขว่าปุ่มกดที่กดเข้ามานั้น เป็นปุ่มกดท่ีเท่าไร เช่น มีการกดปุ่มท่ี1 เข้ามา บอร์ด Arduino UNO R3 ก็จะส่งข้อมูลไปยัง บอร์ด MP3 ผ่านพอร์ต Serial ให้ท าการเล่นเสียงล าดับที่ 001 ซึ่งข้อมูลที่ส่งเข้ามาจะเป็นข้อมูลฐานสิบหก (0x01) โดยสัญญาณเสียงที่ปล่อยออกจากมาบอร์ด MP3 จะถูกส่งออกมาทางพิน PH_L (เสียงล าโพงด้านซ้าย) และ PH_R (เสียงล าโพงด้านขวา) แล้ว บอร์ด Arduino UNO R3 สั่งในหลอด led ที่ 1 ติดสว่าง เพื่อเป็นการบอกต าแหน่งของอุปกรณ์นั้นๆ เมื่อเสียงล าดับที่ 1 เล่นจบ บอร์ด Arduino UNO R3 ก็จะรอรับค าสั่งต่อไป

แต่ถ้ามีการกดปุ่มใดๆในระหว่างเล่นเสียงล าดับที่ 001 ยังเล่นไม่จบ บอร์ด Arduino UNO R3 ก็จะท าการหยุดเสียงล าดับเสียงที่ 001 แล้วจะท าการเล่นเสียล าดับถัดไปทันที ยกตัวอย่าง ให้อุปกรณ์ตัวที่ 1 เป็นแรม

เมื่อมีการกดปุ่มที่ 1 บอร์ด Arduino UNO R3 ก็จะสั่งให้ หลอด led ที่1 ติดสว่าง ซึ่งเป็นการบอกถึงต าแหน่งของแรม และ บอร์ด Arduino UNO R3 ก็จะส่งข้อมูล (0x01) ไปให้ บอร์ด MP3 เพื่อให้เล่นเสียงล าดับที่ 001 หรือ เป็นการเล่นเสียงความหมายของแรมนั้นเอง เมื่อเล่นจนจบไฟล์เสียงแรมนี้แล้ว บอร์ด Arduino UNO R3 ก็จะรอรับค าสั่งต่อไป สิ่งท่ีต้องเตรียม ดาวน์โหลดไลบราลี่ SofewareSerial ไปวางไว้ใน C:\Program Files (x86)\Arduino\libraries ** การใช้งานโหมด Serial ต้องบัดกรีจุด M0 ให้ลอยขาไว้ ส่วน M1 ให้ต่อลงกราวน์ ดังภาพ

ศึกษาการใช้งาน บอร์ด MP3 เพิ่มเติมได้ที่ http://www.thaieasyelec.com/products/embedded-module/thaieasyelec-mp3-embedded-module-detail.html

Page 3: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

3 อธิบายการเขียนโปรแกรม บรรทัดที่ 1 เรียกใช้ไลบราลี่ SoftwareSerial ซึ่งท าหน้าที่เป็นพอร์ตสื่อสาร ในการรับ – ส่ง ข้อมูล ดาวน์โหลดไลบราลี่ SofewareSerial ไปวางไว้ใน C:\Program Files (x86)\Arduino\libraries บรรทัดที่ 3 ก าหนดพิน D2 เป็นขา Rx ( รับข้อมูล )

ก าหนดพิน D3 เป็นขา Tx ( ส่งข้อมูล ) เพ่ือก าหนดเป็นพินการสื่อสารข้อมูลระหว่างบอร์ด Arduino กับบอร์ด MP3

บรรทัดที่ 5 ก าหนดพิน D4 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร BUSY บรรทัดที่ 6 ประกาศตัวแปรชนิดบูลีน ชื่อ cmd_stop ให้มีค่าเท่ากับ false (เป็นเท็จ) บรรทัดที่ 9 ก าหนดพิน A0 (พินอะนาล็อก) ให้เก็บอยู่ในตัวแปร bt0 ( ปุ่มกดที่ 1 ) บรรทัดที่ 10 ก าหนดพิน A1 (พินอะนาล็อก) ให้เก็บอยู่ในตัวแปร bt1 ( ปุ่มกดที่ 2 ) บรรทัดที่ 11 ก าหนดพิน A2 (พินอะนาล็อก) ให้เก็บอยู่ในตัวแปร bt2 ( ปุ่มกดที่ 3 ) บรรทัดที่ 12 ก าหนดพิน A3 (พินอะนาล็อก) ให้เก็บอยู่ในตัวแปร bt3 ( ปุ่มกดที่ 4 ) บรรทัดที่ 13 ก าหนดพิน A4 (พินอะนาล็อก) ให้เก็บอยู่ในตัวแปร bt4 ( ปุ่มกดที่ 5 ) บรรทัดที่ 14 ก าหนดพิน A5 (พินอะนาล็อก) ให้เก็บอยู่ในตัวแปร bt5 ( ปุ่มกดที่ 6 )

Page 4: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

4 บรรทัดที่ 18 ก าหนดพิน D5 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร led0 ( led หลอดที่ 1) บรรทัดที่ 19 ก าหนดพิน D6 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร led1 ( led หลอดที่ 2) บรรทัดที่ 20 ก าหนดพิน D7 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร led2 ( led หลอดที่ 3) บรรทัดที่ 21 ก าหนดพิน D8 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร led3 ( led หลอดที่ 4) บรรทัดที่ 22 ก าหนดพิน D9 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร led4 ( led หลอดที่ 5) บรรทัดที่ 23 ก าหนดพิน D10 (พินดิจิตอล) ให้เก็บอยู่ในตัวแปร led5 ( led หลอดที่ 6) บรรทัดที่ 26 ประกาศฟังค์ชั่น setup() ท าหน้าที่เป็นตัวก าหนดหน้าที่ของพินต่างๆของไมโครคอนโทรลเลอร์ บรรทัดที่ 28 ก าหนดให้ตัวแปร bt0 หรือ พิน A0 ท าหน้าที่เป็น อินพุต บรรทัดที่ 29 ก าหนดให้ตัวแปร bt1 หรือ พิน A1 ท าหน้าที่เป็น อินพุต บรรทัดที่ 30 ก าหนดให้ตัวแปร bt2 หรือ พิน A2 ท าหน้าที่เป็น อินพุต บรรทัดที่ 31 ก าหนดให้ตัวแปร bt3 หรือ พิน A3 ท าหน้าที่เป็น อินพุต บรรทัดที่ 32 ก าหนดให้ตัวแปร bt4 หรือ พิน A4 ท าหน้าที่เป็น อินพุต บรรทัดที่ 33 ก าหนดให้ตัวแปร bt5 หรือ พิน A5 ท าหน้าที่เป็น อินพุต

Page 5: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

5 บรรทัดที่ 35 ก าหนดให้ตัวแปร led0 หรือ พิน D5 ท าหน้าที่เป็น เอาต์พุต บรรทัดที่ 36 ก าหนดให้ตัวแปร led1 หรือ พิน D6 ท าหน้าที่เป็น เอาต์พุต บรรทัดที่ 37 ก าหนดให้ตัวแปร led2 หรือ พิน D7 ท าหน้าที่เป็น เอาต์พุต บรรทัดที่ 38 ก าหนดให้ตัวแปร led3 หรือ พิน D8 ท าหน้าที่เป็น เอาต์พุต บรรทัดที่ 39 ก าหนดให้ตัวแปร led4 หรือ พิน D9 ท าหน้าที่เป็น เอาต์พุต บรรทัดที่ 40 ก าหนดให้ตัวแปร led5 หรือ พิน D10 ท าหน้าที่เป็น เอาต์พุต บรรทัดที่ 42 ก าหนดให้ตัวแปร BUSY หรือ พิน D4 ท าหน้าที่เป็น INPUT บรรทัดที่ 43 ก าหนด อัตราความเร็วในการแสดงผลข้อมูล ผ่านทาง Serialmonitor มีความเร็วที่ 9600 บรรทัดที่ 44 ก าหนด อัตราความเร็วในการรับ-ส่ง ข้อมูล ผ่านทางสาย serial มีความเร็วที่ 9600 บรรทัดที่ 45 ปิดฟังก์ชั่น setup()

Page 6: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

6 บรรทัดที่ 47 ประกาศฟังค์ชั่น loop() ซึ่งท าหน้าที่สั่งงานไมโครคอนโทรลเลอร์ ในลักษณะการท างานวนซ้ าๆ บรรทัดที่ 50 ถ้ามีการกดสวิทซ์ bt0 (ปุ่มกดที่ 1) จะเริ่มการท างานของค าสั่งในวงเล็บ ตั้งแต่บรรทัดที่ 52-56 บรรทัดที่ 51 เปิดการสั่งงานในเงื่อนไข การกดสวิตซ์ bt0 (ปุ่มกดที่ 1) บรรทัดที่ 52 เรียกใช้ฟังก์ชั่น stopsound() เพ่ือสั่งหยุดเล่นเสียง บรรทัดที่ 53 สั่งให้ led ดับทุกหลอด บรรทัดที่ 54 สั่งให้ led0 ติดสว่าง( led หลอดที่ 1) เพ่ือให้ทราบต าแหน่งของอุปกรณ์คอมพิวเตอร์ตัวที่ 1 บรรทัดที่ 55 สั่งให้ บอร์ด MP3 เล่นเสียงที่ 001 บรรทัดที่ 56 เมื่อเสียงที่ 001 เล่นจบ ให้หยุดรอค าสั่งต่อไป โดยที่ไม่เล่นเสียง 001 ซ้ า บรรทัดที่ 57 ปิดการท างานเงื่อนไขของการกดสวิทซ์ bt0 (ปุ่มกดที่ 1) บรรทัดที่ 60 ถ้ามีการกดสวิทซ์ bt1 (ปุ่มกดที่ 2) จะเริ่มการท างานของค าสั่งในวงเล็บ ตั้งแต่บรรทัดที่ 62-66 บรรทัดที่ 61 เปิดการสั่งงานในเงื่อนไข การกดสวิตซ์ bt1 (ปุ่มกดที่ 2) บรรทัดที่ 62 เรียกใช้ฟังก์ชั่น stopsound() เพ่ือสั่งหยุดเล่นเสียง บรรทัดที่ 63 สั่งให้ led ดับทุกหลอด บรรทัดที่ 64 สั่งให้ led1 ติดสว่าง( led หลอดที่ 2) เพ่ือให้ทราบต าแหน่งของอุปกรณ์คอมพิวเตอร์ตัวที่ 2 บรรทัดที่ 65 สั่งให้ บอร์ด MP3 เล่นเสียงที่ 002 บรรทัดที่ 66 เมื่อเสียงที่ 002 เล่นจบ ให้หยุดรอค าสั่งต่อไป โดยที่ไม่เล่นเสียง 002 ซ้ า บรรทัดที่ 67 ปิดการท างานเงื่อนไขของการกดสวิทซ์ bt1 (ปุ่มกดที่ 2)

Page 7: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

7 บรรทัดที่ 70 ถ้ามีการกดสวิทซ์ bt2 (ปุ่มกดที่ 3) จะเริ่มการท างานของค าสั่งในวงเล็บ ตั้งแต่บรรทัดที่ 72-76 บรรทัดที่ 71 เปิดการสั่งงานในเงื่อนไข การกดสวิตซ์ bt2 (ปุ่มกดที่ 3) บรรทัดที่ 72 เรียกใช้ฟังก์ชั่น stopsound() เพ่ือสั่งหยุดเล่นเสียง บรรทัดที่ 73 สั่งให้ led ดับทุกหลอด บรรทัดที่ 74 สั่งให้ led2 ติดสว่าง( led หลอดที่ 3) เพ่ือให้ทราบต าแหน่งของอุปกรณ์คอมพิวเตอร์ตัวที่ 3 บรรทัดที่ 75 สั่งให้ บอร์ด MP3 เล่นเสียงที่ 003 บรรทัดที่ 76 เมื่อเสียงที่ 003 เล่นจบ ให้หยุดรอค าสั่งต่อไป โดยที่ไม่เล่นเสียง 003 ซ้ า บรรทัดที่ 77 ปิดการท างานเงื่อนไขของการกดสวิทซ์ bt2 (ปุ่มกดที่ 3) บรรทัดที่ 80 ถ้ามีการกดสวิทซ์ bt3 (ปุ่มกดที่ 4) จะเริ่มการท างานของค าสั่งในวงเล็บ ตั้งแต่บรรทัดที่ 82-86 บรรทัดที่ 81 เปิดการสั่งงานในเงื่อนไข การกดสวิตซ์ bt3 (ปุ่มกดที่ 4) บรรทัดที่ 82 เรียกใช้ฟังก์ชั่น stopsound() เพ่ือสั่งหยุดเล่นเสียง บรรทัดที่ 83 สั่งให้ led ดับทุกหลอด บรรทัดที่ 84 สั่งให้ led3 ติดสว่าง( led หลอดที่ 4) เพ่ือให้ทราบต าแหน่งของอุปกรณ์คอมพิวเตอร์ตัวที่ 4 บรรทัดที่ 85 สั่งให้ บอร์ด MP3 เล่นเสียงที่ 004 บรรทัดที่ 86 เมื่อเสียงที่ 004 เล่นจบ ให้หยุดรอค าสั่งต่อไป โดยที่ไม่เล่นเสียง 004 ซ้ า บรรทัดที่ 87 ปิดการท างานเงื่อนไขของการกดสวิทซ์ bt3 (ปุ่มกดที่ 4)

Page 8: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

8 บรรทัดที่ 90 ถ้ามีการกดสวิทซ์ bt4 (ปุ่มกดที่ 5) จะเริ่มการท างานของค าสั่งในวงเล็บ ตั้งแต่บรรทัดที่ 92-96 บรรทัดที่ 91 เปิดการสั่งงานในเงื่อนไข การกดสวิตซ์ bt4 (ปุ่มกดที่ 5) บรรทัดที่ 92 เรียกใช้ฟังก์ชั่น stopsound() เพ่ือสั่งหยุดเล่นเสียง บรรทัดที่ 93 สั่งให้ led ดับทุกหลอด บรรทัดที่ 94 สั่งให้ led4 ติดสว่าง( led หลอดที่ 5) เพ่ือให้ทราบต าแหน่งของอุปกรณ์คอมพิวเตอร์ตัวที่ 5 บรรทัดที่ 95 สั่งให้ บอร์ด MP3 เล่นเสียงที่ 005 บรรทัดที่ 96 เมื่อเสียงที่ 005 เล่นจบ ให้หยุดรอค าสั่งต่อไป โดยที่ไม่เล่นเสียง 005 ซ้ า บรรทัดที่ 97 ปิดการท างานเงื่อนไขของการกดสวิทซ์ bt4 (ปุ่มกดที่ 5) บรรทัดที่ 100 ถ้ามีการกดสวิทซ์ bt5 (ปุ่มกดที่ 6) จะเริ่มการท างานของค าสั่งในวงเล็บ ตั้งแต่บรรทัดที่ 103-107 บรรทัดที่ 101 เปิดการสั่งงานในเงื่อนไข การกดสวิตซ์ bt5 (ปุ่มกดที่ 6) บรรทัดที่ 103 เรียกใช้ฟังก์ชั่น stopsound() เพ่ือสั่งหยุดเล่นเสียง บรรทัดที่ 104 สั่งให้ led ดับทุกหลอด บรรทัดที่ 105 สั่งให้ led5 ติดสว่าง( led หลอดที่ 6) เพ่ือให้ทราบต าแหน่งของอุปกรณ์คอมพิวเตอร์ตัวที่ 6 บรรทัดที่ 106 สั่งให้ บอร์ด MP3 เล่นเสียงที่ 006 บรรทัดที่ 107 เมื่อเสียงที่ 006 เล่นจบ ให้หยุดรอค าสั่งต่อไป โดยที่ไม่เล่นเสียง 006 ซ้ า บรรทัดที่ 109 ปิดการท างานเงื่อนไขของการกดสวิทซ์ bt5 (ปุ่มกดที่ 6) บรรทัดที่ 112 สิ้นสุดการท างานของฟังก์ชั่น loop()

Page 9: โครงการ สื่อการสอนอุปกรณ์คอมพิวเตอร์

แผนกคอมพิวเตอร์ธุรกิจ วิทยาลยัเทคโนโลยีบญุถาวร

9 บรรทัดที่ 124 ประกาศฟังก์ชั่นย่อย led_off ท าหน้าทีส่ั่งปิด led ทุกหลอด บรรทัดที่ 127 สั่งให้ led0 ดับ ( led หลอดที่ 1 ดับ) บรรทัดที่ 128 สั่งให้ led1 ดับ ( led หลอดที่ 2 ดับ) บรรทัดที่ 129 สั่งให้ led2 ดับ ( led หลอดที่ 3 ดับ) บรรทัดที่ 130 สั่งให้ led3 ดับ ( led หลอดที่ 4 ดับ) บรรทัดที่ 131 สั่งให้ led4 ดับ ( led หลอดที่ 5 ดับ) บรรทัดที่ 132 สั่งให้ led5 ดับ ( led หลอดที่ 6 ดับ) บรรทัดที่ 134 ปิดฟังก์ชั่นย่อย led_off บรรทัดที่ 140ประกาศฟังก์ชั่นย่อย stop_sound ท าหน้าที่สั่งหยุดเล่นเสียง บรรทัดที่ 142 สั่งให้ หยุดเล่นเสียง บรรทัดที่ 143 สั่งให้ โปรแกรมส่งค าสั่งเพียงรอบเดียว บรรทัดที่ 144 สั่งให้ หน่วงเวลา 0.2 วินาที บรรทัดที่ 145 ปิดฟังก์ชั่นย่อย stop_sound