Networks Business Online Việt Nam & International VH2

Arduino tu hoc a den z cho người mới bắt đầu – Tài liệu text

Đăng ngày 07 November, 2022 bởi admin

Arduino tu hoc a den z cho người mới bắt đầu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (14.95 MB, 312 trang )

1

EBOOKS TỰ HỌC
LẬP TRÌNH
ARDUINO DÀNH
CHO NGƯỜI MỚI
BẮT ĐẦU TỪ
A ĐẾN Z

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

2

MỤC LỤC
A. GIỚI THIỆU VỀ ARDUINO ………………………………………………………………………. 15
I.

ARDUINO LÀ GÌ? ……………………………………………………………………………………… 17

II. SƠ LƯỢC VỀ ARDUINO UNO R3 ……………………………………………………………… 21
1. Một số thông số kỹ thuật như sau : ……………………………………………………………. 22
2. Sơ đồ chân của Arduino Uno…………………………………………………………………….. 23
III. SƠ LƯỢC BỘ KIT TỰ HỌC ARDUINO …………………………………………………….. 25
1. Giới thiệu sơ lược về KIT TỰ HỌC: …………………………………………………………. 25

2. Những lợi ích của Kit Tự Học Arduino: ……………………………………………………. 25
3. Mục đích của bộ KIT TỰ HỌC: ……………………………………………………………….. 26
4. Một số bộ KIT TỰ HỌC ARDUINO: ………………………………………………………. 27
IV. CÀI ĐẶT PHẦN MỀN IDE VÀ DRIVER ……………………………………………………. 27
1. Cài đặt phần mền Arduino IDE: ………………………………………………………………. 27
a.

Cài Java Runtime Environment (JRE). ………………………………………………………. 27

b. Cài đặt Arduino IDE: ………………………………………………………………………………. 28
2. Cài đặt Driver đối với Arduino Uno, mê ga,…: …………………………………………. 30
a.

Cài đặt Driver: ………………………………………………………………………………………… 30

b. Nạp chương trình cho Arduino Uno (mega tương tự): …………………………………. 32
3. Cài đặt Driver đối với Nano: …………………………………………………………………….. 34
a.

Giới thiệu board arduino Nano. ………………………………………………………………… 34

b. Cài đặt driver cho Arduino Nano ………………………………………………………………. 34
c.

Thông số kỹ thuật Arduino Nano: …………………………………………………………….. 35

d. Nạp chương trình cho Arduino Nano: ……………………………………………………….. 36
B. NGÔN NGỮ LẬP TRÌNH ARDUINO …………………………………………………………… 40
I.

HÀM CHỨC NĂNG (FUNCTION): ……………………………………………………………. 40
1. Hàm nhập xuất Digital I/O: ………………………………………………………………………. 41
a.

digitalWrite():…………………………………………………………………………………………. 41

b. digitalRead(): …………………………………………………………………………………………. 42
c.

pinMode(): …………………………………………………………………………………………….. 43

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

3

2. Hàm nhập xuất Analog I/O: ……………………………………………………………………… 45
a.

analogRead() ………………………………………………………………………………………….. 45

b. analogReference () ………………………………………………………………………………….. 46
c.

analogWrite() …………………………………………………………………………………………. 48

d. analogReadResolution ():…………………………………………………………………………. 49
e.

analogWriteResolution () …………………………………………………………………………. 51

3. Hàm nhập xuất nâng cao I/O: ………………………………………………………………… 53
a.

noTone(); ……………………………………………………………………………………………….. 53

b. pulseIn () ……………………………………………………………………………………………….. 53
c.

shiftIn(); ………………………………………………………………………………………………… 54

d. shiftOut(); ………………………………………………………………………………………………. 55
e.

tone(); ……………………………………………………………………………………………………. 58

4. Hàm thời gian: …………………………………………………………………………………………. 59
a.

delay() …………………………………………………………………………………………………… 59

b. delayMicroseconds () ………………………………………………………………………………. 60
c.

micros() …………………………………………………………………………………………………. 61

d. millis(); ………………………………………………………………………………………………….. 62
5. Hàm toán học: ………………………………………………………………………………………….. 64
a.

abs() ………………………………………………………………………………………………………. 64

b. constrain() ……………………………………………………………………………………………… 64
c.

map() …………………………………………………………………………………………………….. 65

d. max() …………………………………………………………………………………………………….. 66
e.

min() ……………………………………………………………………………………………………… 66

f.

sq() ……………………………………………………………………………………………………….. 67

g. sqrt() ……………………………………………………………………………………………………… 67
6. Hàm lượng giác: ………………………………………………………………………………………. 68
a.

cos() ………………………………………………………………………………………………………. 68

b. sin() ………………………………………………………………………………………………………. 68
c.

tan() ………………………………………………………………………………………………………. 69

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

4

7. Hàm số ngẫu nhiên: ………………………………………………………………………………….. 69
a.

random() ………………………………………………………………………………………………… 69

b. randomSeed() …………………………………………………………………………………………. 70
8. Bits và Bytes: ……………………………………………………………………………………………. 72
a.

Bit() ………………………………………………………………………………………………………. 72

b. bitClear() ……………………………………………………………………………………………….. 73
c.

bitRead()………………………………………………………………………………………………… 73

d. bitWrite() ……………………………………………………………………………………………….. 74
e.

bitSet() …………………………………………………………………………………………………… 75

f.

lowByte() ………………………………………………………………………………………………. 75

g. highByte() ……………………………………………………………………………………………… 76
9. Hàm Ngắt (interrupt) ……………………………………………………………………………….. 77
a.

interrupts() ……………………………………………………………………………………………… 77

b. noInterrupts() …………………………………………………………………………………………. 78
10. Hàm Ngắt Ngoài: ……………………………………………………………………………………… 79
a.

attachInterrupt() ……………………………………………………………………………………… 79

b. detachInterrupt()……………………………………………………………………………………… 81
11. Hàm Giao tiếp ………………………………………………………………………………………….. 83
a.

Serial() …………………………………………………………………………………………………… 83

12. Xử lý chuỗi: ……………………………………………………………………………………………… 84
a.

Hàm isAlpha() ………………………………………………………………………………………… 84

b. Hàm isAscii() …………………………………………………………………………………………. 85
c.

Hàm isWhitespace() ………………………………………………………………………………… 86

d. Hàm isPrintable(): …………………………………………………………………………………… 87
e. Hàm isUpperCase(): ………………………………………………………………………………….. 88
f. Hàm isHexadecimalDigit()………………………………………………………………………… 89
g. tolower: ………………………………………………………………………………………………….. 90
h. Hàm toupper() ………………………………………………………………………………………….. 90
i. Hàm isLowerCase() ……………………………………………………………………………………. 91
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

5

II. GIÁ TRỊ : …………………………………………………………………………………………………… 92
1. Hằng số ……………………………………………………………………………………………………. 93
a.

Hằng số thực: …………………………………………………………………………………………. 93

b. Hằng số nguyên ………………………………………………………………………………………. 93
c.

HIGH …………………………………………………………………………………………………….. 96

d. LOW……………………………………………………………………………………………………… 97
e.

INPUT: ………………………………………………………………………………………………….. 98

f.

INPUT_PULLUP ……………………………………………………………………………………. 98

g. OUTPUT ……………………………………………………………………………………………….. 99
h. LED_BUILTIN ………………………………………………………………………………………. 99
i.

true ……………………………………………………………………………………………………….. 99

j.

false …………………………………………………………………………………………………….. 100

2. Kiểu dữ liệu: …………………………………………………………………………………………… 100
a.

void……………………………………………………………………………………………………… 100

b. boolean ………………………………………………………………………………………………… 101

c.

int: ………………………………………………………………………………………………………. 102

d. unsigned int ………………………………………………………………………………………….. 103
e.

char ……………………………………………………………………………………………………… 104

f.

unsigned char ……………………………………………………………………………………….. 104

g. byte ……………………………………………………………………………………………………… 104
h. word ……………………………………………………………………………………………………. 105
i.

long……………………………………………………………………………………………………… 105

j.

unsigned long ……………………………………………………………………………………….. 105

k. short …………………………………………………………………………………………………….. 106
l.
m.

float …………………………………………………………………………………………………….. 106
double ………………………………………………………………………………………………. 107

n. array ……………………………………………………………………………………………………. 107
o. string……………………………………………………………………………………………………. 109
3. Chuyển đổi kiểu dữ liệu ………………………………………………………………………….. 111
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

6

a.

char() …………………………………………………………………………………………………… 111

b. byte() …………………………………………………………………………………………………… 111
c.

int() ……………………………………………………………………………………………………… 112

d. word() ………………………………………………………………………………………………….. 112
e.

long() …………………………………………………………………………………………………… 113

f.

float() …………………………………………………………………………………………………… 113

4. Biến hằng, biến tĩnh: …………………………………………………………………………….. 114
a.

const – biến hằng …………………………………………………………………………………… 114

b. static – biến tĩnh …………………………………………………………………………………….. 114
III. CẤU TRÚC ( STRUCTURE): ……………………………………………………………………. 116
1. Cấu trúc tổng thể:…………………………………………………………………………………… 116
a.

setup() và loop() ……………………………………………………………………………………. 116

2. Toán tử logic: …………………………………………………………………………………………. 117
3. Các toán tử so sánh. ……………………………………………………………………………….. 117
4. Cấu trúc điều khiển:……………………………………………………………………………….. 118
a.

Câu lệnh if…..else …………………………………………………………………………………. 118

b. switch / case …………………………………………………………………………………………. 119
c.

for ……………………………………………………………………………………………………….. 120

d. while ……………………………………………………………………………………………………. 122
e.

break ……………………………………………………………………………………………………. 122

f.

continue ……………………………………………………………………………………………….. 123

g. return …………………………………………………………………………………………………… 124
h. goto……………………………………………………………………………………………………… 124
5. Toán tử số học:……………………………………………………………………………………….. 125
a.

Phép gán(=) ………………………………………………………………………………………….. 125

b. Các phép cộng, trừ, nhân, chia trong Arduino …………………………………………… 125
c.

Phép chia lấy dư%…………………………………………………………………………………. 126

6. Cú pháp mở rộng ……………………………………………………………………………………. 127
a.

dấu chấm phẩy ( ; ) ………………………………………………………………………………… 127

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

7

b. {} dấu ngoặc nhọn ………………………………………………………………………………… 127
c.

Comments – Viết ghi chú trong khi viết code Arduino……………………………….. 129

d. #define …………………………………………………………………………………………………. 130
e.

#include ……………………………………………………………………………………………….. 130

7. Phép toán hợp nhất ………………………………………………………………………………… 131
a.

Cộng một 1 đơn vị (++) / trừ một 1 đơn vị (–) ………………………………………….. 131

b. Các phép toán rút gọn +=, -=, *=, /= …………………………………………………….. 132
C. CẤU TRÚC CHƯƠNG TRÌNH ARDUINO VÀ BÀI HỌC LẬP TRÌNH TỪ CƠ
BẢN ĐẾN NÂNG CAO…………………………………………………………………………………….. 133
I. CẤU TRÚC CHƯƠNG TRÌNH ARDUINO VÀ CÁCH THÊM THƯ VIỆN
VÀO IDE. ……………………………………………………………………………………………………….. 133
1. Cấu trúc chương trình Arduino: …………………………………………………………….. 133
2. Hướng dẫn add thư viện cho Arduino IDE: …………………………………………….. 134
II. BÀI HỌC LẬP TRÌNH ARDUINO TỪ CƠ BẢN ĐẾN NÂNG CAO. …………. 139
1. Điều khiển LED đơn sáng nhấp nháy………………………………………………………. 139
Nội dung chính……………………………………………………………………………………………. 139
Phần cứng ( Trên kit đã tích hợp sẵn chỉ cần nối dây là được) ………………………….. 139
Lắp mạch……………………………………………………………………………………………………. 139

Hình ảnh thực tế:…………………………………………………………………………………………. 140
Code lập trình và giải thích …………………………………………………………………………… 140
2. Thay đổi độ sáng của LED đơn. ………………………………………………………………. 142
Nội dung chính: ………………………………………………………………………………………….. 142
Phần cứng ( được tích hợp sẵn trên kit) nếu không có các bạn chuẩn bị: ……………. 142
Lắp mạch……………………………………………………………………………………………………. 142
Hình ảnh thực tế:…………………………………………………………………………………………. 143
Chương trình: ……………………………………………………………………………………………… 143
3. Điều khiển đèn giao thông. ……………………………………………………………………… 144
Phần cứng cần chuẩn bị ( nếu sử dụng kit thì được tích hợp sẵn) ………………………. 144
Lắp mạch: ………………………………………………………………………………………………….. 144
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

8

Hình ảnh thực tế:…………………………………………………………………………………………. 145
Code lập trình: ……………………………………………………………………………………………. 145
4. Điều khiển Rơ le 5Vdc 1, 2 kênh mức cao. ……………………………………………….. 147
Giới thiệu thiệu chung: ………………………………………………………………………………… 147
Thông số kỹ thuật: ………………………………………………………………………………………. 147
Phần cứng chuẩn bị: …………………………………………………………………………………….. 147
Lắp mạch: ………………………………………………………………………………………………….. 148
Code chương trình: ……………………………………………………………………………………… 148

Hình ảnh thực tế:…………………………………………………………………………………………. 149
5. Điều khiển Công tắc tơ 3 pha: …………………………………………………………………. 149
Giới thiệu công tắc tơ 3 pha: …………………………………………………………………………. 149
Phần cứng chuẩn bị: …………………………………………………………………………………….. 151
Lắp mạch: ………………………………………………………………………………………………….. 152
Code chương trình: ……………………………………………………………………………………… 152
6. Đọc tín hiệu nút nhấn hiển thị lên serial monitor……………………………………… 153
Giới thiệu về nút nhấn: ………………………………………………………………………………… 153
Phần cứng chuẩn bị: …………………………………………………………………………………….. 155
Sơ đồ nguyên lí: ………………………………………………………………………………………….. 156
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn): ………………………….. 156
Hình ảnh thực tế:…………………………………………………………………………………………. 157
Lập trình:……………………………………………………………………………………………………. 157
7. Lưu giá trị nút nhấn. ………………………………………………………………………………. 159
Phần cứng chuẩn bị: …………………………………………………………………………………….. 159
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn): ………………………….. 159
Hình ảnh thực tế:…………………………………………………………………………………………. 160
Lập trình:……………………………………………………………………………………………………. 160
8. Bật tắt LED khi nhấn nút nhấn. ……………………………………………………………… 162
Phần cứng chuẩn bị: …………………………………………………………………………………….. 162
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn): ………………………….. 162
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

9

Hình ảnh thực tế:…………………………………………………………………………………………. 163
Lập trình:……………………………………………………………………………………………………. 163
9. Bật tắt rơ le khi nhấn nút nhấn. ………………………………………………………………. 165
Phần cứng chuẩn bị: …………………………………………………………………………………….. 165
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn): ………………………….. 165
Hình ảnh thực tế:…………………………………………………………………………………………. 166
Lập trình:……………………………………………………………………………………………………. 166
10. Lập trình hiển thị led 7 đoạn đơn: ………………………………………………………….. 168
Giới thiệu led 7 đoạn đơn: …………………………………………………………………………… 168
Phần cứng chuẩn bị: …………………………………………………………………………………….. 169
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn): ………………………….. 170
Lập trình:……………………………………………………………………………………………………. 170
Hình ảnh thực tế:…………………………………………………………………………………………. 172
11. Hiển thị chữ cái, số ra module 4 led 7 đoạn. …………………………………………….. 173
Giới thiệu module 4 led 7 đoạn: ……………………………………………………………………. 173
Phần cứng chuẩn bị: …………………………………………………………………………………….. 174
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn): ……………………………………….. 174
Hình ảnh thực tế:…………………………………………………………………………………………. 175
Lập trình:……………………………………………………………………………………………………. 175
12. Lập trình hiển thị module led ma trận 8×8. ……………………………………………… 177
Giới thiệu module ma trận 8×8: …………………………………………………………………….. 177
Phần cứng chuẩn bị: ( tất cả được tích hợp trên Kit Tự Học)…………………………….. 177
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn): ……………………………………….. 178
Hình ảnh thực tế:…………………………………………………………………………………………. 178
Lập trình:……………………………………………………………………………………………………. 178
13. Hiển thị chữ lên màn hình LCD16x02. …………………………………………………….. 183
Giới thiệu module LCD 16X02: ……………………………………………………………………. 183
Phần cứng chuẩn bị: ( tất cả được tích hợp trên Kit Tự Học)…………………………….. 183

Lắp mạch( nếu các bạn đã có kit học thì chỉ việc nối dây): ………………………………. 184
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

10

Hình ảnh thực tế:…………………………………………………………………………………………. 185
Lập trình:……………………………………………………………………………………………………. 185
14. Kết hợp Module I2C với LCD16x02. ……………………………………………………….. 185
Giới thiệu module I2C cho LCD: ………………………………………………………………….. 185
Phần cứng chuẩn bị: ( tất cả được tích hợp trên Kit Tự Học)…………………………….. 186
Lắp mạch( nếu các bạn đã có kit học thì chỉ việc nối dây): ………………………………. 186
Lập trình:……………………………………………………………………………………………………. 187
Hình ảnh thực tế:…………………………………………………………………………………………. 187
15. Đọc giá trị cảm biến quang trở hiển thị lên serial monitor. ………………………. 188
Giới thiệu cảm biến quang trở: ……………………………………………………………………… 188
Phần cứng chuẩn bị: (được tích hợp trên Kit Tự Học) ……………………………………… 189
Lắp mạch( nếu các bạn đã có kit học thì chỉ việc nối dây): ………………………………. 189
Hình ảnh thực tế:…………………………………………………………………………………………. 189
Lập trình:……………………………………………………………………………………………………. 190
16. Đọc gái trị CB nhiệt độ LM35 hiển thị lên serial monitor. ………………………… 191
Giới thiệu cảm biến nhiệt độ LM35: ……………………………………………………………… 191
Phần cứng chuẩn bị: …………………………………………………………………………………….. 192
Lắp mạch: ………………………………………………………………………………………………….. 192

Hình ảnh thực tế:…………………………………………………………………………………………. 192
Lập trình:……………………………………………………………………………………………………. 192
17. Đọc giá trị CB nhiệt độ DS18B20 hiển thị lên serial monitor. …………………… 193
Giới thiệu cảm biến nhiệt độ DS 18B20: ………………………………………………………… 193
Phần cứng chuẩn bị: …………………………………………………………………………………….. 194
Lắp mạch: ………………………………………………………………………………………………….. 195
Lập trình:……………………………………………………………………………………………………. 195
18. Hiển thị giá trị CB nhiệt độ LM35 lên mà hình LCD. ………………………………. 197
Phần cứng chuẩn bị: …………………………………………………………………………………….. 197
Lắp mạch : …………………………………………………………………………………………………. 197
Lập trình :…………………………………………………………………………………………………… 197
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

11

Hình ảnh thực tế:…………………………………………………………………………………………. 198
19. Đọc giá trị cảm biến mưa hiển thị lên serial monitor. ………………………………. 199
Giới thiệu cảm biến mưa: …………………………………………………………………………….. 199
Phần cứng chuẩn bị: …………………………………………………………………………………….. 200
Lắp mạch : …………………………………………………………………………………………………. 200
Lập trình :…………………………………………………………………………………………………… 200
Hình ảnh thực tế:…………………………………………………………………………………………. 201
20. Đọc giá trị CB siêu âm SRF 05 hiển thị lên serial monitor. ………………………. 202

Giới thiệu cảm biến siêu âm SRF05: ……………………………………………………………… 202
Phần cứng chuẩn bị: …………………………………………………………………………………….. 203
Lắp mạch : …………………………………………………………………………………………………. 203
Hình ảnh thực tế:…………………………………………………………………………………………. 204
Lập trình :…………………………………………………………………………………………………… 205
Kết quả hiển thị lên Serial monitor : ………………………………………………………………. 206
21. Đọc giá trị cảm biến độ ẩm đất hiển thị lên LCD16x02. ……………………………. 206
Giới thiệu cảm biến độ ẩm đất: ……………………………………………………………………… 206
Thông số kỹ thuật: ………………………………………………………………………………………. 207
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn) …………………………………………………. 207
Lắp mạch : …………………………………………………………………………………………………. 207
Hình ảnh thực tế:…………………………………………………………………………………………. 208
Lập trình :…………………………………………………………………………………………………… 208
Kết quả hiển thị lên Serial monitor : ………………………………………………………………. 209
22. Đọc giá trị CB dò line hiển thị lên serial monitor và LCD. ……………………….. 209
Giới thiệu cảm biến dò line: …………………………………………………………………………. 209
Thông số kỹ thuật: ………………………………………………………………………………………. 210
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn) …………………………………………………. 210
Lắp mạch : …………………………………………………………………………………………………. 211
Lập trình :…………………………………………………………………………………………………… 211
Hình ảnh thực tế:…………………………………………………………………………………………. 213
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

12

Kết quả hiển thị lên Serial monitor : ………………………………………………………………. 213
23. Đọc giá trị điện áp khi điều chỉnh biến trở hiển thị lên serial ……………………. 214
Giới thiệu về biến trở: ………………………………………………………………………………….. 214
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn biến trở 10K) ………………………………. 214
Lắp mạch : …………………………………………………………………………………………………. 214
Lập trình :…………………………………………………………………………………………………… 215
Hình ảnh thực tế:…………………………………………………………………………………………. 216
Kết quả hiển thị lên Serial monitor : ………………………………………………………………. 216
24. Hiển thị thời gian thực (DS1307) lên LCD và serial monitor…………………….. 217
Giới thiệu về module DS1307: ……………………………………………………………………… 217
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn biến trở 10K) ………………………………. 218
Lắp mạch : …………………………………………………………………………………………………. 218
Lập trình :…………………………………………………………………………………………………… 219
Hình ảnh thực tế:…………………………………………………………………………………………. 221
Kết quả hiển thị lên Serial monitor : ………………………………………………………………. 221
25. Hiển thị tốc độ đo bằng Encoder quay lên LCD……………………………………….. 222
Giới thiệu về module Encoder quay: ……………………………………………………………… 222
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) ………………………………………………… 222
Thông số kỹ thuật: ………………………………………………………………………………………. 222
Lắp mạch: ………………………………………………………………………………………………….. 225
Lập trình :…………………………………………………………………………………………………… 225
Hình ảnh thực tế:…………………………………………………………………………………………. 228
26. Cài đặt và hiển thị nhiệt độ, độ ẩm (DTH11)……………………………………………. 228
Giới thiệu về giao tiếp I2C: ………………………………………………………………………….. 228
Thông số kỹ thuật DHT11: …………………………………………………………………………… 229
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ). ……………………………………………….. 229
Lập trình :…………………………………………………………………………………………………… 231
Hình ảnh thực tế:…………………………………………………………………………………………. 233

27. Điều khiển động cơ servo SG90: ……………………………………………………………… 234
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

13

Giới thiệu về động cơ servo SG90:………………………………………………………………… 234
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ). ……………………………………………….. 234
Lắp mạch: ………………………………………………………………………………………………….. 235
Lập trình :…………………………………………………………………………………………………… 235
Hình ảnh thực tế:…………………………………………………………………………………………. 236
28. Điều khiển động cơ bước stepper 28BYJ-48: ………………………………………….. 237
Giới thiệu về động cơ bước stepper 28BYJ-48: ……………………………………………… 237
Thông số kỹ thuật: ………………………………………………………………………………………. 237
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ). ……………………………………………….. 237
Lắp mạch: ………………………………………………………………………………………………….. 238
Lập trình :…………………………………………………………………………………………………… 238
Hình ảnh thực tế:…………………………………………………………………………………………. 240
29. Bật tắt LED bằng Remote hồng ngoại: ……………………………………………………. 241
Giới thiệu về Remote hồng ngoại: …………………………………………………………………. 241
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ). ……………………………………………….. 242
Mắt thu hồng ngoại: …………………………………………………………………………………….. 242
Lắp mạch: ………………………………………………………………………………………………….. 243
Lập trình:……………………………………………………………………………………………………. 243

Hình ảnh thực tế:…………………………………………………………………………………………. 246
30. Điều khiển động cơ bằng module L298n:…………………………………………………. 246
Giới thiệu về Module L298: …………………………………………………………………………. 246
Thông số kỹ thuật: ………………………………………………………………………………………. 247
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ). ……………………………………………….. 247
Lắp mạch……………………………………………………………………………………………………. 247
Lập trình:……………………………………………………………………………………………………. 248
31. Lập trình module Wifi ESP8266 V1 bằng Uno R3: ………………………………….. 250
Giới thiệu về module Wifi ESP8266 V1: ……………………………………………………….. 250
Thông số kỹ thuật: ………………………………………………………………………………………. 250
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ). ……………………………………………….. 251
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

14

Lắp mạch: ………………………………………………………………………………………………….. 251
Lập trình :…………………………………………………………………………………………………… 252
Hình ảnh thực tế:…………………………………………………………………………………………. 254

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

15

A. GIỚI THIỆU VỀ ARDUINO
Điều khiển thứ gì đó một cách tự động, ngoài việc phải hoàn chỉnh kết cấu
“phần cứng”, ta cần phải có mạch điện điều khiển và phải lập trình để mạch điện
đó hoạt động theo ý mình. Lập trình thì không khó học, chỉ khó ở giai đoạn thiết kế
mạch điều khiển là khó khăn nhất đối với những ai chưa biết về làm mạch thì càng
khó hơn ( còn được gọi thiết kế truyền thống). Và phải trải qua rất nhiều công đoạn
như sau:

Tuy nhiên có một thứ làm cho mọi chuyện trở nên rất dễ dàng, có tên gọi là
“Arduino”. Và trải qua các công đoạn ngắn gọn như sau:

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

16

So sánh các mô hình điều khiển được sử dụng bằng phương pháp thiết kế

“truyền thống” và từ thiết kế bằng “Arduino”.

Phương pháp Truyền Thống

Phương pháp dùng Arduino

Kỹ Năng

