You are on page 1of 15

618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ

Microprocessor and Interfacing Laboratory

การทดลองที่ 1
การใชงานโปรแกรม Proteus และ Arduino IDE
สมาชิกกลุม โตะที่ ……..… กลุมเรียนที่ ………………
1. รหัส …………………… ชื่อ-นามสกุล …………………………………………………………………
2. รหัส …………………… ชื่อ-นามสกุล …………………………………………………………………

วัตถุประสงค
1. เพื่อใหสามารถใชงานเครื่องมือตาง ๆ ของโปรแกรม Proteus ได
2. เพื่อใหสามารถใชโปรแกรม Proteus ในการจําลองการทํางานของวงจรอิเล็กทรอนิกสได
3. เพื่อใหสามารถใชโปรแกรม Arduino IDE ในการเขียนโปรแกรมภาษา C เบื้องตนได
4. เพื่อใหสามารถใชงานบอรด Arduino UNO R3 เบื้องตนได

ทฤษฎี
โปรแกรม Proteus หรือ Proteus VSM (Virtual System Modelling) เปนโปรแกรมที่พัฒนาขึ้น โดย
บริษัท แล็บเซ็นเตอรอิเล็กทรอนิกส จํากัด (Labcenter Electronics Ltd.) ที่ประเทศอังกฤษ โปรแกรม Proteus
มีชื่อเต็มวา Labcenter Electronics Proteus ซึ่งภายในโปรแกรมจะประกอบดวยสวนประกอบหลัก 2 สวนคือ
โปรแกรม ISIS และ ARES แสดงไอคอนดังรูปที่ 1 โปรแกรม Proteus ปจจุบันจะมีอยูหลายเวอรชันให
เลื อ กใช ง าน และถ า ต อ งการศึ ก ษาหาข อ มู ล เกี่ ย วกั บ เวอร ชั น ป จ จุ บั น ก็ ส ามารถเยี่ ย มชมได ที่ เ ว็ บ ไซต
http://www.labcenter.co.uk

รูปที่ 1 โปรแกรม ISIS และ ARES

ความสามารถในการทํางานของโปรแกรม Proteus ก็คือ สามารถจําลองการทํางานของวงจร


อิเล็กทรอนิกสไดหลากหลายรูปแบบ ไมวาจะเปนแบบอนาล็อกและแบบดิจิตอล หรือทั้งแบบอนาล็อกและ
ดิจิตอลผสมกัน นั่นคือโปรแกรม ISIS นอกจากนี้ Proteus ยังสามารถออกแบบลายวงจรพิมพ (PCB) ไดอีก
ดวย นั่นคือโปรแกรม ARES จุดเดนของโปรแกรม Proteus ที่เปนที่นิยมและชื่นชอบก็คือ การจําลองการ
ทํางานของวงจรอิเล็กทรอนิกส ที่ใชไมโครคอนโทรลเลอรตระกูลตาง ๆ ไมวาจะเปน MCS-51 , PIC , AVR
และ ARM เปนตน ทําใหนักเขียนโปรแกรมหรือโปรแกรมเมอรสามารถตรวจสอบไดวาโปรแกรมหรือโคด
ที่เขียนขึ้นมานั้น สามารถใชงานกับวงจรฮารดแวรที่ตอไดหรือไม ถาโปรแกรมที่เขียนขึ้นไมสามารถใชงาน

1
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

กับวงจรฮารดแวรที่ตอ โปรแกรมเมอรก็จะพัฒนาหรือแกไขโปรแกรม หรือปรับปรุงวงจรฮารดแวรจนกวา


โปรแกรมที่เขียนขึ้นและฮารดแวรที่ตอ สามารถทํางานไดและสนับสนุนซึ่งกันและกัน ทําใหการสราง
โครงงานตาง ๆ สามารถประหยัดเวลาและพัฒนาไดรวดเร็วมากขึ้น

