Mục lục:

Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad: 5 bước (có hình ảnh)
Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad: 5 bước (có hình ảnh)

Video: Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad: 5 bước (có hình ảnh)

Video: Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad: 5 bước (có hình ảnh)
Video: Arduino | Cảm biến ánh sáng dùng quang trở 2024, Tháng mười hai
Anonim
Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad
Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad

Dự án Tinkercad »

Hãy cùng tìm hiểu cách đọc một điện trở quang, một loại biến trở nhạy sáng, bằng cách sử dụng Đầu vào Tương tự của Arduino. Nó còn được gọi là LDR (điện trở phụ thuộc vào ánh sáng).

Cho đến nay, bạn đã học cách điều khiển đèn LED với đầu ra tương tự của Arduino và đọc chiết áp, là một loại biến trở khác, vì vậy chúng ta sẽ xây dựng các kỹ năng đó trong bài học này. Hãy nhớ rằng đầu vào tương tự của Arduino (chân được đánh dấu A0-A6) có thể phát hiện tín hiệu điện thay đổi dần dần và chuyển tín hiệu đó thành một số từ 0 đến 1023.

Hình ảnh
Hình ảnh

Khám phá mạch mẫu được nhúng tại đây trong bảng làm việc bằng cách nhấp vào Bắt đầu mô phỏng và nhấp vào điện trở quang (hình bầu dục màu nâu với đường nguệch ngoạc ở giữa), sau đó kéo thanh trượt độ sáng để điều chỉnh đầu vào ánh sáng mô phỏng.

Trong bài học này, bạn sẽ tự xây dựng mạch mô phỏng này cùng với mẫu. Để tùy chọn xây dựng mạch vật lý, hãy tập hợp bảng Arduino Uno, cáp USB, bảng mạch không hàn, đèn LED, điện trở (220 ohm và 4,7k ohm), điện trở quang và dây breadboard.

Bạn có thể theo dõi hầu như bằng cách sử dụng Mạch Tinkercad. Bạn thậm chí có thể xem bài học này từ bên trong Tinkercad (yêu cầu đăng nhập miễn phí)! Khám phá mạch mẫu và xây dựng mạch của riêng bạn ngay bên cạnh nó. Tinkercad Circuits là một chương trình dựa trên trình duyệt miễn phí cho phép bạn xây dựng và mô phỏng mạch. Nó hoàn hảo cho việc học tập, giảng dạy và tạo mẫu.

Bước 1: Xây dựng mạch

Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch

Hãy nhìn vào mạch breadboard trong hình. Có thể hữu ích khi xem phiên bản có dây miễn phí của mạch mẫu này để so sánh, trong hình. Trong bước này, bạn sẽ xây dựng phiên bản mạch này của riêng mình cùng với mẫu trong bảng làm việc.

Để làm theo, hãy tải lên cửa sổ Tinkercad Circuits mới và xây dựng phiên bản mạch này của riêng bạn dọc theo mẫu.

Xác định điện trở quang, đèn LED, điện trở và dây kết nối với Arduino trong bảng làm việc Tinkercad Circuits.

Kéo Arduino Uno và breadboard từ bảng thành phần vào bảng làm việc, bên cạnh mạch hiện có.

Kết nối đường dây nguồn (+) và đường nối đất (-) của bảng mạch chính với Arduino 5V và nối đất (GND) tương ứng bằng cách nhấp để tạo dây.

Mở rộng nguồn và đường ray nối đất cho các xe buýt tương ứng của chúng ở cạnh đối diện của bảng mạch (tùy chọn đối với mạch này nhưng thông lệ tốt).

Cắm đèn LED vào hai hàng breadboard khác nhau để cực âm (chân âm, ngắn hơn) kết nối với một chân của điện trở (bất kỳ nơi nào từ 100-1K ohms là được). Điện trở có thể đi theo một trong hai hướng vì điện trở không phân cực, không giống như đèn LED, phải được kết nối theo một cách nhất định để hoạt động.

Nối chân điện trở khác với đất.

Nối dây cực dương của LED (chân dương, dài hơn) vào chân 9 của Arduino.

Kéo một điện trở quang từ bảng linh kiện vào bảng mạch của bạn, để các chân của nó cắm vào hai hàng khác nhau.

Bấm để tạo một dây nối một chân điện trở quang với nguồn điện.

Kết nối chân còn lại với chân A0 tương tự của Arduino.

Kéo một điện trở từ bảng linh kiện để nối chân điện trở quang nối A0 với đất và điều chỉnh giá trị của nó thành 4,7k ohms.

Bước 2: Mã với khối

