Mục lục:
- Bước 1: Tổng quan về các yếu tố phần cứng
- Bước 2: Tổng quan về phần mềm
- Bước 3: Danh sách bộ phận
- Bước 9: Thiết kế và viết mã
- Bước 10: Cài đặt chương trình
- Bước 11: Lắp ráp bộ hẹn giờ
- Bước 12: Kiểm tra tích hợp
- Bước 13: Kết luận
Video: Đa hẹn giờ W / Điều khiển bên ngoài: 13 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Dự án có thể giảng dạy này là một bản xây dựng của một Bộ hẹn giờ đa chức năng
Bộ đếm thời gian này có khả năng hoạt động như:
- Báo thức cho mục đích chung với thời gian có thể lựa chọn từ 1 giây đến +90 giờ. Có một bộ đếm ngược với âm thanh báo động và / hoặc điều khiển thiết bị bên ngoài cho đến khi kết thúc, sau đó là một chỉ báo đếm ngược về thời gian kể từ khi báo động.
- Bộ hẹn giờ ngủ trưa với 7 thời gian có thể lựa chọn, đếm ngược và báo thức khi hoàn thành.
- Một bộ đếm thời gian thiền với 4 thời gian có thể lựa chọn, có đếm ngược và một tiếng kêu ngắn khi hoàn thành, đếm ngược với một tiếng kêu khác vào 5 phút sau đó.
Dự án này có thể được xây dựng như mô tả ở đây hoặc sửa đổi cho phù hợp. Trước đây, tôi đã xây dựng một bộ hẹn giờ với chức năng này và sử dụng nó trong Thiết bị hướng dẫn đầu tiên của tôi để điều khiển hộp tiếp xúc với tia UV.
Tôi nghĩ rằng tôi có thể xuất bản chương trình ban đầu và thiết kế bảng. Tuy nhiên, vì một số lý do tôi không thể tìm thấy mã. Tôi cũng muốn cải tiến phần cứng để làm cho các mạch điều khiển linh hoạt hơn và giảm hao pin. Kết quả là việc thiết kế lại bảng mạch chính và viết lại mã tạo cơ hội để thảo luận về cách tiếp cận lập trình và thiết kế phần cứng.
Bất cứ khi nào tôi tạo một bảng mạch, tôi thường thấy rằng có sai sót trong thiết kế hoặc vị trí của các thành phần, Bảng mạch mà tôi xây dựng cũng là một trong hai lỗi. Thêm vào đó, tôi chỉ muốn tham gia vào tất cả các khía cạnh của một dự án từ đầu đến cuối. Đây là một số lý do khiến tôi tự sản xuất bảng mạch thay vì gửi các tập tin Gerber ra nước ngoài để sản xuất. Có lẽ tôi chỉ già và mắc kẹt trong con đường của tôi. Dự án này phản ánh sự thiên vị này. Vì tôi tự làm bảng mạch, thiết kế và tệp Gerber của tôi không đáp ứng các tiêu chuẩn sản xuất nên tôi đã không đưa vào các tệp này. Những ai không muốn khắc và hoàn thiện bảng, vui lòng chuẩn bị thiết kế của riêng họ và đăng các tệp Gerber trong phần nhận xét. Vui lòng sản xuất và kiểm tra bảng của bạn trước khi đăng.
Bước 1: Tổng quan về các yếu tố phần cứng
Thiết bị được cung cấp năng lượng bởi 4 pin AAA và được điều khiển bởi Arduino Pro Mini 5V.
Một còi / loa nhỏ cung cấp âm thanh báo động.
Một rơ le 5v thu nhỏ cung cấp điện áp điều khiển cho các thiết bị bên ngoài. Tính linh hoạt được cung cấp trong nguồn của đầu ra điện áp điều khiển này.
Một bộ mã hóa quay với nút nhấn cung cấp lựa chọn menu.
Màn hình OLED và công tắc khởi động / dừng tạm thời hoàn thiện giao diện người dùng.
Phần cứng điện tử bổ sung bao gồm một công tắc nguồn SPDT và một giắc cắm điện thoại thu nhỏ để kết nối với các thiết bị bên ngoài.
Ngoài ra, các tệp để hỗ trợ bạn trong dự án này được cung cấp:
Tệp STL cho trường hợp dự án in 3D.
Hình ảnh mặt nạ đồng và hàn để khắc và hoàn thiện bảng mạch điều khiển và bộ mã hóa quay.
Sơ đồ và hình ảnh bảng như một tài liệu tham khảo cho những người muốn sửa đổi thiết kế của tôi.
Bạn có thể muốn xem lại Tài liệu hướng dẫn của tôi về cách tạo bảng mạch hai mặt như một ví dụ về cách sản xuất bảng mạch.
Bước 2: Tổng quan về phần mềm
Cùng với các tệp nguồn Arduino, một số thông tin bổ sung có thể hữu ích..
Thư viện điều khiển phần cứng được sử dụng khi có sẵn (tắt nút, điều khiển OLED, đọc mã hóa quay).
Chương trình thực hiện một máy trạng thái hữu hạn đơn giản (FSM) để điều khiển việc thực thi mã như một câu lệnh chuyển đổi trong hàm lặp..
Một lớp Menu được định nghĩa để cho phép lựa chọn các tùy chọn hiển thị trên OLED và lựa chọn bằng bộ mã hóa quay.
Đầu vào được thực hiện bằng cách thăm dò trực tiếp (điều khiển không gián đoạn) vì nó không phải là thời gian quan trọng và làm cho mã rõ ràng hơn.
In các câu lệnh thành Serial được sử dụng để hỗ trợ việc theo dõi việc thực thi mã và gỡ lỗi
Các loại phần tử cấu trúc chương trình khác nhau bao gồm:
- Nhiều tab mã để tách biệt một số chức năng và biến điều khiển phần cứng.
- Chuyển các câu lệnh để đặt giá trị trạng thái (FSM) và các biến điều khiển.
- Định nghĩa cấu trúc
- Các phép liệt kê để cho phép gán các giá trị trạng thái dưới dạng văn bản.
- # xác định định nghĩa tiền xử lý cho giá trị chuẩn và chân phần cứng.
Bước 3: Danh sách bộ phận
Tôi không chắc nên đặt bước này ở đâu vì nó có thể được thực hiện ở hầu hết mọi thời điểm. Tôi đã sử dụng một hộp bao vây in 3D. Bạn có thể không có quyền truy cập vào máy in 3D hoặc thích một loại bao vây khác như hộp nhôm, nhựa Cắt bằng Laser, Gỗ chạm khắc bằng tay hoặc loại khác mà bạn sử dụng cho các dự án điện tử của mình. Tôi đã bao gồm các tệp STL cho trên cùng, dưới cùng, núm bộ mã hóa xoay và khung bezel OLED. Sử dụng các tệp này và bộ cắt theo lựa chọn của bạn để tạo tệp gcode cho máy in của bạn.
Tôi in ra tất cả các bộ phận bằng cách sử dụng dây tóc PLA, một màu cho phần trên và dưới của vỏ bọc, một màu tương phản khác cho núm và khung bezel (được dán vào phần trên.) Tôi sẽ không chỉ định tất cả các cài đặt máy cắt của mình nhưng, hãy sử dụng Tri -Kích thước chèn ít nhất 35% để cho phép khai thác các vít góc và cài đặt "không hỗ trợ" để đọc được chữ được cắt. Tôi đã in hộp bằng chiều cao lớp "bình thường" của máy in.
Bước 9: Thiết kế và viết mã
Bước này là tùy chọn nhưng được đề xuất để hiểu rõ hơn.
Phần lớn nỗ lực tính theo giờ là việc viết mã. Bạn có thể bỏ qua bước này nếu bạn sử dụng chương trình đính kèm là -is. Tuy nhiên, bạn nên dành thời gian xem lại mã để hiểu rõ hơn hoặc sửa đổi để đáp ứng nhu cầu của mình.
Những nhận xét sau đây có thể hữu ích trong việc hiểu quá trình này.
- Nhận xét- Bình luận rộng rãi khi bạn tiếp tục - Tôi thường viết các nhận xét trước khi tôi viết mã.
- Chia & chinh phục - sử dụng các chức năng, lớp và mô-đun (tab.) Sử dụng biên dịch thường xuyên (Xác minh) để kiểm tra cú pháp. Gỡ lỗi - Sử dụng câu lệnh in để xác minh luồng và kiểm tra các giá trị cũng như giao diện phần cứng. Đừng ngại giải quyết các vấn đề khi bạn tiếp tục, không ai viết mã không có lỗi!
- Hằng số - #define hướng dẫn trình biên dịch trước gán tên cho số pin. Định nghĩa biến Const với chú thích làm giảm hoặc loại bỏ các số "Phép thuật". Việc sử dụng các hằng số nằm ở đầu chương trình hoặc hàm cho phép thay đổi các tham số mà không cần viết lại mã
- Thư viện xác định trước - Sử dụng Thư viện xác định trước giúp giảm gánh nặng lập trình và thời gian gỡ lỗi.
- Khối thiết kế - Được tạo bằng cách sử dụng các hàm, Cô lập mã trong các tab riêng biệt (chương trình liên kết & tệp.hfiles), bảng liệt kê, lớp và cấu trúc. Tập trung sự chú ý của bạn vào từng cái để hiểu cách chúng hoạt động liên quan đến phần còn lại của mã.
- (Các) Máy trạng thái - Đây là một mẫu lập trình hoạt động hiệu quả với Arduinos hoặc bất kỳ chương trình nào được sử dụng để điều khiển đầu ra hoặc đầu vào phản ứng. Một số hương vị của máy trạng thái tồn tại. Mã này sử dụng một máy trạng thái dựa trên câu lệnh switch trong hàm vòng lặp. Biểu mẫu này rất dễ hiểu và dễ gỡ lỗi.
- Màn hình & Menu - Đầu ra OLED nhỏ hơn nhưng cung cấp đủ phản hồi cho người dùng bình thường và hỗ trợ lựa chọn tùy chọn. Nó tích hợp tốt với máy trạng thái (hầu hết tất cả các trạng thái đều có màn hình OLED liên kết). Lớp Menu rất hữu ích trong việc tách mã để hiển thị và chọn các tùy chọn menu
Vui lòng đọc chương trình nhiều lần. Nó hữu ích để thực hiện một chức năng hoặc phần tại một thời điểm. Tôi thường không hiểu mã mà tôi đã viết trừ khi tôi đã đọc nó ít nhất hai lần!
Bước 10: Cài đặt chương trình
Sao chép tệp đính kèm vào máy tính của bạn sau đó giải nén nó vào thư mục Sketches của bạn
Kết nối Arduino với máy tính của bạn và tải xuống mã chương trình theo cách bình thường. Mở màn hình nối tiếp Arduino IDE để xác minh rằng chương trình đang chạy và hỗ trợ gỡ lỗi.
Bước 11: Lắp ráp bộ hẹn giờ
Sau khi các phần trên và dưới của vỏ được in và làm sạch, các thành phần có thể được gắn vào bằng cách sử dụng vít nhựa tự khai thác nhỏ. Đầu tiên, ngăn chứa pin được gắn vào mặt sau. Phần còn lại của các bộ phận được gắn vào đỉnh bao vây theo thứ tự sau:
- OLED và cáp
- Công tắc Start / Stop & đấu dây
- Bộ mã hóa quay và cáp
- Loa / Buzzer & hệ thống dây điện
- Giắc điều khiển bên ngoài và hệ thống dây điện
- Công tắc trượt Bật / Tắt và hệ thống dây điện (kiểm tra kỹ hướng để bật theo hướng bạn muốn
Nếu bạn đang hàn cáp trực tiếp vào bảng mạch của mình, hãy thực hiện việc này sau khi tất cả các bộ phận được gắn vào vỏ để giảm đứt dây. Bạn phải đợi cho đến khi cáp được nối với bo mạch chính trước khi vặn bo mạch đó vào mặt sau.
Nếu bạn đang sử dụng đầu cắm pin và đầu nối Dupont, trước tiên hãy gắn bo mạch chính vào mặt sau bằng vít, sau đó cắm các thành phần vào. Hãy cẩn thận khi bạn kết nối pin với bo mạch chính và quan sát đúng cực. Bạn cũng nên thiết lập jumper điều khiển rơ le hoặc hệ thống dây điện vào lúc này.
Đáy của vỏ kết nối với đỉnh bằng cách sử dụng 4-40 vít máy đầu tròn, mỗi vít ở mỗi góc. Bốn lỗ trên cùng phải được khai thác bằng vòi 4/40 hoặc nếu bạn sử dụng 4-40 hạt chèn có ren, bạn sẽ cần phải khoan các lỗ để chấp nhận chúng. 4 lỗ để lắp bảng mạch chính ở phía dưới cũng cần được khoan. Cắm bo mạch này vào giá gắn pin gắn liền và đánh dấu vị trí của các lỗ. Khoan thích hợp cho các vít lắp của bạn.
Bước 12: Kiểm tra tích hợp
Kiểm tra cuối cùng (tích hợp) được thực hiện bằng cách thử tất cả các tùy chọn menu và xác minh chúng hoạt động với phần cứng như được thiết kế. Đối với mã tôi đã cung cấp, điều đó sẽ đủ. Nếu bạn đã viết mã của riêng mình hoặc sửa đổi mã của bạn, thử nghiệm của bạn sẽ cần phải mở rộng hơn. Tôi không tin rằng tất cả các lựa chọn thời gian cần phải được thực hiện nhưng bạn cần thử tất cả các tùy chọn báo thức tiêu chuẩn và xác nhận báo thức Ngủ trưa và Thiền hoạt động như thiết kế.
Bước 13: Kết luận
Chúc mừng bạn đã thành công, tôi hy vọng, dự án. Tôi chắc chắn rằng bạn đã gặp phải vấn đề trong quá trình mà bạn cần giải quyết. Tôi cũng chắc chắn rằng một số hướng dẫn của tôi có thể đầy đủ hơn hoặc rõ ràng hơn. Vui lòng cho tôi biết thông qua phần nhận xét kết quả của bạn và cung cấp đề xuất về cách những hướng dẫn này có thể được cải thiện.
Cảm ơn bạn đã dành thời gian xem và / hoặc xây dựng dự án này.
Đề xuất:
Atmega128A Điều khiển động cơ tỷ lệ - Bộ hẹn giờ ATMEL ICE AVR Điều khiển PWM UART: 4 bước
Atmega128A Điều khiển động cơ tỷ lệ - ATMEL ICE AVR Timer UART Điều khiển PWM: Trong phần hướng dẫn này, tôi sẽ giải thích cho bạn cách điều khiển động cơ DC với PWM giao tiếp thông qua ngắt bộ hẹn giờ tay cầm UART Trước hết, chúng tôi sẽ sử dụng bảng Phát triển hệ thống AVR Core mà bạn có thể tìm thấy trên Aliexpress khoảng 4 USD
Động cơ bước với Dép xỏ ngón và Hẹn giờ 555; Phần đầu tiên của mạch Bộ hẹn giờ 555: 3 bước
Động cơ bước với Dép xỏ ngón và Hẹn giờ 555; Phần đầu của mạch Bộ hẹn giờ 555: Động cơ bước là động cơ DC chuyển động theo các bước rời rạc, nó thường được sử dụng trong máy in và thậm chí cả robot. Tôi sẽ giải thích mạch này theo các bước. Phần đầu tiên của mạch là 555 bộ đếm thời gian. Đây là hình ảnh đầu tiên (xem ở trên) với chip 555 w
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Bộ vi điều khiển AVR. Đèn LED Flasher sử dụng bộ hẹn giờ. Bộ hẹn giờ Ngắt. Chế độ hẹn giờ CTC: 6 bước
Bộ vi điều khiển AVR. Đèn LED Flasher sử dụng bộ hẹn giờ. Bộ hẹn giờ Ngắt. Chế độ hẹn giờ CTC: Xin chào các bạn! Bộ hẹn giờ là một khái niệm quan trọng trong lĩnh vực điện tử. Mọi thành phần điện tử hoạt động trên cơ sở thời gian. Cơ sở thời gian này giúp giữ cho tất cả các công việc được đồng bộ hóa. Tất cả các bộ vi điều khiển đều hoạt động ở một số tần số xung nhịp được xác định trước,
Cách điều khiển thiết bị gia dụng bằng điều khiển từ xa TV có chức năng hẹn giờ: 7 bước (có hình ảnh)
Cách điều khiển thiết bị gia dụng bằng điều khiển từ xa với chức năng hẹn giờ: Ngay cả sau 25 năm được giới thiệu trên thị trường tiêu dùng, giao tiếp hồng ngoại vẫn rất được quan tâm trong những ngày gần đây. Cho dù đó là TV 55 inch 4K hay hệ thống âm thanh trên ô tô của bạn, mọi thứ đều cần có bộ điều khiển từ xa IR để đáp ứng