Nội dung quyển sách này bao gồm các hướng dẫn chi tiết cho người đọc về cách sử dụng và những tính năng của nền tảng phát triển Arduino thông qua board mạch IoT, hiểu được các chức năng và chuẩn giao tiếp thông dụng trong truyền nhận dữ liệu, đồng thời bám sát nội dung đã học bằng các bài thực hành. • Phần cứng sử dụng là board mạch phần cứng mở IoT Maker UnoX do IoT Maker VietNam thiết kế, hoàn toàn tương thích với chuẩn Arduino Uno trên thị trường. Đây là 1 dự án open source hardware nên chúng tôi rất hoan nghênh nếu có những nhận xét hoặc đóng góp nhằm cải thiện các tính năng cho board mạch. • Phần mềm sử dụng lập trình trên máy tính là Arduino, ngôn ngữ lập trình CC++. Ngoài ra, bạn sẽ cần tìm hiểu một số công cụ và khái niệm thường xuyên được sử dụng trong quyển sách này như sau: • Git Trình quản lý phiên bản sử dụng rất rộng rãi trên thế giới. Git giúp bạn quản lý được mã nguồn, làm việc nhóm, xử lý các thao tác hợp nhất, lịch sử mã nguồn, … Có thể trong quá trình làm việc với quyển sách này, bạn sẽ cần sử dụng các thư viện mã nguồn mở cho Arduino từ Github, nên việc cài đặt và sử dụng công cụ khá cần thiết cho việc đó. Chưa kể, nó sẽ giúp bạn quản lý mã nguồn và dự án ngày càng chuyên nghiệp hơn. • Github Là một mạng xã hội cho lập trình viên dựa trên Git. • Firmware là 1 phần mềm (software) được nhúng (embedded) vào phần cứng (hardware) của thiết bị, giúp điều khiển, cập nhật các tính năng mới cho phần cứng
Trang 1EBOOKS TỰ HỌC
LẬP TRÌNH ARDUINO DÀNH CHO NGƯỜI MỚI
BẮT ĐẦU TỪ
A ĐẾN Z
Trang 2MỤ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
Trang 32 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
Trang 47 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
Trang 5II 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 float 106
m double 107
n array 107
Trang 6a 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
Trang 7b {} 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
Trang 8Hì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
Trang 9Hì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 8x8 177
Giới thiệu module ma trận 8x8: 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
Trang 10Hì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
Trang 11Hì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
Trang 12Kế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
Trang 13Giớ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
Trang 14Lắp mạch: 251 Lập trình : 252 Hình ảnh thực tế: 254
Trang 15A 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 16So 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 17I 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
Trang 18Arduino 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:
Trang 19Mô hình máy bay 4 cánh:
Máy in 3D:
Trang 20Nhà thông minh:
Hệ thống tưới cây thông minh
Trang 21Hiệu ứng LED:
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
Trang 221 Một số thông số kỹ thuật như sau :
Flash Memory 32KB (ATmega328) với 0.5KB sử dụng
Trang 232 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
Trang 24Cũ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
• 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
Trang 25hợ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 8x8 đã đượ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
Trang 26d Dây cắm test có nhiều kích cỡ khác nhau
e Kết nối giữa arduino và các module khác trong bộ tự học rất dễ dàng
f Khi bạn mua bộ Kit Tự Học này thì được tặng kèm file hướng dẫn sử dụng Kit + CODE đối với từng module liên quan, các bạn không cần phải đi tìm tài liệu học
g Trong file hướng dẫn sử dụng kit có tất cả hơn 25 bài học cơ bản liên quan, mỗi bài học điều có code mẫu kèm theo
h Tất cả khách hàng mua kit tự học từ tdhshop đều được miễn phídạy 1 buổi online
i Được tặng kèm theo 18 ebook tài liệu học arduino bằng tiếng anh
j Được tặng kèm theo 2 sổ tay Arduino ( LẬP TRÌNH ĐIỀU KHIỂN ARDUINO V1, V2 và 2 cuốn ebook này được tổng hợp lại và điều chỉnh cho phù hợp nhất), tổng hợp các lệnh, hàm,…cơ bản trong quá trình lập trình arduino
3 Mục đích của bộ KIT TỰ HỌC:
a Điều khiển đèn led đơn ( nhấp nháy theo yêu cầu hay chạy theo hiệu ứng)
b Lập trình hiển thị số trên 1 led 7 đoạn
c Biết lập trình module 4 led 7 đoạn hiển thị thời gian, chữ cái, số,…
d Biết lập trình led mat trận 8x8 hiển thị chữ cái, số, hiệu ứng,…
e Biết cách lấy tín hiệu Analog (tín hiệu tương tự) và tín hiệu Digital (tín hiệu số) từ cảm biến nhiệt độ, cảm biến ánh sáng,…
f Biết cách nối dây và điều khiển role ( để đóng ngắt thiết bị điện)
g Hiển thị được thông tin trên màn hình LCD
h Đọc giá trị nhiệt độ hiển thị lên LCD 16X02 thông qua cảm biến nhiệt độ LM35
i Điều khiển đóng ngắt thiết bị điện dựa vào cài đặt giá trị nhiệt độ
j Lập trình điều khiển được động cơ chạy thuận nghịch và tăng giảm tốc
độ cho động cơ
k Lập trình điều khiển được động cơ sevor
l Sử dụng remote hồng ngoại điều khiển tắt mở thiết bị điện thông qua role
m Biết đọc về giá trị cảm biến độ ẩm đất để thực hiện yêu cầu gì đó mà ta cần phải làm
n Và có nhiều ứng dụng khác trong quá trình thực hành cùng Kit Tự Học Arduino
Trang 274 Một số bộ KIT TỰ HỌC ARDUINO:
• Kit Tự Học Arduino V1 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino V2 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino V3 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino V4 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino M1 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino M2 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino M3 các bạn có thể xem chi tết TẠI ĐÂY
• Kit Tự Học Arduino M4 các bạn có thể xem chi tết TẠI ĐÂY
Sự khác biệt giữa các KIT TỰ HỌC ARDUINO là số lượng bài học và số lượng Module
Giữa BỘ KIT loại V và M khác nhau ở chổ ( Bộ V sử dụng board Arduino Uno R3 Còn Bộ M sử dụng boardArduino Mê ga 2560)
V CÀI ĐẶT PHẦN MỀM IDE VÀ DRIVER
1 Cài đặt phần mềm Arduino IDE:
a Cài Java Runtime Environment (JRE)
Vì Arduino IDE được viết trên Java nên bạn cần phải cài đặt JRE trước Arduino IDE Link: http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Trang 28Bản JRE phổ biến nhất là bản dành cho Windows 32bit (x86) và Windows 64bit (x64) mình đã đánh dấu trong hình Nhớ chọn "Accept License Agreement"
Việc cài đặt diễn ra rất đơn giản và nhanh chóng
b Cài đặt Arduino IDE:
• Bước 1: Truy cập địa chỉ: ide-cap-nhat-phien-ban-moi-nhat
Hoặc: https://www.arduino.cc/en/Main/Software
Trang 29Bước 2: Sau khi download xong, các bạn bấm chuột phải vào file vừa download arduino-1.8.5-windows.zip và chọn “Extract here” để giải nén
Bước 3: Chạy file arduino.exe trong thư mục arduino-1.8.5\ để khởi động Arduino IDE
Trang 30Sau khi chạy file arduino.exe ta có giao diên Arduino IDE:
2 Cài đặt Driver đối với Arduino Uno, mê ga,…:
a Cài đặt Driver:
Đầu tiên, các bạn chạy file x86.exe (Windows x86) hoặc amd64.exe (Windows x64) trong thư mục driver của file phần mềm IDE mình tải
dpinst-về
Trang 31Cửa sổ “Device Driver Installation Wizard” hiện ra, các bạn chọn Next để tiếp tục
Khi có yêu cầu xác nhận cài đặt driver, chọn “Install”
Trang 32Quá trình cài đặt đã hoàn tất Bấm “Finish” để thoát
b Nạp chương trình cho Arduino Uno (mega tương tự):
Bước 1: Khởi động Arduino IDE:
Trang 33Bước 2: Mở chương trình mẫu trên Arduino IDE (Blink)
Bước 3: Vào Tools các bạn chọn đúng nhé cái này rất quan trọng
Kết quả ta có thể thấy Led chân số 13 (tích hợp trên board, led màu cam) của
Trang 343 Cài đặt Driver đối với Nano:
a Giới thiệu board arduino Nano
Board Arduino Nano là một trong những phiên bản nhỏ gọn của board Arduino Arduino Nano có đầy đủ các chức năng và chương trình có trên Arduino Uno
do cùng sử dụng MCU ATmega328P Nhờ việc sử dụng IC dán của ATmega328P thay vì IC chân cắm nên Arduino Nano có thêm 2 chân Analog so với Arduino Uno
b Cài đặt driver cho Arduino Nano
Arduino Nano được kết nối với máy tính qua cổng Mini - B USB và sử dụng chip CH340 để chuyển đổi USB sang UART thay vì dùng chip ATmega16U2 để giả lập cổng COM như trên Arduino Uno hay Arduino Mega, nhờ vậy giá thành sản phẩm được giảm mà vẫn giữ nguyên được tính năng, giúp Arduino giao tiếp được với máy tính, từ đó thực hiện việc lập trình
Trước hết chúng ta phải tải driver CH340 cho arduino nano TẠI ĐÂY:
Bước 1: Giải nén thư mục vừa tải về ⇒ mở thư mục CH341SER ⇒khởi động file SETUP.EXE
Trang 35 Bước 2: Nhấn chọn INSTALL
Bước 3: Hoàn tất cài đặt
c Thông số kỹ thuật Arduino Nano:
IC nạp và giao tiếp UART CH340
Điện áp hoạt động 5V - DC
Điện áp đầu vào khuyên dùng 7-12V - DC
Điện áp đầu vào giới hạn 6-20V - DC
Số chân Digital I/O 14 (trong đó có 6 chân PWM)
Số chân Analog 8 (độ phân giải 10bit, nhiều hơn Arduino Uno 2 chân) Dòng tối đa trên mỗi chân I/O 40mA
Bộ nhớ flash 32KB với 2KB dùng bởi bootloader
Trang 36d Nạp chương trình cho Arduino Nano:
Bước 1: Khởi động Arduino IDE
Bước 2: Mở chương trình mẫu trên Arduino IDE (Blink)
Trang 37Bước 3: Vào Tools các bạn chọn đúng nhé cái này rất quan trọng.
Kết quả ta có thể thấy Led chân số 13 (tích hợp trên board, led màu đỏ) của Arduino Nano sáng 1 giây và tắt 1 giây
VI GIỚI THIỆU PHẦN MỀM ( FRITZING) HỔ TRỢ
VIỆC VẼ MẠCH NGUYÊN LÝ
1 Giới thiệu phần mềm Fritzing:
Để vẽ một sơ đồ mạch điện ứng dụng hoàn chỉnh, phục vụ cho quá trình học tập
và nghiên cứu thì bạn cần có nhiều kinh nghiệm và linh kiện điện tử để thử nghiệm Một giải pháp hiệu quả cho tình huống này là sử dụng phần mềm
Fritzing, bạn sẽ nhanh chóng tạo ra những sơ đồ mạch nguyên lý, sơ đồ lắp đặt có hình ảnh trực quan
Trong quá trình học lập trình Arduino chắc ai cũng đã nhìn thấy những hình ảnh mạch kết nối của Arduino với một số linh kiện như hình ở dưới Đó là phần
Trang 38mền Fritzing, hiện tại phần mềm này miễn phí và rất trực quan rất có ích cho ai học lập trình Arduino
2 Dowload phần mềm Fritzing ( miễn phí):
Các bạn click vào links sau nhé: http://fritzing.org/download/ tải phần mềm miễn phí với giao diện như sau:
Trang 393 Hướng dẫn sử dụng phần mềm:
Kết nối mạch trên Breadboard:
Chuyển qua sơ đồ nguyên lý: