Trong chương này, chúng ta sẽ đi sâu nghiên cứu, cấu trúc chương trình Arduino và chúng ta sẽ tìm hiểu thêm các thuật ngữ mới được sử dụng trong thế giới Arduino. Phần mềm Arduino là mã nguồn mở. Mã nguồn cho môi trường Java được phát hành theo GPL và các thư viện vi điều khiển C / C ++ theo LGPL.
Sketch – Thuật ngữ mới đầu tiên là chương trình Arduino được gọi là “ sketch ”.
Kết cấu
Các chương trình Arduino có thể được chia thành ba phần chính: Cấu trúc, Giá trị (biến và hằng số) và Hàm . Trong hướng dẫn này, chúng ta sẽ tìm hiểu từng bước về chương trình phần mềm Arduino và cách chúng ta có thể viết chương trình mà không gặp bất kỳ lỗi cú pháp hoặc biên dịch nào.
Chúng ta hãy bắt đầu với Cấu trúc . Cấu trúc phần mềm bao gồm hai chức năng chính:
- Hàm Setup ()
- Hàm Loop ()
Void setup ( ) {}
- MỤC ĐÍCH – Hàm setup () được gọi khi bắt đầu phác thảo. Sử dụng nó để khởi tạo các biến, chế độ ghim, bắt đầu sử dụng thư viện, v.v. Chức năng thiết lập sẽ chỉ chạy một lần, sau mỗi lần bật nguồn hoặc đặt lại bảng Arduino.
- ĐẦU VÀO – –
- ĐẦU RA – –
- QUAY LẠI – –
Void Loop ( ) {}
- MỤC ĐÍCH – Sau khi tạo một hàm setup () , hàm này khởi tạo và đặt các giá trị ban đầu, hàm loop () thực hiện chính xác những gì tên của nó gợi ý và lặp lại liên tục, cho phép chương trình của bạn thay đổi và phản hồi. Sử dụng nó để chủ động điều khiển bảng Arduino.
- ĐẦU VÀO – –
- ĐẦU RA – –
QUAY LẠI – –
Arduino – Các loại dữ liệu
Các kiểu dữ liệu trong C đề cập đến một hệ thống mở rộng được sử dụng để khai báo các biến hoặc hàm thuộc các kiểu khác nhau. Kiểu của một biến xác định bao nhiêu không gian mà nó chiếm trong bộ nhớ và cách diễn giải mẫu bit được lưu trữ.
Bảng sau cung cấp tất cả các kiểu dữ liệu mà bạn sẽ sử dụng trong quá trình lập trình Arduino.
vô hiệu | Boolean | char | Ký tự không dấu | byte | NS | Int chưa ký | từ |
Dài | Chưa ký lâu | ngắn ngủi | trôi nổi | kép | mảng | Mảng chuỗi ký tự | Đối tượng chuỗi |
Void loop
Từ khóa void chỉ được sử dụng trong khai báo hàm. Nó chỉ ra rằng hàm được mong đợi sẽ không trả về thông tin nào cho hàm mà từ đó nó được gọi.Thí dụ
Void Loop ( ) {
// rest of the code
}
Boolean
Một Boolean giữ một trong hai giá trị, đúng hoặc sai. Mỗi biến Boolean chiếm một byte bộ nhớ.
Thí dụ
boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true
Char
Một kiểu dữ liệu chiếm một byte bộ nhớ để lưu trữ một giá trị ký tự. Các ký tự ký tự được viết trong dấu ngoặc kép như sau: ‘A’ và đối với nhiều ký tự, chuỗi sử dụng dấu ngoặc kép: “ABC”.
Tuy nhiên, các ký tự được lưu trữ dưới dạng số. Bạn có thể xem mã hóa cụ thể trong biểu đồ ASCII . Điều này có nghĩa là có thể thực hiện các phép tính số học trên các ký tự, trong đó giá trị ASCII của ký tự được sử dụng. Ví dụ: ‘A’ + 1 có giá trị 66, vì giá trị ASCII của chữ hoa A là 65.
Thí dụ
Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97
unsigned char
Ký tự không dấu là một kiểu dữ liệu không dấu chiếm một byte bộ nhớ. Kiểu dữ liệu char không dấu mã hóa các số từ 0 đến 255.
Thí dụ
Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y
byte
Một byte lưu trữ một số không dấu 8 bit, từ 0 đến 255.
Thí dụ
byte m = 25 ;//declaration of variable with type byte and initialize it with 25
int
Số nguyên là kiểu dữ liệu chính để lưu trữ số. int lưu trữ giá trị 16 bit (2 byte). Điều này mang lại một phạm vi từ -32,768 đến 32,767 (giá trị nhỏ nhất là -2 ^ 15 và giá trị lớn nhất là (2 ^ 15) – 1).
Các int kích thước thay đổi từ bảng để bảng. Ví dụ, trên Arduino Due, một int lưu trữ một giá trị 32-bit (4 byte). Điều này mang lại một phạm vi từ -2,147,483,648 đến 2,147,483,647 (giá trị nhỏ nhất là -2 ^ 31 và giá trị lớn nhất là (2 ^ 31) – 1).
Thí dụ
int counter = 32 ;// declaration of variable with type int and initialize it with 32
Unsigned int
Các int không dấu (số nguyên không dấu) cũng giống như int ở cách chúng lưu trữ giá trị 2 byte. Tuy nhiên, thay vì lưu trữ các số âm, chúng chỉ lưu trữ các giá trị dương, mang lại phạm vi hữu ích từ 0 đến 65,535 (2 ^ 16) – 1). Do lưu trữ giá trị 4 byte (32-bit), nằm trong khoảng từ 0 đến 4,294,967,295 (2 ^ 32 – 1).
Thí dụ
Unsigned int counter = 60 ; // declaration of variable with type unsigned int and initialize it with 60
Word
Trên Uno và các bảng dựa trên ATMEGA khác, một từ lưu trữ một số 16 bit không dấu. Trên Due và Zero, nó lưu trữ một số 32-bit không dấu.
Thí dụ
word w = 1000 ;//declaration of variable with type word and initialize it with 1000
Long
Các biến dài là các biến kích thước mở rộng để lưu trữ số và lưu trữ 32 bit (4 byte), từ -2,147,483,648 đến 2,147,483,647.
Thí dụ
Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346
unsigned long
Các biến dài không dấu là các biến có kích thước mở rộng để lưu trữ số và lưu trữ 32 bit (4 byte). Không giống như các long chuẩn, các long không dấu sẽ không lưu trữ các số âm, làm cho phạm vi của chúng từ 0 đến 4,294,967,295 (2 ^ 32 – 1).
Thí dụ
Unsigned Long velocity = 101006 ;// declaration of variable with type Unsigned Long and initialize it with 101006
short
Ngắn gọn là kiểu dữ liệu 16 bit. Trên tất cả các Arduinos (dựa trên ATMega và ARM), short lưu trữ giá trị 16 bit (2 byte). Điều này mang lại một phạm vi từ -32,768 đến 32,767 (giá trị nhỏ nhất là -2 ^ 15 và giá trị lớn nhất là (2 ^ 15) – 1).
<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-6987870470339823" crossorigin="anonymous"></script> <!-- slide bar --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6987870470339823" data-ad-slot="2433582917" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>
Thí dụ
short val = 13 ;//declaration of variable with type short and initialize it with 13
float
Kiểu dữ liệu cho số dấu phẩy động là một số có dấu thập phân. Số dấu phẩy động thường được sử dụng để tính gần đúng giá trị tương tự và giá trị liên tục vì chúng có độ phân giải lớn hơn số nguyên.
Các số dấu phẩy động có thể lớn tới 3,4028235E + 38 và nhỏ nhất là -3,4028235E + 38. Chúng được lưu trữ dưới dạng 32 bit (4 byte) thông tin.
Thí dụ
float num = 1.352;//declaration of variable with type float and initialize it with 1.352
double
Trên Uno và các bảng dựa trên ATMEGA khác, số dấu phẩy động chính xác kép chiếm bốn byte. Nghĩa là, việc triển khai kép giống hệt như float, không tăng độ chính xác. Trên Arduino Due, số nhân đôi có độ chính xác 8 byte (64 bit).
Thí dụ
double num = 45.352 ;// declaration of variable with type double and initialize it with