Arduino Cảm biến ánh sáng kích hoạt động cơ servo

Trong bài hướng dẫn này, chúng ta sẽ học cách sử dụng cảm biến ánh sáng và Arduino để điều khiển động cơ servo. Cụ thể, Arduino đọc giá trị từ một cảm biến ánh sáng:

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×cảm biến ánh sáng
1×10 kΩ Resistor
1×động cơ servo
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Cảm biến ánh sáng LDR rất phải chăng, nhưng nó đòi hỏi một điện trở để đấu dây, điều này có thể làm cho việc lắp đặt trở nên phức tạp hơn. Để đơn giản hóa việc đấu dây, bạn có thể sử dụng một module cảm biến ánh sáng LDR như một lựa chọn thay thế.

Giới thiệu về động cơ servo và cảm biến ánh sáng

Nếu bạn chưa biết về động cơ servo và cảm biến ánh sáng (bố trí chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu về chúng trong các bài hướng dẫn sau:

Sơ đồ đấu dây

sơ đồ đấu dây cảm biến ánh sáng Arduino và động cơ servo

This image is created using Fritzing. Click to enlarge image

Mã Arduino - Ngưỡng Tương Tự

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/arduino/arduino-light-sensor-triggers-servo-motor */ #include <Servo.h> // constants won't change const int LIGHT_SENSOR_PIN = A0; // Arduino pin connected to light sensor's pin const int SERVO_PIN = 9; // Arduino pin connected to Servo Motor's pin const int ANALOG_THRESHOLD = 500; Servo servo; // create servo object to control a servo void setup() { servo.attach(SERVO_PIN); // attaches the servo on pin 9 to the servo object servo.write(0); } void loop() { int analogValue = analogRead(LIGHT_SENSOR_PIN); // read the input on analog pin if (analogValue > ANALOG_THRESHOLD) servo.write(90); // rotate servo motor to 90 degree else servo.write(0); // rotate servo motor to 0 degree }

Hướng dẫn từng bước

  • Kết nối Arduino với PC bằng cáp USB
  • Mở Arduino IDE, chọn bảng mạch và cổng đúng
  • Sao chép mã phía trên và mở bằng Arduino IDE
  • Nhấp vào Tải lên nút trên Arduino IDE để tải mã lên Arduino
  • Xoay cảm biến ánh sáng
  • Xem sự thay đổi của động cơ servo

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.