Mục lục:

Raspberry Pi Smart NightLight: 5 bước
Raspberry Pi Smart NightLight: 5 bước

Video: Raspberry Pi Smart NightLight: 5 bước

Video: Raspberry Pi Smart NightLight: 5 bước
Video: Hướng dẫn tự làm GƯƠNG THÔNG MINH (MAGIC MIRROR) bằng Raspberry Pi - Phần 1 2024, Tháng bảy
Anonim
Raspberry Pi Smart NightLight
Raspberry Pi Smart NightLight

Gần đây tôi dậy sớm, nhiều hôm bên ngoài trời còn tối nhưng không muốn bật đèn ảnh hưởng đến việc nghỉ ngơi của vợ nên đã tính mua đèn ngủ. Tôi đã tìm kiếm rất nhiều cửa hàng bán đèn ngủ, nhưng tôi không nghĩ nó là tôi muốn, nhưng tôi thấy một chiếc đèn ngủ có tên DockerPi trong một cửa hàng ở Amazon, được điều khiển bởi Raspberry Pi. Nó rất tốt và có thể cung cấp các tính năng DIY. Tôi đã đọc mô tả trên wiki về sản phẩm này, nó có thể được điều khiển trực tiếp bằng dòng lệnh, là một lập trình viên sử dụng hệ thống Linux, tôi nghĩ điều này rất hay, vì vậy tôi đã mua lại và bắt đầu dự án này.

Bước 1: Bước 1: Chuẩn bị tất cả nội dung

Bước 1: Chuẩn bị tất cả nội dung
Bước 1: Chuẩn bị tất cả nội dung

Sau khi mở hộp và sau đó tôi tháo nắp bảo vệ trên tấm acrylic, sau đó gắn mô-đun của DockerPi này vào Raspberry Pi của tôi bằng screews và thanh đồng. nó cố định ổn định.

Bước 2: Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất vào thẻ SD

Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất sang thẻ SD
Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất sang thẻ SD
Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất sang thẻ SD
Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất sang thẻ SD
Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất sang thẻ SD
Bước 2: Flash Hình ảnh hệ điều hành Rasbpian mới nhất sang thẻ SD

Tôi tải xuống hình ảnh Raspbian mới nhất từ:

và sau đó flash hình ảnh thông qua một phần mềm có tên: etcher

bạn có thể tải xuống tại đây:

Giải nén tệp hình ảnh từ gói gzip và bạn sẽ nhận được tệp *.img, chọn hình ảnh và chọn ổ đĩa mà PC của bạn nhận dạng thẻ TF, chỉ cần nhấn "Flash" và đợi trong vài phút, nó sẽ được thực hiện.

và sau đó tháo thẻ TF và lắp nó vào Raspberry Pi của bạn và bật nguồn.

Bước 3: Bước 3: Bật chức năng I2C từ Raspi-config

Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config
Bước 3: Bật chức năng I2C từ Raspi-config

Khi Raspberry pi khởi động, tôi đã mở một thiết bị đầu cuối và nhập lệnh này: sudo raspi-config

và điều hướng đến "Tùy chọn giao diện" và chọn "I2C" và bật nó. tại sao tôi nên sử dụng lệnh này?

Bởi vì mô-đun đèn ngủ của DockerPi đang sử dụng giao thức I2C giao tiếp với Raspberry Pi.

Bước 4: Bước 4: Cắm tấm Acrylic vào khe cắm

Bước 4: Cắm Bảng Acrylic vào Khe cắm
Bước 4: Cắm Bảng Acrylic vào Khe cắm
Bước 4: Cắm Bảng Acrylic vào Khe cắm
Bước 4: Cắm Bảng Acrylic vào Khe cắm
Bước 4: Cắm Bảng Acrylic vào Khe cắm
Bước 4: Cắm Bảng Acrylic vào Khe cắm

Nó rất vừa vặn với khe và bạn có thể thấy hình ảnh rằng tấm acrylic có thể nằm yên trong khe.

bước tiếp theo là chạy mã thử nghiệm để kiểm tra xem nó có hoạt động bình thường không.

Tôi đã tải xuống mã ví dụ từ github bằng cách nhập lệnh này vào thiết bị đầu cuối tại raspberry Pi.

cd ~

git clone

cd dockerpi / Đèn ngủ /

sudo./Nightligh.sh

và sau đó đèn ngủ của tôi bật và sáng.

Tôi đọc hướng dẫn trên wiki của nó và tìm thấy tất cả biểu đồ bản đồ đăng ký của đèn LED.

Bước tiếp theo sẽ là phần thú vị nhất, tôi muốn thêm một cảm biến nhiệt điện hồng ngoại cơ thể người, để nó phát hiện ra rằng tôi đang sáng lên để thắp sáng chiếc đèn ngủ nhỏ này ~

Bước 5: Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại

Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại
Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại
Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại
Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại
Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại
Bước 5: Thiết lập cảm biến nhiệt điện hồng ngoại

Ở đây, chúng tôi đang sử dụng cảm biến chuyển động PIR. PIR là viết tắt của hồng ngoại thụ động. Cảm biến chuyển động này bao gồm một thấu kính Fresnel, một đầu dò hồng ngoại và mạch phát hiện hỗ trợ. Thấu kính trên cảm biến tập trung bất kỳ bức xạ hồng ngoại nào hiện diện xung quanh nó về phía máy dò hồng ngoại. Cơ thể chúng ta tạo ra nhiệt hồng ngoại và kết quả là nhiệt này được cảm biến chuyển động thu nhận. Cảm biến phát ra tín hiệu 5V trong khoảng thời gian một phút ngay khi phát hiện ra sự hiện diện của một người. Nó cung cấp phạm vi phát hiện dự kiến khoảng 6–7 mét và có độ nhạy cao. Khi cảm biến chuyển động PIR phát hiện một người, nó sẽ xuất tín hiệu 5V đến Raspberry Pi thông qua GPIO của nó và chúng tôi xác định những gì Raspberry Pi phải làm khi phát hiện kẻ xâm nhập thông qua mã hóa Python. Ở đây chúng tôi chỉ in "Đã phát hiện kẻ xâm nhập".

Sau khi bạn đã thiết lập Raspberry Pi của mình, bây giờ chúng ta có thể bắt đầu làm rối với các chân GPIO của nó. Ở đây, chúng tôi sẽ cố gắng nhấp nháy đèn LED bằng cách sử dụng tập lệnh Python. Sao chép và dán mã sau vào Raspberry Pi của bạn. Bạn có thể thực hiện việc này bằng cách mở "leafpad" của trình soạn thảo văn bản trên Raspberry Pi của mình và sao chép mã này vào đó và lưu nó dưới dạng tệp Python: nightlight.py:

#import libararies.

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

thời gian nhập khẩu

nhập khẩu smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (Sai)

GPIO.setmode (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) # Đọc đầu ra từ cảm biến chuyển động PIR

bus = smbus. SMBus (DEVICE_BUS) # trường hợp của smbus cho thiết bị i2c, có nghĩa là đèn ngủ.

trong khi Đúng:

cố gắng:

i = GPIO.input (11)

if i == 0: #Khi đầu ra từ cảm biến chuyển động là THẤP

print ("Không có kẻ xâm nhập", i)

cho tôi trong phạm vi (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0x00) # TẮT LED

time.sleep (0,2)

time.sleep (0,1)

elif i == 1: # Khi đầu ra từ cảm biến chuyển động ở mức CAO

print ("Đã phát hiện kẻ xâm nhập", i)

cho tôi trong phạm vi (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF) # TẮT LED

time.sleep (0,2)

time.sleep (0,1)

ngoại trừ KeyboardInterrupt as e:

print ("Thoát khỏi vòng lặp")

và sau đó lưu nó và làm cho nó chạy trong khi khởi động pi raspberry.

sudo vim.tiny /etc/rc.local

và thêm dòng này trước khi thoát 0:

sudo python /home/pi/nightlight.py &

và sau đó lưu nó và khởi động lại Pi của bạn, nó sẽ hoạt động bình thường…

Cảm ơn đã xem ~

Đề xuất: