LẬP TRÌNH GIAO T IP AR UINO VỚI CC LINH KIỆN, M

Một phần của tài liệu Giáo trình Lập trình vi điều khiển nâng cao (Nghề Công nghệ kỹ thuật ĐiệnĐiện tử CĐTC) (Trang 50)

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. MC TIÊU CA 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. CHUN B DNG 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. MC TIÊU CA 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. CHUN B DNG 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. NI DUNG THC 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. MC TIÊU CA 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. CHUN B DNG 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. NI DUNG THC 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. MC TIÊU CA 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. CHUN B DNG 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. NI DUNG THC 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

Một phần của tài liệu Giáo trình Lập trình vi điều khiển nâng cao (Nghề Công nghệ kỹ thuật ĐiệnĐiện tử CĐTC) (Trang 50)

Tải bản đầy đủ (PDF)

(81 trang)