Professional Documents
Culture Documents
2 - ChapTer 2 I.O
2 - ChapTer 2 I.O
VI ĐIỀU KHIỂN 1
ARDUINO
I/O
Light ‘Em Up
• Bây giờ hãy Verify và bấm Upload sau đó quan sát đèn Led ở
mạch nhé!
12:10 CHƯƠNG 6: HÀM 5/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Kiểu ký tự
Đặc điểm
Tên kiểu: char
Miền giá trị: 256 ký tự trong bảng mã ASCII.
Chính là kiểu số nguyên do:
• Lưu tất cả dữ liệu ở dạng số.
• Không lưu trực tiếp ký tự mà chỉ lưu mã ASCII
của ký tự đó.
Ví dụ
Lưu số 65 tương đương với ký tự ‘A’…
Lưu số 97 tương đương với ký tự ‘a’.
12:10 CHƯƠNG 6: HÀM 12/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Kiểu ký tự
Biến
Ví dụ
int i;
int i_j, i_k;
Biến
unsigned char c_dem;
float f_ketqua, f_delta;
Cú pháp
<kiểu> <tên biến>;
<kiểu> <tên biến 1>, <tên biến 2>;
Tên:
Ví dụ:
NTTU khác nttu khác Nttu
Các tên đúng: delta, a_1, Num_ODD, Case
Các tên sai:
3a_1 (ký tự đầu là số)
num-odd (sử dụng dấu gạch ngang)
int (đặt tên trùng với từ khóa)
del ta (có khoảng trắng)
f(x) (có dấu ngoặc tròn)
Biến
Đặc điểm
Tên biến
Ví dụ
Lưu số 65 tương đương với ký tự ‘A’…
Lưu số 97 tương đương với ký tự ‘a’.
Hằng số
Cú pháp
<kiểu> <tênhằng> = <giá trị>;
Hằng
thường
Ví dụ
int a = 1506; // 150610
int b = 01506; // 15068
int c = 0x1506; // 150616 (0x hay 0X)
float d = 15.06e-3; // 15.06*10-3 (e hay E)
12:10 CHƯƠNG 6: HÀM 18/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Hằng số
Cú pháp
#define <tênhằng> <giá trị>
Hằng hoặc sử dụng từ khóa const.
ký hiệu
Ví dụ
#define MAX 100 // Không có ;
#define PI 3.14 // Không có ;
const int MAX = 100;
const float PI = 3.14;
Biểu thức
Khái niệm
Tạo thành từ các toán tử (Operator) và các toán hạng
(Operand).
Toán tử tác động lên các giá trị của toán hạng và cho giá
trị có kiểu nhất định.
Toán tử: +, –, *, /, %….
Toán hạng: hằng, biến, lời gọi hàm...
Ví dụ
2 + 3, a / 5, (a + b) * 5, …
Toán tử gán
Khái niệm
Thường được sử dụng trong lập trình.
Gán giá trị cho biến.
Cú pháp
<biến> = <giá trị>;
<biến> = <biến>;
<biến> = <biểu thức>;
Có thể thực hiện liên tiếp phép gán.
Toán tử gán
Ví dụ
void main()
{
int ia, ib, ic, id, ie, ithuong;
ia = 10;
ib = ia;
ithuong = ia / ib;
ia = ib = ic = id = ie = 156;
ie = 156;
id = ie;
ic = id;
ib = ic;
ia = ib;
}
}
• void loop()
{
// lặp lại mãi mãi sau khi chạy xong setup()
}
N=5
N=5
N=8
N=5
– Những thay đổi của tham số không ảnh hưởng đến giá
trị của đối số.
Vì sao lệnh khai báo xuất dữ liệu lại viết phân setup còn
lệnh chạy chương trình lại viết phần loop()???
Viết lại chương trình như sau sau đó quan sát đèn Led
void loop() {
digitalWrite(ledPin, HIGH);
delay(250);
digitalWrite(ledPin, LOW);
delay(5000);
}
Viết lại chương trình như sau sau đó quan sát đèn Led
void loop() {
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
}
// 3 dits again
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}
Đặt vấn đề
Giải pháp
Sử dụng cấu trúc lặp lại một hành động trong khi còn
thỏa một điều kiện nào đó.
3 lệnh lặp: for, while, do… while
<Khởi đầu>
<Bước nhảy>
Đ
<Đ/K lặp> <Lệnh>
Toán tử quan hệ
Các toán tử quan hệ
So sánh 2 biểu thức với nhau
Cho ra kết quả 0 (hay false nếu sai) hoặc 1 (hay true nếu
đúng)
== (equal to)
!= (not equal to)
< (less than)
> (greater than)
<= (less than or equal to)
>= (greater than or equal to)
Toán tử quan hệ
Các toán tử quan hệ
Ví dụ
s1 = (1 == 2); s2 = (1 != 2);
s3 = (1 > 2); s4 = (1 >= 2);
s5 = (1 < 2); s6 = (1 <= 2);
Hết chương 7
Mảng - ARRAY
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN