Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Hệ điều hành Raspbian Tìm hiểu cách tôi tạo ra Nhiệt kế LED kỹ thuật số này, với Raspberry Pi Zero W, dải LED, Màn hình OLED và PCB tùy chỉnh.
Nó tự động xoay vòng suy nghĩ danh sách các thành phố và hiển thị nhiệt độ trên màn hình OLED và đèn LED. Nhưng bạn cũng có thể chọn thủ công một thành phố để hiển thị, với các nút ở bên cạnh. Trên hết, nó sẽ tắt đèn LED và OLED, nếu nó không hoạt động trong vài phút và sẽ bật lại nếu phát hiện thấy sự thay đổi ánh sáng đáng kể (Được điều khiển bởi LDR).
Quân nhu
- Một Raspberry Pi Zero W và thẻ SD với Hệ điều hành Raspbian
- Mô-đun OLED 1,5 inch của Waveshare
- Nguồn cung cấp 5V 2.4A cho Raspberry Pi
- Một dải LED 5m WS2812B, 30 đèn LED / m
- Vít, vòng đệm, bu lông và giá đỡ.
- Một PCB tùy chỉnh, với các nút, một công tắc, một ldr, các tiêu đề pin và hơn thế nữa
- Hàn sắt và thuốc hàn
- Keo nóng
- Keo dán gỗ
- Ván ép 4mm và 6mm
- Acrylic trắng 3mm
Bước 1: Dữ liệu thời tiết
Ghi có cho StuffWithKirby cho mã của anh ấy khi đọc dữ liệu thời tiết JSON trong python.
Tôi thu thập dữ liệu thời tiết miễn phí từ OpenWeatherMap.org, nơi họ cung cấp dữ liệu thời tiết từ nhiều thành phố lớn hơn, ở nhiều quốc gia.
1. Bắt đầu bằng cách tạo một tài khoản MIỄN PHÍ trên OpenWeatherMap.org.
2. Sau đó sao chép api-key của bạn để sử dụng sau này.
3. Bây giờ tải xuống, giải nén và mở tệp city.list.json.gz và tìm kiếm các thành phố bạn muốn hiển thị và sao chép id thành phố để sử dụng sau.
Bước 2: Thiết lập RPi và viết mã
Đầu tiên, tôi kết nối OLED với Pi và cài đặt các thư viện cần thiết cho OLED, như được mô tả bởi nhà sản xuất, tại đây.
Đảm bảo RPi được kết nối với internet
1. Kích hoạt chức năng I2C và SPI trong raspi-config bên dưới Interfacing Options. Thoát và khởi động lại.
2. Chạy cái này để cập nhật:
sudo apt-get cập nhật
3. Chạy các lệnh sau để cài đặt các thư viện cần thiết:
sudo apt-get install python-dev
sudo apt-get install python-smbus sudo apt-get install python-serial sudo apt-get install python-images
4. Chạy lệnh sau để mở tệp cấu hình:
sudo nano / etc / modules
Đảm bảo hai dòng sau nằm trong tệp cấu hình, sau đó thoát và khởi động lại:
i2c-bcm2708
i2c-dev
5. Bây giờ chạy cái này để sao chép repo GitHub của tôi:
git clone https: / /github.com/Anders644PI/1.5 inch-OLED-with-RPi.git
6. Vào thư mục mới và giải nén RPi_GPIO-0_6_5.zip:
giải nén RPi_GPIO-0_6_5.zip
Chạy cái này để cài đặt thư viện:
cd RPi_GPIO-0_6_5
sudo python setup.py cài đặt
7. Quay lại thư mục chính, bằng cách nhập bằng cách gõ:
cd /home/pi/1.5 inch-OLED-with-RPi/
Hoặc
đĩa CD..
Sau đó, thực hiện một số với spidev-3_2.zip.
8. Sau đó giải nén wiringPi.zip:
giải nén wiringPi
cd wiringPi
Và chạy các lệnh sau:
chmod 777 bản dựng
./xây dựng
Kiểm tra cài đặt với:
gpio –v
9. Quay lại thư mục chính và giải nén bcm2835-1_45.zip
giải nén bcm2835-1_45.zip
cd bcm2835-1_45
10. Sau đó chạy cái này để cài đặt thư viện:
./configure
làm cho sudo thực hiện kiểm tra sudo thực hiện cài đặt
11. Một lần nữa quay lại /home/pi/1.5inch-OLED-with-RPi/ và chạy phần này để kiểm tra OLED:
cd / Demo_Code / Python /
sudo python main.py
Sau đó, tôi cũng phải cài đặt các thư viện cho dải LED WS2812B, làm theo hướng dẫn này.
Sau đó, nó chỉ là vấn đề viết mã, mất khoảng vài tháng từ đầu đến cuối, làm việc liên tục. Mã của tôi có thể được tìm thấy trên GitHub của tôi tại đây.
Bước 3: Định cấu hình API thời tiết
1. Cd vào LED_Thermometer_Code_and_OLED_driver:
cd LED_Thermometer_Code_and_OLED_driver
2. Sau đó, mở Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.py
Và sau đó cuộn xuống và chỉnh sửa api-key, thành api key của bạn, từ openweathermap.org, như thể hiện trong hình trên. Đồng thời thay đổi id thành phố và tên thành phố đến các vị trí mong muốn của bạn.
Bước 4: PCB tùy chỉnh
Giải nhì cuộc thi Raspberry Pi 2020