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ý ..
Tập lệnh Arduino a) Các kiểu liệu Loại Tên liệu kiểu boolean boolean boolean ten_bien; byte Ký tự Char char ten_bien = ki_tu; 1byte -128 127, lưu kí tự Biểu diễn kí tự thơng qua bảng mã ASCII byte – 255, lưu kí tự Biểu diễn kí tự thơng qua bảng mã ASCII byte – 255 Biểu diễn số nguyên Cú pháp char ten_bien = 'A'; char ten_bien = 65; Ký tự unsigned unsigned char ten_bien = ki_tu; char Ví dụ: Số nhớ Miền giá trị Nhận giá trị: Biểu diễn True trạng thái đối false lập unsigned char myChar = 240; byte byte Kiểu nguyên Integer byte ten_bien = gia_tri; vd: byte a = 123; int ten_bien; int ten_bien = gia_tri; Chức 2byte -32768 32767 Biểu diễn số nguyên ví dụ: int led; Kiểu thực float Mảng liệu array int ledPin = 13; float ten_bien; float ten_bien = gia_tri; Kieu_du_lieu ten_bien[]=mang; Ví dụ: byte Biểu diễn 3.4028235E+38 giá trị số thực đến 3.4028235E+38 Biểu diễn mảng giá trị kí tự int myInts[6]; int myPins[] = {2, 4, 8, 3, 6}; char message[6] = "hello"; b) Nhóm lệnh chuyển đổi kiểu liệu STT Tên Chức Cú pháp Chuyển kiểu liệu int(x) int() giá trị kiểu int char() char(x) Chuyển kiểu liệu giá trị kiểu char byte() Chuyển kiểu liệu byte(x) giá trị kiểu byte word() Chuyển kiểu liệu word(x) giá trị word(8bitDauTien,8bitSauCung) kiểu word ghép giá trị thuộc kiểu byte thành giá trị kiểu word long() Chuyển kiểu liệu long(x) giá trị kiểu long float() Chuyển kiểu liệu float(x) giá trị kiểu float c) Nhóm lệnh nhập xuất Digital (Digital I/O) STT Tên Chức digitalRead() Đọc tín hiệu từ chân digital ( Cú pháp digitalRead(pin) thiết đặt INPUT) Trả hai giá trị thấp cao digitalWrite() Xuất tín hiệu chân digital, có digitalWrite(pin,value) hai giá trị HIGH LOW pinMode() Cấu hình pin quy định hoạt động pinMode(pin,mode) đầu vào (INPUT) đầu (OUTPUT) d) Nhóm lệnh nhập xuất Analog I/O (Analog I/O) STT Tên Chức Cú pháp Đọc giá trị điện áp analogRead(pin) analogRead() từ chân Analog (ADC) analogWrite() Xuât mức tín analogWrite(pin,value) hiệu chân analog (phát xung PWM) analogReference() Đặt lại mức (điện analogReference(type) áp) tối đa đọc type kiểu giá trị tín hiệu analogRead sau: DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL e) Nhóm lệnh tốn học (Math) STT Tên Chức Cú pháp abs() Trả giá trị tuyệt đối số abs(n) constrain() Gán giá trị số nằm constrain(x,a,b) khoảng cho trước max() Trả giá trị lớn hai số max(a,b) min() Trả giá trị nhỏ hai số min(a,b) pow() Trả giá trị x lũy thừa y pow(x,y) sqrt() trả giá trị bậc hai sqrt(x) số sin() Trả giá trị sin góc x (đơn sin(x) vị radian) cos() Trả giá trị cos góc x (đơn cos(x) vị radian) tan() Trả giá trị tan góc x (đơn tan(x) vị radian) 10 sizeof() trả số byte nhớ biến, sizeof(x) trả tổng số byte nhớ mảng array 11 lowByte() trả byte cuối (8 bit cuối lowByte(x) cùng) chuỗi bit 12 highByte() trả chuỗi bit kề với bit highByte(x) cuối chuỗi bit 13 bitRead() trả giá trị bit n bitRead(x, n); xác định người lập trình Ví dụ: số nguyên (x) Bit n bitRead(B11110010,0); tính từ phải qua trái, số // trả thứ tự số 14 bitWrite() ghi đè bit b (mang giá trị bitWrite(x, n, b); 1) vị trí xác định n số nguyên x 15 bitSet() thay giá trị bit xác định n bitSet(x, n) số nguyên x thành 16 bitClear() thay giá trị bit xác định n bitClear(x, n) số nguyên x thành f) Toán tử logic g) Toán tử so sánh h) Lệnh thời gian (TIME) STT Tên Chức Tạm dừng chương trình delay(x) delay() Cú pháp khoảng thời gian x (tính mili giây) định tham số delayMicroseconds() Tạm dừng chương trình delayMicroseconds(x) khoảng thời gian x (tính microgiây) định tham số millis() trả số - thời gian millis(); (tính theo mili giây) kể từ lúc mạch Arduino bắt đầu chương trình Nó tràn số quay số (sau tiếp tục tăng) sau 50 ngày i) Lệnh ngẫu nhiên STT Tên Chức Trả giá trị ngẫu random(max+1) random() Cú pháp nhiên khoảng giá random(min,max+1) trị cho trước k) Nhóm lệnh nhập xuất nâng cao (Advanced I/O) STT Tên Chức Dùng để tạo sóng tone(pin, frequency) tone() Cú pháp vuông tần số định tone(pin, frequency, trước (chỉ nửa chu kỳ ) duration) pin digital (analog được) noTone() Dùng để kết thúc việc tạo noTone(pin) tone() pin chạy lệnh tone() pulseIn() Đọc xung tín hiệu pulseIn(pin, value) digital (HIGH/ LOW) pulseIn(pin, value,timeout) trả nửa chu kỳ xung tín hiệu ( tức thời gian tín hiệu Chuyển từ mức cao xuống mức thấp ngược lại shiftOut() Dùng để chuyển byte shiftOut(dataPin, (gồm bit) bitOrder, value) clockPin, bit shiftIn() Dùng để nhận byte shiftIn(dataPin, (gồm bit) bit bitOrder) STT Tên Chức Cú pháp Được dùng việc Serial.begin(9600) clockPin, l) Lệnh giao tiếp Serial giao tiếp board mạch với (hoặc board mạch với máy tính với thiết bị khác) m) Nhóm lệnh giao tiếp với LCD STT Tên Chức Cú pháp Khai báo loại LCD bao lcd.begin(a,b) lcd.begin() gồm số hàng số cột lcd.print() In hình chuỗi ký lcd.print(“ Xin chào Việt tự Nam”) lcd.setCursor() Xác định vị trí đặt lcd.setCursor(a,b) trỏ n) Các câu lệnh điều kiện vòng lặp + For: Cú pháp: for ( = ;