Professional Documents
Culture Documents
Lab5 R1
Lab5 R1
หลังจากใช้ซอฟต์แวร์จัดการควบคุมอุปกรณ์ที่ถูกต่ออยู่บนบอร์ดแต่ยังไม่ได้ใช้งานจะพบว่าการทำงานผิดพลาดจะไม่
เกิดขึ้นเนื่องจากได้มีการเข้าไปควบคุมสั่งให้หยุดการทำงานเอาไว้ก่อนในที่นี้ คือสั่งให้ตัวแสดงผล 7-Segment ไม่แสดงค่า
ออกมา
3.1.1 จงเขียนโปรแกรมควบคุมให้หลอดแอลอีดีติดทีละหลอดจาก D1 ไป D4 ห่างกัน 1 วินาที และดับทั้งหมดเป็นเวลา
2 วินาทีหลังจากนั้นติดจาก D4 ไป D1 วน Loop อย่างนี้ตลอดเวลา โดยให้ช่วงการเปลี่ยนทิศทางการเลื่อนต้องดับเป็นเวลา 2
วินาทีทุกๆทิศทางการเลื่อน
3.1.2 จงเขียนโปรแกรมควบคุมให้ Port B บิต3 และ บิต4 ของไมโครคอนโทรลเลอร์ ATmega 328TQFP เป็น High
และ low สลับกันทุกๆ 3 วินาที สังเกตผลการทำงานและบันทึกผลพร้อมทั้งอธิบายรายละเอียด การทำงานโดยดูวงจรที่แนบ
ในภาคผนวก
3.2 การจัดโครงสร้างของโปรแกรมใหม่โดยใช้การควบคุมแบบมีเงื่อนไข (Control Structure Program)
เพื่อให้เกิดประสิทธิภาพในการทำงานของระบบจึงต้องมีการใช้ฟังก์ชันของการควบคุมแบบมีเงื่อนไขมาควบคุมการ
ดำเนินการของคำสั่งหรือฟังก์ชันที่ใช้สำหรับในการดำเนินการหรือสั่งงานเพื่อให้ระบบเกิดการทำงานอย่างใดอย่างหนึ่ง กลุ่ม
คำสั่งในการดำเนินการควบคุมแบบมีเงื่อนไขประกอบไปด้วย
คำสั่ง รูปแบบ
for (initialization; condition; increment)
{
for
// statement(s);
}
while (condition)
{
while
// statement(s);
}
do {
do…while // statement(s);
} while (condition);
หมายเหตุ สามารถดูกลุ่มคำสั่งทั้งหมดและศึกษารายละเอียดได้ที่
https://www.arduino.cc/reference/en/#structure
ข้อจำกัดของการพัฒนาโปรแกรมควบคุมด้วย arduino ในเรื่องของการควบคุมพอร์ต คือสามารถทำการสั่งการพอร์ต
ของไมโครคอนโทรลเลอร์ได้เพียงครั้งละ 1 บิต จากตัวอย่าง EX-B ต้องการจะควบคุมหลอดแอลอีดีที่ต่ออยู่กับพอร์ตของ
ไมโครคอนโทรลเลอร์ หมายเลข 10 11 12 และ 13 จะต้องใช้การสั่งงานทีละคำสัง่ ทำให้โปรแกรมมีขนาดใหญ่และเป็นการ
สั่งงานในลักษณะเดียวกันสามารถนำมาปรับปรุงและทำให้โปรแกรมมีขนาดกระชับลง ได้ดังตัวอย่าง EX-C โดยการใช้
for Control Structure สามารถรวบรวมคำสั่งที่ทำงานซ้ำ มาจัดการภายใต้ for Control ได้
3.4 การกำเนิดสัญญาณเสียง
สามารถจะสร้างสัญญาณเสียงโดยการพัลส์ HIGH/LOW ไปควบคุม output ที่ต่อกับวงจรขับอุปกรณ์กำเนิดเสียงตาม
วงจรของบอร์ดทดลองเป็นบัซเซอร์ โดยขับด้วยทรานซิสเตอร์ต่ออยู่กับ IO3
INPUT OUTPUT
A B C AND NAND OR NOR
S1-A1 S2-A2 S3-A3 LED-D1 LED-D2 LED-D3 LED-D4
การพิจารณาคะแนนใบงานนี้จะนำเอาจำนวนบรรทัดของโปรแกรมแต่ละกลุ่มมาเรียงลำดับจากจำนวนที่ใช้รหัสน้อย
สุดไปมากสุด หากการพิจารณาโครงสร้างของโปรแกรมและรหัสของโปรแกรมเหมือนกันจะติดลบทั้งคู่
----------------------------------------------------------
ภาคผนวก A
วงจรสมบูรณ์ของ iEE-M328 ไมโครคอนโทรลเลอร์บอร์ด
วงจรสมบูรณ์ของ iEE-EP1 บอร์ดขยายอินพุต/เอาต์พุต
A B C D E F G H J K
VCC R4 R5 C2
0 0
VCC VCC
X1
VCC 1K 1K
USB1 U2 10P C3
L3 L2 X1 R1 REF
1 VCC RXD
VCC 6 15 TXD 1M
D-
2 USBDM RS232 R2 C1 16M
0.1u
1 3 1
D+ 5 2 X2
4 USBDP TXD 1K
ID 3
GND
5
C7 7
RXD R3 10P
22P OSCI
14 J2
MICRO-USB RTS
X2 9 1K PB0 1
12M
CTS
13 J1 U1 PB1 2
IO8
C8 8
DTR
10 VCC 1 30 12 PB0 PB2 3
IO9
2 22P OSCO DSR
12
IO0
2 31
PD0/RXD PB0/CLKO
13 PB1 PB3 4
IO10 2
DCD IO1 PD1/TXD PB1/OC1A IO11
11 3 32 14 PB2 PB4 5
RI IO2 PD2/INT0 PB2/SS IO12
4 4 1 15 PB3 PB5 6
V3.3 GND IO3 PD3/INT1 PB3/MOSI IO13
5 2 16 PB4 GND 7
PD4/T0 PB4/MISO
CH340G1 C9 R6
IO4
IO5
6 9
PD5/T1 PB5/SCK
17 PB5 REF 8
GND
AREF
0.1u 7 10 7 X1 PC4 9
10K IO6 PD6/AIN0 PB6/XTAL1 SCL
3 8 11 8 X2 PC5 10 3
L1 IO7 PD7/AIN1 PB7/XTAL2 SDA
8
UIN
VCC U3:B L4
6 J5
5 R8 6
7
PB4 1 2 6
PB5 3 4 1K
LM358
UIN RES 5 6 Built-in
LED
4
U4 ICSP
P1 D2 LM1117S-5,0
7 3 2/4
7
IN OUT VCC
N4004
GND
DC JACK C4 C5 C6
47u/25v 47u/25v 0.1u
1
8 8
0 J2-E J1-E 0
IO8 1 1 IO0 RES RESET
PB0 PD0
IO9~ 2 2 IO1
PB1 PD1
IO10~ 3 3 IO2
PB2 PD2
IO11~ 4
PB3 PD3
4 IO3~
LS1-3
IO12~ 5
PB4 PD4
5 IO4 R9
IO13~ 6 6 IO5~ IO3~
1 GND 7
PB5 PD5
7 IO6~ 1
REF 8
GND PD6
8 IO7 10k Q1
SCL 9
AREF PD7 MMBT3906 BUZZER
PC4
SDA 10 IOL
PC5
IO2
IOH J4-E IO2
1 VCC U1
2 J3-E 2 VCC IO7 IO7 11 15
2
SH_CP Q0
AD0 1 3 RES IO4 14 1
PC0 DS Q1
AD1 2 4 3.3V 2
PC1 Q2
AD2 3 5 VCC IO4 12 3
AD3 4
PC2
6 J10 ST_CP Q3
4
PC3
VCC Q4
AD4 5 7 1 5
PC4 GND Q5
3 AD5 6 8 2 6 3
PC5 VCC +5V Q6
3 10 7
NC MR Q7
AD POWER 4 13 9
IO1 OE Q7'
IO1 5
UIN IO0
IO0 6 74HC595
NC
7
NC
4 25630701RP2 U2 4
IO13~ R1 D1 11 15
SH_CP Q0
IO8 IO8 14 1
510 DS Q1
2
J20 12
Q2
3
IO12~ R2 D2 IO5~ 3
ST_CP Q3
4
IO5
VCC Q4
2 5
510 +5V Q5
5 1 6 5
VCC GND Q6
10 7
IO11~ R3 D3 HD1 13
MR Q7
9
OE Q7'
VCC
510 J21 74HC595 DS18B20
IO6~ 3 1 1 2 3
IO10~ R4 D4 2
IO6 2
6 +5V 3 6
1
510 GND
GND DQ VDD
HD2 J30
VCC 1
AD1 S1-A1 J22 IO2
2
OUT
1 2 3 4 5 6
GND IR-Module
IO9~ IO9~ 3 3
IO9 VCC +5V
2 4
7 AD2 S2-A2 1
+5V
5
GND TOP VIEW 7
GND AD4 DQ TEMP.Sensor
6
+5V
HD3
AD3 S3-A3 VCC R5 SOCKET
J23 VCC 10k FOR IR MODULE & DS18B20
AD5 3
8 AD1 R6 VCC 2
AD5
8
+5V
1
10K GND
R7 VR-A0
AD2
VCC
HD4 AD0
10K JP1 FILE NAME: iEE-EP1_r2.pdsprj DATE:
Pull-UP
10K
C1 iEE-EP1 BOARD 18-Jun-19
AD3 R8 AD0 100nF
DESIGN TITLE:
9 PAGE: 9
10K JP2 AD4 VCC
PATH: D:\iEE-EP1_r2X.pdsprj 1 of 1
Pull-UP AD4
BY: SURACHAI C. REV: 2 TIME: 19:27:25
A B C D E F G H J K