Lập trình Arduino là một trong những cách để bạn tiếp cận với công nghệ nhanh nhất. Nếu bạn là người mới, hãy cùng OhStem chỉ ra các lệnh trong Arduino cơ bản nhất qua bài viết dưới đây nhé. Hãy cùng mở ra cánh cửa lập trình mới!
> Tìm hiểu thêm: [PDF] Lập trình Arduino là gì? Tài liệu học Arduino miễn phí 2021
Mục lục
Hiện tượng lập trình Arduino
Ngôn ngữ lập trình Arduino thực sự đã gây sóng gió trên thị trường người sử dụng DIY (là những người tự tay tạo ra sản phẩm của mình) ở khắp nơi trong những năm trở lại đây. Hiện tượng Arduino khá tương tự với những gì Apple đã làm được trên thị trường các loại điện thoại di động.
Với lập trình Arduino, số lượng người sử dụng cực lớn, với nhiều trình độ khác nhau trải dài từ học sinh phổ thông lên tới sinh viên đại học đã làm cho ngay cả những lập trình viên Arduino cũng phải ngạc nhiên về sự ưa chuộng và trình độ phổ biến của chúng.
Arduino có thể khiến cho cả những sinh viên và các chuyên gia giảng dạy hàng đầu tại các trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả Google cũng muốn tham gia vào Arduino (bằng chứng là Google cho ra đời bộ kit tìm hiểu về Arduino Mega ADK – dùng để lập trình các ứng dụng Android tương tác với module cảm biến và các công cụ khác)
Lập trình Arduino là gì?
Lập trình Arduino thật ra là một bảng điều khiển vi xử lý được dùng để tạo ra các tương tác với các linh kiện phần cứng như linh kiện điện tử, động cơ, đèn hoặc các thiết bị điện tử khác. Đặc điểm nổi bật của bảng mạch Arduino là môi trường hình thành sản phẩm cực kỳ dễ dùng, với một ngôn ngữ phát triển có thể tìm hiểu một cách rất nhanh ngay cả với người ít am hiểu về điện tử và sáng chế. Và điều làm nên hiện tượng ngôn ngữ lập trình Arduino chính là mức giá của chúng rất thấp và có nền tảng mã nguồn mở từ phần cứng tới phần mềm. Chỉ với khoảng $30, người sử dụng đã có thể sở hữu một bộ ngôn ngữ lập trình Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy công cụ.
Ngôn ngữ lập trình Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua ở thế kỷ thứ 9 là King Arduin. Lập trình Arduino chính thức được đưa ra giới thiệu tại năm 2005 như là một linh kiện điện tử khiêm tốn của các sinh viên của giáo sư Massimo Banzi – một trong những người thiết kế và xây dựng nền tảng Arduino, tại trường Interaction Design Instistute Ivrea (IDII). Mặc dù hầu như không được tiếp thị gì cả, tin tức về nền tảng Arduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người sử dụng đầu tiên. Hiện nay Arduino kinh điển đến nỗi có người tìm tới thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra board mạch Arduino.
Cùng xem qua phần mềm lập trình và các lệnh trong Arduino cơ bản nhất phía dưới nhé!
Phần mềm lập trình Arduino IDE
Verify | Quét mã lệnh và báo cáo bất kỳ lỗi nào |
Upload | Phiên dịch mã lập trình và upload nó lên bo mạch Arduino qua USB |
New | Mở một ngôn ngữ lập trình Arduino sketch trống (chương trình viết bởi Arduino IDE) |
Open | Mở lại danh sách các sketch đã lưu trong trình duyệt file |
Save | Lưu sketch |
Serial Monitor | Mở Serial Monitor trong một cửa sổ mới |
Các lệnh trong Arduino IDE cơ bản
Ngay khi bạn mở phần mềm Arduino IDE, bạn sẽ được thấy các lệnh trong Arduino IDE cơ bản là các lệnh setup() và loop(). Đây là hai ví dụ không giống nhau về sketch mà bạn tìm thấy trong tất cả các đoạn mã trên nền tảng Arduino.
- Setup(): lúc nào sketch bắt đầu, lệnh này sẽ hỗ trợ bạn tạo ra các biến và bắt đầu dùng các thư viện.
void setup()
// đặt pin kỹ thuật số làm output:
pinMode(ledPin, OUTPUT);
- Loop(): Một vòng lặp theo sau và đây thực sự là trái tim của phần mềm ứng dụng này, khiến nó phản hồi vô hạn với bất kỳ lệnh nào. Cụ thể, đoạn mã lập trình trên là về đèn LED nhấp nháy vô hạn, không có độ trễ.
Sau khi tìm hiểu và làm quen với các sketch, bạn đang muốn biết các lệnh trong Arduino có tác dụng điều khiển phải không? Các lệnh trong Arduino quan trọng thường thấy nhất là:
- Break: Nếu bạn đang cần thoát khỏi một lệnh, bạn nhấn vào break.
if (sens > threshold)
// bail out on sensor detect x = 0; break;
- If or else: Các lệnh này sẽ tạo ra một thao tác nào đó mỗi lần 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 ở trên. Ghi nhớ lệnh loop(), trong đó đoạn mã lập trình phải chạy vô hạn.
Ngoài ra, có các lệnh trong Arduino khác có thể mang đến những tính năng, lợi ích hiệu quả trong lập trình. Những lệnh bạn hoàn toàn có thể dùng bao gồm:
- return: Trả về một giá trị nhất định nào đó
- while: Một vòng lặp khác sẽ 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 của nó, lệnh này giúp cho bạn đi đến một dòng nhất định trong đoạn mã lệnh.
Các lệnh trong Arduino thường gặp
Cùng xem qua các lệnh trong Arduino thường gặp qua bảng bên dưới:
Ký hiệu, câu lệnh | Ý nghĩa Câu lệnh |
// | Dấu // dùng để hướng dẫn, khi nội dung chỉ dẫn nằm trên 1 dòng, khi dò lại phần mềm thì phần sẽ bỏ qua phần này, không xem xét lại |
/*….….. */ | ký hiệu này cũng sử dụng để chỉ dẫn, tuy nhiên giải thích tiếp xúc 1 đoạn, tức là có thể xuống dòng được |
#define biến chân | Define dịch ra tiếng việt là định nghĩa, xác định. Bạn có thể hiểu đơn giản, câu lệnh này có chức năng gán tên 1 biến vào 1 chân cụ thể nào đó. Chẳng hạn #define led 13 |
digitalWrite(chân, trạng thái); | Dùng để tắt hoặc mở 1 chân ra. Cách viết mã đúng của nó là digitalWrite(chân,trạng thái chân);. Trạng thái chân có 2 dạng là HIGH hoặc LOW. Ví dụ cụ thể: digital(led,HIGH); hoặc digital(led,LOW); . Chú ý: phải có dấu chấm phẩy đằng sau câu lệnh. |
analogWrite(chân, giá trị); | có ý nghĩa là dùng để băm xung (PWM), thường sử dụng để điều khiển tốc độ động cơ hoặc độ sáng đèn led, |
digitalRead(chân); | Read nghĩa là đọc, lệnh này dùng để đọc giá trị digital tại chân mà bạn đọc |
analogRead(chân); | Read nghĩa là đọc, lệnh này được sử dụng để đọc giá trị analog tại chân cần đọc |
delay(thời gian); | Delay dịch ra tiếng Việt là chờ, duy trì, trì hoãn. Lệnh này dùng để duy trì trạng thái đang lập trình chờ một thời gian. Thời gian ở đây được tính thông qua mili giây, 1 giây bằng 1 ngàn mili giây |
if() Các câu lệnh else () Các câu lệnh |
if nghĩa là nếu, sau if là dấu (), bên trong dấu ngoặc là một biểu thứ so sánh. Chẳng hạn trong bài về module cảm biến độ ẩm đất (phần 5) thì:if (giatriAnalog>500) //nếu giá trị đọc được của biến giatriAnalog lớn hơn 500 digitalWrite(Led,HIGH); //Ra lệnh cho led sángdelay(1000);//chờ 1s else nghĩa là ngược lại |
Serial.print() | In ra giao diện chính máy tính, lệnh này in với hình thức không xuống dòng |
Serial.println() | In ra cửa sổ máy tính, in xong thì sẽ xuống dòng, giá trị kế tiếp sẽ được in ở dòng ngay sau đó |
Cách viết lệnh (command)
Dấu chấm phẩy và khoảng trắng
Qua các định nghĩa và ví dụ phía trên chắc các bạn đã thấy các câu lệnh thường có dấu chấm phẩy (;) ở cuối mỗi câu lệnh. Dấu chấm phẩy này chính là ký hiệu cho thấy câu lệnh đã kết thúc và bạn có thể viết lệnh mới ngay sau đó. Ví dụ:
1
2
3
4
void loop()
digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000);
Nhưng nếu viết như thế thì rất khó khăn cho việc đọc nên người ta sẽ xuống dòng cho một câu lệnh mới. Các khoảng trắng giữa các câu lệnh là không bắt buộc, có thể có hoặc không tùy thích. Nhưng, chúng ta nên phối hợp với khoảng trắng và xuống dòng để cho mã lập trình dễ đọc và đẹp hơn!
Cặp dấu ngoặc nhọn
Các lệnh của 2 phần setup() và loop() sẽ được đặt trong cặp dấu ngoặc nhọn. Nó sử dụng để bọc một “khối lệnh”. Chúng ta sẽ dùng nó thường xuyên hơn khi sử dụng cấu trúc điều khiển ở phần sau của chuỗi bài viết hướng dẫn này.
Kiểu dữ liệu void
void đứng trước setup() hoặc loop() được gọi là “kiểu dữ liệu” (datatype). Cách viết như các ví dụ đã kể ở trên là điều bắt buộc
Cấu trúc của một phần mềm ứng dụng nền tảng Arduino
Mọi chương trình Arduino được thiết kế và xây dựng thành bởi ít nhất hai function.
Tước tiên là function triển khai. Nó sẽ chạy truy cập vào lúc khởi tạo- chỉ một lần khác biệt nhau – và được dùng để báo cho nền tảng Arduino biết những cái gì đã được liên kết và ở đâu, cũng như là khởi xây dựng các biến bạn đang muốn trong phần mềm ứng dụng.
Function thứ hai là loop. Đây là cốt lõi của mọi phần mềm ứng dụng ngôn ngữ lập trình Arduino. Khi tìm hiểu về Arduino đang chạy, sau khi function hiện thực hóa đã chạy xong, function loop sẽ chạy qua tất cả mọi thứ mã lập trình, và bây giờ thực hiện lại toàn bộ – cho đến khi hoặc là bị mất nguồn hoặc công tắc reset được nhấn. Khoảng thời gian cần để hoàn thành một loop phụ thuộc vào phần đoạn lệnh được chứa trong nó.
Lời kết
Trên đây là các lệnh trong Arduino cơ bản nhất chúng tôi muốn chia sẻ cho bạn. Hy vọng bài viết này hữu ích. Bên cạnh đó, nếu bạn muốn bắt đầu học Arduino từ đầu, việc sử dụng các dây Jumper sẽ gây rắc rối cho bạn. Vì vậy, OhStem đã thiết kế bộ Kit học Arduino với chuẩn dây cắm Grove – tháo lắp dễ dàng giúp người mới có thể học Arduino đơn giản hơn.
Để tư vấn về bộ kit học Arduino cho người mới (Arduino Easy Kit), vui lòng liên hệ với chúng tôi qua:
Fanpage: https://www.facebook.com/ohstem.aitt
Hotline: 08.6666.8168
Youtube: https://www.youtube.com/c/ohstem