Mã có khối
Mã có khối

Hãy sử dụng trình chỉnh sửa khối mã để lắng nghe trạng thái của điện trở quang, sau đó đặt đèn LED ở độ sáng tương đối dựa trên lượng ánh sáng mà cảm biến nhìn thấy. Bạn có thể muốn làm mới bộ nhớ của mình về đầu ra tương tự LED trong bài học Fading LED.

Nhấp vào nút "Mã" để mở trình chỉnh sửa mã. Các khối Ký hiệu màu xám là các chú thích để ghi lại những gì bạn dự định cho mã của mình, nhưng văn bản này không được thực thi như một phần của chương trình.

Nhấp vào danh mục Biến trong trình chỉnh sửa mã.

Để lưu trữ giá trị điện trở của điện trở quang, hãy tạo một biến có tên "sensorValue".

Kéo ra một khối "tập hợp". Chúng tôi sẽ lưu trữ trạng thái của điện trở quang của chúng tôi trong biến

sensorValue

Nhấp vào Danh mục đầu vào và kéo ra một khối "ghim đọc tương tự" và đặt nó vào khối "đặt" sau từ "thành"

Vì chiết áp của chúng tôi được kết nối với Arduino trên chân A0, hãy thay đổi menu thả xuống thành A0.

Nhấp vào danh mục Đầu ra và kéo ra khối "in ra màn hình nối tiếp".

Điều hướng đến danh mục Biến và kéo Giá trị cảm biến biến của bạn vào khối "in ra màn hình nối tiếp" và đảm bảo danh sách thả xuống được đặt để in với một dòng mới. Tùy chọn bắt đầu mô phỏng và mở màn hình nối tiếp để xác minh các số đọc đang đến và thay đổi khi bạn điều chỉnh cảm biến. Giá trị đầu vào tương tự nằm trong khoảng từ 0-1023.

Vì chúng tôi muốn ghi vào đèn LED một số từ 0 (tắt) đến 255 (độ sáng đầy đủ), chúng tôi sẽ sử dụng khối "bản đồ" để thực hiện một số phép nhân chéo cho chúng tôi. Điều hướng đến danh mục Toán học và kéo ra một khối "bản đồ".

Trong vị trí đầu tiên, hãy kéo khối biến sensorValue vào, sau đó đặt phạm vi từ 0 đến 255.

Quay lại danh mục Đầu ra, kéo ra một khối "set pin" tương tự, theo mặc định có nội dung "set pin 3 thành 0." Điều chỉnh nó để đặt chân 9.

Kéo khối bản đồ bạn đã thực hiện trước đó vào trường "thành" của khối "ghim đặt" để ghi số đã điều chỉnh vào chân đèn LED bằng cách sử dụng PWM.

Nhấp vào danh mục Điều khiển và kéo ra một khối chờ và điều chỉnh nó để trì hoãn chương trình trong 0,1 giây.

Bước 3: Giải thích mã Arduino của điện trở quang

Khi trình chỉnh sửa mã đang mở, bạn có thể nhấp vào menu thả xuống ở bên trái và chọn "Khối + Văn bản" để hiển thị mã Arduino được tạo bởi các khối mã. Hãy làm theo khi chúng tôi khám phá mã chi tiết hơn.

int sensorValue = 0;

Trước

cài đặt()

chúng tôi tạo một biến để lưu trữ giá trị hiện tại được đọc từ chiết áp. Nó được gọi là

NS

vì đó là một số nguyên hoặc bất kỳ số nguyên nào.

void setup ()

{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }

Bên trong thiết lập, các chân được định cấu hình bằng cách sử dụng

pinMode ()

hàm số. Chân A0 được cấu hình như một đầu vào, vì vậy chúng ta có thể "lắng nghe" trạng thái điện của chiết áp. Chân 9 được cấu hình làm đầu ra để điều khiển đèn LED. Để có thể gửi tin nhắn, Arduino mở một kênh giao tiếp nối tiếp mới với

Serial.begin ()

lấy đối số tốc độ truyền (tốc độ giao tiếp), trong trường hợp này là 9600 bit mỗi giây.

void loop ()

