Tự Học Arduino
Có thể bạn quan tâm
Trang chủ Tìm kiếm Trang chủ Tìm kiếm Tự học Arduino docx 121 760 KB 72 92 4.2 ( 5 lượt) Xem tài liệu Nhấn vào bên dưới để tải tài liệu Tải về Đang chuẩn bị: 60 Bắt đầu tải xuống Để tải xuống xem đầy đủ hãy nhấn vào bên trên Chủ đề liên quan Tự học Arduino Code cho Arduino Bits và Bytes Nhập xuất nâng cao Advanced I/O Hàm analogWrite trong Arduino
Nội dung
Cấu trúc Giá trị setup() loop() Cấu trúc điều khiển if if...else switch / case for while break continue return goto Cú pháp mở rộng ; (dấu chấm phẩy) {} (dấu ngoặc nhọn) // (single line comment) /* */ (multi-line comment) #define #include Toán tử số học = (phép gán) + (phép cộng) - (phép trừ) * (phép nhân) / (phép chia) % (phép chia lấy dư) Toán tử so sánh Hằng số HIGH | LOW INPUT | INPUT_PULLUP LED_BUILTIN true | false Hằng số nguyên (integer con Hằng số thực (floating point Kiểu dữ liệu void boolean char unsigned char byte int unsigned int word long unsigned long short float double array string (chuỗi kí tự biểu diễn String (object) Chuyển đổi kiểu dữ liệu char() byte() == (so sánh bằng) != (khác bằng) > (lớn hơn) < (bé hơn) >= (lớn hơn hoặc bằng) b) trả về TRUE nếu a lớn hơn b và FALSE nếu a bé hơn hoặc bằng b (a < b) trả về TRUE nếu a bé hơn b và FALSE nếu ngược lại ng (a = b) tương đương với ((a > b) or (a = b)) Câu lệnh if Cú pháp: if ([biểu thức 1] [toán tử so sánh] [biểu thức 2]) { //biểu thức điều kiện [câu lệnh 1] } else { [câu lệnh 2] } Nếu biểu thức điều kiện trả về giá trị TRUE, [câu lệnh 1] sẽ được thực hiện, ngược lại, [câu lệnh 2] sẽ được thực hiện. Ví dụ: int a = 0; if (a == 0) { a = 10; } else { a = 1; } // a = 10 Lệnh if không bắt buộc phải có nhóm lệnh nằm sau từ khóa else int a = 0; if (a == 0) { a = 10; }// a = 10 Bạn có thể kết hợp nhiều biểu thức điều kiện khi sử dụng lệnh if. Chú ý rằng mỗi biểu thức con phải được bao bằng một ngoặc tròn và phải luôn có một cặp ngoặc tròn bao toàn bộ biểu thức con. Cách viết đúng Cách viết sai int a = 0; if ((a == 0) && (a < 1)) { a = 10; } int a = 0; if (a == 0) && (a < 1) { a = 10; } int a = 0; if (a == 0 && a < 1) { a = 10; } Chú ý: a = 10; là một câu lệnh gán, giá trị logic của nó luôn là TRUE (vì lệnh gán này luôn thực hiện được) (a == 10) là một biểu thức logic có giá trị TRUE hay FALSE tùy thuộc vào giá trị của biến x. Nếu bạn viết … int a = 0; if (a = 1) { a = 10; } … thì giá trị của a sẽ bằng 10, vì (a = 1) là một câu lệnh gán, trong trường hợp này nó được xem như một biểu thức logic và luôn trả về giá trị TRUE. Giống như if, switch / case cũng là một dạng lệnh nếu thì, nhưng nó được thiết kế chuyên biệt để bạn xử ý giá trị trên một biến chuyên biệt. Ví dụ, bạn có một biến là action sẽ nhận trị từ những module khác qua serial. Nhưng action sẽ nằm trong một các giá trị nào đó thì lúc này bạn hãy sử dụng switch / case. Ví dụ switch (action) { case "callMyMom": //gọi điện cho mẹ của tôi break; case "callMyDad": //gọi điện cho ba của tôi break; default: // mặc định là không làm gì cả // bạn có thể có default: hoặc không } Cú pháp switch (var) { case label: //đoạn lệnh break; case label: // Đoạn lệnh break; /* case ... more and more */ default: // statements } Tham số var: biến mà bạn muốn so sánh label: sẽ đem giá trị của biến SO SÁNH BẰNG với nhãn này Hàm for có chức năng làm một vòng lặp. Vậy vòng lặp là gì? Hãy hiểu một cách đơn giản, nó làm đi làm lại một công việc có một tính chất chung nào đó. Chẳng hạn, bạn bật tắt một con LED thì dùng digitalWrite xuất HIGH delay rồi lại LOW rồi lại delay. Nhưng nếu bạn muốn làm nhiều hơn 1 con LED thì mọi đoạn code của bạn sẽ dài ra (không đẹp và khi chỉnh sửa thì chẳng lẻ ngồi sửa lại từng dòng? Với 1 con led, bạn lập trình như thế này digitalWrite(led1,HIGH); delay(1000); digitalWrite(led1,LOW); delay(1000); Với 10 con led, nếu bạn không dùng for, đoạn code nó sẽ dài như thế này digitalWrite(led1,HIGH); delay(1000); digitalWrite(led1,LOW); delay(1000); digitalWrite(led2,HIGH); delay(1000); digitalWrite(led2,LOW); delay(1000); ... digitalWrite(led10,HIGH); delay(1000); digitalWrite(led10,LOW); delay(1000); Nếu như vậy thì bạn có còn muốn lập trình và suy nghĩ về một led ma trận có còn nữa không ? Chắc chắn là không rồi, vì vậy hàm for ra đời để giúp bạn nhìn cuộc sống một cách tươi đẹp hơn ! Bây giờ hãy lấy một ví dụ đơn giản như sau: Tôi muốn xuất 10 chữ số (từ 1 - 10) ra Serial. Hãy giúp tôi lập trình trên Arduino để làm được việc ấy! Nếu bạn chưa đọc bài này và cũng chưa biết kiến thức về for, bạn sẽ lập trình như sau: void setup() { Serial.begin(9600); Serial.println(1); Serial.println(2); Serial.println(3); Serial.println(4); Serial.println(5); Serial.println(6); Serial.println(7); Serial.println(8); Serial.println(9); Serial.println(10); } void loop() { // không làm gì cả; 1. 2. 3. 4. 1. } Đoạn code khá dài và lặp đi lặp lại câu lệnh Serial.println Nhưng sau khi biết về hàm for bạn chỉ cần một đoạn code cực kì ngắn như sau: void setup(){ Serial.begin(9600); int i; for (i = 1;iTừ khóa » Câu Lệnh String Trong Arduino
-
Xử Lý Chuỗi Trong Arduino | Cộng đồng Arduino Việt Nam
-
String | Cộng đồng Arduino Việt Nam
-
Hàm String Trong Arduino - ĐIỆN TỬ TƯƠNG LAI
-
String Là Gì? Chi Tiết Các Hàm Trong String. - Lập Trình Arduino
-
Chuyển Từ Int Sang String Và String Sang Int Trong Arduino
-
Chuyển Số Thành Chuỗi Trong C
-
Lập Trình C: Hàm Xử Lý Chuỗi (String) - V1Study
-
Arduino - Chuỗi - Dongthoigian
-
Truyền Nhận Dữ Liệu Với Giao Tiếp Serial (UART) Trên Arduino - Ohtech
-
Chuyển đổi Một Int Hoặc String Thành Một Mảng Char Trên Arduino?
-
Top 15 Gán Chuỗi
-
Chuc Nang Cua Code Arduino Flashcards - Quizlet
-
So Sánh Chuỗi Trong Arduino - Học Tốt