1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Arduino cho người mới bắt đầu

9 47 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 240,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cho những ai đam mê lập trình Arduino một nền tảng vi mạch thiết kế mở phần cứng (Opensource hardware) và phần mềm (Opensource software). Phần cứng Arduino là những bộ vi điều khiển bo mạch đơn (Singleboard microcontroller) được tạo ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý ..

Trang 1

Tập lệnh cơ bản của Arduino

a) Các kiểu dữ liệu.

Loại dữ

liệu

Tên

Số ô nhớ Miền giá trị Chức năng

boolean boolean boolean ten_bien; 1

byte

Nhận 2 giá trị:

True hoặc false

Biểu diễn 2 trạng thái đối lập nhau

Ký tự Char char ten_bien =

ki_tu;

char ten_bien = 'A';

char ten_bien = 65;

1byte -128 127,

lưu được 1 kí tự

Biểu diễn một

kí tự thông qua bảng mã ASCII

Ký tự unsigned

char

unsigned char ten_bien = ki_tu;

Ví dụ:

unsigned char myChar

= 240;

1 byte

0 – 255, lưu được 1 kí tự

Biểu diễn một

kí tự thông qua bảng mã ASCII

byte byte byte ten_bien =

gia_tri;

vd:

byte a = 123;

1 byte

0 – 255 Biểu diễn số

nguyên

Kiểu

nguyên

Integer int ten_bien; hoặc

int ten_bien = gia_tri;

2byte -32768

32767

Biểu diễn các

số nguyên

ví dụ: int led;

int ledPin = 13;

Kiểu

thực

float float ten_bien;

float ten_bien = gia_tri;

4 byte

-3.4028235E+38 đến

3.4028235E+38

Biểu diễn các giá trị số thực

Mảng

dữ liệu

array Kieu_du_lieu

ten_bien[]=mang;

Ví dụ:

Biểu diễn mảng giá trị hoặc kí tự int myInts[6];

int myPins[] = {2, 4,

8, 3, 6};

char message[6] =

Trang 2

b) Nhóm lệnh chuyển đổi kiểu dữ liệu

1 int() Chuyển kiểu dữ liệu của

một giá trị về kiểu int

int(x)

2 char() Chuyển kiểu dữ liệu của

một giá trị về kiểu char

char(x)

3 byte() Chuyển kiểu dữ liệu của

một giá trị về kiểu byte

byte(x)

4 word() Chuyển kiểu dữ liệu của

một giá trị về kiểu word hoặc ghép 2 giá trị thuộc kiểu byte thành 1 giá trị kiểu word

word(x) word(8bitDauTien,8bitSauCung)

5 long() Chuyển kiểu dữ liệu của

một giá trị về kiểu long

long(x)

6 float() Chuyển kiểu dữ liệu của

một giá trị về kiểu float

float(x)

c) Nhóm lệnh nhập xuất Digital (Digital I/O)

1 digitalRead() Đọc tín hiệu từ một chân digital (

được thiết đặt là INPUT) Trả về hai giá trị thấp hoặc cao

digitalRead(pin)

2 digitalWrite() Xuất tín hiệu ra một chân digital, có

hai giá trị là HIGH hoặc LOW

digitalWrite(pin,value)

3 pinMode() Cấu hình 1 pin quy định hoạt động

như là một đầu vào (INPUT) hoặc

pinMode(pin,mode)

Trang 3

đầu ra (OUTPUT)

d) Nhóm lệnh nhập xuất Analog I/O (Analog I/O)

1 analogRead() Đọc giá trị điện áp

từ một chân Analog (ADC)

analogRead(pin)

2 analogWrite() Xuât một mức tín

hiệu ra một chân analog (phát xung PWM)

analogWrite(pin,value)

3 analogReference() Đặt lại mức (điện

áp) tối đa khi đọc tín hiệu analogRead

analogReference(type) type là một trong các kiểu giá trị sau: DEFAULT, INTERNAL, INTERNAL1V1,

EXTERNAL

e) Nhóm lệnh toán học (Math)

Trang 4

STT Tên Chức năng Cú pháp

1 abs() Trả về giá trị tuyệt đối của một số abs(n)

2 constrain() Gán giá trị một số nằm trong

khoảng cho trước

constrain(x,a,b)

3 max() Trả về giá trị lớn nhất của hai số max(a,b)

4 min() Trả về giá trị nhỏ nhất của hai số min(a,b)

5 pow() Trả về giá trị x lũy thừa y pow(x,y)

6 sqrt() trả về giá trị là căn bậc hai của một

số

sqrt(x)

7 sin() Trả về giá trị là sin của góc x (đơn

vị là radian)

sin(x)

8 cos() Trả về giá trị là cos của góc x (đơn

vị là radian)

cos(x)

9 tan() Trả về giá trị là tan của góc x (đơn

vị là radian)

tan(x)

10 sizeof() trả về số byte bộ nhớ của một biến,

hoặc là trả về tổng số byte bộ nhớ của một mảng array

sizeof(x)

11 lowByte() trả về byte cuối cùng (8 bit cuối

cùng) của một chuỗi các bit

lowByte(x)

12 highByte() trả về một chuỗi 8 bit kề với 8 bit

