Tài liệu tổng hợp về tất cả các hàm chuyên dụng trong arduino

113 336 5
Tài liệu tổng hợp về tất cả các hàm chuyên dụng trong arduino

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Điện Tử TDT Shop                        website: http://dientutdt.com 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 | OUT LED_BUILTIN true | false Hằng số nguyên (integer constant Hằng số thực (floating point cons Kiểu 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 liệu char() byte()                         Điện Tử TDT Shop                 == (so sánh bằng) != (khác bằng) > (lớn hơn) < (bé hơn) >= (lớn bằng) b) trả TRUE a lớn b FALSE a bé b (a < b) trả TRUE a bé b FALSE 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ả giá trị TRUE, [câu lệnh 1] thực hiện, ngược lại, [câu lệnh 2] thực Ví dụ: int a = 0; if (a == 0) { a = 10; Điện Tử TDT Shop website: http://dientutdt.com } 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 kết hợp nhiều biểu thức điều kiện sử dụng lệnh if Chú ý biểu thức phải bao ngoặc tròn phải ln có cặp ngoặc tròn bao tồn biểu thức Cách viết 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 == && a < 1) { a = 10; }   Chú ý: a = 10; câu lệnh gán, giá trị logic ln TRUE (vì lệnh gán thực được) (a == 10) biểu thức logic có giá trị TRUE hay FALSE tùy thuộc vào giá trị biến x Nếu bạn viết … Điện Tử TDT Shop website: http://dientutdt.com int a = 0; if (a = 1) { a = 10; } … giá trị a 10, (a = 1) câu lệnh gán, trường hợp xem biểu thức logic trả giá trị TRUE Giống if, switch / case dạng lệnh thì, thiết kế chuyên biệt để bạn xử ý giá trị biến chuyên biệt Ví dụ, bạn có biến action nhận trị từ module khác qua serial Nhưng action nằm giá trị lúc bạn sử dụng switch / case Ví dụ switch (action) { case "callMyMom": //gọi điện cho mẹ break; case "callMyDad": //gọi điện cho ba break; default: // mặc định khơng làm // bạn có default: khơng } Cú pháp switch (var) { case label: //đoạn lệnh break; case label: Điện Tử TDT Shop website: http://dientutdt.com // Đ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: đem giá trị biến SO SÁNH BẰNG với nhãn Hàm for có chức làm vòng lặp Vậy vòng lặp gì? Hãy hiểu cách đơn giản, làm làm lại cơng việc có tính chất chung Chẳng hạn, bạn bật tắt LED dùng digitalWrite xuất HIGH delay lại LOW lại delay Nhưng bạn muốn làm nhiều LED đoạn code bạn dài (không đẹp chỉnh sửa chẳng lẻ ngồi sửa lại dòng? Với led, bạn lập trình digitalWrite(led1,HIGH); delay(1000); digitalWrite(led1,LOW); delay(1000); Với 10 led, bạn khơng dùng for, đoạn code dài digitalWrite(led1,HIGH); delay(1000); digitalWrite(led1,LOW); delay(1000); digitalWrite(led2,HIGH); delay(1000); Điện Tử TDT Shop website: http://dientutdt.com digitalWrite(led2,LOW); delay(1000); digitalWrite(led10,HIGH); delay(1000); digitalWrite(led10,LOW); delay(1000); Nếu bạn có muốn lập trình suy nghĩ led ma trận có khơng ? Chắc chắn khơng rồi, hàm for đời để giúp bạn nhìn sống cách tươi đẹp ! Bây lấy ví dụ đơn giản sau: Tơi muốn xuất 10 chữ số (từ - 10) Serial Hãy giúp tơi lập trình Arduino để làm việc ấy! Nếu bạn chưa đọc chưa biết kiến thức for, bạn lập trì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() { Điện Tử TDT Shop website: http://dientutdt.com // khơng làm cả; } Đoạn code dài lặp lặp lại câu lệnh Serial.println Nhưng sau biết hàm for bạn cần đoạn code ngắn sau: void setup(){ Serial.begin(9600); int i; for (i = 1;i= 3) { // đọc chữ liệu Serial.readBytes(buffer,3); //Xuất liệu Serial.print("Toi nhan duoc: "); Serial.println(buffer); } } Điện Tử TDT Shop website: http://dientutdt.com Mã thư viện: Serial Giới thiệu Có nhiệm vụ Serial.readBytes() Nhưng kết thúc trình đọc gặp trúng ký tự kết thúc (kiểu char) Cú pháp Serial.readBytesUntil(character, buffer, length) Tham số character: ký tự kết thúc (kiểu char) buffer: biến đệm dùng để lưu lại byte (char[] byte[]) length : số byte cần lưu (int) Trả byte Giới thiệu Hàm serialEvent() gọi có tín hiệu từ cổng Serial Và sau bạn dùng hàm Serial.read() tương tự để đọc liệu Hiện hàm khơng khả dụng mạch Esplora, Leonardo, Micro Điện Tử TDT Shop website: http://dientutdt.com Cú pháp void serialEvent(){ //câu lệnh } //Chỉ có Arduino Mega void serialEvent1(){ //câu lệnh } void serialEvent2(){ //câu lệnh } void serialEvent3(){ //câu lệnh } Giới thiệu Đặt thời gian tối đa cho việc xử lý liệu Serial Mặc định 1000 Cú pháp Serial.setTimeout(time) Tham số time: thời gian chờ đợi đơn vị mili giây (long) Trả không Giới thiệu Gửi liệu tới cộng Serial Dữ liệu gửi kiểu byte dãy byte Cũng hàm Serial.print() Các byte mã hóa thành ký tự kiểu char Cú pháp Serial.write(val) Serial.write(str) Serial.write(buf, len) Tham số val: Một giá trị kiểu byte str: Một giá trị kiểu string Điện Tử TDT Shop website: http://dientutdt.com buf: Kiểu byte[] (mảng byte), len: độ dài phần tử xuất Serial, tính từ phần tử đến phần tử len - Trả byte: số lượng byte gửi Ví dụ void setup(){ Serial.begin(9600); } void loop(){ Serial.write(45); // gửi kiểu byte có giá trị 45 int bytesSent = Serial.write("hello"); // gửi chuỗi "hello" trả số byte gửi } ... http://dientutdt.com Chân kỹ thuật số sử dụng INPUT, INPUT_PULLUP , OUTPUT Để thay đổi cách sử dụng pin, sử dụng hàm pinMode() Cấu hình pin INPUT Các pin Arduino ( Atmega ) cấu hình INPUT với pinMode... 20:27 9401 LƯỢT XEM Chân kỹ thuật số sử dụng INPUT, INPUT_PULLUP , OUTPUT Để thay đổi cách sử dụng pin, sử dụng hàm pinMode() Cấu hình pin INPUT Các pin Arduino ( Atmega ) cấu hình INPUT với pinMode... 20:27 9402 LƯỢT XEM Chân kỹ thuật số sử dụng INPUT, INPUT_PULLUP , OUTPUT Để thay đổi cách sử dụng pin, sử dụng hàm pinMode() Cấu hình pin INPUT Các pin Arduino ( Atmega ) cấu hình INPUT với pinMode

Ngày đăng: 14/05/2018, 23:05

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan