Tài liệu học
Cheat sheet Arduino
Cú pháp Arduino thường dùng trong lớp robot: digital, analog, PWM, Serial, millis.

Cấu trúc chương trình
- setup(): chạy 1 lần khi khởi động
- loop(): lặp lại liên tục sau đó
Digital I/O
- pinMode(pin, INPUT | OUTPUT | INPUT_PULLUP)
- digitalWrite(pin, HIGH | LOW)
- digitalRead(pin)
Analog & PWM
- analogRead(pin) → giá trị 0–1023 (10-bit ADC)
- analogWrite(pinPWM, 0–255) → chỉ dùng được trên chân hỗ trợ PWM
Serial debug
- Serial.begin(9600)
- Serial.print(value) / Serial.println(value)
- Serial.available() / Serial.read()
Thời gian không chặn (non-blocking)
- millis() trả về số mili-giây từ lúc board khởi động, dùng thay cho delay() khi cần xử lý nhiều việc song song
- delay(ms) làm dừng toàn bộ chương trình trong thời gian chỉ định — tránh dùng trong vòng lặp cần phản ứng nhanh (ví dụ tránh vật cản)
Hàm tiện ích
- map(value, fromLow, fromHigh, toLow, toHigh): quy đổi giá trị cảm biến sang thang đo khác
- constrain(value, min, max): giới hạn giá trị trong khoảng cho phép