Tài liệu urduino uno R3 bao gồm các hàm cách dùng các hàm đó. Ứng dụng bài thực tế cho từng bài từ trang 200-636. Ứng dụng trong cảm biến và hệ thống đo. Sử dụng các loại cảm biến ứng dụng cho xe chạy bám line, đèn giao thông, hệ thống tưới cây tự động, phân loại sản phẩm,.... Code và hình ảnh đấu dây trên proteus và thực tế rất rõ ràng có bài sử dụng thuật toán PID. Trên đây, có phí nhé VAT. Để được giảm 30% (còn 200k) thì liên hệ zalo 0364131165 phường Minh khai, Bắc Từ Liêm, Hà Nội để đc giảm giá nhé. Uy tín tạo nên chất lượng cho sản phẩm!
Trang 2MỤC LỤC
A GIỚI THIỆU VỀ ARDUINO 36
I ARDUINO LÀ GÌ? 38
II ARDUINO LÀM ĐƢỢC NHỮNG GÌ? 39
III SƠ LƢỢC VỀ ARDUINO UNO R3 42
1 Một số thông số kỹ thuật nhƣ sau 43
2 Sơ đồ chân của Arduino Uno 44
IV SƠ LƢỢC BỘ KIT TỰ HỌC ARDUINO 46
1 Giới thiệu sơ lƣợc về KIT TỰ HỌC: 46
2 Những lợi ích của Kit Tự Học Arduino 46
3 Mục đích của bộ KIT TỰ HỌC: 47
V CÀI ĐẶT PHẦN MỀM IDE VÀ DRIVER 48
1 Cài đặt phần mềm Arduino IDE 48
a Cài Java Runtime Environment (JRE) 48
b Cài đặt Arduino IDE: 49
2 Cài đặt Driver đối với Arduino Uno, mê ga, 51
a Cài đặt Driver 51
b Nạp chương trình cho Arduino Uno (mega tương tự): 53
3 Cài đặt Driver đối với Nano 55
a Giới thiệu board arduino Nano 55
b Cài đặt driver cho Arduino Nano 55
c Thông số kỹ thuật Arduino Nano: 56
d Nạp chương trình cho Arduino Nano: 57
VI GIỚI THIỆU PHẦN MỀM ( FRITZING) HỔ TRỢ VIỆC VẼ MẠCH NGUYÊN
LÝ 58
Trang 31 Hàm nhập xuất Digital I/O 62
a digitalWrite() 62
b digitalRead() 63
c pinMode() 64
2 Hàm nhập xuất Analog I/O 66
a analogRead() 66
b analogReference () 67
c analogWrite() 69
d analogReadResolution () 70
e analogWriteResolution () 72
3 Hàm nhập xuất nâng cao I/O 74
a noTone(); 74
b pulseIn () 74
c shiftIn(); 75
d shiftOut(); 76
e tone(); 79
4 Hàm thời gian 80
a delay() 80
b delayMicroseconds () 81
c micros() 82
d millis(); 83
5 Hàm toán học: 84
a abs() 84
b constrain() 85
c map() 86
d max() 86
e min() 87
f sq() 87
g sqrt() 88
6 Hàm lƣợng giác: 89
a cos() 89
Trang 4b sin() 89
c tan() 90
7 Hàm số ngẫu nhiên: 90
a random() 90
b randomSeed() 91
8 Bits và Bytes: 93
a Bit() 93
b bitClear() 93
c bitRead() 94
d bitWrite() 95
e bitSet() 95
f lowByte() 96
g highByte() 97
9 Hàm Ngắt (interrupt) 97
a interrupts() 97
b noInterrupts() 98
10 Hàm Ngắt Ngoài 99
a attachInterrupt() 99
b detachInterrupt() 102
11 Hàm Giao tiếp 103
a Serial() 103
12 Xử lý chuỗi: 105
a Hàm isAlpha() 105
b Hàm isAscii() 105
c Hàm isWhitespace() 106
d Hàm isPrintable() 107
Trang 5II GIÁ TRỊ 112
1 Hằng số 112
a Hằng số thực: 112
b Hằng số nguyên 113
c HIGH 115
d LOW 116
e INPUT 118
f INPUT_PULLUP 118
g OUTPUT 119
h LED_BUILTIN 119
i true 119
j false 119
2 Kiểu dữ liệu: 120
a void 120
b boolean 121
c int 122
d unsigned int 123
e char 123
f unsigned char 124
g byte 124
h word 124
i long 125
j unsigned long 125
k short 126
l float 126
m double 127
n array 127
o string 129
3 Chuyển đổi kiểu dữ liệu 130
a char() 130
b byte() 131
Trang 6c int() 131
d word() 132
e long() 132
f float() 133
4 Biến hằng, biến tĩnh: 133
a const - biến hằng 133
b static - biến tĩnh 134
III CẤU TRÚC ( STRUCTURE) 136
1 Cấu trúc tổng thể 136
a setup() và loop() 136
2 Toán tử logic 137
3 Các toán tử so sánh 137
4 Cấu trúc điều khiển: 138
a Câu lệnh if… else 138
b switch / case 139
c for 140
d while 142
e break 142
f continue 143
g return 144
h goto 144
5 Toán tử số học: 145
a Phép gán(=) 145
b Các phép cộng, trừ, nhân, chia trong Arduino 145
c Phép chia lấy dư% 146
Trang 7e #include 150
7 Phép toán hợp nhất 151
a Cộng một 1 đơn vị (++) / trừ một 1 đơn vị ( ) 151
b Các phép toán rút gọn += , -= , *= , /= 151
C CẤU TRÚC CHƯƠNG TRÌNH VÀ BÀI HỌC LẬP TRÌNH TỪ CƠ BẢN ĐẾN NÂNG CAO 152
I CẤU TRÚC CHƯƠNG TRÌNH ARDUINO VÀ CÁCH THÊM THƯ VIỆN VÀO IDE 152
1 Cấu trúc chương trình Arduino 152
2 Hướng dẫn add thư viện cho Arduino IDE 154
II BÀI HỌC LẬP TRÌNH ARDUINO TỪ CƠ BẢN ĐẾN NÂNG CAO 159
1 Điều khiển LED đơn sáng nhấp nháy 159
Nội dung chính 159
Phần cứng ( Trên kit đã tích hợp sẵn chỉ cần nối dây là được) 159
Lắp mạch 159
Hình ảnh thực tế 160
Code lập trình và giải thích 160
2 Thay đổi độ sáng của LED đơn 162
Nội dung chính 162
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ị 162
Lắp mạch 162
Hình ảnh thực tế 163
Chương trình 163
3 Điều khiển đèn giao thông 164
Phần cứng cần chuẩn bị ( nếu sử dụng kit thì được tích hợp sẵn) 164
Lắp mạch: 164
Hình ảnh thực tế 165
Code lập trình 165
4 Điều khiển Rơ le 5Vdc 1, 2 kênh mức cao 167
Giới thiệu thiệu chung 167
Thông số kỹ thuật 167
Trang 8Phần cứng chuẩn bị 167
Lắp mạch: 168
Code chương trình 168
Hình ảnh thực tế 169
5 Điều khiển Công tắc tơ 3 pha 169
Giới thiệu công tắc tơ 3 pha 169
Phần cứng chuẩn bị 171
Lắp mạch: 172
Code chương trình 172
6 Đọc tín hiệu nút nhấn hiển thị lên serial monitor 173
Giới thiệu về nút nhấn: 173
Phần cứng chuẩn bị 175
Sơ đồ nguyên lí 176
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn) 176
Hình ảnh thực tế 177
Lập trình 177
7 Lưu giá trị nút nhấn 179
Phần cứng chuẩn bị 179
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn) 179
Hình ảnh thực tế 180
Lập trình 180
8 Bật tắt LED khi nhấn nút nhấn 182
Phần cứng chuẩn bị 182
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn) 182
Hình ảnh thực tế 183
Lập trình 183
Trang 910 Lập trình hiển thị led 7 đoạn đơn 188
Giới thiệu led 7 đoạn đơn: 188
Phần cứng chuẩn bị 189
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn nút nhấn) 190
Lập trình 190
11 Hiển thị chữ cái, số ra module 4 led 7 đoạn 192
Giới thiệu module 4 led 7 đoạn: 192
Phần cứng chuẩn bị 193
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn) 193
Hình ảnh thực tế 194
Lập trình 194
12 Lập trình hiển thị module led ma trận 8x8 196
Giới thiệu module ma trận 8x8: 196
Phần cứng chuẩn bị: ( tất cả được tích hợp trên Kit Tự Học) 196
Lắp mạch( nếu các bạn đã có kit học thì đã lắp sẵn) 197
Hình ảnh thực tế 197
Lập trình 197
13 Hiển thị chữ lên màn hình LCD16x02 202
Giới thiệu module LCD 16X02 202
Phần cứng chuẩn bị: ( tất cả được tích hợp trên Kit Tự Học) 202
Lắp mạch( nếu các bạn đã có kit học thì chỉ việc nối dây) 203
Hình ảnh thực tế 204
Lập trình 204
14 Kết hợp Module I2C với LCD16x02 204
Giới thiệu module I2C cho LCD 204
Phần cứng chuẩn bị: ( tất cả được tích hợp trên Kit Tự Học) 205
Lắp mạch( nếu các bạn đã có kit học thì chỉ việc nối dây) 205
Lập trình 206
Hình ảnh thực tế 206
15 Đọc giá trị cảm biến quang trở hiển thị lên serial monitor 207
Giới thiệu cảm biến quang trở 207
Trang 10Phần cứng chuẩn bị: (được tích hợp trên Kit Tự Học) 208
Lắp mạch( nếu các bạn đã có kit học thì chỉ việc nối dây) 208
Hình ảnh thực tế 208
Lập trình 209
16 Đọc gái trị CB nhiệt độ LM35 hiển thị lên serial monitor 210
Giới thiệu cảm biến nhiệt độ LM35: 210
Phần cứng chuẩn bị 211
Lắp mạch: 211
Hình ảnh thực tế 211
Lập trình 211
17 Đọc giá trị CB nhiệt độ DS18B20 hiển thị lên serial monitor 212
Giới thiệu cảm biến nhiệt độ DS 18B20: 212
Phần cứng chuẩn bị 213
Lắp mạch: 214
Lập trình 214
18 Hiển thị giá trị CB nhiệt độ LM35 lên mà hình LCD 216
Phần cứng chuẩn bị 216
Lắp mạch 216
Lập trình 216
Hình ảnh thực tế 217
19 Đọc giá trị cảm biến mƣa hiển thị lên serial monitor 218
Giới thiệu cảm biến mưa 218
Phần cứng chuẩn bị 219
Lắp mạch 219
Lập trình 219
Hình ảnh thực tế 220
Trang 11Kết quả hiển thị lên Serial monitor 224
21 Đọc giá trị cảm biến độ ẩm đất hiển thị lên LCD16x02 225
Giới thiệu cảm biến độ ẩm đất: 225
Thông số kỹ thuật 225
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn) 225
Lắp mạch 226
Hình ảnh thực tế 226
Lập trình 227
Kết quả hiển thị lên Serial monitor 228
22 Đọc giá trị CB dò line hiển thị lên serial monitor và LCD 228
Giới thiệu cảm biến dò line 228
Thông số kỹ thuật 229
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn) 229
Lắp mạch 230
Lập trình 230
Hình ảnh thực tế 232
Kết quả hiển thị lên Serial monitor 232
23 Đọc giá trị điện áp khi điều chỉnh biến trở hiển thị lên serial 233
Giới thiệu về biến trở 233
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn biến trở 10K) 233
Lắp mạch 233
Lập trình 234
Hình ảnh thực tế 235
Kết quả hiển thị lên Serial monitor 235
24 Hiển thị thời gian thực (DS1307) lên LCD và serial monitor 236
Giới thiệu về module DS1307 236
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn biến trở 10K) 237
Lắp mạch 237
Lập trình 238
Hình ảnh thực tế 240
Kết quả hiển thị lên Serial monitor 240
Trang 1225 Hiển thị tốc độ đo bằng Encoder quay lên LCD 241
Giới thiệu về module Encoder quay: 241
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) 241
Thông số kỹ thuật 241
Lắp mạch: 244
Lập trình 244
Hình ảnh thực tế 246
26 Cài đặt và hiển thị nhiệt độ, độ ẩm (DTH11) 247
Giới thiệu về giao tiếp I2C 247
Thông số kỹ thuật DHT11 248
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) 248
Lập trình 249
Hình ảnh thực tế 252
27 Điều khiển động cơ servo SG90 252
Giới thiệu về động cơ servo SG90 252
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) 253
Lắp mạch: 254
Lập trình 254
Hình ảnh thực tế 255
28 Điều khiển động cơ bước stepper 28BYJ-48 256
Giới thiệu về động cơ bước stepper 28BYJ-48 256
Thông số kỹ thuật 256
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) 256
Lắp mạch: 257
Lập trình 257
Hình ảnh thực tế 259
Trang 13Lập trình 262
30 Điều khiển động cơ bằng module L298n: 265
Giới thiệu về Module L298 265
Thông số kỹ thuật 265
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) 266
Lắp mạch 266
Lập trình 266
31 Lập trình module Wifi ESP8266 V1 bằng Uno R3 268
Giới thiệu về module Wifi ESP8266 V1: 268
Thông số kỹ thuật 268
Phần cứng chuẩn bị: (bộ kit đã tích hợp sẵn ) 269
Lắp mạch: 269
Lập trình 270
Hình ảnh thực tế 272
32 Giao tiếp giữa 2 board Arduino với nhau 273
Giới thiệu: 273
Thư viện hổ trợ việc giao tiếp giữa 2 Arduino: 273
Phần cứng chuẩn bị 273
Lắp mạch: 273
Lập trình 274
33 Điều khiển LED RGB ( LED 3 màu) 275
Giới thiệu: 275
Để thay màu sắc của LED RGB, ta chỉ việc thay đổi độ sáng của từng con diode (led) trong con led rgb Để thay đổi độ sáng của một con LED ta chỉ việc điều chỉnh điện áp xuất ra con LED, mà để điều chỉnh điện áp xuất ra con LED ta sẽ dùng xung PWM 276
Lắp mạch: 276
Lập trình 276
Hình ảnh thực tế 277
34 Hiển thị giá trị điện áp khi điều chỉnh biến trở 278
Giới thiệu: 278
Phần cứng chuẩn bị 279
Lắp mạch: 279
Trang 14Lập trình 280
35 Đọc giá trị cảm biến báo cháy hiển thị serial monitor 280
Giới thiệu: 280
Thông số kĩ thuật: 280
Phần cứng chuẩn bị 281
Lắp mạch: 281
Lập trình 282
36 Đọc giá trị CB màu (TCS3200) hiển thị serial monitor 283
Giới thiệu: 283
Thông số kĩ thuật: 283
Phần cứng chuẩn bị 284
Lắp mạch: 285
Lập trình 285
37 Đọc giá trị CB chuyển động PIR hiển thị serial monitor 286
Giới thiệu: 286
Nguyên lý làm việc của loại đầu dò PIR như hình sau: 287
Thông số kĩ thuật: 288
Phần cứng chuẩn bị 288
Lắp mạch: 289
Lập trình 289
38 Đọc giá trị CB khí gas (MQ2) hiển thị serial monitor 290
Giới thiệu: 290
Thông số kĩ thuật: 290
Phần cứng chuẩn bị 290
Lắp mạch: 290
Lập trình 291
Trang 15Lắp mạch: 292
Lập trình cho Arduino: 293
Viết app điều khiển thiết bị điện bằng Bluetooth trên điện thoại Andriod: 294
40 Sử dụng IC Max7219 để điều khiển led ma trận 8x8 296
Giới thiệu: 296
Thông số kĩ thuật: 296
Phần cứng chuẩn bị 296
Lắp mạch: 296
Lập trình 297
Hình ảnh thực tế 298
41 Đo Tốc Độ Động Cơ Bằng Cảm Biến IR FC03 299
Giới thiệu: 299
Phần cứng chuẩn bị 299
CB tốc độ IR FC03 299
Thông số kĩ thuật: 299
Nguyên lý hoạt động: 300
Lắp mạch: 300
Lập trình 300
42 Điều khiển RGB LED sử dụng Module Bluetooth HC05 301
Giới thiệu: 301
Phần cứng chuẩn bị 301
Lắp mạch: 302
Lập trình cho arduino: 302
Lập trình app cho điện thoại Android: 303
43 Làm game với led ma trận 8x8 Max7219 304
Phần cứng chuẩn bị 304
Lắp mạch: 304
Lập trình 306
Hình ảnh thực tế 307
44 Lập trình với keypad 4x4 308
Giới thiệu: 308
Trang 16Lắp mạch: 309
Lập trình 309
Hình ảnh thực tế 310
45 Điều khiển thiết bị bằng module enthernet shiled 311
Giới thiệu về enthernet shiled: 311
Phần cứng chuẩn bị 311
Lắp mạch: 312
Lập trình 312
46 Đọc giá trị cảm biến áp suất BM180 314
Giới thiệu về BM180 314
Phần cứng chuẩn bị 315
Lắp mạch: 315
Lập trình 315
Hình ảnh thực tế 317
47 Chạy chữ trên led ma trận 8x8 sử dụng Bluetooth HC05 318
Phần cứng chuẩn bị 318
Lắp mạch: 318
Lập trình cho arduino: 318
Lập trình app Inventor cho điện thoại android 320
48 Điều khiển hiệu ứng RGB LED WS2812b 320
Phần cứng chuẩn bị 320
Giới thiệu led WS2812B: 320
Lắp mạch: 321
Lập trình cho arduino: 322
49 Mô phỏng hệ thống radar bằng cảm biến siêu âm SRF05 322
Phần cứng chuẩn bị 322
Trang 17Giới thiệu rơ le bán dẫn SSR: 325
Thông số kĩ thuật: 326
Lắp mạch: 326
Lập trình cho arduino: 327
D IOT ( Internet Of Things ) 328
I Khái niệm Internet Of Things ( IOT) là gì? 328
1 Khái niệm IOT 328
2 Những ứng dụng thực tế trong cuộc sống 328
3 ESP8266 dòng chip được sử dụng phổ biến nhất hiện nay trong IOT 329
4 Module và Board phát triển của ESP8266 330
5 Giới thiệu về module ESP 12E( NodeMCU V1) 331
6 Lập trình ESP 12E bằng Arduino IDE 332
Giới thiệu về ESP826612E: 332
Chuẩn bị phần cứng 332
Cài đặt phần mềm arduino IDE và thư viện cho esp8266 332
Hướng dẫn nạp chương trình cho ESP8266 12E: 335
Hình ảnh thực tế 336
II Bài học mẫu cơ bản lập trình cho ESP12E 337
1 Bật tắt led theo ý muốn bằng esp8266 12E 337
Chuẩn bị phần cứng 337
Lắp mạch 337
Lập trình 337
Hình ảnh thực tế 338
2 Bật tắt led bằng nút nhấn ( không lưu trạng thái) 338
Chuẩn bị phần cứng 338
Lắp mạch 338
Lập trình 339
Hình ảnh thực tế 339
3 Bật tắt led bằng nút nhấn (lưu trạng thái) 340
Chuẩn bị phần cứng 340
Lắp mạch 340
Trang 18Lập trình 341
Hình ảnh thực tế 342
4 Điều khiển relay bằng Esp8266 V_12E 342
Chuẩn bị phần cứng 342
Lắp mạch 342
Lập trình 343
Hình ảnh thực tế 343
5 Hiển thị lên màn hình LCD bằng ESP8266 12E 343
Chuẩn bị phần cứng 343
Lắp mạch 344
Lập trình 344
Hình ảnh thực tế 344
6 Đọc giá trị cảm biến nhiệt độ LM35 và gửi lên thingspeak 345
Chuẩn bị phần cứng 346
Phần mềm 346
Cài đặt trên thingspeak 346
Lắp mạch 348
Lập trình 348
Sau khi upload code ta mở cổng serial monitor và thingspeak 350
7 Điều khiển thiết bị điện bằng webserver 350
Chuẩn bị phần cứng 350
Phần mềm 351
Lắp mạch 351
Lập trình 351
Hình ảnh thực tế 357
8 Điều khiển thiết bị điện bằng wifi và app MIT invertor 358
Trang 19Hình ảnh thực tế 364
9 Điều khiển thiết bị điện bằng Nodemcu ( esp 12e) và app Blynk 365
Phần mền cần chuẩn bị 365
Phần cứng cần chuẩn bị 365
Lắp mạch 365
Code chương trình 365
Các bước thực hiện như sau: 367
Hình ảnh thực tế 370
D HỌC LẬP TRÌNH ARDUINO THÔNG QUA DỰ ÁN 371
1 Ðo và hiển thị điện áp DC ( 0 – 30Vdc) 371
Phần mền cần chuẩn bị 371
Phần cứng cần chuẩn bị 371
Lắp mạch: 371
Code chương trình 372
Hình ảnh thực tế 373
2 Thiết kế xe robot 4 bánh điều khiển bằng điện thoại ( bluethooth) 373
Mục tiêu: 373
Phần mền cần chuẩn bị 373
Phần cứng cần chuẩn bị 373
Lắp mạch nguyên lý: 374
Lắp mô hình 375
3 Thiết kế mô hình bật tắt đèn AC 220v khi trời tối, sử dụng cảm biến quang trở 384 Mục tiêu: 384
Phần mền cần chuẩn bị 384
Phần cứng cần chuẩn bị 384
Lắp mạch nguyên lý: 384
Code chương trình 385
Hình ảnh thực tế 386
4 Thiết kế mô hình tưới cây tự động 387
Mục tiêu: 387
Trang 20Phần mền cần chuẩn bị 387
Phần cứng cần chuẩn bị 387
Lắp mạch nguyên lý: 387
Code chương trình 387
Hình ảnh thực tế 388
5 Thiết kế mô hình đếm số học sinh trong phòng học 389
Mục tiêu: 389
Phần mền cần chuẩn bị 389
Phần cứng cần chuẩn bị 389
Lắp mạch nguyên lý: 389
Code chương trình 390
Hình ảnh thực tế 392
6 Thiết kế mô hình bật tắt thiết bị bằng sóng rf 433Mhz 393
Mục tiêu: 393
Phần mền cần chuẩn bị 393
Phần cứng cần chuẩn bị 393
Bảng mã ASCII 393
Lắp mạch nguyên lý: 394
Code chương trình 395
Hình ảnh thực tế 400
7 Thiết kế xe robot 4 bánh điều khiển bằng sóng Wifi ( nodemcu ) 400
Mục tiêu: 400
Phần mền cần chuẩn bị 400
Phần cứng cần chuẩn bị 401
Lắp mạch nguyên lý: 401
Lắp mô hình 402
Trang 21Lắp mạch nguyên lý: 411
Code chương trình 411
Hình ảnh thực tế 412
9 Gửi thông báo về điện thoại khi có trộm bằng cảm biến chuyển động sử dụng board NodeMCU và app BLYNK 412
Mục tiêu: 412
Phần mền cần chuẩn bị 413
Phần cứng cần chuẩn bị 413
Lắp mạch nguyên lý: 413
Code chương trình 413
Cài app blynk cho điện thoại: 415
Hình ảnh thực tế 419
10 Điều khiển LED ma trận Max7219 với module WIFI NodeMCU 419
Mục tiêu: 419
Phần mền cần chuẩn bị 419
Phần cứng cần chuẩn bị 419
Lắp mạch nguyên lý: 420
Code chương trình 420
Hình ảnh thực tế 423
11 Ðiều khiển tốc độ động cơ bước bằng biến trở sử dụng board 423
Mục tiêu: 423
Phần mền cần chuẩn bị 423
Phần cứng cần chuẩn bị 423
Lắp mạch nguyên lý: 423
Code chương trình 424
Hình ảnh thực tế 425
12 Đọc giá trị nhiệt độ, độ ẩm hiển thị lên màn hình oled 0.96” và blynk sử dụng board NodeMCU 426
Mục tiêu: 426
Phần mền cần chuẩn bị 426
Phần cứng cần chuẩn bị 426
Trang 22Lắp mạch nguyên lý: 426 Code chương trình 427 Cài đặt app Blynk: 429 Hình ảnh thực tế 433
13 Thiết kế xe 2 bánh tự cân bằng sử dụng board ardunio 433
Mục tiêu: 433 Phần mền cần chuẩn bị 433 Phần cứng cần chuẩn bị 433 Lắp mạch nguyên lý: 436 Code chương trình: (code hoàn chỉnh link kèm theo) 436 Hình ảnh thực tế: ( bánh xe đƣợc thay loại có ma sát tốt hơn ) 438
14 Thiết kế mô hình hẹn giờ bật tắt thiết bị sử dụng module DS1307 và arduino
439
Mục tiêu: 439 Phần mền cần chuẩn bị 439 Phần cứng cần chuẩn bị 439 Lắp mạch nguyên lý: 439 Hình ảnh thực tế 445
15 Thiết kế mô hình xe 4 bánh diều khiển bằng sóng Wifi sử board NodeMCU và app Blynk ( công cụ Joystick ) 445
Mục tiêu: 445 Phần mền cần chuẩn bị 445 Phần cứng cần chuẩn bị 445 Lắp mạch nguyên lý: 445 Code chương trình 446
16 Thiết kế mô hình xe robot 3 bánh tự hành sử dụng board ardunio 452
Mục tiêu: 452
Trang 2317 Ðiều khiển góc quay động cơ buớc bằng nút nhấn sử dụng board arduino 459
Mục tiêu: 459 Phần mền cần chuẩn bị 459 Phần cứng cần chuẩn bị 459 Lắp mạch nguyên lý: 459 Code chương trình 460 Hình ảnh thực tế 462
18 Thiết kế xe robot 4 bánh điều khiển bằng giọng nói sử dụng board arduino
463
Mục tiêu: 463 Phần mền cần chuẩn bị 463 Phần cứng cần chuẩn bị: ( Tuong tự với xe cấp dộ 1 ) 463 Lắp mạch nguyên lý: 463 Lắp mô hình: tương tự như xe robot 4 bánh ở trên 465
19 Thiết kế mô hình mở cửa tự dộng sử dụng module RC522 và board arduino ( nhà thông minh) 468
Mục tiêu: 468 Phần mền cần chuẩn bị 468 Phần cứng cần chuẩn bị 468 Lắp mạch nguyên lý: 468 Code chương trình 469
20 Thiết kế mô hình hiển thị giờ, nhiệt dộ và dộ ẩm lên module led matrix 32x8
sử dụng board arduino 474
Mục tiêu: 474 Phần mền cần chuẩn bị 474 Phần cứng cần chuẩn bị 474 Lắp mạch nguyên lý: 474 Code chương trình 475 Hình ảnh thực tế 480
21 Thiết kế mô hình hẹn giờ bật tắt thiết bị điện sử dụng module DS3231 và arduino 481
Mục tiêu: 481
Trang 24Phần mền cần chuẩn bị 481 Phần cứng cần chuẩn bị 481 Lắp mạch nguyên lý: 481 Code chương trình 482 Hình ảnh thực tế 486
22 Thiết kế mô hình cài đặt và hiển thị nhiệt độ sử dụng cảm biến PT100 và board arduino 486
Mục tiêu: 486 Phần mền cần chuẩn bị 486 Phần cứng cần chuẩn bị 487 Lắp mạch nguyên lý: 487 Code chương trình 488 Hình ảnh thực tế 491
23 Thiết kế mô hình hiển thị giờ lên màn hình LCD 16X02 chữ lớn không sử module thời gian thực 491
Mục tiêu: 491 Phần mền cần chuẩn bị 491 Phần cứng cần chuẩn bị 491 Lắp mạch nguyên lý: 492 Code chương trình 492 Hình ảnh thực tế 497
24 Thiết kế mô hình bật tắt thiết bị điện bằng máy tính thông qua phần mền processing và arduino 497
Mục tiêu: 497 Phần mền cần chuẩn bị 497 Phần cứng cần chuẩn bị 498 Lắp mạch nguyên lý: 498
Trang 25Mục tiêu: 502 Phần mền cần chuẩn bị 502 Phần cứng cần chuẩn bị 502 Lắp mạch nguyên lý phần phát 502 Lắp mạch nguyên lý phần thu 503 Code cho phần phát 504 Code cho phần thu 504 Hình ảnh thực tế 507
26 Thiết kế mô hình xe robot 3 bánh dò line và tránh vật cản sử dụng board arduino 507
Mục tiêu: 507 Phần mền cần chuẩn bị 507 Phần cứng cần chuẩn bị 507 Lắp mạch nguyên lý: 508 Code chương trình 509 Hình ảnh thực tế 512
27 Thiết kế mô hình truyền dữ liệu cảm biến qua máy tính thông qua giao tiếp MODBUS RTU 513
Mục tiêu: 513 Phần mền cần chuẩn bị 513 Phần cứng cần chuẩn bị 513 Lắp mạch nguyên lý: 513 Code chương trình 514 Hình ảnh thực tế 516
28 Thiết kế mô hình đo dòng điện AC/DC sử dụng module ACS712 và board arduino 517
Mục tiêu: 517 Phần mền cần chuẩn bị 517 Phần cứng cần chuẩn bị 517 Lắp mạch nguyên lý: 517 Code chương trình 518 Hình ảnh thực tế 521
Trang 2629 Thiết kế mô hình điều khiển độ sáng của đèn led ứng dụng giải thuật PID và
sử dụng board arduino 521
Mục tiêu: 521 Phần mền cần chuẩn bị 521 Phần cứng cần chuẩn bị 521 Lắp mạch nguyên lý: 522 Code chương trình 522 Hình ảnh thực tế 523
30 Thiết kế mô hình điều khiển thiết bị điện thông qua giao thức (MQTT) và board NodeMCU 523
Mục tiêu: 523 Phần mền cần chuẩn bị 523 Phần cứng cần chuẩn bị 523 Lắp mạch nguyên lý: 524 Code chương trình 524 Cài đặt app trên Ubidots 525 Hình ảnh thực tế 527
31 Thiết kế mô hình hiển thị vị trí lên màn hình LCD sử dụng board arduino và GPS neo6 527
Mục tiêu: 527 Phần mền cần chuẩn bị 527 Phần cứng cần chuẩn bị 527 Lắp mạch nguyên lý: 527 Code chương trình 528 Hình ảnh thực tế 529
32 Thiết kế mô hình lọc nhiễu cho cảm biến trong các dự án liên qua đến
arduino 530
Trang 27Hình ảnh thực tế 532
33 Thiết kế mô hình điều khiển thiết bị điện và hiển thị giá trị cảm biến lên
internet thông qua giao thức (MQTT) và board NodeMCU 533
Mục tiêu: 533 Phần mền cần chuẩn bị 533 Phần cứng cần chuẩn bị 533 Lắp mạch nguyên lý: 533 Code chương trình 534 Cài đặt app trên Ubidots 535 Hình ảnh thực tế 538
34 Thiết kế mô hình điều khiển đóng ngắt relay bằng SMS thông qua module sim800l và arduino 538
Mục tiêu: 538 Phần mền cần chuẩn bị 538 Phần cứng cần chuẩn bị 538 Lắp mạch nguyên lý: 538 Code chương trình 539 Hình ảnh thực tế 540
35 Thiết kế mô hình điều khiển đóng ngắt relay thông qua Webserver sử dụng board ESP32 541
Mục tiêu: 541 Phần mền cần chuẩn bị 541 Phần cứng cần chuẩn bị 541 Lắp mạch nguyên lý: 541 Code chương trình 542 Hình ảnh thực tế 545
36 Thiết kế mô hình hiển thị vị trí tọa độ lên màn hình LCD sử dụng module GPS NEO6 và arduino 545
Mục tiêu: 545 Phần mền cần chuẩn bị 545 Phần cứng cần chuẩn bị 545 Lắp mạch nguyên lý: 545
Trang 28Code chương trình 546 Hình ảnh thực tế 547
37 Thiết kế mô hình điều khiển thiết bị điện bằng SMS sử dụng module sim 800l
và arduino 548
Mục tiêu: 548 Phần mền cần chuẩn bị 548 Phần cứng cần chuẩn bị 548 Lắp mạch nguyên lý: 548 Code chương trình 549 Hình ảnh thực tế 550
38 Thiết kế mô hình điều khiển đảo chiều động cơ bước stepper 1.8/step sử dụng nút nhấn và arduino 550
Mục tiêu: 550 Phần mền cần chuẩn bị 551 Phần cứng cần chuẩn bị 551 Lắp mạch nguyên lý: 551 Code chương trình 552 Hình ảnh thực tế 554
39 Thiết kế mô hình điều khiển tốc độ động cơ sử dụng module driver BTS7960
và arduino 554
Mục tiêu: 554 Phần mền cần chuẩn bị 554 Phần cứng cần chuẩn bị 554 Lắp mạch nguyên lý: 555 Code chương trình 555 Hình ảnh thực tế 556
40 Thiết kế mô hình điều khiển động cơ bước 1.8/step sử dụng module driver
Trang 29Code chương trình 558 Hình ảnh thực tế 559
41 Thiết kế mô hình điều khiển thiết bị điện dựa vào giá trị cảm biến ánh sáng và đồng thời gửi tin nhắn về điện thoại 559
Mục tiêu: 559 Phần mền cần chuẩn bị 559 Phần cứng cần chuẩn bị 560 Lắp mạch nguyên lý: 560 Code chương trình 560 Hình ảnh thực tế 562
42 Thiết kế mô hình điều khiển góc quay động cơ bước bằng cảm biến ánh sáng khi trời tối hoặc trời sáng 562
Mục tiêu: 562 Phần mền cần chuẩn bị 563 Phần cứng cần chuẩn bị 563 Lắp mạch nguyên lý: 563 Code chương trình 563 Hình ảnh thực tế 564
43 Thiết kế mô hình đo tốc độ động cơ hiển thị lên màn hình LCD sử dụng
encorder quay và board arduino 565
Mục tiêu: 565 Phần mền cần chuẩn bị 565 Phần cứng cần chuẩn bị 565 Lắp mạch nguyên lý: 566 Code chương trình 566 Hình ảnh thực tế 569
44 Thiết kế mô hình bật tắt thiết bị điện sử dụng cảm biến vân tay và board arduino 570
Mục tiêu: 570 Phần mền cần chuẩn bị 570 Phần cứng cần chuẩn bị 570 Lắp mạch nguyên lý: 570
Trang 30Code chương trình 571 Hình ảnh thực tế 572
45 Thiết kế mô hình điều khiển số vòng quay cho động cơ bước 573
Mục tiêu: 573 Phần mền cần chuẩn bị 573 Phần cứng cần chuẩn bị 573 Lắp mạch nguyên lý: 573 Code chương trình 574 Hình ảnh thực tế 575
46 Thiết kế mô hình điều khiển bật tắt thiết bị bằng remote hồng ngoại sử dụng arduino 576
Mục tiêu: 576 Phần mền cần chuẩn bị 576 Phần cứng cần chuẩn bị 576 Lắp mạch nguyên lý: 576 Code chương trình 577 Hình ảnh thực tế 578
47 Thiết kế mô hình phát nhạc sử dụng module mp3 mini và arduino 578
Mục tiêu: 578 Phần mền cần chuẩn bị 578 Phần cứng cần chuẩn bị 578 Lắp mạch nguyên lý: 579 Code chương trình 579 Hình ảnh thực tế 582
48 Thiết kế mô hình đo tốc độ động cơ hiển thị lên màn hình LCD sử dụng
encoder quang và arduino 582
Mục tiêu: 582
Trang 3149 Thiết kế mô hình đo nhiệt ẩm hiển thị lên LCD sử dụng cảm biến HDC1080
và A rduino 585
Mục tiêu: 585 Phần mền cần chuẩn bị 585 Phần cứng cần chuẩn bị 585 Lắp mạch nguyên lý: 585 Code chương trình 586 Hình ảnh thực tế 587
50 Thiết kế mô hình đặt mật khẩu cho webserver sử dụng board ESP32 588
Mục tiêu: 588 Phần mền cần chuẩn bị 588 Phần cứng cần chuẩn bị 588 Lắp mạch nguyên lý: 588 Code chương trình 588 Hình ảnh thực tế 592 Hướng dẫn cài Tool cho ESP32 vào phần mềm IDE: 593
51 Thiết kế mô hình đồng bộ nút nhấn với webserver sử dụng board ESP32 594
Mục tiêu: 594 Phần mền cần chuẩn bị 594 Phần cứng cần chuẩn bị 594 Lắp mạch nguyên lý: 594 Code chương trình 595 Hình ảnh thực tế 599
52 Thiết kế mô hình đọc giá trị nhiệt độ từ NTC 10k hiển thị lên 4 led 7 đoạn 599
Mục tiêu: 599 Phần mền cần chuẩn bị 599 Phần cứng cần chuẩn bị 599 Lắp mạch nguyên lý: 599 Code chương trình 600 Hình ảnh thực tế 601
53 Thiết kế mô hình bật tắt thiết bị điện thông qua sóng RF (PT2262 – PT2272)
Trang 32và Arduino uno 602
Mục tiêu: 602 Phần mền cần chuẩn bị 602 Phần cứng cần chuẩn bị 602 Lắp mạch nguyên lý: 602 Code chương trình 603 Hình ảnh thực tế 604
54 Thiết kế mô hình bật tắt thiết bị điện bằng vân tay thông qua module R308 và Nodemcu 8266 604
Mục tiêu: 604 Phần mền cần chuẩn bị 604 Phần cứng cần chuẩn bị 604 Lắp mạch nguyên lý: 604 Code chương trình: lưu ý khi upload chọn Tool Board NodeMCU 1.0 605 Hình ảnh thực tế 606
55 Thiết kế mô hình chạy chữ trên led P10 607
Mục tiêu: 607 Phần mền cần chuẩn bị 607 Phần cứng cần chuẩn bị 607 Lắp mạch nguyên lý: 607 Code chương trình 608 Hình ảnh thực tế 609
56 Thiết kế mô hình Robot bám theo vật sử dụng board Arduino 609
Mục tiêu: 609 Phần mền cần chuẩn bị 609 Phần cứng cần chuẩn bị 609
Trang 33Mục tiêu: 612 Phần mền cần chuẩn bị 612 Phần cứng cần chuẩn bị 612 Lắp mạch nguyên lý: 612 Code chương trình 613 Hình ảnh thực tế 614
58 Thiết kế mô hình đo khoảng cách bằng cảm biến siêu âm SRF05 và hiển thị lên led đơn, báo loa 615
Mục tiêu: 615 Phần mền cần chuẩn bị 615 Phần cứng cần chuẩn bị 615 Lắp mạch nguyên lý: 615 Code chương trình 616 Hình ảnh thực tế 618
59 Thiết kế mô hình gửi giá trị analog từ biến trở 10k qua app điện thoại sử dụng arduino và bluetooth 618
Mục tiêu: 618 Phần mền cần chuẩn bị 618 Phần cứng cần chuẩn bị 618 Lắp mạch nguyên lý: 618 Code chương trình 619 Hình ảnh thực tế 620
60 Thiết kế mô hình gọi điện, nhắn tin từ module sim800l và arduino khi có tín hiệu từ cảm biến hồng ngoại 620
Mục tiêu: 620 Phần mền cần chuẩn bị 620 Phần cứng cần chuẩn bị 620 Lắp mạch nguyên lý: 620 Code chương trình 621 Hình ảnh thực tế 623
61 Thiết kế mô hình đo nhiệt độ không tiếp xúc bằng cảm biến MLX90614 và hiển thị lên màn hình Oled 624
Trang 34Mục tiêu: 624 Phần mền cần chuẩn bị 624 Phần cứng cần chuẩn bị 624 Lắp mạch nguyên lý: 624 Code chương trình 625 Hình ảnh thực tế 626
62 Thiết kế mô hình ghi phát âm thanh bằng module ISD1820 và cảm biến hồng ngoại 627
Mục tiêu: 627 Phần mền cần chuẩn bị 627 Phần cứng cần chuẩn bị 627 Lắp mạch nguyên lý: 627 Code chương trình 628 Hình ảnh thực tế 629
63 Thiết kế mô hình bật tắt relay sử dụng cảm biến vân tay AS608 và hiển thị lên LCD 629
Mục tiêu: 629 Phần mền cần chuẩn bị 629 Phần cứng cần chuẩn bị 629 Lắp mạch nguyên lý: 629 Code chương trình 630 Hình ảnh thực tế 634
Trang 36A 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:
Trang 37So 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ề linh kiện điện tử
• Biết vẽ mạch, rửa mạch, in mạch,…
• Biết lập trình ( việc lập trình khó khăn do module
tự thiết kế không có chuẩn hóa )
• Chủ yếu tập trung tìm hiểu kết nối hệ thống, không cần quan tâm đến việc vẽ mạch, làm mạch in,…
• Biết lập trình ( việc lập trình
dễ dàng do thư viện có sẵn của các module được chuẩn hóa)
Đối Tượng
• Chỉ dành cho những giới chuyên ngành điện - điện
tử
• Dành cho giới chuyên ngành, không chuyên, thậm chí là học sinh cấp 1, 2,
Phát Triển
• Phát triển được kỹ năng thiết kế mạch, in mạch, hàn,…
• Phát triển được tư duy lập trình hệ thống
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
Trang 38I 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
Trang 39Arduino 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
Một số các dự án thú vị đã được thực hiện bằng Arduino
Xe điều khiển:
Trang 40Mô hình máy bay 4 cánh:
Máy in 3D: