Mục lục:

Vẽ đồ thị cường độ ánh sáng bằng Arduino và Thư viện chính Arduino của Python: 5 bước
Vẽ đồ thị cường độ ánh sáng bằng Arduino và Thư viện chính Arduino của Python: 5 bước

Video: Vẽ đồ thị cường độ ánh sáng bằng Arduino và Thư viện chính Arduino của Python: 5 bước

Video: Vẽ đồ thị cường độ ánh sáng bằng Arduino và Thư viện chính Arduino của Python: 5 bước
Video: Projec Nhận Diện Màu Sắc OpenCV Bật Đèn LED Trên Arduino || Arduino OpenCV Color Recognize 2024, Tháng mười một
Anonim
Vẽ đồ thị cường độ ánh sáng sử dụng Arduino và Thư viện chính Arduino của Python
Vẽ đồ thị cường độ ánh sáng sử dụng Arduino và Thư viện chính Arduino của Python

Arduino là một công cụ tiết kiệm nhưng hiệu quả và chức năng cao, lập trình nó trong Embedded C khiến quá trình tạo dự án trở nên tẻ nhạt! Mô-đun Arduino_Master của Python đơn giản hóa điều này và cho phép chúng tôi thực hiện các phép tính, loại bỏ các giá trị rác và vẽ biểu đồ để thể hiện trực quan dữ liệu.

Nếu bạn chưa biết về mô-đun này, hãy cài đặt nó bằng lệnh pip install Arduino_Master

Đừng lo lắng nếu bạn không biết cách sử dụng mô-đun này, hãy truy cập liên kết này => Arduino_Master

Tuy nhiên, mã cho dự án này sẽ luôn có sẵn trong tài liệu hướng dẫn này.

Quân nhu

Đối với dự án này, bạn sẽ cần những thứ sau:

  1. Một Arduino
  2. Điện trở phụ thuộc ánh sáng (LDR) và
  3. Python 3 đã được cài đặt trên máy tính của bạn.

Bước 1: Xây dựng vi mạch của bạn:

Xây dựng mạch của bạn
Xây dựng mạch của bạn

Chúng tôi sẽ sử dụng chân A1 của Arduino để lấy dữ liệu đầu vào. Bạn cũng có thể sử dụng chân 5V và GND của Arduino thay cho Pin. Thực hiện kết nối như sau:

  1. Kết nối một đầu của LDR với cực dương của pin 5V hoặc với chân 5V của Arduino.
  2. Kết nối song song đầu kia của LDR với chân A1 và đầu cực âm của pin hoặc chân GND của Arduino.
  3. Sử dụng một điện trở để đảm bảo tất cả dòng điện không chạy đến GND, điều này sẽ dẫn đến việc bạn không nhận được tín hiệu đủ mạnh để cảm nhận ở đầu cuối A1 của Arduino. (Đang sử dụng một điện trở 10k ohms).

Bước 2: Lập trình Arduino của bạn:

Mô-đun Arduino_Master sử dụng Serial Monitor của Arduino để gửi và nhận dữ liệu. Lợi thế của việc sử dụng mô-đun này là, khi bạn lập trình Arduino, bạn có thể thay đổi chương trình python một mình cho các dự án khác nhau vì lập trình trong python tương đối dễ dàng hơn!

Mã số:

// Biến LDR_1 được sử dụng để biểu thị chân A1 của Arduino.

int LDR_1 = A1;

// Dữ liệu nhận được từ A1 sẽ được lưu trữ trong LDR_Value_1.

float LDR_Value_1;

Đầu vào chuỗi;

void setup ()

{pinMode (LDR_1, INPUT); // LDR_1 được đặt làm chân INPUT. Serial.begin (9600); // Tốc độ truyền thông được đặt ở 9600.}

void loop ()

{if (Serial.available ()> 0) // nếu có bất kỳ đầu vào nào trong màn hình nối tiếp thì hãy tiếp tục. {input = Serial.readString (); // Đọc đầu vào dưới dạng chuỗi. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) là hệ số chuyển đổi để nhận giá trị tính bằng Vol. Serial.println (LDR_Value_1); // Nếu đầu vào bằng "DATA", thì đọc đầu vào từ LDR_1 và in nó trên Serial Monitor. } else int i = 0; // nếu đầu vào không bằng "DATA", không làm gì cả! }

}

Bước 3: Lập trình Python để vẽ đồ thị dữ liệu từ Arduino:

Mỗi và mọi LDR sẽ có các giá trị điện trở riêng và chúng ta phải nhớ rằng không có linh kiện điện tử nào hoạt động giống hệt nhau. Vì vậy, trước tiên chúng ta phải tìm hiệu điện thế ở các cường độ ánh sáng khác nhau.

Tải chương trình sau lên IDE python của bạn và chạy nó:

Làm điều này đối với các cường độ ánh sáng khác nhau và sử dụng biểu đồ rút ra kết luận, chẳng hạn như nếu cường độ nhỏ hơn 1, căn phòng quá tối. Đối với cường độ từ 1 đến 2, căn phòng tối đáng kể. Đối với cường độ lớn hơn 2, đèn được Bật.

# Nhập mô-đun Arduino_Master

từ nhập Arduino_Master *

# thu thập dữ liệu

data = filter (ardata (8,quee = False, dynamic = True, msg = "DATA", lines = 30), eval_type = 'num', limit = [0, 5])

# giới hạn được đặt thành 5 vì chúng tôi đang sử dụng pin 5V.

# Vẽ các giá trị

Biểu đồ (data, stl = 'dark_background', label = 'Cường độ ánh sáng')

Bước 4: Chương trình cuối cùng để kiểm tra cường độ ánh sáng trong phòng

Sau khi đi đến kết luận từ dữ liệu bạn nhận được, hãy tải lên chương trình sau và đảm bảo thay đổi các giới hạn theo kết luận của bạn.

# Nhập mô-đun Arduino_Master

từ Arduino_Master nhập # thu thập dữ liệu dữ liệu = bộ lọc (ardata (8, bóp = Sai, động = Đúng, msg = "DATA", dòng = 50), dự kiến_type = 'num', giới hạn = [0, 5]) # phân loại dữ liệu dựa trên kết luận thông tin = cho tôi trong phạm vi (len (dữ liệu)): cường độ = dữ liệu nếu cường độ 1 và cường độ = 2: info.append ('BẬT nhẹ') # Vẽ Đồ thị. compGraph (data, info, stl = 'dark_background', label1 = 'Light Intensity', label2 = 'State')

Bước 5: Kết quả:

Kết quả
Kết quả

Chương trình sẽ mất một hoặc hai phút để chạy vì bạn đang đọc 50 giá trị tức thời từ Arduino.

Nếu bạn muốn tăng tốc quá trình, hãy thử thay đổi tham số dòng của hàm ardata. Nhưng hãy nhớ rằng số lượng quan sát càng ít thì chất lượng dữ liệu càng kém.

Lưu ý: Nếu đồ thị hoàn chỉnh trong hình trên không hiển thị, hãy tham khảo đồ thị phía trên phần Giới thiệu.

Đề xuất: