Bắt đầu nhanh với Arduino Uno

Xin chào. Nếu bạn nào quan tâm về IoT (Internet Of Things) thì có thể theo dõi series bài viết nhanh của mình để có thể bắt đầu ngay với vi mạch điều khiển.

Mạch phổ biến nhất dùng để điều khiển hiện nay chính là Arduino. Bất cứ ai nghiên cứu về IoT cũng đều biết Arduino.

Mạch Arduino R3


Mạch Arduino có rất nhiều phiên bản:

  • Arduino Uno (R3 là bản mới nhất, cũng là được nhắc đến nhiều nhất)
  • Arduino Mega
  • Arduino Due
  • Arduino Leonardo
  • Arduino Nano
  • Arduino Pro Micro
  • Arduino Pro Mini
  • Arduino Lilypad

Các thông số mà bạn nên quan tâm theo mình:
  • Số chân Digital (Chân này thường dùng để điều khiển)
  • Số chân Digital (hỗ trợ PWM - Chân này có thể điều khiển theo cường độ)
  • Số chân Analog ( Chân này có thể điều khiển, có thể đọc giá trị)
  • Nguồn (Để cấp nguồn cho mạch)

IDE để lập trình Arduino Desktop IDEhttps://www.arduino.cc/en/Guide/HomePage

Ngôn ngữ lập trình: C/C++

Giao diện Arduino IDE

Mình sẽ bắt đầu với ví dụ đầu tiên: Arduino Uno R3

Các bước như sau:
  1. Chuẩn bị mạch Arduino Uno R3
  2. Arduino IDE
  3. Cable USB máy in

Cable USB (Có thể mua ở HShop.vn)

Tham khảo: Cài Arduino IDE và Driver liên quan

Bắt đầu
- Điều khiển đèn LED trên mạch Arduino

//Trên mạch Arduino có 1 cái đèn LED, biến của nó là LED_BUILTIN, giờ mình sẽ cho nó chớp nháy

Khi tạo mới file firmware: File > New 
IDE sẽ tự động tạo 2 hàm: setup()loop()
Hàm setup() sẽ chạy 1 lần đầu tiên để thiết lập, hàm loop() sẽ chạy mãi vô hạn.

Đầu tiên, ta sẽ khai báo hay thiết lập cái đèn LED_BUILTIN :

  pinMode(LED_BUILTIN,OUTPUT);
Sau đó, vào hàm loop():
digitalWrite(LED_BUILTIN,HIGH);
delay(500);
digitalWrite(LED_BUILTIN,LOW); 
delay(500);
Giải thích:
- (1) Đầu tiên đèn LED trên mạch sẽ sáng
- (2) Sau 500 mili giây
- (3) LED bị tắt
- (4) Sau 500 mili giây
- Quay lại (1)



Chọn Port là cổng USB của mạch Arduino mới nạp code được
Khi các bạn cắm board vào rồi khắc tự nhiên sẽ có chữ usbarduinouno gì đó


Nút check là xem code có lỗi gì không?
Nút -> là vừa check, check xong nạp luôn vào mạch

Xong

Các bạn có thể vào File > Example > Basics > Blink để tham khảo
Thông thường mình mua mạch ở HShop.vn - Chung cư Nguyễn Kim

//Giải thích thêm

  • digitalWrite(chân, giá trị) để set giá trị cho chân
    • Chân: trên mạch có ghi 2,3,4,5,6,7..
    • Giá trị: HIGH, LOW, true, false, 0, 1
    • Với chân PWM có thể set giá trị từ 0 - 255
  • digitalRead(chân) để lấy giá trị
    • Sẽ chỉ trả về 1 giá trị là 0 hoặc 1
    • Có thể so sánh với HIGH, LOW ( digitalRead(13) == LOW)
    • Có thể cắm cảm biến vào các chân này nếu không cần nhiều mức giá trị
  • analogWrite(chân, giá trị) như digitalWrite (PWM)
  • analogRead(chân) sẽ trả về giá trị trong miền 0 - 1023 đối với nhu cầu giá trị chính xác
  • delay(số mili giây) tạm ngưng trong khoảng thời gian mili giây
  • Serial ( dùng để in ra màn hình IDE )

    • Kích hoặt bằng cách Tool > Serial Monitor ( nhưng phải chọn Port của board trước )
    • Hàm setup(): Serial.begin(9600);
    • Hàm loop(): Serial.print(digitalRead(LED_BUILTIN));
    • Thiết lập như hình

Nhận xét