cuối cùng của một chuỗi các bit

highByte(x)

13 bitRead() trả về giá trị tại một bit n nào đó

được xác định bởi người lập trình của một số nguyên (x) Bit n sẽ được tính từ phải qua trái, và số thứ tự đầu tiên là số 0

bitRead(x, n);

Ví dụ:

bitRead(B11110010,0); // trả về 0

14 bitWrite() sẽ ghi đè bit b (mang giá trị 0 hoặc

1) tại một vị trí xác định n của số

bitWrite(x, n, b);

Trang 5

nguyên x

15 bitSet() sẽ thay giá trị tại một bit xác định n

của một số nguyên x thành 1

bitSet(x, n)

16 bitClear() thay giá trị tại một bit xác định n

của một số nguyên x thành 0

bitClear(x, n)

f) Toán tử logic

g) Toán tử so sánh

h) Lệnh thời gian (TIME)

khoảng thời gian x (tính bằng mili giây) được chỉ định là tham số

delay(x)

2 delayMicroseconds() Tạm dừng chương trình trong delayMicroseconds(x)

Trang 6

khoảng thời gian x (tính bằng microgiây) được chỉ định là tham số

3 millis() trả về một số - là thời gian

(tính theo mili giây) kể từ lúc mạch Arduino bắt đầu chương trình Nó sẽ tràn số

và quay số 0 (sau đó tiếp tục tăng) sau 50 ngày

millis();

i) Lệnh ngẫu nhiên

1 random() Trả về một giá trị ngẫu

nhiên trong khoảng giá trị cho trước

random(max+1) random(min,max+1)

k) Nhóm lệnh nhập xuất nâng cao (Advanced I/O)

1 tone() Dùng để tạo ra sóng

vuông ở tần số được định trước (chỉ nửa chu kỳ ) tại một pin digital bất kỳ (analog vẫn được)

tone(pin, frequency) tone(pin, frequency, duration)

2 noTone() Dùng để kết thúc việc tạo

tone() trên một pin nào

đó đang chạy lệnh tone()

noTone(pin)

3 pulseIn() Đọc một xung tín hiệu

digital (HIGH/ LOW) và trả về nửa chu kỳ của xung tín hiệu ( tức là thời

pulseIn(pin, value) pulseIn(pin, value,timeout)

Trang 7

gian tín hiệu Chuyển từ mức cao xuống mức thấp hoặc ngược lại

4 shiftOut() Dùng để chuyển 1 byte

(gồm 8 bit) ra ngoài từng bit một

shiftOut(dataPin, clockPin, bitOrder, value)

(gồm 8 bit) từng bit một

shiftIn(dataPin, clockPin, bitOrder)

6

l) Lệnh giao tiếp

1 Serial Được dùng trong việc

giao tiếp giữa các board mạch với nhau (hoặc board mạch với máy tính hoặc với các thiết bị khác)

Serial.begin(9600)

2

m) Nhóm lệnh giao tiếp với LCD

1 lcd.begin() Khai báo loại LCD bao

gồm số hàng và số cột

lcd.begin(a,b)

2 lcd.print() In ra màn hình chuỗi ký

tự

lcd.print(“ Xin chào Việt Nam”)

3 lcd.setCursor() Xác định vị trí đặt con

trỏ

lcd.setCursor(a,b)

n) Các câu lệnh điều kiện và vòng lặp

Trang 8

+ For:

Cú pháp:

for (<kiểu dữ liệu nguyên> <tên biến chạy> = <vị trí xuất phát>; <tên biến chạy> <= <vị trí kết thúc>; <tên biến chạy> += <mỗi lần bước mấy bước>) {

<đoạn câu lệnh>;

}

Ví dụ:

for (int i = 1;i<=10;i=i+1)

{ x=i;}

+ 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

+ While:

Cú pháp

while (<điều kiện>) {

//các đoạn lệnh;

}

Ví dụ:

int day = 1;

int nam = 2014; // Năm 2014

while (day < 365) { //Chừng nào day < 365 thì còn chạy (<=364) Khi day == 365 thì hết 1 năm

day += 1; //

Trang 9

delay(60*60*24);// Một ngày có 24 giờ, mỗi giờ có 60 phút, mỗi phút có 60 giây

}

nam += 1; // bây giờ đã là một năm mới ! Chúc mừng năm mới :)

o) Các câu lệnh tăng giảm

+ Cộng trừ 1 đơn vi:

x++; // tăng x lên 1 giá trị và trả về giá trị cũ của x

++x; // tăng x lên 1 giá trị và trả về giá trị mới của x

x ; // trừ x lên 1 giá trị và trả về giá trị cũ của x

x ; // trừ x lên 1 giá trị và trả về giá trị mới của x

+ Cộng trừ một số y nhất định

x += y; // giống như phép toán x = x + y;

x -= y; // giống như phép toán x = x - y;

x *= y; // giống như phép toán x = x * y;

x /= y; // giống như phép toán x = x / y;

p) Lệnh go to

Đi tới một nhãn nào đó trong chương trình

Cú pháp: goto label;

Ngày đăng: 25/10/2021, 19:52

TỪ KHÓA LIÊN QUAN

w