Tự học Arduino cho người mới bắt đầu: Phần 1

pdf
Số trang Tự học Arduino cho người mới bắt đầu: Phần 1 109 Cỡ tệp Tự học Arduino cho người mới bắt đầu: Phần 1 28 MB Lượt tải Tự học Arduino cho người mới bắt đầu: Phần 1 105 Lượt đọc Tự học Arduino cho người mới bắt đầu: Phần 1 146
Đánh giá Tự học Arduino cho người mới bắt đầu: Phần 1
4 ( 13 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 109 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Arduino cho người mới bắt đầu IoT Maker Viet Nam Mục lục Lời mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Đôi lời về tác giả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Thuật ngữ hay sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Giải thích code trong bài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Giới thiệu nội dung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Ai có thể sử dụng? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Mục tiêu mang lại cho người đọc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Chuẩn bị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Kiến thức cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Arduino là gì ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Những board mạch Arduino trên thị trường . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Giới thiệu board IoT Maker UnoX và IoT Arduino STEM Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Arduino IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Khái niệm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Cài đặt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Ứng dụng mang lại . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Arduino và C/C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Giới thiệu một số khái niệm và linh kiện điện tử cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Điện áp, dòng điện và điện trở . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Tụ điện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Cuộn cảm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Breadboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Chớp tắt bóng LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Kiến thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Đấu nối . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Mã nguồn chớp tắt dùng Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Mã nguồn chớp tắt dùng định thời . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Kiến thức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Analog và Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Fade LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Điều khiển LED RGB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Giới thiệu module cảm biến ánh sáng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Điều khiển LED RGB theo cường độ ánh sáng của môi trường . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Truyền thông nối tiếp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Giao tiếp Serial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Những khái niệm cơ bản. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Sử dụng chuẩn giao tiếp Serial với boad IoT Maker UnoX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Giao tiếp I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Mô hình Master/slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Giao tiếp I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Truyền nhận bit trong I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Sử dụng giao thức I2C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Viết chương trình cho I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Xác định địa chỉ của thiết bị trong giao tiếp I2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Giới thiệu về LCD và OLED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Giao tiếp giữa 2 board IoT Maker UnoX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Chuẩn giao tiếp truyền nhận dữ liệu SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Giao thức SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 SPI, ưu và nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Nguyên lý hoạt động. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 SPI, các ví dụ mẫu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Hiển thị chữ trên LED matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Đọc dữ liệu từ cảm biến BMP280, hiển thị trên OLED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chuẩn giao tiếp 1-Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 1-Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 1-Wire là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 1-Wire hoạt động như thế nào? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Tiến trình hoạt động (Workflow) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Ví dụ chuẩn giao tiếp 1-Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Một master và một slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Một master và nhiều slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Timer - Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Timer/Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Thư viện TimerOne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Một số ví dụ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Một số dự án tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Điều khiển xe tự động bằng module Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Cơ bản về ứng dụng điều khiển xe tự động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Mở đầu về điều khiển động cơ DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Xe điều khiển từ xa với 4 động cơ DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Điều khiển xe từ xa bằng Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Giám sát nhiệt độ, độ ẩm và bật tắt thiết bị thông qua WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 Cheatsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Arduino Cheatsheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 C - Cheatsheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Lời kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Các thành viên tham gia đóng góp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Lời kết. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Giấy phép sử dụng tài liệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Arduino cho người mới bắt đầu 1/188 Lời mở đầu Trong thời đại công nghệ phát triển như vũ bão hiện nay, ở mảng điện tử lập trình, việc dùng Arduino trở nên rất phổ biến. Chúng ta có thể gặp các ứng dụng của Arduino trong rất nhiều lĩnh vực đời sống. Nhận thấy nhu cầu lớn về việc tìm hiểu Arduino nên chúng tôi biên soạn cuốn sách này nhằm mục đích giúp cho những ngưòi không chuyên, những người mới bắt đầu với lập trình vi điều khiển rút ngắn thời gian tìm hiểu ban đầu, tạo ra những dự án với Arduino một cách nhanh chóng và hữu ích. Mặc dù đã cố gắng tạo ra sản phẩm tốt nhất đến tay người dùng, tuy nhiên trong quá trình biên soạn sách không khỏi có những thiếu sót, chúng tôi rất hoan nghênh nếu nhận được những phản hồi chỉnh sửa hoặc đóng góp ý kiến để chất lượng về nội dung sách được tốt hơn. Sách được public trên github tại đường dẫn : github.com/iotmakervn/arduino-for-beginners Đôi lời về tác giả Chủ biên của cuốn sách là ông Phạm Minh Tuấn(TuanPM), người có nhiều năm kinh nghiệm làm việc trong lập trình vi điều khiển, IoT và phát triển các thư viện mã nguồn mở cho cộng đồng. Tác giả xây dựng cuốn sách này với mục đích đóng góp 1 phần nhỏ những kiến thức của mình để cho những người mới bắt đầu tiếp cận với lập trình vi điều khiển thông qua nên tảng phát triển Arduino. Thuật ngữ hay sử dụng • Arduino - Đề cập đến các board mạch Arduino trên thị trường. • Arduino IDE - Viết tắt của Arduino Integratted Developement Enviroment. Nói 1 cách đơn giản, đó là công cụ để lập trình với các board Arduino bao gồm trình soạn thảo code, gỡ lỗi và nạp chương trình cho board. • Git - Trình quản lý phiên bản. • Github - Mạng xã hội dành cho lập trình viên. • Compiler - Trình biên dịch. • Logic Level - Mức điện áp để chip hiểu được (1 hay 0). Giải thích code trong bài 2/188 void setup() { //comment ① int a = 1; a ++; ② } ① Dòng này giải thích đây là comment (chú thích). ② Dòng này giải thích biến a tăng thêm 1 đơn vị. IoT Maker Viet Nam Arduino cho người mới bắt đầu 3/188 Giới thiệu nội dung • 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 Maker UnoX, 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 C/C++. 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. Tuy phần cứng chính thức sử dụng là board mạch phần cứng mở IoT Maker  UnoX, nhưng bạn hoàn toàn có thể sử dụng bất kỳ board Arduino Uno nào khác trên thị trường cho cuốn sách này, ví dụ như: Arduino Uno R3, Arduno-nano-3.0, …  Tất cả các mã nguồn đều hạn chế giải thích rõ chi tiết API cho mỗi tính năng, thay vào đó được cung cấp tại phụ lục Cheat Sheet (Arduino). Ai có thể sử dụng? • Học sinh (cấp 2, 3), sinh viên muốn bổ sung kiến thức, nâng cao kỹ năng. • Các giáo viên THCS, THPH muốn sử dụng Arduino trong giảng dạy STEM • Các lập trình viên phần mềm muốn tham gia làm sản phẩm điện tử. • Các kỹ sư không chuyên lập trình muốn làm các sản phẩm tự động 4/188 • Cá nhân muốn tự mình làm các sản phẩm phục vụ công việc và cuộc sống. • Các công ty không chuyên về phần cứng hoặc phần mềm. • Và tất cả các lập trình viên yêu thích về phần cứng. Mục tiêu mang lại cho người đọc • Hiểu được cách thức hoạt động của nền tảng phát triển Arduino. • Hiểu được cách hoạt động, các chuẩn giao tiếp trong truyền nhận dữ liệu của 1 vi điều khiển. • Giúp cho người không chuyên về phần cứng tiếp cận để làm sản phẩm 1 cách dễ dàng. • Có thể tự phát triển hệ thống tích hợp cho sản phẩm. Chuẩn bị • Bạn cần ít nhất 1 board mạch Arduino lập trình được, tốt nhất nên sử dụng các board mạch đã có các module nạp cho chip. • Nên có thêm các module khác như cảm biến, động cơ để thực hành, một bộ Arduino Kit là phù hợp. • 1 máy tính cá nhân (Windows, MacOS hoặc Linux). • C & Arduino Cheatsheet (Mục lục cuối quyển sách này). IoT Maker Viet Nam Arduino cho người mới bắt đầu 5/188 Kiến thức cơ bản Để có cái nhìn tổng quan khi bắt đầu với nền tảng phát triển Arduino, chúng ta cùng điểm qua những nội dung sẽ tìm hiểu phần này như sau: • Khái niệm về Arduino. • Tìm hiểu các dòng chip và các board Aruino trên thị trường. • Giới thiệu board mạch IoT Maker UnoX. • Tìm hiểu về Arduino IDE và cách cài đặt. • Giới thiệu sơ lược về ngôn ngữ C/C++.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.