Mục lục:
- Bước 1: Nhận tất cả các bộ phận
- Bước 2: Màn hình LCD Nokia 5110
- Bước 3: Bộ mã hóa quay
- Bước 4: Xây dựng dự án
- Bước 5: Mã của dự án
- Bước 6: Kiểm tra dự án
Video: Menu Arduino trên màn hình LCD Nokia 5110 Sử dụng bộ mã hóa quay: 6 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Chào mừng bạn đến với một hướng dẫn khác! Trong video này, chúng ta sẽ tìm hiểu cách tạo menu ourown cho màn hình LCD Nokia 5110 phổ biến, để làm cho các dự án của chúng tôi thân thiện hơn và có khả năng hơn. Bắt đầu nào!
Đây là dự án mà chúng tôi sắp xây dựng. Trong màn hình, một menu đơn giản xuất hiện và với sự trợ giúp của bộ mã hóa quay, tôi có thể điều hướng lên hoặc xuống và chọn một mục menu bằng cách nhấn nút bộ mã hóa quay. Khi nhấn nút giữa của bộ mã hóa quay, một màn hình khác sẽ xuất hiện và chúng ta có thể thay đổi giá trị của một biến. Nếu chúng ta nhấn nút bộ mã hóa quay một lần nữa, chúng ta sẽ quay lại màn hình menu chính. Menu có 6 mục, chúng ta có thể cuộn xuống hoặc lên menu và các mục trên màn hình sẽ thay đổi tương ứng. Xem video đính kèm để biết chính xác cách thức hoạt động của menu này. Tất nhiên, bạn có thể sửa đổi nó để xây dựng các menu phức tạp hơn của riêng mình nếu bạn muốn.
Bây giờ chúng ta hãy xem cách xây dựng dự án này.
Bước 1: Nhận tất cả các bộ phận
Các phần cần thiết để xây dựng dự án này là:
- Một Arduino Uno ▶
- Màn hình LCD Nokia 5110 ▶
- Một bộ mã hóa quay ▶
- Một breadboard nhỏ ▶
- Một số dây ▶
- Ngân hàng điện ▶
Chi phí của dự án là rất thấp, nó là dưới $ 10. Bạn có thể tìm thấy các liên kết cho tất cả các phần tôi sử dụng trong phần mô tả của video bên dưới.
Bước 2: Màn hình LCD Nokia 5110
Nokia 5110 là màn hình yêu thích của tôi cho các Dự án Arduino của tôi.
Nokia 5110 là một màn hình LCD đồ họa cơ bản ban đầu được dùng làm màn hình điện thoại di động. Nó sử dụng bộ điều khiển PCD8544 là bộ điều khiển / trình điều khiển LCD CMOS công suất thấp. Do đó, màn hình này có mức tiêu thụ điện năng ấn tượng. Nó chỉ sử dụng 0,4mA khi bật nhưng đèn nền bị tắt. Nó sử dụng ít hơn 0,06mA khi ở chế độ ngủ! Đó là một trong những lý do làm cho màn hình này trở nên yêu thích của tôi. PCD8544 giao tiếp với vi điều khiển thông qua giao diện bus nối tiếp. Điều đó làm cho màn hình rất dễ sử dụng với Arduino. Bạn chỉ cần kết nối 8 dây.
Tôi đã chuẩn bị một hướng dẫn chi tiết về cách sử dụng màn hình LCD Nokia 5110 với Arduino. Tôi đã đính kèm video đó trong mục Có thể hướng dẫn này, nó sẽ cung cấp thông tin hữu ích về màn hình, vì vậy tôi khuyến khích bạn xem kỹ. Chi phí của màn hình là khoảng $ 4.
Bạn có thể lấy nó tại đây: ▶
Bước 3: Bộ mã hóa quay
Bộ mã hóa quay, còn được gọi là bộ mã hóa trục, là một thiết bị cơ điện có chức năng chuyển đổi vị trí góc hoặc chuyển động của trục hoặc trục sang mã tương tự hoặc kỹ thuật số. Bộ mã hóa quay được sử dụng trong nhiều ứng dụng yêu cầu trục quay không giới hạn chính xác - bao gồm điều khiển công nghiệp, robot, ống kính chụp ảnh mục đích đặc biệt, thiết bị đầu vào máy tính (như chuột quang cơ và bi xoay), máy đo lưu biến ứng suất có điều khiển và bệ radar quay.
Bộ mã hóa quay mà chúng tôi sẽ sử dụng trong dự án này là bộ mã hóa rất rẻ. Nó cũng có một nút nhúng và để làm cho nó hoạt động, chúng tôi chỉ cần kết nối 5 dây. Tôi đã chuẩn bị hướng dẫn chi tiết về cách sử dụng bộ mã hóa quay. Bạn có thể tìm thấy video này đính kèm ở đây.
Chi phí của bộ mã hóa quay này rất thấp. Nó có giá khoảng 1,5 đô la.
Bạn có thể lấy nó tại đây ▶
Bước 4: Xây dựng dự án
Bây giờ chúng ta hãy kết nối tất cả các bộ phận với nhau. Trước khi xây dựng dự án này, nếu trước đây bạn chưa sử dụng bộ mã hóa quay, tôi khuyên bạn nên xem hướng dẫn mà tôi đã chuẩn bị về bộ mã hóa quay. Nó sẽ giúp bạn hiểu cách hoạt động của bộ mã hóa quay và bạn sẽ có được một số kinh nghiệm với chúng. Video này được đính kèm ở đây.
Tôi đã đặt màn hình trên một breadboard nhỏ như thế này. Đầu tiên chúng ta hãy kết nối màn hình. Chân đầu tiên của màn hình là Reset đi đến chân kỹ thuật số 3 của Arduino Uno, chân thứ hai đi đến chân kỹ thuật số 4, chân thứ ba đi đến chân kỹ thuật số 5, chân thứ tư đến chân kỹ thuật số 11 và chân thứ năm cho kỹ thuật số chân 13. Chân tiếp theo là Vcc. Chúng tôi kết nối Vcc với thanh dương của bảng mạch, và đường dẫn tích cực của bảng mạch với đầu ra 3,3V của Arduino. Chân tiếp theo là Đèn nền cho màn hình. Vì chúng tôi muốn điều khiển nó thông qua phần mềm, chúng tôi kết nối nó với chân số 7. Chân cuối cùng là GND. Chúng tôi kết nối GND với thanh ray âm của bảng mạch và thanh ray âm của bảng mạch với Arduino GND.
Bây giờ tất cả những gì chúng ta phải làm là kết nối bộ mã hóa quay. Chân đầu tiên là GND và chúng tôi kết nối nó với đường ray âm của bảng mạch. Chân tiếp theo là Vcc và chúng tôi kết nối nó với đường ray tích cực của breadboard. Chân tiếp theo là SW và chúng tôi kết nối nó với Chân Analog 2. Chân tiếp theo được đặt tên là DT và chúng tôi kết nối nó với Chân Analog 1. Cuối cùng, chân CLK được kết nối với Chân Analog 0. Bạn có thể tìm sơ đồ của dự án này trong mô tả của video bên dưới.
Bây giờ chúng tôi đã sẵn sàng để tăng sức mạnh cho dự án. Như bạn có thể thấy, dự án đang hoạt động tốt và menu đang hoạt động như mong đợi! Tuyệt vời, bây giờ chúng ta hãy xem phần mềm của dự án.
Bước 5: Mã của dự án
Trong dự án này, chúng tôi sử dụng 4 thư viện. Chúng tôi sử dụng hai thư viện cho màn hình và hai thư viện cho bộ mã hóa quay.
- Adafruit GFX:
- Nokia 5110:
- Thư viện bộ mã hóa:
- Thư viện TimerOne:
Đầu tiên, chúng ta sẽ xem xét hàm drawMenu. Chức năng này có nhiệm vụ vẽ Menu trên màn hình. Chức năng này được gọi sau mỗi vài mili giây, vì vậy nếu có thay đổi trên menu, chức năng này có trách nhiệm cập nhật menu trên màn hình.
int menuitem = 1; int frame = 1; int trang = 1; int lastMenuItem = 1;
Ngoài ra còn có 3 biến toàn cục rất quan trọng là biến trang, menuitem biến và khung biến. Trang biến ghi nhớ giao diện người dùng nào được hiển thị trên màn hình. Vì vậy, nếu biến trang là 1, chúng tôi đang ở trong màn hình giao diện người dùng chính và nếu biến là 2, chúng tôi đang ở màn hình giao diện người dùng phụ, nơi chúng tôi đặt giá trị trên một biến. Mục menu ghi nhớ mục menu đã chọn. Vì vậy, nếu giá trị của nó là 1, mục menu đầu tiên được chọn, vì vậy hàm drawMenu phải vẽ mục menu này là màu đen với các chữ cái màu trắng. Nếu mục menu là 2, mục menu thứ hai sẽ được chọn, v.v. Biến khung, ghi nhớ phần nào của menu được hiển thị trên màn hình. Vì menu chúng ta đã tạo có 6 mục và chúng ta chỉ có thể hiển thị 3 trong số chúng cùng một lúc, nên chúng ta cần biết những mục nào được hiển thị trên màn hình. Biến khung cho chúng ta biết chính xác điều này. Nếu biến frame có giá trị là 1, chúng tôi hiển thị ba mục menu đầu tiên, nếu là 2, chúng tôi hiển thị các mục 2, 3, 4, v.v.
Tôi đã cố gắng làm cho mã dễ dàng sửa đổi nhất có thể vì vậy tôi đã tạo một số biến toàn cục giữ tên cho các mục menu. Bằng cách này, bạn có thể tạo menu của riêng mình một cách dễ dàng mà không cần tìm kiếm trong mã.
String menuItem1 = "Độ tương phản"; String menuItem2 = "Khối lượng"; String menuItem3 = "Ngôn ngữ"; String menuItem4 = "Khó khăn"; String menuItem5 = "Light: ON"; String menuItem6 = "Đặt lại";
boolean backlight = true;
int tương phản = 60; int volume = 50;
Ngôn ngữ chuỗi [3] = {"EN", "ES", "EL"};
int selectLanguage = 0;
String khó [2] = {"EASY", "HARD"};
int selectDifficulty = 0;
Lúc đầu, chúng tôi khởi tạo tất cả các biến toàn cục cần thiết trong mã. Tiếp theo, chúng tôi khởi tạo màn hình. Trong hàm loop, lúc đầu chúng ta gọi hàm drawMenu để vẽ menu trên màn hình. Sau đó, chúng tôi đọc giá trị từ bộ mã hóa Rotary và kiểm tra xem nút có được nhấn hay không. Ví dụ: nếu chúng ta đang ở trên màn hình giao diện người dùng chính và mục menu đầu tiên được chọn, nếu giá trị từ bộ mã hóa quay tăng, biến menuitem sẽ tăng và trong vòng lặp tiếp theo, hàm drawMenu sẽ vẽ mục menu thứ hai như đã chọn. Nếu bây giờ chúng ta nhấn nút của bộ mã hóa quay, chúng ta sẽ điều hướng đến trang thứ hai, nơi chúng ta đặt giá trị của biến. Một lần nữa, sử dụng bộ mã hóa quay, chúng ta có thể tăng hoặc giảm giá trị của biến. Nếu chúng tôi nhấn nút, chúng tôi sẽ điều hướng trở lại trang menu chính và biến số trang giảm.
Đó là ý tưởng cơ bản đằng sau menu này. Chúng tôi làm theo quy trình tương tự cho tất cả các mục và trang của menu. Mã này rất phức tạp, nó dài hơn 400 dòng. Nó có vẻ phức tạp nhưng nếu bạn tự mình thử, bạn sẽ hiểu nó dễ dàng hơn và bạn sẽ có thể thay đổi nó, mở rộng nó và sử dụng nó trong các dự án của riêng bạn. Như mọi khi, bạn có thể tìm thấy mã đính kèm ở đây.
Bước 6: Kiểm tra dự án
Nếu chúng tôi tải mã, chúng tôi có thể thấy rằng dự án đang hoạt động như mong đợi. Chúng ta có thể điều hướng menu lên và xuống bằng cách sử dụng trục và chúng ta có thể chọn bất kỳ mục nào trong menu bằng cách nhấn nút bộ mã hóa quay. Thật tuyệt làm sao!
Bây giờ chúng ta đã biết cách xây dựng menu cho màn hình LCD Nokia 5110, chúng ta có thể thêm nhiều tính năng hơn vào các dự án của mình và làm cho chúng thân thiện hơn với người dùng. Tuy nhiên, menu đơn giản mà chúng tôi đã xây dựng ngày hôm nay có thể được cải thiện. Chúng tôi có thể sử dụng ngắt thay vì kiểm tra trạng thái nút mọi lúc. Bằng cách này, chúng tôi có thể giảm mức tiêu thụ điện năng của dự án và làm cho mã sạch hơn. Tôi sẽ sớm chuẩn bị một video về sự cố gián đoạn, vì vậy hãy chú ý theo dõi. Tôi rất muốn nghe ý kiến của bạn về dự án menu này. Bạn có thấy nó hữu ích không và bạn có dự định sử dụng menu trong bất kỳ dự án nào của mình không. Xin vui lòng gửi suy nghĩ và ý tưởng của bạn dưới đây, cảm ơn!
Đề xuất:
Cách sử dụng động cơ bước làm bộ mã hóa quay và màn hình OLED cho các bước: 6 bước
Cách sử dụng Động cơ bước làm bộ mã hóa quay và Màn hình OLED cho các bước: Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách theo dõi các bước của động cơ bước trên Màn hình OLED. Xem video trình diễn. Tín dụng cho Hướng dẫn gốc sẽ được chuyển đến người dùng youtube " sky4fly "
Màn hình nhiệt độ và mức độ ánh sáng với hiển thị trên màn hình LCD NOKIA 5110: 4 bước
Màn hình nhiệt độ và mức độ ánh sáng có hiển thị trên màn hình LCD NOKIA 5110: Xin chào các bạn! Trong phần này chúng tôi chế tạo thiết bị điện tử đơn giản để theo dõi nhiệt độ và mức độ ánh sáng. Các phép đo của các thông số này được hiển thị trên LCD NOKIA 5110. Thiết bị dựa trên vi điều khiển AVR ATMEGA328P. Việc giám sát
Hiển thị số đọc của cảm biến Arduino trực tiếp trên màn hình LCD Nokia 5110: 4 bước (có hình ảnh)
Hiển thị kết quả đọc cảm biến Arduino trực tiếp trên màn hình LCD Nokia 5110: Nếu bạn đã từng làm việc với arduino, chắc hẳn bạn đã muốn nó hiển thị các kết quả cảm biến. có lẽ muốn nó hiển thị các bài đọc trên một cái gì đó
Đồ họa tùy chỉnh trên Màn hình Nokia 5110: 7 bước
Đồ họa tùy chỉnh trên Màn hình Nokia 5110: Này các bạn! Moxigen đây. Khoảng 3 năm trước, tôi đã đóng cửa trang cá nhân của mình (inKnowit.in), trang có 30 blog hoặc hơn thế nữa. Tôi tiếp tục viết blog ở đây nhưng tôi mất động lực rất nhanh và chỉ viết được ba blog. Sau rất nhiều suy nghĩ, tôi đã quyết định
Màn hình cảm ứng Đồng bộ hóa gia đình & Bảng điều khiển gia đình gắn trên màn hình: 7 bước (có Hình ảnh)
Bảng điều khiển Home & Family Sync & Home trên màn hình cảm ứng: Chúng tôi có lịch được cập nhật hàng tháng với các sự kiện nhưng lịch được thực hiện theo cách thủ công. Chúng ta cũng có xu hướng quên những việc đã làm hết hoặc những việc vặt khác. Ở thời đại này, tôi nghĩ sẽ dễ dàng hơn nhiều nếu có một hệ thống đồng bộ lịch và sổ ghi chú mà c