หนาตางของโปรแกรม ISIS Professional แสดงดังรูปที่ 2

รูปที่ 2 หนาตางของโปรแกรม ISIS Professional

การเลือกหาอุปกรณ
เราสามารถเลือกหาอุปกรณตาง ๆ ที่ตองการใชในการวาดวงจรไดที่ ปุมคนหาอุปกรณ ดังรูปที่ 3

รูปที่ 3 ปุมคนหาอุปกรณ

เมื่อกดปุมคนหาอุปกรณแลวจะปรากฏหนาตางดังรูปที่ 4

2
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

รูปที่ 4 หนาตางคนหาอุปกรณ

จากรูปที่ 4 ในชอง Keywords: เราสามารถปอนชื่ออุปกรณที่ตองการได ตัวอยางเชน ถาตองการตัว


ตานทานขนาด 1 กิโลโอหม เราสามารถปอนชื่ออุปกรณเปน MINRES1K จะปรากฏรูปสัญลักษณในวงจร
ดานขวาบน และสัญลักษณใน PCB ดานขวาลาง และถาตองการอุปกรณตัวนี้ก็ใหกดปุม OK ดานลาง
จากนั้นเมื่อเราเลื่อนเมาสไปที่พื้นที่วาดวงจร จะปรากฏอุปกรณติดปลายเมาสแสดงดังรูปที่ 5 และ
เมื่อคลิกเมาสซายหนึ่งครั้งจะเปนการวางอุปกรณที่ตองการลงบนพื้นที่วาดวงจร ดังรูปที่ 6

รูปที่ 5 ตัวตานทานที่ติดปลายเมาส

รูปที่ 6 วางตัวตานทานลงบนพื้นทีว่ าดวงจร

3
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

ถาเราตองการแกไขชื่ออุปกรณก็ทําไดโดยการคลิกที่ชื่ออุปกรณจะปรากฏหนาตางแสดงดังรูปที่ 7

รูปที่ 7 หนาตางแกไขชื่ออุปกรณ

ถาเราตองการกําหนดทิศทางการวางอุปกรณ หรือ แกไขคุณสมบัติ หรือ ลบอุปกรณ สามารถทําได


โดยการคลิกเมาสขวาที่อุปกรณที่ตองการหนึ่งครั้งจะปรากฏเมนูดังรูปที่ 8

รูปที่ 8 เมนูตาง ๆ ของแตละอุปกรณ

4
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

ถาเราตองการเลือกไฟเลี้ยงและกราวนใหกับวงจร สามารถทําไดโดยการกดปุม TERMINALS


MODE โดยไฟเลี้ยงวงจรจะอยูที่ชื่อ POWER และกราวนจะอยูที่ชื่อ GROUND โดยสัญลักษณของ
ไฟเลี้ยงวงจรและกราวน แสดงดังรูปที่ 9

รูปที่ 9 การเลือกไฟเลี้ยงวงจรและกราวน

เมื่อเราวาดวงจรเสร็จสิ้นแลว เราสามารถกดปุม Run วงจร เพื่อจําลองการทํางานของวงจรไดทแี่ ถบ


เมนูที่อยูทางดานลางซาย แสดงดังรูปที่ 10

รูปที่ 10 แถบเมนูที่ใชในการ Run วงจร

อุปกรณการทดลอง
1. เครื่องคอมพิวเตอร 1 เครื่อง
2. โปรแกรม Proteus (ISIS)
3. โปรแกรม Arduino IDE
4. บอรด Arduino UNO R3 1 บอรด
5. ตัวตานทาน 220 โอหม 1 ตัว
6. LED สีแดง 1 ดวง
7. สายตอวงจร

5
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

ขั้นตอนการทดลอง
ตอนที่ 1: จําลองการทํางานของวงจรไฟกระพริบ 1 ดวง
1. ใหวาดวงจรไฟกระพริบ 1 ดวงแบบใชไอซีเบอร 555 แสดงดังรูปที่ 11

รูปที่ 11 วงจรไฟกระพริบ 1 ดวงแบบใชไอซีเบอร 555

โดยวงจรนี้ประกอบไปดวยอุปกรณดังตารางขางลางนี้
อุปกรณ ชื่ออุปกรณที่เลือกใชใน Proteus
ตัวตานทาน MINRES220R
MINRES6K8
MINRES51K
ตัวเก็บประจุ GENELECT10U50V
LED สีแดง LED-RED
ไอซี 555 555
ไฟเลี้ยงวงจร POWER
กราวน GROUND

6
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

2. หลังจากวาดวงจรในรูปที่ 11 เสร็จเรียบรอยแลว ใหทําการกดปุม Run วงจร ถาวงจรนี้เชื่อมตอ


ถูกตองและทํางานไดอยางสมบูรณจะใหผลการ Run วงจร แสดงดังรูปที่ 12 โดยจะสังเกตไดวา LED จะ
กระพริบ ติด-ดับ สลับกันไปเรื่อย ๆ และถาเราตองการหยุดการ Run วงจร ทําไดโดยการกดปุม Stop ที่แถบ
เมนูดานลางของโปรแกรม Proteus

รูปที่ 12 ผลการ Run วงจรไฟกระพริบ 1 ดวง


คําถามทายการทดลองตอนที่ 1
1. จากวงจรไฟกระพริบ 1 ดวงในรูปที่ 11 ถาเราเปลี่ยนตัวเก็บประจุจาก 10 ไมโครฟาราด เปน 1 ไม
โครฟาราด จะทําให LED กระพริบเร็วขึ้นหรือชาลง
ตอบ .....................................................................................................................................................

ตอนที่ 2: จําลองการทํางานของวงจรไฟวิง่ วงกลม


1. ใหวาดวงจรไฟวิ่งวงกลมแบบใชไอซีเบอร 555 และ 4017 แสดงดังรูปที่ 13

รูปที่ 13 วงจรไฟวิ่งวงกลมแบบใชไอซีเบอร 555 และ 4017

7
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

2. หลังจากวาดวงจรในรูปที่ 13 เสร็จเรียบรอยแลว ใหทําการกดปุม Run วงจร ถาวงจรนี้เชื่อมตอ


ถูกตองและทํางานไดอยางสมบูรณจะใหผลการ Run เปน LED สีเขียววิ่งเปนรูปวงกลมตามเข็มนาฬิกา แสดง
ดังรูปที่ 14

รูปที่ 14 ตัวอยางผลการ Run วงจรไฟวิ่งวงกลม

คําถามทายการทดลองตอนที่ 2
1. จากวงจรไฟวิ่งวงกลมในรูปที่ 13 ถาเราเปลี่ยนตัวตานทานจาก 20 กิโลโอหมเปน 10 กิโลโอหม
จะทําให LED วิ่งเร็วขึ้นหรือชาลง
ตอบ .....................................................................................................................................................

ตอนที่ 3: จําลองการทํางานของวงจรนับจํานวนครัง้ ของการกดสวิตซ


1. ใหวาดวงจรนับจํานวนครั้งของการกดสวิตซแบบใชไอซีเบอร 4029 และ 4511 แสดงดังรูปที่ 15

รูปที่ 15 วงจรนับจํานวนครัง้ ของการกดสวิตซแบบใชไอซีเบอร 4029 และ 4511

8
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

2. ในวงจรรูปที่ 15 ใหใชชื่อ “7SEG-COM-CATHODE” ในการคนหาอุปกรณ 7-Segment และให


ใชชื่อ “BUTTON” ในการคนหาสวิทช และหลังจากวาดวงจรในรูปที่ 15 เสร็จเรียบรอยแลว ใหทําการกดปุม
Run วงจร ถาวงจรนี้เชื่อมตอถูกตองและทํางานไดอยางสมบูรณจะใหผลการ Run เปนการนับเพิม่ ขึ้นหนึ่งทุก
ครั้งที่มีการกดสวิตซ ตัวอยางแสดงดังรูปที่ 16

รูปที่ 16 ตัวอยางผลการ Run วงจรนับจํานวนครั้งของการกดสวิตซ

คําถามทายการทดลองตอนที่ 3
1. จากวงจรนับจํานวนครั้งของการกดสวิตซในรูปที่ 15 ตัว 7-Segment ที่ใชเปน Common แบบใด
ตอบ .....................................................................................................................................................

ตอนที่ 4: จําลองการทํางานของวงจรไฟกระพริบ 1 ดวงโดยใชบอรด Arduino UNO R3


1. ใหวาดวงจรไฟกระพริบ 1 ดวง แบบใชบอรด Arduino UNO R3 แสดงดังรูปที่ 17

รูปที่ 17 วงจรไฟกระพริบ 1 ดวงทีว่ าดในโปรแกรม Proteus

9
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

2. ใหเปดโปรแกรม Arduino IDE แลวพิมพโคดโปรแกรมขางลางนี้ จากนั้นให save โคดที่พิมพ


เสร็จแลว ซึ่งจะมีนามสกุลเปน *.ino โดยจะหนาตางของโปรแกรมแสดงดังรูปที่ 18 และ Arduino IDE มีเมนู
การใชงานแสดงดังรูปที่ 19
บรรทัดที่ โคดโปรแกรม EX01 ไฟกระพริบ 1 ดวง
1 int led = 7;
2 void setup()
3 {
4 pinMode(led,OUTPUT);
5 }
6 void loop()
7 {
8 digitalWrite(led,HIGH);
9 delay(1000);
10 digitalWrite(led,LOW);
11 delay(1000);
12 }

รูปที่ 18 หนาตางของโปรแกรม Arduino IDE ที่พิมพโคดเสร็จแลว

รูปที่ 19 เมนูตาง ๆ ของโปรแกรม Arduino IDE


10
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

3. ใหเลือกบอรดที่จะใชงานเปน Arduino Uno แสดงดังรูปที่ 20 (การเลือกนี้ จะทําเพียงครั้งเดียว ซึ่ง


โปรแกรมจะจําชื่อบอรดที่เราใชงานไวไดตลอด จนกวาจะมีการเปลี่ยนแปลงภายหลัง)

รูปที่ 20 การกําหนดชื่อบอรดที่เราจะใชงาน

4. ใหเขาไปที่เมนู File -> Preferences แลวเลือกชอง compilation เพื่อใหแสดงที่อยูของไฟล *.HEX


ที่ไดจากการ Compile ดังแสดงในรูปที่ 21 (การเลือกนี้ จะทําเพียงครั้งเดียว เนื่องจากโปรแกรมจะจําการเลือก
คานี้ไวไดตลอด จนกวาจะมีการเปลี่ยนแปลงภายหลัง)

รูปที่ 21 การกําหนดให Arduino IDE แสดงขอมูลที่อยูของไฟล *.HEX

5. จากนั้นใหกดปุมเครื่องหมายถูกเพื่อ Verify/Compile ดังรูปที่ 22

รูปที่ 22 การ Compile โคดที่เราพิมพไว

11
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

6. ถาพิมพโคดไดถูกตอง จะมีขอความแจงวา Done compiling พรอมทั้งแสดงตําแหนงที่อยูของไฟล


*.HEX โดยในตัวอยางนี้มีชื่อวา sketch_jan24a.cpp.hex พรอมทั้งแสดงเปอรเซ็นตของการใชพื้นที่ของ
หนวยความจําโปรแกรม แสดงดังรูปที่ 23

รูปที่ 23 ที่อยูของไฟล *.HEX และเปอรเซ็นตของการใชพื้นที่ของหนวยความจําโปรแกรม

7. เมื่อไดไฟล *.HEX มาแลว ใหกลับไปที่โปรแกรม Proteus 7 และใหดับเบิ้ลคลิกที่บอรด Arduino


UNO R3 เพื่อเปนการกําหนดชื่อไฟล *.HEX ที่ตองการ RUN บนบอรด โดยใหเลือกไฟล *.HEX ที่ไดจาก
ขั้นตอนที่แลว แสดงดังรูปที่ 24

รูปที่ 24 การกําหนดไฟล *.HEX ใหกับบอรด Arduino UNO R3

8. จากนั้นใหกดปุม Play เพื่อเริ่มตนการจําลองการทํางาน ซึ่งจะไดผลการทํางานดังรูปที่ 25 โดย


หลอด LED จะติด-ดับ สลับกันทุก ๆ 1 วินาที

รูปที่ 25 ผลการรันโปรแกรมไฟกระพริบ 1 ดวง


12
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

คําถามทายการทดลองตอนที่ 4
จากโคดโปรแกรม EX01 ไฟกระพริบ 1 ดวง จงตอบคําถามตอไปนี้
1. โคดบรรทัดที่ 4 ทําหนาที่อะไร
ตอบ .....................................................................................................................................................
2. โคดบรรทัดที่ 8 ทําหนาที่อะไร
ตอบ .....................................................................................................................................................
3. โคดบรรทัดที่ 9 ทําหนาที่อะไร
ตอบ .....................................................................................................................................................
4. โคดบรรทัดที่ 10 ทําหนาที่อะไร
ตอบ .....................................................................................................................................................
5. โคดบรรทัดที่ 11 ทําหนาที่อะไร
ตอบ .....................................................................................................................................................

ตอนที่ 5: การทํางานของวงจรไฟกระพริบ 1 ดวง โดยใชบอรดจริง


1. ใหตอวงจรไฟกระพริบ 1 ดวง แสดงดังรูปที่ 26 โดยในที่นี้จะใชโคดเหมือนกับตอนที่ 4

รูปที่ 26 วงจรไฟกระพริบ 1 ดวงที่ตอบอรดจริง

รูปที่ 27 วิธีการดูขั้วขาของ LED

13
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

2. ใหเลือก COM port ที่ใชในการติดตอกับบอรด Arduino ในตัวอยางนี้ใช COM3 ดังรูปที่ 28

รูปที่ 28 การเลือก COM port ที่เชื่อมตออยูก ับบอรด Arduino

3. จากนั้นใหกดปุมเครื่องหมายลูกศร เพื่อ Upload โปรแกรมลงบอรด แสดงดังรูปที่ 29

รูปที่ 29 การ Upload โปรแกรมลงบอรด

4. เมื่อ Upload โปรแกรมลงบอรดเรียบรอยแลว จะเปนการ run อัตโนมัติ หลอด LED ก็จะกระพริบ


ติด-ดับ สลับกันทุก 1 วินาที

14
618353 ปฏิบัติการไมโครโปรเซสเซอรและการเชื่อมตอ
Microprocessor and Interfacing Laboratory

วิเคราะหผลและสรุปการทดลอง
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………
……………………………………………………………………………………………………………

โจทยเขียนโปรแกรมทายการทดลอง
จากรูปวงจรขางลางนี้ ใหเขียนโปรแกรมควบคุมไฟจราจร โดยมีการทํางานดังตอไปนี้
- ในตอนแรก LED สีเขียวจะติด 15 วินาที แลวดับ
- จากนั้น LED สีเหลืองจะติด 3 วินาที แลวดับ
- จากนั้น LED สีแดงจะติด 10 วินาที แลวดับ แลววนไปที่ LED สีเขียวอีกครั้ง โดยจะทํางานเชนนี้
วนไปเรื่อยๆ

รูปที่ 30 วงจรไฟจราจร

ใหสง FlowChart และ โคดโปรแกรม พรอมกับ LabSheet นี้ ในสัปดาหถัดไป

15

You might also like