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

DAY 3 NHẬP môn lập TRÌNH ARDUINO

12 220 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 358,38 KB

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

Nội dung

CẤU TRÚCToán tử số học Toán tử so sánh Toán tử logic Phép toán hợp nhất Phép chia lấy +Cách chú thích trong khi lập trình: Trong khi lập trình cần phải ghi chú để giải thích các biến, h

Trang 1

BÀI 3:

CÁC LỆNH LẬP TRÌNH CƠ BẢN TRONG ARDUINO

Trang 2

I CẤU TRÚC

Toán tử số học Toán tử so sánh Toán tử logic Phép toán hợp nhất

Phép chia lấy

+Cách chú thích trong khi lập trình:

Trong khi lập trình cần phải ghi chú để giải thích các biến, hằng, thao tác xử lý giúp cho chương trình rõ ràng dễ hiểu, dễ nhớ, dễ sửa chữa và để người khác đọc vào dễ hiểu Trong C có các ghi chú sau: // hoặc /* nội dung ghi chú */

// dùng để ghi chú một hàng /* … */ có thể ghi chú một hàng hoặc nhiều hàng

Trang 3

1.Câu lênh if…else

*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];

}

*ví dụ:

int a = 0;

if (a == 0) {

a = 10;

} else {

a = 1;

} // kết quả: a = 10

*lưu ý: Lệnh if không bắt buộc phải có nhóm lệnh nằm sau từ

khóa else

Trang 4

2.Câu lệnh switch/case

*Cú pháp:

switch (biểu thức)

{

case giá trị 1 : khối lệnh 1;

break;

case giá trị 2 : khối lệnh 2;

break;

case giá trị n : khối lệnh n;

break;

default : khối lệnh;

[break;]

}

*Giải thích: Khi giá trị của biểu thức bằng giá trị i thì lệnh i sẽ

được thực hiện Nếu sau lệnh i không có lệnh break thì tiếp tục thực hiện các lệnh sau nó Ngược lại thoát khỏi cấu trúc switch Nếu giá trị biểu thức không trùng với bất kỳ giá trị i nào thì lệnh tương ứng với từ khóa default sẽ được thực hiện

*Lưu ý:

- Không đặt dấu chấm phẩy sau câu lệnh switch

- Biểu thức phải là có kết quả làgiá trị nguyên (char, int, long,

…)

- Lệnh 1, 2…n có thể gồm nhiều lệnh, nhưng không cần đặt trong cặp dấu { }

Trang 5

*Ví dụ:

switch(ithang)

{

case1:case2:case3 :printf("Quy 1.\n");

break;

case4:case5:case6:printf("Quy 2.\n");

break;

case7:case8:case9:printf("Quy 3.\n");

break;

case10:case11:case12:printf("Quy 4.\n");

break;

default:printf("Phai nhap vao so trong khoang 1 12\n"); }

Trang 6

II.KHAI BÁO:

1.Khai báo các hàm chuẩn

#include <[đường dẫn đến file chứa thư viện]>

Ý nghĩa: cho phép chương trình của bạn tải một thư viện đã được viết sẵn Tức là bạn có thể truy xuất được những

tài nguyên trong thư viện này từ chương trình của mình Nếu bạn có một đoạn code và cần sử dụng nó trong nhiều chương trình, bạn có thể dùng #include để nạp đoạn code ấy vào chương trình của mình, thay vì phải chép đi chép lại đoạn code ấy

VD: Giả sử bạn có thư mục cài đặt Arduino IDE tên là ArduinoIDE, thư viện của bạn có tên là EEPROM (được lưu

ở \ArduinoIDE\libraries\EEPROM\)

Một đoạn code lưu ở file code.h nằm trong thư mục function của thư viện EEPROM thì được khai báo như sau:

#include <function/code.h> //đường dẫn đầy đủ: \ArduinoIDE\libraries\EEPROM\function\code.h

Trang 7

2.Khai báo hằng:

#define [tên hằng] [giá trị của hằng]

Ý nghĩa: cho phép bạn đặt tên cho một hằng số

nguyên hay hằng số thực Trước khi biên dịch,

trình biên dịch sẽ thay thế những tên hằng bạn

đang sử dụng bằng chính giá trị của chúng và

giá trị của nó không thay đổi trong quá trình

tính toán

VD: #define PI 3.14

Lúc này, tất cả các tên PI trong chương

trình xuất hiện sau này đều được thay bằng

3.14 Vì vậy, ta thường gọi PI là tên hằng, nó

biểu diễn số 3.14

3.Khái báo biến:

*Cú pháp:

<Kiểu dữ liệu> <Danh sách tên biến>;

Diễn giải:

- <Kiểu dữ liệu>: là kiểu dữ liệu muốn khai báo cho biến

CHÚ Ý:

+int khai báo cho biến số nguyên +float khai báo cho biến số thực

- <Danh sách tên biến>: gồm các tên biến có cùng kiểu dữ liệu, mỗi tên biến cách nhau dấu phẩy (,), cuối cùng là dấu chấm phẩy (;)

VD:

+int Tuoi; //khai báo biến Tuoi có kiểu int +float TrongLuong; //khai báo biến TrongLuong có kiểu float

Trang 8

III.HÀM VÀ THỦ TỤC

1.Hàm toán học:

1.1.Hàm toán học min()

min(x, y);

x: số thứ nhất, mọi kiểu dữ liệu đều được chấp

nhận

y: số thứ hai, mọi kiểu dữ liệu đều được chấp nhận

*Ý nghĩa:Trả về số nhỏ nhất trong 2 số Hàm min

được dùng để lấy chặn trên (không để giá trị vượt

quá một mức quy định nào đó)

VD: min(a, 100);

1.2.Hàm toán học delay()

delay(ms)

ms: thời gian ở mức mili giây

*Ý nghĩa: delay có nhiệm vụ dừng chương trình

trong thời gian mili giây Và cữ mỗi 1000 mili giây

= 1 giây.

VD: Điều khiển đèn LED sáng nhấp nháy theo yêu cầu bằng arduino uno R3

void setup() {

pinMode(13, OUTPUT);

} void loop() {

digitalWrite(13, HIGH); // turn the LED on delay(1000); // led sáng trong vòng 1 giây digitalWrite(13, LOW); // turn the LED off

delay(1000); // led tắt trong vòng 1 giây

}

Trang 9

2 Hàm nhập xuất

2 1.Hàm nhập xuất analogWrite():

analogWrite([chân phát xung PWM], [giá trị xung

PWM])

Giá trị mức xung PWM: nằm trong khoảng từ 0 đến 255,

tương ứng với mức duty cycle từ 0% đến 100%

*Ý nghĩa: là lệnh xuất ra từ một chân trên mạch Arduino một

mức tín hiệu analog (phát xung PWM) Người ta thường điều

khiển mức sáng tối của đèn LED Bạn không cần gọi hàm

pinMode() để đặt chế độ OUTPUT cho chân sẽ dùng để phát

xung PWM trên mạch Arduino

*Ví Dụ:

int led = 10;

void setup() { }

void loop() { for (int i = 0; i <= 255; i++) {

analogWrite(led,i);

delay(20); } }

Đoạn code trên có chức năng làm sáng dần một đèn LED

được kết nối vào chân số 10 trên mạch Arduino

2.2 Hàm nhập xuất analogRead():

analogRead(chân đọc điện áp);

*Ý nghĩa: Là đọc giá trị điện áp từ một chân Analog Trên mạch Arduino UNO có 6 chân Analog In, được kí hiệu từ A0 đến A5 Trên các mạch khác cũng có những chân tương tự như vậy với tên chữ "A" đứng đầu, sau đó là số hiệu của chân analogRead() luôn trả về 1 số nguyên nằm trong khoảng từ 0 đến 1023 tương ứng với thang điện áp (mặc định) từ 0 đến 5V

* Ví dụ: int voltage = analogRead(A0);

Trang 10

2.3 Lệnh pinMode():

pinMode ( pin, mode)

+pin : Số của chân digital mà bạn

muốn thiết đặt

+mode : có thể là INPUT hoặc

OUTPUT

* Ý nghĩa: Cấu hình một pin (chân) quy

định hoạt động như là một đầu vào

(INPUT) hoặc đầu ra (OUTPUT)

*Ví dụ:

int ledPin = 13; //điều khiển đèn

LED chân số 13 của arduino

void setup()

{ pinMode(ledPin, OUTPUT); // thiết đặt chân ledPin là OUTPUT

} void loop()

{

digitalWrite(ledPin, HIGH); // bật đèn led

delay(5000); // dừng trong 5 giây

digitalWrite(ledPin, LOW); // tắt đèn led delay(5000); // dừng trong 5 giây }

Trang 11

2.4 Lệnh digitalWrite():

digitalWrite(pin,value)

+pin: Số của chân digital mà bạn muốn thiết

đặt

+value: HIGH hoặc LOW

*ý nghĩa: Xuất tín hiệu ra các chân digital, có

2 giá trị là HIGH hoặc là LOW Nếu một pin

được thiết đặt là OUTPUT bởi pinMode() Và

bạn dùng digitalWrite để xuất tín hiệu thì điện

thế tại chân này sẽ là 5V (hoặc là 3,3 V trên

mạch 3,3 V) nếu được xuất tín hiệu là HIGH,

và 0V nếu được xuất tín hiệu là LOW

*Ví dụ:

int ledPin = 13; // đèn LED được kết nối với chân digital 12 void setup()

{ pinMode(ledPin, OUTPUT); // thiết đặt chân ledPin là OUTPUT

} void loop() {

digitalWrite(ledPin, HIGH); // bật đèn led delay(1000); // dừng trong 1 giây

digitalWrite(ledPin, LOW); // tắt đèn led delay(1000); // dừng trong 1 giây }

Trang 12

2.5 Lệnh digitalRead():

digitalRead(pin)

+pin (chân) : giá trị của digital muốn đọc

+Trả về giá trị: HIGH hoặc LOW

*Ví dụ: Ví dụ này sẽ làm cho đèn led tại pin 13 nhận

giá trị như giá trị tại pin 2

int ledPin = 13; // chân led 13

int inPin = 2; // button tại chân 2

int val = 0; // biến "val" dùng để lưu tín hiệu từ

digitalRead

void setup() {

pinMode(ledPin, OUTPUT); // đặt pin digital

13 là output pinMode(inPin, INPUT); // đặt pin digital 2 là input

} void loop() {

val = digitalRead(inPin); // đọc tín hiệu từ digital2

digitalWrite(ledPin, val); // thay đổi giá trị của đèn LED là giá trị của digital 2

}

Ngày đăng: 30/11/2018, 22:39

TỪ KHÓA LIÊN QUAN