{// đọc giá trị từ cảm biến sensorValue = analogRead (A0); // in kết quả đọc của cảm biến để bạn biết phạm vi của nó Serial.println (sensorValue);

Bất cứ điều gì sau một loạt các dấu gạch chéo

//

là một nhận xét, giúp mọi người hiểu bằng ngôn ngữ đơn giản chương trình dự định làm gì, nhưng không được bao gồm trong chương trình mà Arduino của bạn chạy. Trong vòng lặp chính, một hàm được gọi là

analogRead ();

kiểm tra trạng thái của chân A0 (sẽ là một số nguyên từ 0-1023) và lưu trữ giá trị đó trong biến

sensorValue

// ánh xạ việc đọc cảm biến thành một phạm vi cho đèn LED

analogWrite (9, bản đồ (sensorValue, 0, 1023, 0, 255)); chậm trễ (100); // Chờ 100 mili giây}

Dòng theo sau nhận xét tiếp theo đang làm rất nhiều việc cùng một lúc. Nhớ lại

analogWrite ()

nhận hai đối số, số pin (trong trường hợp của chúng tôi là 9) và giá trị cần ghi, phải nằm trong khoảng từ 0 đến 255. Hàm inline

bản đồ()

lấy năm đối số: số lượng để đánh giá (biến cảm biến luôn thay đổi), giá trị tối thiểu dự kiến và tối đa dự kiến cũng như tối thiểu và tối đa mong muốn. Nên

bản đồ()

chức năng trong trường hợp của chúng tôi là đánh giá Giá trị cảm biến đến và thực hiện một số phép nhân chéo để chia tỷ lệ đầu ra giảm từ 0-1023 xuống 0-255. Kết quả được trả về đối số thứ hai của

analogWrite ();

cài đặt độ sáng của đèn LED được kết nối với chân số 9.

Bước 4: Xây dựng mạch Arduino vật lý (tùy chọn)

Xây dựng một mạch Arduino vật lý (tùy chọn)
Xây dựng một mạch Arduino vật lý (tùy chọn)

Để lập trình Arduino Uno vật lý của bạn, bạn cần cài đặt phần mềm miễn phí (hoặc plugin cho trình chỉnh sửa web), sau đó mở nó lên. Nhiều tế bào quang điện khác nhau có các giá trị khác nhau, vì vậy nếu mạch vật lý của bạn không hoạt động, bạn có thể cần thay đổi điện trở được ghép nối với nó. Tìm hiểu thêm về bộ chia điện áp trong bài học Lớp Điện tử Có thể giảng dạy về điện trở.

Nối dây mạch Arduino Uno bằng cách cắm các linh kiện và dây để khớp với các kết nối được hiển thị ở đây trong Mạch Tinkercad. Để có hướng dẫn chuyên sâu hơn về cách làm việc với bảng Arduino Uno vật lý của bạn, hãy xem lớp Arduino có hướng dẫn miễn phí.

Sao chép mã từ cửa sổ mã Tinkercad Circuits và dán nó vào một bản phác thảo trống trong phần mềm Arduino của bạn hoặc nhấp vào nút tải xuống (mũi tên hướng xuống) và mở

tệp kết quả bằng cách sử dụng Arduino. Bạn cũng có thể tìm thấy ví dụ này trong phần mềm Arduino bằng cách điều hướng đến Tệp -> Ví dụ -> 03. Analog -> AnalogInOutSerial.

Cắm cáp USB của bạn và chọn bo mạch và cổng của bạn trong menu Công cụ của phần mềm.

Tải lên mã và sử dụng tay của bạn để che cảm biến không nhận được ánh sáng và / hoặc chiếu sáng vào cảm biến của bạn!

Mở màn hình nối tiếp để quan sát các giá trị cảm biến của bạn. Có khả năng các giá trị trong thế giới thực sẽ không mở rộng đến 0 hoặc đến 1023, tùy thuộc vào điều kiện ánh sáng của bạn. Vui lòng điều chỉnh phạm vi 0-1023 thành mức tối thiểu quan sát được và tối đa quan sát được của bạn để có được phạm vi biểu hiện độ sáng tối đa trên đèn LED.

Bước 5: Tiếp theo, hãy thử…

Bây giờ bạn đã học cách đọc một điện trở quang và lập bản đồ đầu ra của nó để điều khiển độ sáng của đèn LED, bạn đã sẵn sàng áp dụng những kỹ năng đó và các kỹ năng khác mà bạn đã học được cho đến nay.

Bạn có thể hoán đổi đèn LED cho một loại đầu ra khác, như động cơ servo và tạo một số mã để phản ánh mức ánh sáng hiện tại của cảm biến ở một vị trí nhất định dọc theo máy đo không?

Hãy thử hoán đổi điện trở quang của bạn cho các đầu vào tương tự khác như cảm biến khoảng cách siêu âm hoặc chiết áp.

Tìm hiểu thêm về cách giám sát đầu vào kỹ thuật số và tương tự của Arduino thông qua máy tính bằng Màn hình nối tiếp.

Đề xuất: