Tổng Hợp Các Câu Lệnh Hay Dùng Khi Code Arduino - ITNavi

  • Tìm việc IT
  • Kiến Thức Lập Trình

    • Frontend
    • Backend
    • Fullstack
    • Mobile
    • Devops
    • Khác
    • Phỏng vấn IT
  • Tin Tức
  • Sự Kiện
  • Company Review
MENU
  • Tìm việc IT
  • Kiến Thức Lập Trình
    • Frontend
    • Backend
    • Fullstack
    • Mobile
    • Devops
    • Khác
    • Phỏng vấn IT
  • Tin Tức
  • Sự Kiện
  • Company Review
Search Tổng hợp các câu lệnh hay dùng khi code Arduino ITNavi 08 Jul 2021 34115

Mục Lục

  • Thanh công cụ Arduino IDE 
  • Những lệnh Arduino IDE cơ bản
  • Boolean và các toán tử số học
  • Các biến quan trọng
  • Các hàm cao cấp
    • Các hàm Arduino tích hợp sẵn 
    • Các hàm liên quan đến thời gian
    • Các hàm toán học
    • Giao tiếp nối tiếp (serial communication)
    • Servo
Nếu là người mới dùng Arduino, bạn có thể quan tâm đến danh sách các lệnh hữu ích cho những hoạt động quan trọng nhất. Bạn cần chúng để điều khiển bo mạch Arduino và xác định các phép toán logic đơn giản. Điểm hay của Arduino là bạn không thực sự phải học quá nhiều kiến thực lập trình. Chỉ cần đầu tư vào một bộ bo mạch Arduino và cài đặt IDE. Hầu hết các ví dụ lệnh đều có sẵn trong thư viện Examples. Nếu bạn muốn làm theo các ví dụ tham chiếu hiện có, tất cả những gì bạn phải làm là sửa đổi code một chút và tạo các sketch của riêng bạn. Mục tiêu của bài viết này không phải là để trình bày một danh sách đầy đủ các thủ thuật trên Arduino, mà là để hiểu logic đằng sau các code. Điều quan trọng là phải biết cách áp dụng chúng trong mọi tình huống.

Thanh công cụ Arduino IDE

Verify Quét code và báo cáo bất kỳ lỗi nào
Upload Biên dịch code và upload nó lên bo mạch Arduino qua USB
New Mở một Arduino sketch trống (chương trình viết bởi Arduino IDE)
Open Mở danh sách các sketch đã lưu trong trình duyệt file
Save Lưu sketch hiện tại
Serial Monitor Mở Serial Monitor trong một cửa sổ mới

Những lệnh Arduino IDE cơ bản

Ngay khi bạn mở Arduino IDE, bạn sẽ được chào đón bởi các lệnh setup() và loop(). Đây là hai ví dụ duy nhất về sketch mà bạn tìm thấy trong hầu hết tất cả các code Arduino.
  • Setup(): Mỗi khi sketch bắt đầu, lệnh setup sẽ giúp bạn khởi tạo các biến và bắt đầu sử dụng các thư viện. Tham khảo ví dụ về đèn LED kỹ thuật số nhấp nháy không có độ trễ trong bài cài đặt Arduino IDE.
void setup() { // đặt pin kỹ thuật số làm output: pinMode(ledPin, OUTPUT); }
  • Loop(): Một vòng lặp theo sau setup và thực sự là trái tim của chương trình, khiến nó phản hồi vô hạn với bất kỳ logic nào. Ví dụ, đoạn code trên là ví dụ về đèn LED nhấp nháy vô hạn, không có độ trễ.
void loop() { // đây là nơi bạn đặt code cần chạy mọi lúc. // kiểm tra xem đã đến lúc nhấp nháy đèn LED chưa... } Sau khi làm quen với các sketch, bạn cần biết những lệnh điều khiển. Những lệnh quan trọng nhất là:
  • Break: Nếu bạn muốn thoát khỏi một lệnh, bạn cần nhấn break.
if (sens > threshold) { // bail out on sensor detect x = 0; break; }
  • If or else: Các lệnh logic khởi tạo một hành động mỗi khi một điều kiện được thỏa mãn. Một lần nữa, hãy quay lại ví dụ về đèn LED kỹ thuật số nhấp nháy. Ghi nhớ lệnh loop() trong đó code phải chạy vô hạn.
Các lệnh điều khiển hữu ích khác có thể cung cấp logic nhất định. Những lệnh bạn có thể sử dụng bao gồm:
  • return: Trả về một giá trị nhất định.
  • while: Một vòng lặp khác diễn ra liên tục trong một điều kiện nhất định. Ví dụ:
while (dist <3 cm) do something repetitive 200 times)
  • goto: Đúng như tên gọi của nó, lệnh này cho phép bạn đi đến một dòng nhất định trong code.

Boolean và các toán tử số học

Bên cạnh sketch và các lệnh kiểm soát, bạn phải biết một số Boolean và toán tử số học để chỉ huy các chương trình.
  • Các toán hạng: Bằng (=), phép cộng (+), phép trừ (-), phép nhân (*) và phép chia (/).
  • Các toán hạng nâng cao: Không bằng (!=), Nhỏ hơn hoặc bằng (<=), lớn hơn hoặc bằng (>=), phần dư (%).

Các biến quan trọng

Trong một số trường hợp, bạn cần đưa ra một vài biến để xử lý những phép toán logic khác nhau. Những biến quan trọng là:
  • HIGH|LOW: Điều này mang lại giá trị cuối cùng cao và thấp cho các hằng số.
// Các biến sẽ thay đổi: int ledState = LOW;
  • LED_BUILTIN: Đưa ra số lượng chân LED (LED pin). Trong ví dụ trên về đèn LED nhấp nháy trên Uno, số chân LED là 13.
Các biến quan trọng khác cần nhớ bao gồm True/false, sizeof(), void, int và string. Chúng cũng giống như bất kỳ chương trình thông thường nào khác bao gồm Python, C++, v.v…

Các hàm cao cấp

Cuối cùng, bạn cần biết một vài hàm nâng cao để điều khiển bo mạch Arduino. Các hàm nâng cao bao gồm:

Các hàm Arduino tích hợp sẵn

  • digitalRead(): Đọc giá trị từ một pin kỹ thuật số nhất định. Ngoài ra còn có digitalWrite().
  • pinMode(PIN_NUMBER, INPUT/OUTPUT): Thiết lập pin tại vị trí PIN_NUMBER thành INPUT hoặc OUTPUT.
  • pinMode(PIN_NUMBER, INPUT_PULLUP): Thiết lập pin tại vị trí PIN_NUMBER trở thành đầu vào bằng cách sử dụng điện trở kéo lên (pull-up resistor) tích hợp của bo mạch Arduino.
  • analogRead(PIN_NUMBER): Đọc số chân analog PIN_NUMBER và trả về một số nguyên từ 0 đến 1023.
  • analogWrite(PIN_NUMBER, VALUE): Giả lập analog output VALUE bằng cách sử dụng PWM trên PIN_NUMBER (Lưu ý: Chỉ khả dụng trên các chân 3, 5, 6, 9, 10 và 11).
  • analogReference(DEFAULT): Sử dụng điện áp tham chiếu mặc định (5V hoặc 3.3V tùy thuộc vào điện áp bo mạch).
  • analogReference(INTERNAL): Sử dụng điện áp tham chiếu bên trong (1.1v cho ATmega168/328p, 2.56 cho ATmega 32U4/8).
  • analogReference(EXTERNAL): Sử dụng điện áp được áp dụng cho chân AREF làm điện áp tham chiếu (Lưu ý: chỉ 0-5V).

Các hàm liên quan đến thời gian

  • Delay(): Hãy nhớ lại ví dụ về đèn LED nhấp nháy. Bạn có thể thêm độ trễ vào đó.
  • millis(): Trả về thời gian tính bằng mili giây kể từ khi Arduino sketch bắt đầu chạy dưới dạng một số nguyên dài không dấu.
  • micros(): Trả về thời gian tính bằng micro giây kể từ khi Arduino sketch bắt đầu chạy dưới dạng một số nguyên dài không dấu.
  • delayMicroseconds (số nguyên): Trì hoãn thực thi chương trình trong (số nguyên) micro giây.

Các hàm toán học

  • min(i, j): Trả về giá trị thấp nhất trong hai giá trị i và j
  • max(i, j): Trả về giá trị cao nhất trong hai giá trị i và j
  • abs(i): Trả về giá trị tuyệt đối của i
  • sin(angle): Trả về sin của một góc tính bằng radian
  • cos(angle): Trả về cosin của một góc tính bằng radian
  • tan(angle): Trả về tang của một góc tính bằng radian
  • sqrt(i): Trả về căn bậc hai của i
  • pow(cơ số, số mũ): Tính lũy thừa bậc (số mũ) của (cơ số). Ví dụ: pow (2, 3) == 8
  • constrain(i, minval, maxval): Ràng buộc giá trị i giữa minval (giá trị nhỏ nhất) và maxval (giá trị lớn nhất)
  • map (val, fromL, fromH, toL, toH): Chuyển đổi val từ phạm vi này sang phạm vi khác
  • random(i): Trả về một số nguyên dài ngẫu nhiên nhỏ hơn i
  • random(i, j): Trả về một số nguyên dài ngẫu nhiên giữa i và j
  • randomSeed(k): Sử dụng giá trị k để seed hàm random()

Giao tiếp nối tiếp (serial communication)

  • Serial.begin(speed): Bắt đầu giao tiếp nối tiếp ở tốc độ xác định
  • Serial.end(): Kết nối giao tiếp nối tiếp
  • Serial.print(DATA): Xuất DATA vào cổng nối tiếp. DATA có thể là ký tự, chuỗi, số nguyên và số thực dấu phẩy động (floating point number)
  • Serial.available(): Trả về số ký tự có sẵn để đọc trong bộ đệm nối tiếp
  • Serial.read(): Đọc ký tự đầu tiên trong bộ đệm nối tiếp (trả về -1 nếu không có dữ liệu)
  • Serial.write(DATA): Ghi DATA vào bộ đệm nối tiếp. DATA có thể là một ký tự, số nguyên hoặc array (mảng)
  • Serial.flush(): Xóa bộ đệm nối tiếp sau khi giao tiếp chiều đi hoàn tất

Servo

  • Servo myServo: Tạo biến myServo của loại Servo
  • myServo.attach(PIN_NUMBER): myServo được liên kết với pin tại vị trí PIN_NUMBER
  • myServo.write(angle): Ghi một góc từ 0 đến 180 cho servo gắn với myServo
  • myServo.writeMicroseconds(uS): Ghi một giá trị tính bằng micro giây vào servo được gắn với myServo (thường từ 1000 đến 2000 với 1500 là điểm giữa)
  • myServo.read(): Trả về một số nguyên chứa góc hiện tại của servo trong khoảng từ 0 – 180
  • myServo.attached(): Trả về true nếu servo được gắn vào pin
  • myServo.detach(): Tách myServo bằng một pin đính kèm
Ngoài ra còn có:
  • random(): Hàm này giúp tạo ra các số ngẫu nhiên.
  • Tone() và notone(): Bạn có muốn âm thanh xuất hiện trong pin của mình không? Hàm tone() sẽ xử lý vấn đề đó, trong khi notone() giữ mọi thứ im lặng.
Các lệnh trên là một số lệnh hữu ích nhất trong việc xử lý các bo mạch Arduino trên IDE. Danh sách này rất hạn chế và chưa đầy đủ, nhưng nó có thể giúp bạn bắt đầu các dự án của mình. Để biết chi tiết, bạn cần nghiên cứu các sketch của những người đam mê Arduino khác và tìm hiểu xem bạn có thể học hỏi được gì từ họ.
ITNavi - Nền tảng kết nối việc làm

Nguồn: Tổng hợp các câu lệnh hay dùng khi code Arduino

Bình luận Chia sẻ bài viết Bài viết liên quan Những kỹ năng cần thiết để từ Junior lên Senior Developer Kiến Thức Lập Trình

Những kỹ năng cần thiết để từ Junior lên Senior Developer

ITNavi 07 Jun 2023 Ngôn ngữ lập trình là gì? 10 loại ngôn ngữ lập trình phổ biến nhất Kiến Thức Lập Trình

Ngôn ngữ lập trình là gì? 10 loại ngôn ngữ lập trình phổ biến nhất

ITNavi 14 Nov 2022 4 mô hình phát triển phần mềm phổ biến nhất - ITNavi Kiến Thức Lập Trình

4 mô hình phát triển phần mềm phổ biến nhất - ITNavi

ITNavi 01 Aug 2022 SVG là gì? Tìm hiểu chi tiết về cách dùng và ứng dụng của SVG Kiến Thức Lập Trình

SVG là gì? Tìm hiểu chi tiết về cách dùng và ứng dụng của SVG

ITNavi 16 Mar 2022 Stateless là gì? Stateful là gì? Sự khác biệt giữa 2 loại Kiến Thức Lập Trình

Stateless là gì? Stateful là gì? Sự khác biệt giữa 2 loại

ITNavi 15 Feb 2022 Hybrid App là gì? Ưu, nhược điểm của ứng dụng lai Hybrid App Kiến Thức Lập Trình

Hybrid App là gì? Ưu, nhược điểm của ứng dụng lai Hybrid App

ITNavi 15 Feb 2022 Single Page Application là gì? Đây có phải là xu hướng lập trình Web hiện nay? Kiến Thức Lập Trình

Single Page Application là gì? Đây có phải là xu hướng lập trình Web hiện nay?

ITNavi 18 Jan 2022 Top 6 điều cần làm khi bạn vừa tạo tài khoản AWS Kiến Thức Lập Trình

Top 6 điều cần làm khi bạn vừa tạo tài khoản AWS

ITNavi 16 Dec 2021 Sử dụng Index trong MySQL: Phần 1- Các loại index và cách đánh index Kiến Thức Lập Trình

Sử dụng Index trong MySQL: Phần 1- Các loại index và cách đánh index

ITNavi 16 Dec 2021 Acceptance Test là gì, được thực hiện như thế nào? Kiến Thức Lập Trình

Acceptance Test là gì, được thực hiện như thế nào?

ITNavi 26 Nov 2021 Onsite là gì? Những kỹ năng để trở thành một IT Onsite chuyên nghiệp Kiến Thức Lập Trình

Onsite là gì? Những kỹ năng để trở thành một IT Onsite chuyên nghiệp

ITNavi 16 Nov 2021 ELK là gì- Những thông tin bổ ích về công cụ quản lý Log ELK Kiến Thức Lập Trình

ELK là gì- Những thông tin bổ ích về công cụ quản lý Log ELK

ITNavi 10 Nov 2021 Tổng quan về Serverless là gì? Ưu và nhược điểm của Serverless Kiến Thức Lập Trình

Tổng quan về Serverless là gì? Ưu và nhược điểm của Serverless

ITNavi 08 Nov 2021 JWT là gì? Những vai trò và thành phần chính của JWT Kiến Thức Lập Trình

JWT là gì? Những vai trò và thành phần chính của JWT

ITNavi 02 Nov 2021 Singleton pattern là gì? 9 cách để implement singleton pattern phổ biến nhất Kiến Thức Lập Trình

Singleton pattern là gì? 9 cách để implement singleton pattern phổ biến nhất

ITNavi 01 Nov 2021
  • MỚI NHẤT
  • PHỔ BIẾN
  • NGẪU NHIÊN
  • Lí do ứng viên từ chối lời mời làm việc của bạn

    Lí do ứng viên từ chối lời mời làm việc của bạn

    ITNavi 20 Jan 2024
  • Lí do ứng viên từ chối lời mời làm việc của bạn

    Lí do ứng viên từ chối lời mời làm việc của bạn

    ITNavi 20 Jan 2024
  • Những điều HR IT cần biết về cải cách lương Năm 2024 

    Những điều HR IT cần biết về cải cách lương Năm 2024 

    ITNavi 14 Jan 2024
  • TikTok tuyển dụng: Xu hướng tìm kiếm ứng viên tiềm năng mới?

    TikTok tuyển dụng: Xu hướng tìm kiếm ứng viên tiềm năng mới?

    ITNavi 14 Jan 2024
  • Nguyên tắc vàng giúp tuyển dụng Mass hiệu quả

    Nguyên tắc vàng giúp tuyển dụng Mass hiệu quả

    ITNavi 07 Jan 2024
  • Use Case là gì? Quy trình vẽ sơ đồ Use Case hoàn chỉnh - ITNavi

    Use Case là gì? Quy trình vẽ sơ đồ Use Case hoàn chỉnh - ITNavi

    ITNavi 10 Oct 2021
  • Lập trình nhúng là gì? Lộ trình trở thành kỹ sư lập trình nhúng - ITNavi

    Lập trình nhúng là gì? Lộ trình trở thành kỹ sư lập trình nhúng - ITNavi

    ITNavi 29 Jan 2021
  • Dev là nghề gì? Tổng hợp kiến thức về nghề lập trình viên

    Dev là nghề gì? Tổng hợp kiến thức về nghề lập trình viên

    ITNavi 29 Sep 2020
  • Tổng quan về Neural Network(mạng Nơ Ron nhân tạo) là gì?

    Tổng quan về Neural Network(mạng Nơ Ron nhân tạo) là gì?

    ITNavi 13 May 2021
  • Tìm hiểu những lợi ích mà Spring MVC mang lại

    Tìm hiểu những lợi ích mà Spring MVC mang lại

    ITNavi 17 May 2021
  • Tại sao Terminal được sử dụng ngày càng phổ biến hiện nay

    Tại sao Terminal được sử dụng ngày càng phổ biến hiện nay

    ITNavi 17 May 2021
  • Tìm hiểu về Firebase và sample app với Realtime Databse

    Tìm hiểu về Firebase và sample app với Realtime Databse

    ITNavi 18 May 2021
  • Chúc mừng SotaTek tuyển dụng thành công từ ITNavi

    Chúc mừng SotaTek tuyển dụng thành công từ ITNavi

    ITNavi 19 May 2021
  • Là Developer không nên bỏ qua kiến thức này về Raid

    Là Developer không nên bỏ qua kiến thức này về Raid

    ITNavi 20 May 2021
  • Lan tỏa tuyển dụng thành công từ VKX đến các nhà tuyển dụng tại ITNavi

    Lan tỏa tuyển dụng thành công từ VKX đến các nhà tuyển dụng tại ITNavi

    ITNavi 26 May 2021

NEWSLETTER

Nhập địa chỉ email của bạn dưới đây để đăng ký nhận tin mới nhất

Đăng ký VIỆC LÀM IT LƯƠNG CAO
  • Việc làm PHP
  • Việc làm JAVA
  • Việc làm JAVASCRIPT
  • Việc làm C#
  • Việc làm PYTHON
  • Việc làm RUBY
  • Việc làm .NET
  • Việc làm NODEJS
KẾT NỐI VÀ THEO DÕI Tin tức đặc biệt Review LTS Group - Doanh nghiệp công nghệ hàng đầu Việt Nam

Review LTS Group - Doanh nghiệp công nghệ hàng đầu Việt Nam

ITNavi 28 Mar 2023 Review Công ty VMO Holdings – Doanh nghiệp CNTT có tốc độ tăng trưởng ấn tượng nhất

Review Công ty VMO Holdings – Doanh nghiệp CNTT có tốc độ tăng trưởng ấn tượng nhất

ITNavi 16 Dec 2022 Review VTI Group - Top 2 Công Ty CNTT Việt Nam tại Nhật Bản

Review VTI Group - Top 2 Công Ty CNTT Việt Nam tại Nhật Bản

ITNavi 06 Dec 2022

Ads

Từ khóa » Câu Lệnh If Else Trong Arduino