47 TÊN H/ Đ: V ều k ển Tổng số giờ: 120 (giờ). Số giờ LT: 30; Số giờ TH: 90. ÀI THỰC HÀNH SỐ: Số ờ TH: 16h
TÊN BÀI: G o p digital in/out trong arduino
I. MỤC TIÊU CỦA BÀI:
Sau khi h xon n y n ời h c có kh năn : - Ki n thức:
- Cấu trúc ngơn ngữ l p trình arduino.
- Nắm ợc các l nh in/out digital trong arduino
n ô t Cú p p
pinMode() C ặt ân l nput y output, nằm tron p n k o Vo s tup()
pinMode(pin, mode) - p n: n ân muốn ặt:2,3,4… ,A0,A1… - mode: INPUT, OUTPUT, INPUT_PULLUP
digitalWrite() Xuất mứ lo r ân output : 0 =0Volt oặ 1=5Volt
digitalWrite(pin, value) - p n: ân xuất r - v lu : 0 oặ OW = 0Volt 1 oặ HIGH = 5Volt digitalRead() Đ mứ lo ở ân nput, trị tr về : 0Volt = 0 oặ 5Volt = 1 digitalRead(pin) - p n: ân - v lu : 0 = 0Volt oặ 1 = 5Volt
48 delay() T o t ờ n tr oãn miligiay delay(value) - v lu : trị t ờ n tr ỗn Ví ụ: tr oãn 1 ây value = 1000 - Kỹ năn : - Lắp m ch và vi t ơn tr n ều khiển èn tr n r u no - Thái :
- Có tác phong công nghi p.
II. CHUẨN BỊ DỤNG CỤ, THI T BỊ, VẬT TƯ
1 Đối với GV:
Tài li u, b ng, phấn, linh ki n n t 2 Đối với HSSV:
III. NỘI DUNG THỰC HÀNH.
Trong bài TH c n thể hi n các n i dung sau:
1. Trình bày ki n thức lý thuy t liên quan ( ây l k n thức mới phục vụ cho bài thực hành).
Các ki n thứ ã ợc trình bài trong mụ 2 2 2 H ớng dẫn ớc thực hi n.
49
2.1 cầ côn v ệc 1: ắp m v vi t ơn tr n n ấp nháy led với t n số 1Hz.
+ ước 1: Lắp m t o sơ ồ ước : V t o v n p v o o rd UNO void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH);
delay(500); // Wait for 500 millisecond(s) digitalWrite(13, LOW);
delay(500); // Wait for 500 millisecond(s) }
+ ước 3: ểm tr m
2.2 cầ côn v ệc 2: ắp m v vi t ơn tr n n ấp nháy led với t n số 5Hz. (Gợ ý: f = 5 Hz T= 1/f = 1/5 (s) =200 ms Ton = Toff =100 ms).
50
2.3 cầ côn v ệc 3: ắp m v vi t ơn tr n n ấp nháy 2 led s n tắt luân phiên với t n số 1Hz. ước 1: Lắp m t o sơ ồ ước : V t o v n p v o o r UNO void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); } void loop() { digitalWrite(13, HIGH); digitalWrite(12, LOW);
delay(500); // Wait for 500 millisecond(s) digitalWrite(13, LOW);
digitalWrite(12, HIGH);
51 }
ước 3: ểm tr m
2.4 cầ côn v ệc 4: ắp m v vi t ơn tr n ều k ển 8 l s n n từ tr s n p v lặp l T ờ n mỗ tr n t 200ms
ước 1: Lắp m t o sơ ồ
ước : V t o v n p v o o r UNO
byte ledPin[8] = {2,3,4, 5, 6, 7, 8, 9}; // danh sách ân ều khiển l ơn void setup() {
for (int x = 0; x < 8; x++) // 8 = số ph n t của ledPin {
pinMode(ledPin[x], OUTPUT); // cấu hình các chân trong danh sach là OUTPUT
} }
void loop() {
52 for (int x = 0; x < 8; x++)
{
digitalWrite(ledPin[x], LOW); // xuất tín hi u r ân ều khiển led là mức thấp
}
delay(200);
for (int x = 8; x >0; x--) {
digitalWrite(ledPin[x], HIGH); // xuất tín hi u r ân ều khiển led là mức cao.
delay(200); }
}
ước 3: ểm tr m
2.5 cầ côn v ệc 5: ắp m v vi t ơn tr n ều k ển 8 l s n n từ p s n tr , từ tron r n o v lặp l T ờ n mỗ tr n t 250ms (S n v n tự t ự n)
2.6 cầ côn v ệc 6: ắp m v v t ơn tr n t tắt 1 l ùn 1 nút n ấn, ấn l n 1 èn l s n , ấn l n t ứ 2 èn l tắt
53 ước : V t o v n p v o o r UNO # f n utton 2 // ịn n ĩ chân k t nối với nút bấm. # f n l 7 // ịn n ĩ ân k t nối vớ l ơn r kl = 0; // ịn n ĩ n ều khiển led. void setup() {
p n o ( utton, INPUT); //C ặt chân k t nối với nút bấm là INPUT pinMode(led, OUTPUT); //C ặt chân k t nối với LED là OUTPUT. }
void loop() {
if(digitalRead(button) == 1) // khi bấm nút lên mức cao {
delay(300); // trễ 1 thờ n ể chống nẩy phím' kl ++; // tăn n kl l n 1 ơn vị
if(dkled == 2) dkled = 0; // n u bi n dkled = 2 thì reset về 0 if(dkled == 0)// n u bi n dkled = 0
{
digitalWrite(led,0);// xuất tín hi u ra chân led là mứ t ấp. }
if(dkled == 1) {
digitalWrite(led,1);// xuất tín hi u ra chân led là mức cao. }
}
ước 3: ểm tr m
2.7 cầ côn v ệc 7: ắp m v vi t ơn tr n ều k ển b t tắt 2 l ùn 1 nút n ấn: ấn l n 1 èn l 1 s n , ấn l n t ứ 2 èn l 2 s n , ấn l n t ứ 3 tắt 2 èn l .
54
ước 1: Lắp m t o sơ ồ
ước : V t o v n p v o o r UNO (S n v n tự t ự n) ước 3: ểm tr m
3. Thực hành.
- N i dung yêu c u thực hành (câu hỏi, phi u ớng dẫn thực hi n, ....): Lắp m ch t o sơ ồ.
Khó học Kỹ năn
TT ước Thao tác Phươn pháp
hực h ện Phươn ện sử dụn Lư ý n oàn l o độn 1 ắp m T ự n m Kit arduino, l n k n n t t 2 V t ơn tr n v n p o T ự n m Máy tính 3 ểm tr m T ự n m Quan sát ằn mắt - K t qu thực hành: hoàn tất m n t .
55 4. Bài t p thực hành mở r ng t x ởng - ắp m v v t ơn tr n ều k ển l 7 o n ển t ị số từ 0 n 9 - V t ơn tr n ều k ển l n ấp n y ằn nút n ấn N ấn l n 1 l n ấp n y vớ t n số 0 5Hz, n ấn l n t ứ 2 l n ấp n y vớ t n số1Hz, n ấn nút n ấn l n t ứ 3 l n ấp n y vớ t n số 10Hz 5. Bài t p về nhà (n u có).
56 TÊN H/ Đ: V ều k ển Tổng số giờ: 120 (giờ). Số giờ LT: 30; Số giờ TH: 90. ÀI THỰC HÀNH SỐ: Số ờ TH: 16h
TÊN BÀI: G o p An lo output (PWM) trong arduino
I. MỤC TIÊU CỦA BÀI:
Sau khi h xon n y n ời h c có kh năn : - Ki n thức:
- Cấu trúc ngôn ngữ l p trình arduino.
- Nắm ợc các l nh in/out analog trong arduino. - Kỹ năn :
- Lắp m ch và vi t ơn tr n ều khiển trên arduino. - T :
- Có tác phong cơng nghi p.
II. CHUẨN BỊ DỤNG CỤ, THI T BỊ, VẬT TƯ
1 Đối với GV:
Tài li u, b ng, phấn, linh ki n n t 2 Đối với HSSV:
III. NỘI DUNG THỰC HÀNH.
Trong bài TH c n thể hi n các n i dung sau:
1. Trình bày ki n thức lý thuy t l n qu n ( ây l k n thức mới phục vụ cho bài thực hành).
n ô t Cú p p
analogWrite() Xuất tín u t ơn tự (PWM) ra chân analog
57 (chân ~ trên kit) T ờn
ùn ể ều k ển s n l , tố n ơ DC, n ơ RC servo. T n số PW t ờn 490Hz (pin5,6 board UNO 980Hz)
- pin: chân ể xuất PW r - value: 0 n 255
0: luôn tắt 255: luôn s n
analogReference() Cấu n n p t m u cho ân analog.
analogReference(DEFAU T oặ INTERNA oặ EXTERNAL) - DEFAU T: p t m u 5V. - INTERNA : 1 1volt ố vớ íp ATm 168, 2 56volt ố vớ p Atmega328 - EXTERNA : n p t m u n ân Vr f tr n o r (0 n 5V) 2 H ớng dẫn ớc thực hi n.
2.1 cầ côn v ệc 1: ắp m v vi t ơn tr n ều k ển s n ủ l ằn xun PW .
58 + ước : V t o v n p v o o r UNO void setup() { pinMode(3, OUTPUT); } void loop() { analogWrite(3, 0-255); // t y ổ trị từ 0 n 255 ể t y ổ s n ủ l } ước 3: ểm tr m
2.2 cầ côn v ệc 2: ắp m v vi t ơn tr n ều k ển tố ủ n ơ DC ằn xun PW . ( u ý: Đ n ơ DC 5V ôn suất n ỏ, k ôn ùn m ôn suất)
59
ước : V t o v n p v o o r UNO
Sinh viên tự v t o
ước 3: ểm tr m
2.3 cầ côn v ệc 3: ắp m v vi t ơn tr n ều k ển qu y ủ n ơ RC s rvo (Đ n ơ qu y từ 0 n 180 , qu y từ 180 về 0)
ước 1: Lắp m t o sơ ồ
60 #include <Servo.h> int pos = 0; Servo servo_9; void setup() { servo_9.attach(9); } void loop() {
// sweep the servo from 0 to 180 degrees in steps // of 1 degrees
for (pos = 0; pos <= 180; pos += 1) {
// tell servo to go to position in variable 'pos' servo_9.write(pos);
// wait 15 ms for servo to reach the position delay(15); // Wait for 15 millisecond(s) }
for (pos = 180; pos >= 0; pos -= 1) {
// tell servo to go to position in variable 'pos' servo_9.write(pos);
// wait 15 ms for servo to reach the position delay(15); // Wait for 15 millisecond(s) }
}
ước 3: ểm tr m
3. Thực hành.
- N i dung yêu c u thực hành (câu hỏi, phi u ớng dẫn thực hi n, ....): Lắp m ch t o sơ ồ
61
Khó học Kỹ năn
TT ước Thao tác Phươn pháp
hực h ện Phươn ện sử dụn Lư ý n oàn l o độn 1 ắp m T ự n m Kit arduino, l n k n n t t 2 V t ơn tr n v n p o T ự n m Máy tính 3 ểm tr m T ự n m Quan sát ằn mắt - K t qu thực hành: hoàn tất m n t . 4. Bài t p thực hành mở r ng t x ởng
- Vi t ơn tr n ều khiển m u sắ ủ n ful olor
- Đ ều k ển tố v ều qu y n ơ DC s ụn r v r ôn suất 298 - Đ ều k ển qu y ủ RC s rvo t o y u u
62 TÊN H/ Đ: V ều k ển Tổng số giờ: 120 (giờ). Số giờ LT: 30; Số giờ TH: 90. ÀI THỰC HÀNH SỐ: 3 Số ờ TH: 16h
TÊN BÀI: G o p n lo np n A d no Uno
I. MỤC TIÊU CỦA BÀI:
Sau khi h xon n y n ời h c có kh năn : - Ki n thức:
- Cấu trúc ngôn ngữ l p trình arduino. - Nắm ợc các l nh in/out trong arduino. - Kỹ năn :
- Lắp m ch và vi t ơn tr n ều khiển èn tr n r u no - T :
- Có tác phong cơng nghi p.
II. CHUẨN BỊ DỤNG CỤ, THI T BỊ, VẬT TƯ
1 Đối với GV:
Tài li u, b ng, phấn, linh ki n n t 2 Đối với HSSV:
III. NỘI DUNG THỰC HÀNH.
Trong bài TH c n thể hi n các n i dung sau:
1. Trình bày ki n thức lý thuy t l n qu n ( ây l k n thức mới phục vụ cho bài thực hành).
n ô t Cú p p
analogRead() Đ trị từ ân n lo , tr về trị n ị p ân 10
63 t (0-5Volt t ơn ứn trị từ 0-1023). -T ờn ợ ùn ể m n o n t , o k o n … - Tố lấy mẫu 10000/s - p n: ân 2 H ớng dẫn ớc thực hi n. 2.1 cầ côn v ệc 1: ắp m v vi t ơn tr n ùn n trởt y ổ s n ủ l ằn xun PW . ước 1: Lắp m t o sơ ồ ước : V t o v n p v o o r UNO
int led = 3; // chỉ s dụng những chân 3,5,6,9,10,11. void setup() {
pinMode(led, OUTPUT); }
void loop() {
64 nt pwm = m p(v l, 0, 1023, 0, 255);// ân nolo c giá trị từ 0-1023 và chân digital xuất xung từ 0- 255 vì v y ph i map l i giá trị
analogWrite(led, pwm); // xuất tín hi u PW ể ều khiển sáng của LED. }
ước 3: ểm tr m
2.2 cầ côn v ệc 2: ắp m v vi t ơn tr n iều khiển ờn sáng của led theo sự t y ổi của ờn s n mô tr ờng.
(Qu n trở ..........? Nguyên lý o t n : n s n n trở sẽ m y tăn ?)
ước 1: Lắp m t o sơ ồ
ước : V t o v n p v o o r UNO
Sinh viên ự v o code ủ y u u 1 ể t ự n
ước 3: ểm tr m
2.3 cầ côn v ệc 3: ắp m v vi t ơn tr n iều khiển tố n ơ DC ằn n trở
65
ước : V t o v n p v o o r UNO
S n v n o ủ y u u 1 ể t ự n
ước 3: ểm tr m
2.4 cầ côn v ệc 4: ắp m v vi t ơn tr n iều khiển tố n ơ DC k n t mô tr ờn t y ổ ( ùn m n 35 oặ T P36).
(S n v n n t m ểu: C m n n t 35, TMP36 ? Sơ ồ ân, n uy n lý o t n ?)
66
ước : V t o v n p v o o r UNO
S n v n o ủ y u u 1 ể t ự n
ước 3: ểm tr m
2.5 cầ côn v ệc 5: ắp m v vi t ơn tr n ều khiển xo y n ơ RC Servo bằn ều chỉnh núm vặn của bi n trở
ước 1: Lắp m t o sơ ồ
67 S n v n tự v t o
ước 3: ểm tr m
3. Thực hành.
- N i dung yêu c u thực hành (câu hỏi, phi u ớng dẫn thực hi n, ....): Lắp m ch t o sơ ồ
Khó học Kỹ năn
TT ước Thao tác Phươn pháp
hực h ện Phươn ện sử dụn Lư ý n oàn l o độn 1 ắp m T ự n m Kit arduino, l n k n n t t 2 V t ơn tr n v n p o T ự n m Máy tính 3 ểm tr m T ự n m Quan sát ằn mắt - K t qu thực hành: hoàn tất m n t . 4. Bài t p thực hành mở r ng t x ởng (n u có). - Đ ều k ển qu y n ơ S rvo ằn s n RF (n u ). 5. Bài t p về nhà (n u có).
68 TÊN H/ Đ: V ều k ển Tổng số giờ: 120 (giờ). Số giờ LT: 30; Số giờ TH: 90. ÀI THỰC HÀNH SỐ: 4 Số ờ TH: 6h T N ÀI: G o p U , I C I. MỤC TIÊU CỦA BÀI:
Sau khi h xon n y n ời h c có kh năn : - Ki n thức:
- Cấu trúc ngôn ngữ l p trình arduino.
- Nắm ợc các l nh giao ti p uart/i2c trong arduino. - Kỹ năn :
- Lắp m ch và vi t ơn tr n ều khiển èn tr n r u no - T :
- Có tác phong cơng nghi p.
II. CHUẨN BỊ DỤNG CỤ, THI T BỊ, VẬT TƯ
1 Đối với GV:
Tài li u, b ng, phấn, linh ki n n t 2 Đối với HSSV:
III. NỘI DUNG THỰC HÀNH.
Trong bài TH c n thể hi n các n i dung sau:
1. Trình bày ki n thức lý thuy t l n qu n ( ây l k n thức mới phục vụ cho bài thực hành).
Các ki n thứ ã ợc trình bài trong bài gi ng V ều k ển ơn 3 mục 3. 2 H ớng dẫn ớc thực hi n.
2.1 cầ côn v ệc 1: ắp m v vi t ơn tr n ều khiển b t tắt èn ằng máy tính thơng qua giao ti p uart
69
ước 1: Lắp m t o sơ ồ
ước : V t o v n p v o o r UNO
S n v n tự v t o
ước 3: ểm tr m
2.2 cầ côn v ệc 2: ắp m v vi t ơn tr n ều khiển xo y s rvo ằn máy tính thơng qua giao ti p uart
ước 1: Lắp m t o sơ ồ
70 S n v n tự v t o
ước 3: ểm tr m
2.3 cầ côn v ệc 3: ắp m v vi t ơn tr n ều khiển b t tắt èn l ằng n tho i thông qua giao ti p bluetooth với modul HC06
ước 1: Lắp m t o sơ ồ ước : V t o v n p v o o r UNO S n v n tự v t o ước 3: ểm tr m 2.4 cầ côn v ệc 4: ắp m v vi t ơn tr n ển t ị ữ l n CD ước 1: Lắp m t o sơ ồ
71
ước : V t o v n p v o o r UNO