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

113 2.3K 12
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

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

Đ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ư) Hằng số HIGH | LOW INPUT | INPUT_PULLUP LED_BUILTIN true | false Hằng số nguyên (integer Hằng số thực (floating point 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() Điện Tử TDT Shop website: http://dientutdt.com Toán tử so sánh == (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]) { [câu lệnh 1] } else { [câu lệnh 2] } //biểu thức điều kiện Điện Tử TDT Shop website: http://dientutdt.com 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; } 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; } Điện Tử TDT Shop website: http://dientutdt.com Chú ý:  a = 10; câu lệnh gán, giá trị logic ln TRUE (vì lệnh gán ln 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 … 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ế chun 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 Điện Tử TDT Shop website: http://dientutdt.com } 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: đ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); Điện Tử TDT Shop website: http://dientutdt.com 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); 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); Điện Tử TDT Shop website: http://dientutdt.com Serial.println(5); Serial.println(6); Serial.println(7); Serial.println(8); Serial.println(9); Serial.println(10); } void loop() { // 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 0) { // đọc chữ liệu incomingByte = Serial.read(); // trả nhận Serial.print("Toi nhan duoc: "); if (incomingByte == -1) { Serial.println("Toi khong nhan duoc gi ca"); } else Serial.println(char(incomingByte)); } } Điện Tử TDT Shop website: http://dientutdt.com Mã thư viện: Giới thiệu Dùng để đọc từ ký tự nhớ đệm Serial Nó đọc cho đủ số lượng byte mà người dùng u cầu Và khơng đọc đủ dừng hết hạn (xem Serial.setTimeout()) Cú pháp Serial.readBytes(buffer, length) Tham số buffer: biến đệm dùng để lưu lại byte (char[] byte[]) length : số byte cần lưu (int) Trả byte Ví dụ char buffer[4]= {}; // Biến đệm lưu giá trị void setup() { Serial.begin(9600); // mở serial với baudrate 9600 } void loop() // đọc if (Serial.available() >= 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 } ... 20:27  9400 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  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... 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

Ngày đăng: 21/01/2018, 16:49

Từ khóa liên quan

Mục lục

  • Giải thích

  • Giới thiệu

  • Một biến được khai báo kiểu boolean sẽ chỉ nhận một trong hai giá trị: true hoặc false. Và bạn sẽ mất 1 byte bộ nhớ cho điều đó.

  • Lưu ý

  • Những cặp giá trị sau là tương đương nhau. Về bản chất, chúng đều là những hằng số nguyên với 2 giá trị 0 và 1:

  • Ví dụ

    • Nhập xuất nâng cao(Advanced I/O)

    • Bits và Bytes

    • Ngắt (interrupt)

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

Tài liệu liên quan