Mục lục:
- Quân nhu
- Bước 1: Thiết lập Raspberry Pi
- Bước 2: Kết nối thiết bị điện tử
- Bước 3: Thiết kế cơ sở dữ liệu
- Bước 4: Thiết lập Arduino
- Bước 5: Phần phụ trợ Raspberry Pi
- Bước 6: Trường hợp
Video: Đánh thức tôi - Đồng hồ báo thức thông minh: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Wake me up là một chiếc đồng hồ báo thức thông minh cũng có thể được sử dụng như một chiếc đèn thông minh.
Đèn led dây tích hợp mô phỏng ánh sáng tự nhiên chiếu vào phòng của bạn. Điều này cho phép bạn bắt đầu ngày mới một cách bình tĩnh và tự nhiên.
Đồng hồ báo thức cũng được trang bị màn hình 4 * 7 phân đoạn để đọc thời gian, loa để thức dậy với bản nhạc yêu thích của bạn, một nút cảm ứng, một ldr để điều chỉnh độ sáng của bảng điều khiển và một cảm biến nhiệt độ mà bạn có thể sử dụng để xem nhiệt độ phòng của bạn.
Quân nhu
Danh sách các mức giá chính xác mà tôi đã trả có thể được tìm thấy ở đây:
Bộ vi điều khiển và máy tính:
Raspberry Pi 4Tôi đã sử dụng raspberry pi 4 4GB, tuy nhiên, bất kỳ mô hình Raspberry pi 3+ nào cũng đều ổn
Arduino Uno
Arduino được sử dụng để điều khiển hiển thị đồng hồ 4 * 7 đoạn.
Cảm biến:
- TMP36: cảm biến nhiệt độ
- LDR: Điện trở phụ thuộc ánh sáng
Bộ truyền động:
- WS2801: Thanh dẫn có thể nhấn riêng lẻ
- Màn hình LCD: Màn hình LCD 16 * 2.
- Màn hình đồng hồ 4 * 7 đoạn
IC của:
- 74HC595: Đăng ký dịch chuyển cho màn hình LCD
- MCP3008: Bộ chuyển đổi 8-bit Analog sang kỹ thuật số
- Bộ chuyển đổi mức logic: Được sử dụng để giao tiếp giữa raspi và arduino
Những thứ khác:
- Một bộ khuếch đại adafruit MAX9744 để cung cấp năng lượng cho loa
- Bất kỳ loa nào, tôi đã sử dụng loa toàn dải Visaton 4Ohm 8Watt (Điều 2240)
- Nguồn điện 9volt để cấp nguồn cho bộ khuếch đại
- Nguồn điện 5volt để cung cấp cho ledstrip và các thành phần khác. Hãy lưu ý rằng mỗi led trong ledstrip có thể giảm 60mA, vì vậy hãy đảm bảo nguồn điện của bạn là đủ.
- Một vài điện trở 220Ohm
- Một breadboard nhỏ để đặt trong trường hợp của bạn.
Công cụ:
- Một mỏ hàn.
- Một cái gì đó để làm vỏ (tôi đã sử dụng máy in 3d với PLA và PETG và một số miếng dán vinyl để có được hiệu ứng bằng gỗ.)
Bước 1: Thiết lập Raspberry Pi
Raspberry pi là bộ điều khiển vi mô chính của chúng tôi.
Raspberry pi chạy máy chủ web cục bộ của chúng tôi, cơ sở dữ liệu, điều khiển ledstrip, loa,…
Phần 1: Cài đặt Raspbian
Sử dụng hướng dẫn này để cài đặt raspbian:
Đảm bảo SSH được bật
Phần 2: Kết nối
Để kết nối với Internet, bạn cần phải có tài khoản truy cập vào thiết bị đầu cuối của raspberry pi. Tôi khuyên bạn nên sử dụng bột bả. Trong loại thiết bị đầu cuối:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" là tên mạng wifi của bạn và "YourSSID" là mật khẩu của mạng.
Khi bạn đã thêm mạng, hãy thử khởi động lại Raspberry Pi.
Nhập lệnh 'ping 8.8.8.8', lệnh này sẽ gửi một gói tin đến máy chủ google nếu bạn nhận được phản hồi mạng của bạn đã được thiết lập và hoạt động!
Phần 3: Cài đặt các chương trình cần thiết
Chúng tôi sẽ cần một số cài đặt một số chương trình bổ sung để khởi động và chạy dự án này.
Trước khi bắt đầu, hãy chạy 2 lệnh này để đảm bảo rằng mọi thứ đã được nâng cấp.
cập nhật apt sudo
nâng cấp apt sudo
Có lẽ sẽ mất một lúc.
Apache
sudo apt install apache2 -y
sudo apt install php libapache2-mod-php -y
MariaDB
sudo apt install mariadb-server mariadb-client -y
sudo apt install php-mysql -y
PHPMyAdmin
sudo apt install phpmyadmin -y
Pip Python
Chúng tôi cần cài đặt pip để kích hoạt một số thư viện python
pip3 cài đặt mysql-connector-python
pip3 cài đặt flask-socketio
pip3 cài đặt cors bình
pip3 cài đặt gevent
pip3 cài đặt gevent-websocket
Bước 2: Kết nối thiết bị điện tử
Tôi đã thêm 2 lược đồ, 1 là lược đồ breadboard cho mục đích thử nghiệm. Tôi khuyên bạn nên xây dựng sơ đồ đầu tiên và cố gắng để mã hoạt động.
Tôi đã thêm các tệp fritzing bên dưới.
Bước 3: Thiết kế cơ sở dữ liệu
Đây là sơ đồ cơ sở dữ liệu tôi đã thực hiện. Các từ được viết bằng tiếng Hà Lan nhưng tôi sẽ giải thích chi tiết từng bảng.
Bảng 1: tblMuziek
Đây là một bảng khá cơ bản. Nó lưu tên nghệ sĩ, tên bài hát và tên tệp của một bài hát.
Bảng 2: tblLedstrip
Bảng này theo dõi trạng thái hiện tại của ledstrip, nó lưu trạng thái của ledstrip. Chúng tôi cần điều này cho chức năng đèn thông minh.
Bảng 3: tblSensoren
Bảng này theo dõi các cảm biến trong báo động của chúng tôi. Chúng tôi lưu trữ tên của cảm biến và kênh của MCP3008
Bảng 4: tblMeting
Bảng này lưu trữ các giá trị của các cảm biến của chúng tôi cùng với thời gian của chúng.
Bảng 5: tblWekker
Bảng này lưu trữ mật khẩu và tên đồng hồ báo thức của bạn (ví dụ: Phòng ngủ) Bảng này không bắt buộc nhưng tôi đã thêm nó vào vì tôi cho rằng bạn sẽ có nhiều hơn 1 đồng hồ báo thức trong nhà của mình.
Bảng 6: tblAlarm
Đây có lẽ là bảng quan trọng nhất. Nó theo dõi báo thức bạn đã đặt và đồng hồ phải làm gì (phát bài hát nào, chuỗi đèn led nào, nó sẽ báo vào những ngày nào,…). Nó là rất nhập khẩu để theo dõi 2 ngày. 1 ngày được sử dụng để lưu trữ vào giờ báo thức sẽ kêu. Người còn lại theo dõi lần cuối cùng báo thức kêu. Để biết nó sẽ diễn ra vào ngày nào trong tuần, tôi đã sử dụng một varchar có chứa một số gồm 7 chữ số. Chữ số đầu tiên là thứ hai, thứ ba thứ hai,… Nếu là 1 thì nó sẽ tắt, nếu là 0 thì không. Ví dụ: 1111100, điều này có nghĩa là báo thức này sẽ kêu vào Thứ Hai, Thứ Ba, Thứ Tư, Thứ Năm và Thứ Sáu.
Bước 4: Thiết lập Arduino
Bước này rất dễ dàng. Sẽ có một liên kết đến github của tôi ở bước tiếp theo, nơi bạn có thể tải xuống tệp arduino.
Chương trình làm gì?
Chương trình chờ dữ liệu nối tiếp đến từ số pi.
Ngay sau khi dữ liệu được nhận, nó sẽ phân tích cú pháp qua chuỗi và gửi lại xác nhận cho số pi.
Chuỗi sẽ có dạng như sau: '1201' điều này có nghĩa là 12:01. Tôi đã sử dụng màn hình hiển thị 7 phân đoạn cực dương chung, điều này có nghĩa là các Chữ số phải cao và A, B, C, D, E, F, G và DP phải ở mức thấp để bật chúng. Nếu bạn sử dụng một cực âm thông thường, bạn chỉ nên thay đổi HIGH thành LOW & LOW thành HIGH.
Đây là liên kết có thêm thông tin về cách hoạt động của màn hình 7 phân đoạn. (với việc sử dụng thư viện):
www.instructables.com/id/Using-a-4-digit-7…
Đây là một liên kết về 7 phân đoạn hiển thị mà không cần sử dụng thư viện:
create.arduino.cc/projecthub/SAnwandter1/p…
Bước 5: Phần phụ trợ Raspberry Pi
Bạn có thể tải xuống mã của tôi bằng Github. (https://github.com/VanHevelNico/WakeMeUp)
Cách cài đặt chương trình:
Phần phụ trợ được viết bằng python sử dụng flask. Bạn có thể tạo một dịch vụ tự động khởi động chương trình này (app.py).
Bạn nên đặt mã giao diện người dùng trong tệp html của máy chủ apache mà chúng tôi đã tải xuống trước đó. (/ var / html)
Chương trình hoạt động như thế nào?
Khi đồng hồ báo thức được bật, hãy truy cập địa chỉ ip của đồng hồ của bạn (nó sẽ được hiển thị trên màn hình LCD)
Ngay sau khi bạn truy cập địa chỉ ip đó trong trình duyệt, máy tính của bạn sẽ gửi một yêu cầu socket.io tới chương trình phụ trợ nói rằng một ứng dụng khách đã kết nối. Khi chương trình phụ trợ nhận được điều này, một vài chuỗi sẽ bắt đầu mà tôi sẽ giải thích bên dưới.
Cài đặt
Điều này phức tạp hóa tất cả các đối tượng cần thiết.
GetTemp
Thao tác này đọc kênh 0 của mcp3008 và chuyển đổi dữ liệu nhị phân sang nhiệt độ thực tế và đưa nó vào cơ sở dữ liệu với ngày và giờ hiện tại.
GetTempGrafiek
Điều này nhận 20 giá trị trước đây của cảm biến nhiệt độ và phát ra giao diện người dùng.
tijd_sturen
Phương pháp này lấy thời gian hiện tại và kiểm tra xem phút đã thay đổi hay chưa. Nếu nó đã thay đổi, chương trình sẽ gửi thời gian mới đến arduino bằng cách sử dụng giao tiếp nối tiếp
checkAlarmen
Đây là phương pháp quan trọng nhất. Nó nhận tất cả các báo thức đã được bật và kiểm tra xem có bất kỳ báo thức nào trong số này phải hoạt động từ bây giờ đến 5 phút trước hay không (đây là bộ đệm để đảm bảo mỗi báo thức sẽ hoạt động khi cần thiết). Nếu báo thức phải kêu, chúng tôi sẽ bắt đầu nhạc, bảng điều khiển, … Chúng tôi đọc điện trở nhạy lực liên tục và khi giá trị giảm xuống dưới 1000 (đọc fsr được nhấn) Chúng tôi bật báo thức và cập nhật báo thức trong cơ sở dữ liệu. Chúng tôi đặt ngày báo thức kêu lần cuối cùng thành ngày hiện tại.
statusLight
Phương thức này phát ra giá trị của ledstrip và bật ledstrip nếu cần.
lichtAanpassen
Đây là một phương pháp bổ sung để đảm bảo bảng điều khiển và đèn báo động không xung đột.
Bước 6: Trường hợp
Liên kết đến các tệp của tôi có thể được tìm thấy tại đây:
Tôi đã sử dụng máy in 3d để in vỏ. Nó được in thành 4 phần khác nhau:
- Tấm phía trước có lỗ cho loa và một số bức tường cho màn hình 7 phân đoạn
- Vòng ngoài cho thanh dẫn trong PETG vận chuyển.
- Phần giữa
- Mặt sau có lỗ cho màn hình LCD và lỗ cho dây cáp.
Trong mô hình ban đầu không có lỗ cho màn hình 7 phân đoạn tuy nhiên điều này là cần thiết vì nếu không thì ánh sáng của màn hình 7 phân đoạn sẽ không chiếu qua.
Như bạn có thể thấy sau khi đặt tất cả các thành phần vào, tôi đã sử dụng miếng dán vinyl với vẻ ngoài bằng gỗ để làm cho kết quả cuối cùng trông đẹp hơn. Màn hình đồng hồ tỏa sáng nhờ nhãn dán tạo ra hiệu ứng rất đẹp mắt.
Đề xuất:
Đèn LED để bàn thông minh - Chiếu sáng thông minh W / Arduino - Neopixels Workspace: 10 bước (có hình ảnh)
Đèn LED để bàn thông minh | Chiếu sáng thông minh W / Arduino | Neopixels Workspace: Ngày nay chúng ta dành nhiều thời gian ở nhà, học tập và làm việc ảo, vậy tại sao không biến không gian làm việc của chúng ta trở nên tuyệt vời hơn với hệ thống chiếu sáng tùy chỉnh và thông minh dựa trên Arduino và Ws2812b LED. Sau đây tôi chỉ cho bạn cách xây dựng Smart của bạn Đèn LED để bàn
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: 6 bước (có hình ảnh)
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: Hướng dẫn Deze có trong het Engels, voor de Nederlandse versie klik hier Bạn có điện thoại thông minh (cũ) chưa sử dụng? Biến nó thành một màn hình thông minh bằng Google Trang tính và một số bút và giấy, bằng cách làm theo hướng dẫn từng bước dễ dàng này. Khi bạn hoàn thành
Hệ thống thông báo mã thông báo: 5 bước
Hệ thống thông báo mã thông báo: Trong phần hướng dẫn trước, chúng ta đã biết cách làm cho Arduino của bạn có thể nói. Hôm nay chúng ta sẽ khám phá thêm một chút về chủ đề tương tự. Tất cả chúng ta đều phải có một lúc nào đó trong đời bắt gặp hệ thống Thông báo có thể là trong ngân hàng hoặc nhà ga xe lửa. Bạn đã bao giờ chiến thắng
Đánh thức dễ dàng: Đèn đánh thức thông minh được tạo bằng Raspberry Pi: 6 bước
Easy Wake-Up: A Smart Wake-Up Light Made With Raspberry Pi: Intro Đối với chương trình giảng dạy Project1, tôi đã phải làm một cái gì đó. Tôi luôn bị cuốn hút về việc một chiếc đèn báo thức như thế nào sẽ mang lại lợi ích cho bạn trong việc thức dậy giống như những chiếc đèn từ philips. Vì vậy, tôi quyết định làm một chiếc đèn báo thức. Tôi đã đánh thức bằng Raspberr
Bảo mật thông minh cho ngôi nhà thông minh của bạn: 14 bước
Bảo mật thông minh Ngôi nhà thông minh của bạn: Tôi đang tham gia cuộc thi an toàn và bảo mật. Nếu bạn thích tài liệu hướng dẫn của tôi, vui lòng bỏ phiếu cho nó! Tôi sẽ chỉ cho bạn cách dễ dàng và rẻ tiền để bảo vệ hoàn toàn ngôi nhà của bạn và môi trường của nó. Định cấu hình y