• Hiểu biết chuyên sâu về • Chủ yếu tập trung tìm hiểu
linh kiện điện tử.
kết nối hệ thống, không cần
quan tâm đến việc vẽ mạch,
• Biết vẽ mạch, rửa mạch, in
làm mạch in,…
mạch,…
• Biết lập trình ( việc lập trình
• Biết lập trình ( việc lập
dễ dàng do thư viện có sẵn
trình khó khăn do module
của các module được chuẩn
tự thiết kế không có chuẩn
hóa).
hóa ).

Đối Tượng

• Chỉ dành cho những giới • Dành cho giới chuyên ngành,
chuyên ngành điện – điện
không chuyên, thậm chí là
tử.

học sinh cấp 1, 2,..

Thời Gian

• Thời gian hoàn thành rất • Thời gian hoàn thành rất
nhanh.
lâu 1 tuần, có thể từ 1 đến
2 tháng.
• Thời gian chủ yếu tập trung
• Thời gian tập trung chủ yếu
vào hệ thống nên có thể làm
vào làm mạch, ít thời gian
được những hệ thống phức
tạp hơn.
để phát triển quy mô hệ
thống.

Phát Triển

• Phát triển được kỹ năng • Phát triển được tư duy lập
trình hệ thống.
thiết kế mạch, in mạch,
hàn,…

Chính vì sự tiện lợi như vậy, Arduino đã trở thành một hiện tượng trên toàn thế
giới, nếu bạn lên mạng tìm kiếm và gõ vào Arduino, bạn sẽ thấy hàng ngàn ứng
dụng khác nhau từ khắp mọi nơi trên thế giới sử dụng Arduino. Từ đó ta có thể
thấy được tầm ảnh hưởng của Arduino đến nhường nào.

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

17

I.

ARDUINO LÀ GÌ?

Arduino không phải là cái gì cao siêu hết, chỉ là sử dụng chip AVR với những thứ
mà bạn sẽ cần đến như mạch giao tiếp (USB sang UART), mạch nguồn, có sẵn các
chân vào/ra để giao tiếp với cảm biến và các thiết bị ngoại vi.
Arduino rất đơn giản, dễ sử dụng, dễ code (ngôn ngữ tương tự như C/C++). Một
trong những cái hay nhất của Arduino là nó hỗ trợ rất nhiều thư viện, rất tiện lợi.

Nếu bạn muốn điều khiển động cơ, sẽ có các mạch công suất tương thích hoàn toàn
với Arduino. Nếu bạn muốn điều khiển qua mạng Internet, cũng có một mạch
Ethernet/Wifi tương thích hoàn toàn với Arduino. Và còn rất nhiều thứ khác nữa.

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

18

Arduino cũng có rất nhiều kích thước khác nhau, phù hợp cho nhiều mục đích sử
dụng. Thông dụng nhất hiện nay là Arduino Uno nhỏ gọn dành cho những ai đang
bắt đầu học về arduino.

II. ARDUINO LÀM ĐƯỢC NHỮNG GÌ?
Một số các dự án thú vị đã được thực hiện bằng Arduino.
Xe điều khiển:

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

19

Mô hình máy bay 4 cánh:

Máy in 3D:

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

20

Nhà thông minh:

Hệ thống tưới cây thông minh.

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

21

Hiệu ứng LED:

III. SƠ LƯỢC VỀ ARDUINO UNO R3
Board Arduino Uno nhỏ gọn và đầy đủ tính năng phù hợp cho những ai mới bắt
đầu học, Arduino Uno sử dụng chip Atmega328. Nó có 14 chân digital I/O, 6 chân
đầu vào (input) analog, thạch anh dao động 16Mhz.

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

22

1. Một số thông số kỹ thuật như sau :
Chip

ATmega328

Điện áp cấp nguồn

5V

Điện áp đầu vào (input) (kiến

7-12V

nghị )
Điện áp đầu vào(giới hạn)

6-20V

Số chân Digital I/O

14 (có 6 chân điều chế độ rộng xung PWM)

Số chân Analog (Input )

6

DC Current per I/O Pin

40 mA

DC Current for 3.3V Pin

50 mA

Flash Memory

32KB (ATmega328) với 0.5KB sử dụng
bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

Xung nhịp

16 MHz

Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

23

2. Sơ đồ chân của Arduino Uno.

• USB (1).
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB chúng ta
có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn
cho Arduino.
• Nguồn ( 2 và 3 ).
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài
thông qua jack cắm 2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2 chân Vin và
GND để cấp nguồn cho Arduino.
Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 volt. Chúng ta có thể
cấp một áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt. Và nếu sử
dụng nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng bo mạch.
Khuyết cáo các bạn nên dùng nguồn ổn định là 5 đến dưới 12 vol.
Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra từ
nguồn mà chúng ta đã cung cấp cho Arduino. Lưu ý : không được cấp nguồn vào

các chân này vì sẽ làm hỏng Arduino.
GND: chân mass.
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

24

• Chip Atmega328.
Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5k sử dụng cho bootloader.
Ngoài ra còn có 2K SRAM, 1K EEPROM.
• Input và Output ( 4 và 5 ).
Arduino Uno có các chân với chức năng input và output sử dụng các hàm
pinMode(), digitalWrite() và digitalRead() để điều khiển các chân này (Analog :
A0 đến A5) (digital : chân số 0 đến chân số 13).
Cũng trên 14 chân này chúng ta còn một số chân chức năng đó là:
Serial : chân 0 (Rx ), chân 1 ( Tx). Hai chân này dùng để truyền (Tx) và nhận (Rx)
dữ liêu nối tiếp TTL.
Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số thiết bị hoặc
các linh kiện có chuẩn giao tiếp nối tiếp.
PWM (pulse width modulation): các chân 3, 5, 6, 9, 10, 11 trên bo mạch có
dấu “~” là các chân PWM chúng ta có thể sử dụng nó để điều khiển tốc độ động
cơ, độ sáng của
đèn…
SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), các chân này hỗ trợ giao tiếp

theo chuẩn SPI.
I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5
(SCL) cho phép chúng tao giao tiếp giửa Arduino với các linh kiện có chuẩn giao
tiếp là I2C
• Reset (6): dùng để reset Arduino.
Nhưng đối với những ai mới bắt đầu tìm hiểu về arduino thì rất khó khăn chưa
kể đến là chưa biết gì về lập trình C, tuy thông tin tài liệu về arduino trên internet
là rất nhiều nhưng thiếu gắn kết thì bộ Ebook này là một một giải pháp tuyệt vời nó
ra đời để giúp những ai đang cảm giác thấy khó khăn trong lập trình arduino, nếu
ai đang muốn học lập trình arduino nên một lần đọc qua.
Nếu có sách không thì cũng chưa đủ chúng ta cần phải có thực hành, ứng dụng
những cái mình học từ lý thuyết thì BỘ KIT TỰ HỌC ARDUINO ra đời và kết
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

25

hợp với EBOOKS này giúp bạn thấy việc học lập trình arduino không còn khó
như ta nghĩ.

IV. SƠ LƯỢC BỘ KIT TỰ HỌC ARDUINO
1. Giới thiệu sơ lược về KIT TỰ HỌC:
Để giúp các bạn tiếp cận Arduino một cách dễ dàng nhất, dễ hiểu nhất đặc biệt có
thể giúp các bạn làm được những dự án, đề tài,…Thì sự ra đời của Kit Tự Học

Arduino ( là bộ cơ bản nhất từ dễ đến khó và Có tài liệu hướng dẫn chi tiết kèm
theo + CODE + Ebook lập trình điều khiển arduino ) cho người mới bắt đầu để
giúp các bạn học sinh, sinh viên và những ai mới bắt đầu học lập trình điều khiển
arduino thoát khỏi cảnh phải lay hoay đi tìm tài liệu để học.

2. Những lợi ích của Kit Tự Học Arduino:
a. Tất cả các linh kiện trong bộ tự học này shop đã tạo điều kiện tốt nhất
cho người thực hành ( ví dụ như led ma trận 8×8 đã được gắn vào board
đồng,…).
b. Trên board test mẫu ở hình trên 8 led đơn đã được kết nối với 8 điện trở
1k và đã đưa ra chân sẵn, cũng nhưbiến trở 10k đã đưa ra 3 chân.
c. Có 3 nút nhấn nhỏ đã được gắn trên một module đã đi mạch sẵn và đã
cho ra chân giúp việc kết nối dễ dàng.
Tài liệu biên soạn bởi Phi Nguyen và một số tài liệu được tham khảo từ arduino.cc và cộng đồng arduino

Web: tdhshop.com.vn

Email: [email protected]

hotline: 01695 304 802

2. Những quyền lợi của Kit Tự Học Arduino : ……………………………………………………. 253. Mục đích của bộ KIT TỰ HỌC : ……………………………………………………………….. 264. Một số bộ KIT TỰ HỌC ARDUINO : ………………………………………………………. 27IV. CÀI ĐẶT PHẦN MỀN IDE VÀ DRIVER ……………………………………………………. 271. Cài đặt phần mền Arduino IDE : ………………………………………………………………. 27 a. Cài Java Runtime Environment ( JRE ). ………………………………………………………. 27 b. Cài đặt Arduino IDE : ………………………………………………………………………………. 282. Cài đặt Driver so với Arduino Uno, mê ga, … : …………………………………………. 30 a. Cài đặt Driver : ………………………………………………………………………………………… 30 b. Nạp chương trình cho Arduino Uno ( mega tương tự như ) : …………………………………. 323. Cài đặt Driver so với Nano : …………………………………………………………………….. 34 a. Giới thiệu board arduino Nano. ………………………………………………………………… 34 b. Cài đặt driver cho Arduino Nano ………………………………………………………………. 34 c. Thông số kỹ thuật Arduino Nano : …………………………………………………………….. 35 d. Nạp chương trình cho Arduino Nano : ……………………………………………………….. 36B. NGÔN NGỮ LẬP TRÌNH ARDUINO …………………………………………………………… 40I. HÀM CHỨC NĂNG ( FUNCTION ) : ……………………………………………………………. 401. Hàm nhập xuất Digital I / O : ………………………………………………………………………. 41 a. digitalWrite ( ) : …………………………………………………………………………………………. 41 b. digitalRead ( ) : …………………………………………………………………………………………. 42 c. pinMode ( ) : …………………………………………………………………………………………….. 43T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 8022. Hàm nhập xuất Analog I / O : ……………………………………………………………………… 45 a. analogRead ( ) ………………………………………………………………………………………….. 45 b. analogReference ( ) ………………………………………………………………………………….. 46 c. analogWrite ( ) …………………………………………………………………………………………. 48 d. analogReadResolution ( ) : …………………………………………………………………………. 49 e. analogWriteResolution ( ) …………………………………………………………………………. 513. Hàm nhập xuất nâng cao I / O : ………………………………………………………………… 53 a. noTone ( ) ; ……………………………………………………………………………………………….. 53 b. pulseIn ( ) ……………………………………………………………………………………………….. 53 c. shiftIn ( ) ; ………………………………………………………………………………………………… 54 d. shiftOut ( ) ; ………………………………………………………………………………………………. 55e.tone ( ) ; ……………………………………………………………………………………………………. 584. Hàm thời hạn : …………………………………………………………………………………………. 59a.delay ( ) …………………………………………………………………………………………………… 59 b. delayMicroseconds ( ) ………………………………………………………………………………. 60c.micros ( ) …………………………………………………………………………………………………. 61 d. millis ( ) ; ………………………………………………………………………………………………….. 625. Hàm toán học : ………………………………………………………………………………………….. 64a.abs ( ) ………………………………………………………………………………………………………. 64 b. constrain ( ) ……………………………………………………………………………………………… 64c.map ( ) …………………………………………………………………………………………………….. 65 d. max ( ) …………………………………………………………………………………………………….. 66e.min ( ) ……………………………………………………………………………………………………… 66f.sq ( ) ……………………………………………………………………………………………………….. 67 g. sqrt ( ) ……………………………………………………………………………………………………… 676. Hàm lượng giác : ………………………………………………………………………………………. 68a.cos ( ) ………………………………………………………………………………………………………. 68 b. sin ( ) ………………………………………………………………………………………………………. 68c.tan ( ) ………………………………………………………………………………………………………. 69T ài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 8027. Hàm số ngẫu nhiên : ………………………………………………………………………………….. 69a.random ( ) ………………………………………………………………………………………………… 69 b. randomSeed ( ) …………………………………………………………………………………………. 708. Bits và Bytes : ……………………………………………………………………………………………. 72 a. Bit ( ) ………………………………………………………………………………………………………. 72 b. bitClear ( ) ……………………………………………………………………………………………….. 73 c. bitRead ( ) ………………………………………………………………………………………………… 73 d. bitWrite ( ) ……………………………………………………………………………………………….. 74 e. bitSet ( ) …………………………………………………………………………………………………… 75 f. lowByte ( ) ………………………………………………………………………………………………. 75 g. highByte ( ) ……………………………………………………………………………………………… 769. Hàm Ngắt ( interrupt ) ……………………………………………………………………………….. 77a.interrupts ( ) ……………………………………………………………………………………………… 77 b. noInterrupts ( ) …………………………………………………………………………………………. 7810. Hàm Ngắt Ngoài : ……………………………………………………………………………………… 79 a. attachInterrupt ( ) ……………………………………………………………………………………… 79 b. detachInterrupt ( ) ……………………………………………………………………………………… 8111. Hàm Giao tiếp ………………………………………………………………………………………….. 83 a. Serial ( ) …………………………………………………………………………………………………… 8312. Xử lý chuỗi : ……………………………………………………………………………………………… 84 a. Hàm isAlpha ( ) ………………………………………………………………………………………… 84 b. Hàm isAscii ( ) …………………………………………………………………………………………. 85 c. Hàm isWhitespace ( ) ………………………………………………………………………………… 86 d. Hàm isPrintable ( ) : …………………………………………………………………………………… 87 e. Hàm isUpperCase ( ) : ………………………………………………………………………………….. 88 f. Hàm isHexadecimalDigit ( ) ………………………………………………………………………… 89 g. tolower : ………………………………………………………………………………………………….. 90 h. Hàm toupper ( ) ………………………………………………………………………………………….. 90 i. Hàm isLowerCase ( ) ……………………………………………………………………………………. 91T ài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802II. GIÁ TRỊ : …………………………………………………………………………………………………… 921. Hằng số ……………………………………………………………………………………………………. 93 a. Hằng số thực : …………………………………………………………………………………………. 93 b. Hằng số nguyên ………………………………………………………………………………………. 93 c. HIGH …………………………………………………………………………………………………….. 96 d. LOW. …………………………………………………………………………………………………….. 97 e. INPUT : ………………………………………………………………………………………………….. 98 f. INPUT_PULLUP ……………………………………………………………………………………. 98 g. OUTPUT ……………………………………………………………………………………………….. 99 h. LED_BUILTIN ………………………………………………………………………………………. 99i.true ……………………………………………………………………………………………………….. 99j.false …………………………………………………………………………………………………….. 1002. Kiểu dữ liệu : …………………………………………………………………………………………… 100a.void ……………………………………………………………………………………………………… 100 b. boolean ………………………………………………………………………………………………… 101c.int : ………………………………………………………………………………………………………. 102 d. unsigned int ………………………………………………………………………………………….. 103e.char ……………………………………………………………………………………………………… 104f.unsigned char ……………………………………………………………………………………….. 104 g. byte ……………………………………………………………………………………………………… 104 h. word ……………………………………………………………………………………………………. 105i.long ……………………………………………………………………………………………………… 105j.unsigned long ……………………………………………………………………………………….. 105 k. short …………………………………………………………………………………………………….. 106l.m.float …………………………………………………………………………………………………….. 106 double ………………………………………………………………………………………………. 107 n. array ……………………………………………………………………………………………………. 107 o. string ……………………………………………………………………………………………………. 1093. Chuyển đổi kiểu tài liệu ………………………………………………………………………….. 111T ài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802a.char ( ) …………………………………………………………………………………………………… 111 b. byte ( ) …………………………………………………………………………………………………… 111c.int ( ) ……………………………………………………………………………………………………… 112 d. word ( ) ………………………………………………………………………………………………….. 112e.long ( ) …………………………………………………………………………………………………… 113f.float ( ) …………………………………………………………………………………………………… 1134. Biến hằng, biến tĩnh : …………………………………………………………………………….. 114a.const – biến hằng …………………………………………………………………………………… 114 b. static – biến tĩnh …………………………………………………………………………………….. 114III. CẤU TRÚC ( STRUCTURE ) : ……………………………………………………………………. 1161. Cấu trúc tổng thể và toàn diện : …………………………………………………………………………………… 116a.setup ( ) và loop ( ) ……………………………………………………………………………………. 1162. Toán tử logic : …………………………………………………………………………………………. 1173. Các toán tử so sánh. ……………………………………………………………………………….. 1174. Cấu trúc tinh chỉnh và điều khiển : ……………………………………………………………………………….. 118 a. Câu lệnh if … .. else …………………………………………………………………………………. 118 b. switch / case …………………………………………………………………………………………. 119c.for ……………………………………………………………………………………………………….. 120 d. while ……………………………………………………………………………………………………. 122e.break ……………………………………………………………………………………………………. 122f.continue ……………………………………………………………………………………………….. 123 g. return …………………………………………………………………………………………………… 124 h. goto ……………………………………………………………………………………………………… 1245. Toán tử số học : ……………………………………………………………………………………….. 125 a. Phép gán ( = ) ………………………………………………………………………………………….. 125 b. Các phép cộng, trừ, nhân, chia trong Arduino …………………………………………… 125 c. Phép chia lấy dư % …………………………………………………………………………………. 1266. Cú pháp lan rộng ra ……………………………………………………………………………………. 127 a. dấu chấm phẩy ( ; ) ………………………………………………………………………………… 127T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802 b. { } dấu ngoặc nhọn ………………………………………………………………………………… 127 c. Comments – Viết ghi chú trong khi viết code Arduino ……………………………….. 129 d. # define …………………………………………………………………………………………………. 130 e. # include ……………………………………………………………………………………………….. 1307. Phép toán hợp nhất ………………………………………………………………………………… 131 a. Cộng một 1 đơn vị chức năng ( + + ) / trừ một 1 đơn vị chức năng ( — ) ………………………………………….. 131 b. Các phép toán rút gọn + =, – =, * =, / = …………………………………………………….. 132C. CẤU TRÚC CHƯƠNG TRÌNH ARDUINO VÀ BÀI HỌC LẬP TRÌNH TỪ CƠBẢN ĐẾN NÂNG CAO. ……………………………………………………………………………………. 133I. CẤU TRÚC CHƯƠNG TRÌNH ARDUINO VÀ CÁCH THÊM THƯ VIỆNVÀO IDE. ……………………………………………………………………………………………………….. 1331. Cấu trúc chương trình Arduino : …………………………………………………………….. 1332. Hướng dẫn add thư viện cho Arduino IDE : …………………………………………….. 134II. BÀI HỌC LẬP TRÌNH ARDUINO TỪ CƠ BẢN ĐẾN NÂNG CAO. …………. 1391. Điều khiển LED đơn sáng nhấp nháy ………………………………………………………. 139N ội dung chính ……………………………………………………………………………………………. 139P hần cứng ( Trên kit đã tích hợp sẵn chỉ cần nối dây là được ) ………………………….. 139L ắp mạch ……………………………………………………………………………………………………. 139H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 140C ode lập trình và lý giải …………………………………………………………………………… 1402. Thay đổi độ sáng của LED đơn. ………………………………………………………………. 142N ội dung chính : ………………………………………………………………………………………….. 142P hần cứng ( được tích hợp sẵn trên kit ) nếu không có những bạn sẵn sàng chuẩn bị : ……………. 142L ắp mạch ……………………………………………………………………………………………………. 142H ình ảnh thực tiễn : …………………………………………………………………………………………. 143C hương trình : ……………………………………………………………………………………………… 1433. Điều khiển đèn giao thông vận tải. ……………………………………………………………………… 144P hần cứng cần sẵn sàng chuẩn bị ( nếu sử dụng kit thì được tích hợp sẵn ) ………………………. 144L ắp mạch : ………………………………………………………………………………………………….. 144T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 145C ode lập trình : ……………………………………………………………………………………………. 1454. Điều khiển Rơ le 5V dc 1, 2 kênh mức cao. ……………………………………………….. 147G iới thiệu thiệu chung : ………………………………………………………………………………… 147T hông số kỹ thuật : ………………………………………………………………………………………. 147P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 147L ắp mạch : ………………………………………………………………………………………………….. 148C ode chương trình : ……………………………………………………………………………………… 148H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 1495. Điều khiển Công tắc tơ 3 pha : …………………………………………………………………. 149G iới thiệu công tắc tơ 3 pha : …………………………………………………………………………. 149P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 151L ắp mạch : ………………………………………………………………………………………………….. 152C ode chương trình : ……………………………………………………………………………………… 1526. Đọc tín hiệu nút nhấn hiển thị lên serial monitor ……………………………………… 153G iới thiệu về nút nhấn : ………………………………………………………………………………… 153P hần cứng sẵn sàng chuẩn bị : …………………………………………………………………………………….. 155S ơ đồ nguyên lí : ………………………………………………………………………………………….. 156L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn nút nhấn ) : ………………………….. 156H ình ảnh thực tiễn : …………………………………………………………………………………………. 157L ập trình : ……………………………………………………………………………………………………. 1577. Lưu giá trị nút nhấn. ………………………………………………………………………………. 159P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 159L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn nút nhấn ) : ………………………….. 159H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 160L ập trình : ……………………………………………………………………………………………………. 1608. Bật tắt LED khi nhấn nút nhấn. ……………………………………………………………… 162P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 162L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn nút nhấn ) : ………………………….. 162T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802H ình ảnh thực tiễn : …………………………………………………………………………………………. 163L ập trình : ……………………………………………………………………………………………………. 1639. Bật tắt rơ le khi nhấn nút nhấn. ………………………………………………………………. 165P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 165L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn nút nhấn ) : ………………………….. 165H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 166L ập trình : ……………………………………………………………………………………………………. 16610. Lập trình hiển thị led 7 đoạn đơn : ………………………………………………………….. 168G iới thiệu led 7 đoạn đơn : …………………………………………………………………………… 168P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 169L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn nút nhấn ) : ………………………….. 170L ập trình : ……………………………………………………………………………………………………. 170H ình ảnh thực tiễn : …………………………………………………………………………………………. 17211. Hiển thị vần âm, số ra module 4 led 7 đoạn. …………………………………………….. 173G iới thiệu module 4 led 7 đoạn : ……………………………………………………………………. 173P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 174L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn ) : ……………………………………….. 174H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 175L ập trình : ……………………………………………………………………………………………………. 17512. Lập trình hiển thị module led ma trận 8×8. ……………………………………………… 177G iới thiệu module ma trận 8×8 : …………………………………………………………………….. 177P hần cứng chuẩn bị sẵn sàng : ( tổng thể được tích hợp trên Kit Tự Học ) …………………………….. 177L ắp mạch ( nếu những bạn đã có kit học thì đã lắp sẵn ) : ……………………………………….. 178H ình ảnh thực tiễn : …………………………………………………………………………………………. 178L ập trình : ……………………………………………………………………………………………………. 17813. Hiển thị chữ lên màn hình hiển thị LCD16x02. …………………………………………………….. 183G iới thiệu module LCD 16X02 : ……………………………………………………………………. 183P hần cứng sẵn sàng chuẩn bị : ( toàn bộ được tích hợp trên Kit Tự Học ) …………………………….. 183L ắp mạch ( nếu những bạn đã có kit học thì chỉ việc nối dây ) : ………………………………. 184T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80210H ình ảnh thực tiễn : …………………………………………………………………………………………. 185L ập trình : ……………………………………………………………………………………………………. 18514. Kết hợp Module I2C với LCD16x02. ……………………………………………………….. 185G iới thiệu module I2C cho LCD : ………………………………………………………………….. 185P hần cứng chuẩn bị sẵn sàng : ( tổng thể được tích hợp trên Kit Tự Học ) …………………………….. 186L ắp mạch ( nếu những bạn đã có kit học thì chỉ việc nối dây ) : ………………………………. 186L ập trình : ……………………………………………………………………………………………………. 187H ình ảnh thực tiễn : …………………………………………………………………………………………. 18715. Đọc giá trị cảm ứng quang trở hiển thị lên serial monitor. ………………………. 188G iới thiệu cảm ứng quang trở : ……………………………………………………………………… 188P hần cứng chuẩn bị sẵn sàng : ( được tích hợp trên Kit Tự Học ) ……………………………………… 189L ắp mạch ( nếu những bạn đã có kit học thì chỉ việc nối dây ) : ………………………………. 189H ình ảnh thực tiễn : …………………………………………………………………………………………. 189L ập trình : ……………………………………………………………………………………………………. 19016. Đọc gái trị CB nhiệt độ LM35 hiển thị lên serial monitor. ………………………… 191G iới thiệu cảm ứng nhiệt độ LM35 : ……………………………………………………………… 191P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 192L ắp mạch : ………………………………………………………………………………………………….. 192H ình ảnh thực tiễn : …………………………………………………………………………………………. 192L ập trình : ……………………………………………………………………………………………………. 19217. Đọc giá trị CB nhiệt độ DS18B20 hiển thị lên serial monitor. …………………… 193G iới thiệu cảm ứng nhiệt độ DS 18B20 : ………………………………………………………… 193P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 194L ắp mạch : ………………………………………………………………………………………………….. 195L ập trình : ……………………………………………………………………………………………………. 19518. Hiển thị giá trị CB nhiệt độ LM35 lên mà hình LCD. ………………………………. 197P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 197L ắp mạch : …………………………………………………………………………………………………. 197L ập trình : …………………………………………………………………………………………………… 197T ài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80211H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 19819. Đọc giá trị cảm ứng mưa hiển thị lên serial monitor. ………………………………. 199G iới thiệu cảm ứng mưa : …………………………………………………………………………….. 199P hần cứng chuẩn bị sẵn sàng : …………………………………………………………………………………….. 200L ắp mạch : …………………………………………………………………………………………………. 200L ập trình : …………………………………………………………………………………………………… 200H ình ảnh thực tiễn : …………………………………………………………………………………………. 20120. Đọc giá trị CB siêu âm SRF 05 hiển thị lên serial monitor. ………………………. 202G iới thiệu cảm ứng siêu âm SRF05 : ……………………………………………………………… 202P hần cứng sẵn sàng chuẩn bị : …………………………………………………………………………………….. 203L ắp mạch : …………………………………………………………………………………………………. 203H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 204L ập trình : …………………………………………………………………………………………………… 205K ết quả hiển thị lên Serial monitor : ………………………………………………………………. 20621. Đọc giá trị cảm ứng nhiệt độ đất hiển thị lên LCD16x02. ……………………………. 206G iới thiệu cảm ứng nhiệt độ đất : ……………………………………………………………………… 206T hông số kỹ thuật : ………………………………………………………………………………………. 207P hần cứng sẵn sàng chuẩn bị : ( bộ kit đã tích hợp sẵn ) …………………………………………………. 207L ắp mạch : …………………………………………………………………………………………………. 207H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 208L ập trình : …………………………………………………………………………………………………… 208K ết quả hiển thị lên Serial monitor : ………………………………………………………………. 20922. Đọc giá trị CB dò line hiển thị lên serial monitor và LCD. ……………………….. 209G iới thiệu cảm ứng dò line : …………………………………………………………………………. 209T hông số kỹ thuật : ………………………………………………………………………………………. 210P hần cứng sẵn sàng chuẩn bị : ( bộ kit đã tích hợp sẵn ) …………………………………………………. 210L ắp mạch : …………………………………………………………………………………………………. 211L ập trình : …………………………………………………………………………………………………… 211H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 213T ài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80212K ết quả hiển thị lên Serial monitor : ………………………………………………………………. 21323. Đọc giá trị điện áp khi kiểm soát và điều chỉnh biến trở hiển thị lên serial ……………………. 214G iới thiệu về biến trở : ………………………………………………………………………………….. 214P hần cứng sẵn sàng chuẩn bị : ( bộ kit đã tích hợp sẵn biến trở 10K ) ………………………………. 214L ắp mạch : …………………………………………………………………………………………………. 214L ập trình : …………………………………………………………………………………………………… 215H ình ảnh thực tiễn : …………………………………………………………………………………………. 216K ết quả hiển thị lên Serial monitor : ………………………………………………………………. 21624. Hiển thị thời hạn thực ( DS1307 ) lên LCD và serial monitor …………………….. 217G iới thiệu về module DS1307 : ……………………………………………………………………… 217P hần cứng chuẩn bị sẵn sàng : ( bộ kit đã tích hợp sẵn biến trở 10K ) ………………………………. 218L ắp mạch : …………………………………………………………………………………………………. 218L ập trình : …………………………………………………………………………………………………… 219H ình ảnh thực tiễn : …………………………………………………………………………………………. 221K ết quả hiển thị lên Serial monitor : ………………………………………………………………. 22125. Hiển thị vận tốc đo bằng Encoder quay lên LCD. ………………………………………. 222G iới thiệu về module Encoder quay : ……………………………………………………………… 222P hần cứng chuẩn bị sẵn sàng : ( bộ kit đã tích hợp sẵn ) ………………………………………………… 222T hông số kỹ thuật : ………………………………………………………………………………………. 222L ắp mạch : ………………………………………………………………………………………………….. 225L ập trình : …………………………………………………………………………………………………… 225H ình ảnh thực tiễn : …………………………………………………………………………………………. 22826. Cài đặt và hiển thị nhiệt độ, nhiệt độ ( DTH11 ) ……………………………………………. 228G iới thiệu về tiếp xúc I2C : ………………………………………………………………………….. 228T hông số kỹ thuật DHT11 : …………………………………………………………………………… 229P hần cứng chuẩn bị sẵn sàng : ( bộ kit đã tích hợp sẵn ). ……………………………………………….. 229L ập trình : …………………………………………………………………………………………………… 231H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 23327. Điều khiển động cơ servo SG90 : ……………………………………………………………… 234T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80213G iới thiệu về động cơ servo SG90 : ………………………………………………………………… 234P hần cứng chuẩn bị sẵn sàng : ( bộ kit đã tích hợp sẵn ). ……………………………………………….. 234L ắp mạch : ………………………………………………………………………………………………….. 235L ập trình : …………………………………………………………………………………………………… 235H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 23628. Điều khiển động cơ bước stepper 28BYJ-48 : ………………………………………….. 237G iới thiệu về động cơ bước stepper 28BYJ-48 : ……………………………………………… 237T hông số kỹ thuật : ………………………………………………………………………………………. 237P hần cứng chuẩn bị sẵn sàng : ( bộ kit đã tích hợp sẵn ). ……………………………………………….. 237L ắp mạch : ………………………………………………………………………………………………….. 238L ập trình : …………………………………………………………………………………………………… 238H ình ảnh thực tiễn : …………………………………………………………………………………………. 24029. Bật tắt LED bằng Remote hồng ngoại : ……………………………………………………. 241G iới thiệu về Remote hồng ngoại : …………………………………………………………………. 241P hần cứng sẵn sàng chuẩn bị : ( bộ kit đã tích hợp sẵn ). ……………………………………………….. 242M ắt thu hồng ngoại : …………………………………………………………………………………….. 242L ắp mạch : ………………………………………………………………………………………………….. 243L ập trình : ……………………………………………………………………………………………………. 243H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 24630. Điều khiển động cơ bằng module L298n : …………………………………………………. 246G iới thiệu về Module L298 : …………………………………………………………………………. 246T hông số kỹ thuật : ………………………………………………………………………………………. 247P hần cứng sẵn sàng chuẩn bị : ( bộ kit đã tích hợp sẵn ). ……………………………………………….. 247L ắp mạch ……………………………………………………………………………………………………. 247L ập trình : ……………………………………………………………………………………………………. 24831. Lập trình module Wifi ESP8266 V1 bằng Uno R3 : ………………………………….. 250G iới thiệu về module Wifi ESP8266 V1 : ……………………………………………………….. 250T hông số kỹ thuật : ………………………………………………………………………………………. 250P hần cứng sẵn sàng chuẩn bị : ( bộ kit đã tích hợp sẵn ). ……………………………………………….. 251T ài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80214L ắp mạch : ………………………………………………………………………………………………….. 251L ập trình : …………………………………………………………………………………………………… 252H ình ảnh trong thực tiễn : …………………………………………………………………………………………. 254T ài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80215A. GIỚI THIỆU VỀ ARDUINOĐiều khiển thứ gì đó một cách tự động hóa, ngoài việc phải hoàn hảo cấu trúc “ phần cứng ”, ta cần phải có mạch điện tinh chỉnh và điều khiển và phải lập trình để mạch điệnđó hoạt động giải trí theo ý mình. Lập trình thì không khó học, chỉ khó ở tiến trình thiết kếmạch tinh chỉnh và điều khiển là khó khăn vất vả nhất so với những ai chưa biết về làm mạch thì càngkhó hơn ( còn được gọi phong cách thiết kế truyền thống lịch sử ). Và phải trải qua rất nhiều công đoạnnhư sau : Tuy nhiên có một thứ làm cho mọi chuyện trở nên rất thuận tiện, có tên gọi là “ Arduino ”. Và trải qua những quy trình ngắn gọn như sau : Tài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80216S o sánh những quy mô điều khiển và tinh chỉnh được sử dụng bằng chiêu thức phong cách thiết kế “ truyền thống lịch sử ” và từ phong cách thiết kế bằng “ Arduino ”. Phương pháp Truyền ThốngPhương pháp dùng ArduinoKỹ Năng • Hiểu biết nâng cao về • Chủ yếu tập trung chuyên sâu tìm hiểulinh kiện điện tử. liên kết mạng lưới hệ thống, không cầnquan tâm đến việc vẽ mạch, • Biết vẽ mạch, rửa mạch, inlàm mạch in, … mạch, … • Biết lập trình ( việc lập trình • Biết lập trình ( việc lậpdễ dàng do thư viện có sẵntrình khó khăn vất vả do modulecủa những module được chuẩntự phong cách thiết kế không có chuẩnhóa ). hóa ). Đối Tượng • Chỉ dành cho những giới • Dành cho giới chuyên ngành, chuyên ngành điện – điệnkhông chuyên, thậm chí còn làtử. học viên cấp 1, 2, .. Thời Gian • Thời gian hoàn thành xong rất • Thời gian triển khai xong rấtnhanh. lâu 1 tuần, hoàn toàn có thể từ 1 đến2 tháng. • Thời gian đa phần tập trung chuyên sâu • Thời gian tập trung chuyên sâu chủ yếuvào mạng lưới hệ thống nên hoàn toàn có thể làmvào làm mạch, ít thời gianđược những mạng lưới hệ thống phứctạp hơn. để tăng trưởng quy mô hệthống. Phát Triển • Phát triển được kỹ năng và kiến thức • Phát triển được tư duy lậptrình mạng lưới hệ thống. phong cách thiết kế mạch, in mạch, hàn, … Chính vì sự tiện nghi như vậy, Arduino đã trở thành một hiện tượng kỳ lạ trên toàn thếgiới, nếu bạn lên mạng tìm kiếm và gõ vào Arduino, bạn sẽ thấy hàng ngàn ứngdụng khác nhau từ khắp mọi nơi trên quốc tế sử dụng Arduino. Từ đó ta có thểthấy được tầm ảnh hưởng tác động của Arduino đến nhường nào. Tài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80217I. ARDUINO LÀ GÌ ? Arduino không phải là cái gì cao siêu hết, chỉ là sử dụng chip AVR với những thứmà bạn sẽ cần đến như mạch tiếp xúc ( USB sang UART ), mạch nguồn, có sẵn cácchân vào / ra để tiếp xúc với cảm ứng và những thiết bị ngoại vi. Arduino rất đơn thuần, dễ sử dụng, dễ code ( ngôn từ tựa như như C / C + + ). Mộttrong những cái hay nhất của Arduino là nó tương hỗ rất nhiều thư viện, rất thuận tiện. Nếu bạn muốn điều khiển và tinh chỉnh động cơ, sẽ có những mạch hiệu suất thích hợp hoàn toànvới Arduino. Nếu bạn muốn điều khiển và tinh chỉnh qua mạng Internet, cũng có một mạchEthernet / Wifi thích hợp trọn vẹn với Arduino. Và còn rất nhiều thứ khác nữa. Tài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80218A rduino cũng có rất nhiều size khác nhau, tương thích cho nhiều mục tiêu sửdụng. Thông dụng nhất lúc bấy giờ là Arduino Uno nhỏ gọn dành cho những ai đangbắt đầu học về arduino. II. ARDUINO LÀM ĐƯỢC NHỮNG GÌ ? Một số những dự án Bất Động Sản mê hoặc đã được triển khai bằng Arduino. Xe tinh chỉnh và điều khiển : Tài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80219M ô hình máy bay 4 cánh : Máy in 3D : Tài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80220N hà mưu trí : Hệ thống tưới cây mưu trí. Tài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80221H iệu ứng LED : III. SƠ LƯỢC VỀ ARDUINO UNO R3Board Arduino Uno nhỏ gọn và khá đầy đủ tính năng tương thích cho những ai mới bắtđầu học, Arduino Uno sử dụng chip Atmega328. Nó có 14 chân digital I / O, 6 chânđầu vào ( input ) analog, thạch anh xê dịch 16M hz. Tài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802221. Một số thông số kỹ thuật kỹ thuật như sau : ChipATmega328Điện áp cấp nguồn5VĐiện áp nguồn vào ( input ) ( kiến7-12Vnghị ) Điện áp nguồn vào ( số lượng giới hạn ) 6-20 VSố chân Digital I / O14 ( có 6 chân điều chế độ rộng xung PWM ) Số chân Analog ( Input ) DC Current per I / O Pin40 mADC Current for 3.3 V Pin50 mAFlash Memory32KB ( ATmega328 ) với 0.5 KB sử dụngbootloaderSRAM2 KB ( ATmega328 ) EEPROM1 KB ( ATmega328 ) Xung nhịp16 MHzTài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802232. Sơ đồ chân của Arduino Uno. • USB ( 1 ). Arduino sử dụng cáp USB để tiếp xúc với máy tính. Thông qua cáp USB chúng tacó thể Upload chương trình cho Arduino hoạt động giải trí, ngoài những USB còn là nguồncho Arduino. • Nguồn ( 2 và 3 ). Khi không sử dụng USB làm nguồn thì tất cả chúng ta hoàn toàn có thể sử dụng nguồn ngoàithông qua jack cắm 2.1 mm ( cực dương ở giửa ) hoặc hoàn toàn có thể sử dụng 2 chân Vin vàGND để cấp nguồn cho Arduino. Bo mạch hoạt động giải trí với nguồn ngoài ở điện áp từ 5 – 20 volt. Chúng ta có thểcấp một áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt. Và nếu sửdụng nguồn lớn hơn 12 volt thì sẽ có hiện tượng kỳ lạ nóng và làm hỏng bo mạch. Khuyết cáo những bạn nên dùng nguồn không thay đổi là 5 đến dưới 12 vol. Chân 5V và chân 3.3 V ( Output voltage ) : những chân này dùng để lấy nguồn ra từnguồn mà tất cả chúng ta đã cung ứng cho Arduino. Lưu ý : không được cấp nguồn vàocác chân này vì sẽ làm hỏng Arduino. GND : chân mass. Tài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80224 • Chip Atmega328. Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5 k sử dụng cho bootloader. Ngoài ra còn có 2K SRAM, 1K EEPROM. • Input và Output ( 4 và 5 ). Arduino Uno có những chân với tính năng input và output sử dụng những hàmpinMode ( ), digitalWrite ( ) và digitalRead ( ) để điều khiển và tinh chỉnh những chân này ( Analog : A0 đến A5 ) ( digital : chân số 0 đến chân số 13 ). Cũng trên 14 chân này tất cả chúng ta còn một số ít chân công dụng đó là : Serial : chân 0 ( Rx ), chân 1 ( Tx ). Hai chân này dùng để truyền ( Tx ) và nhận ( Rx ) dữ liêu tiếp nối đuôi nhau TTL.Chúng ta hoàn toàn có thể sử dụng nó để tiếp xúc với cổng COM của một số ít thiết bị hoặccác linh phụ kiện có chuẩn tiếp xúc tiếp nối đuôi nhau. PWM ( pulse width modulation ) : những chân 3, 5, 6, 9, 10, 11 trên bo mạch códấu “ ~ ” là những chân PWM tất cả chúng ta hoàn toàn có thể sử dụng nó để tinh chỉnh và điều khiển vận tốc độngcơ, độ sáng củađèn … SPI : 10 ( SS ), 11 ( MOSI ), 12 ( MISO ), 13 ( SCK ), những chân này tương hỗ giao tiếptheo chuẩn SPI.I 2C : Arduino tương hỗ giao tiếp theo chuẩn I2C. Các chân A4 ( SDA ) và A5 ( SCL ) được cho phép chúng tao tiếp xúc giửa Arduino với những linh phụ kiện có chuẩn giaotiếp là I2C • Reset ( 6 ) : dùng để reset Arduino. Nhưng so với những ai mới khởi đầu khám phá về arduino thì rất khó khăn vất vả chưakể đến là chưa biết gì về lập trình C, tuy thông tin tài liệu về arduino trên internetlà rất nhiều nhưng thiếu kết nối thì bộ Ebook này là một một giải pháp tuyệt vời nóra đời để giúp những ai đang cảm xúc thấy khó khăn vất vả trong lập trình arduino, nếuai đang muốn học lập trình arduino nên một lần đọc qua. Nếu có sách không thì cũng chưa đủ tất cả chúng ta cần phải có thực hành thực tế, ứng dụngnhững cái mình học từ triết lý thì BỘ KIT TỰ HỌC ARDUINO sinh ra và kếtTài liệu biên soạn bởi Phi Nguyen và một số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 80225 hợp với EBOOKS này giúp bạn thấy việc học lập trình arduino không còn khónhư ta nghĩ. IV. SƠ LƯỢC BỘ KIT TỰ HỌC ARDUINO1. Giới thiệu sơ lược về KIT TỰ HỌC : Để giúp những bạn tiếp cận Arduino một cách thuận tiện nhất, dễ hiểu nhất đặc biệt quan trọng cóthể giúp những bạn làm được những dự án Bất Động Sản, đề tài, … Thì sự sinh ra của Kit Tự HọcArduino ( là bộ cơ bản nhất từ dễ đến khó và Có tài liệu hướng dẫn cụ thể kèmtheo + CODE + Ebook lập trình tinh chỉnh và điều khiển arduino ) cho người mới khởi đầu đểgiúp những bạn học viên, sinh viên và những ai mới khởi đầu học lập trình điều khiểnarduino thoát khỏi cảnh phải lay hoay đi tìm tài liệu để học. 2. Những quyền lợi của Kit Tự Học Arduino : a. Tất cả những linh phụ kiện trong bộ tự học này shop đã tạo điều kiện kèm theo tốt nhấtcho người thực hành thực tế ( ví dụ như led ma trận 8×8 đã được gắn vào boardđồng, … ). b. Trên board test mẫu ở hình trên 8 led đơn đã được liên kết với 8 điện trở1k và đã đưa ra chân sẵn, cũng nhưbiến trở 10 k đã đưa ra 3 chân. c. Có 3 nút nhấn nhỏ đã được gắn trên một module đã đi mạch sẵn và đãcho ra chân giúp việc liên kết thuận tiện. Tài liệu biên soạn bởi Phi Nguyen và 1 số ít tài liệu được tìm hiểu thêm từ arduino.cc và hội đồng arduinoWeb : tdhshop.com. vnEmail : [email protected] : 01695 304 802

Source: https://vh2.com.vn
Category : Tin Học