Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
[Arduino] Cơ bản – Giới thiệu - chapter 1
Arduino là gì ?
Trên quan điểm của một cuder, Arduino được sinh ra để hỗ trợ những ai yêu thích lập trình cho các thiết bị nhưng kiến thức về phần cứng khá lung linh như mình
Ngày nay phần cứng là thứ gần như không thay đổi trong cấu trúc, chỉ có phần mềm thì linh hoạt và khác nhau ở mỗi ứng dụng. Như một chiếc máy tính luôn có CPU, GPU, RAM, HD,... mặc dù kiến trúc các thành phần thường xuyên được nâng cấp về kiến trúc để đạt được hiệu suất cao hơn, nhưng tổng thể cấu trúc thì máy tính hầu như ko có gì thay đổi.
Arduino nhìn chung cũng là một chiếc máy tính thu nhỏ, có bộ xử lý, bộ nhớ,... giúp ta có thể điều khiển được các thiết bị khác thông qua các chân tín hiệu.
Các ứng dụng của Arduino và IoT
Thuật ngữ Internet of Things (IoT) đã không còn xa lạ gì với những ai tiếp xúc với công nghệ hàng ngày.
Các "Things" ở đây thường là các thiết bị phần cứng được nạp một chương trình (phần mềm) tương ứng với độ "smart" của thiết bị. Ví dụ như là "smart toilet" thì cần có các chức năng như tự động sưởi ấm khi trời lạnh, tự động làm mát khi cần, tự động rửa khi "xong", đánh giá mức độ vệ sinh an toàn thực phẩm cho người dùng dựa vào thời gian và "sản phẩm", cảnh báo khi ngồi lướt fb quá lâu...
Sau đó các thiết được kết nối lên Internet để được người dùng, "ai đó" hoặc các hệ thống theo dõi tình trạng hoạt động cũng như điều khiển khi cần.
Cấu trúc của một chương trình Arduino
Ở đây mình sử dụng IDE và ngôn ngữ Official của Arduino và C/C++, ngoài ra các bạn có thể sử dụng các ngôn ngữ khác và phần mềm khác để viết và nạp chương trình cho Arduino.
Mình khuyên nên có thiết bị thật như một con Arduino Uno R3 để thử nghiệm, đem lại cảm giác khác hơn là sử dụng các tool giả lập.
Các bạn có thể truy cập vào https://www.arduino.cc/en/Main/Software để tải IDE, hiện tại hỗ trợ cả MacOS, Windows và Linux (Ubuntu).
Một chương trình C/C++ luôn có 1 hàm main() thì một chương trình Arduino cũng tương tự luôn có 2 hàm setup() và loop().
Hàm setup() sẽ được chạy trước một lần để khởi tạo các thiết lập giống như khởi động trước khi vào guồng chạy chớ không là chuột rút.
Trong khi đó hàm loop() sẽ được lặp lại cho đến khi ngắt điện Arduino.
Ở chương trình trên có dòng lệnh pinMode(MY_LED, OUTPUT);
MY_LED
được khai báo là 13 tương ứng với chân số 13 trên mạch Arduino, OUTPUT
là khai báo xuất ra tín hiệu.
Đã có OUTPUT
thì tất nhiên sẽ có INPUT
, tương tự như một chiếc máy tính sẽ có thiết bị nhập và thiết bị xuất.
Chương trình trên sẽ nhấp nháy đèn chân số 13, theo thứ tự các lệnh trong trong hàm loop():
digitalWrite(MY_LED, HIGH); // xuất tín hiệu HIGH ra chân MY_LED
digitalWrite(MY_LED, LOW); // xuất tín hiệu LOW ra chân MY_LED
Ngoài ra có thể thay thế HIGH bằng 1 và LOW bằng 0.
delay(1000); // nghỉ 1 giây
Đây là bài đầu tiên trong loạt bài sắp tới của mình về Arduino, nhằm giới thiệu đến nhiều bạn có sở thích vọc phá như mình.





