Mục lục:

Tạo bộ ghi dữ liệu với Raspberry Pi: 3 bước (có hình ảnh)
Tạo bộ ghi dữ liệu với Raspberry Pi: 3 bước (có hình ảnh)

Video: Tạo bộ ghi dữ liệu với Raspberry Pi: 3 bước (có hình ảnh)

Video: Tạo bộ ghi dữ liệu với Raspberry Pi: 3 bước (có hình ảnh)
Video: 5 Dự Án Nổi Bật với Raspberry Pi trong năm 2022 2024, Tháng bảy
Anonim
Tạo bộ ghi dữ liệu với Raspberry Pi
Tạo bộ ghi dữ liệu với Raspberry Pi

Bộ ghi dữ liệu đơn giản này thực hiện các phép đo ánh sáng thường xuyên với LDR (Điện trở quang) tương tự và lưu trữ chúng trong một tệp văn bản trên Raspberry Pi của bạn. Bộ ghi dữ liệu này sẽ đo và ghi lại mức độ ánh sáng sau mỗi 60 giây, cho phép bạn theo dõi độ sáng thay đổi như thế nào trong một khoảng thời gian.

Nếu chúng ta muốn sử dụng cảm biến tương tự với Raspberry Pi, chúng ta cần phải có khả năng đo điện trở của cảm biến. Không giống như Arduino, các chân GPIO của Raspberry Pi không thể đo điện trở và chỉ có thể cảm nhận nếu điện áp cung cấp cho chúng cao hơn một điện áp nhất định (khoảng 2 vôn). Để khắc phục vấn đề này, bạn có thể sử dụng Bộ chuyển đổi tương tự sang kỹ thuật số (ADC) hoặc thay vào đó bạn có thể sử dụng một tụ điện tương đối rẻ.

Bước 1: Những gì bạn sẽ cần

Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần
Những gì bạn sẽ cần

- Một RaspberryPi với Raspbian đã được cài đặt. Bạn cũng cần có thể truy cập Pi bằng Màn hình, Chuột và Bàn phím hoặc thông qua Máy tính Từ xa. Bạn có thể sử dụng bất kỳ mẫu Raspberry Pi nào. Nếu bạn có một trong các kiểu Pi Zero, bạn có thể muốn hàn một số chân tiêu đề vào cổng GPIO.

- Điện trở phụ thuộc ánh sáng (Còn được gọi là LDR hoặc Điện trở quang)

- Tụ gốm 1 uF

- Một bảng mô hình tạo mẫu không hàn

- Một số dây nhảy từ Nam đến Nữ

Bước 2: Xây dựng 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
Xây dựng mạch của bạn
Xây dựng mạch của bạn

Xây dựng mạch trên trên bảng mạch của bạn đảm bảo rằng không có dây dẫn thành phần nào chạm vào. Điện trở phụ thuộc ánh sáng và Tụ gốm không có cực tính có nghĩa là dòng điện âm và dương có thể được kết nối với một trong hai dây dẫn. Do đó, bạn không cần phải lo lắng về cách các thành phần này đã được kết nối trong mạch của bạn.

Khi bạn đã kiểm tra mạch của mình, hãy cẩn thận kết nối cáp jumper với các chân GPIO của Raspberry Pi bằng cách làm theo sơ đồ trên.

Bước 3: Tạo tập lệnh Python để đọc và ghi dữ liệu của bạn

Tạo tập lệnh Python để đọc và ghi dữ liệu của bạn
Tạo tập lệnh Python để đọc và ghi dữ liệu của bạn

Mở IDLE trên Raspberry Pi của bạn (Menu> Lập trình> Python 2 (IDLE)) và mở một dự án mới (Tệp> Tệp mới). Sau đó nhập như sau:

nhập RPi. GPIO dưới dạng GPIO

nhập thời gian nhập datetime loginterval = 60 # khoảng thời gian nhật ký tính bằng giây savefilename = "lightlevels.txt" SensorPin = 17 TriggerPin = 27

GPIO.setmode (GPIO. BCM)

cap = 0,000001 # 1uf adj = 2.130620985

điện trở def (mpin, tpin):

GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO. IN) time.sleep (0.2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () trả về endtime-starttime def writeline (txt, fn): f = open (fn, 'a') f.write (txt + '\ n') f.close () i = 0 t = 0 while True: stime = time.time () cho một trong phạm vi (1, 11): res = (đo điện trở (SensorPin, TriggerPin) / cap) * adj i = i + 1 t = t + res if a == 10: t = t / i print (t) writeline (str (datetime.datetime.now ()) + "," + str (t), savefilename) i = 0 t = 0 while stime + loginterval> time.time (): # chờ cho đến khi logtime có thời gian trôi qua.sleep (0,0001)

Lưu dự án của bạn dưới dạng datalogger.py (Tệp> Lưu Dưới dạng) trong thư mục Tài liệu của bạn.

Bây giờ hãy mở Terminal (Menu> Accessories> Terminal) và nhập lệnh sau:

python datalogger.py

Tập lệnh sẽ tạo một tệp văn bản có tên "lightlevels.txt" và cập nhật nó sau mỗi 60 giây. Bạn có thể thay đổi tên tệp này trên dòng 6. Bạn cũng có thể điều chỉnh tần suất cập nhật của bộ dữ liệu bằng cách thay đổi dòng 5.

Đề xuất: