Mục lục:
- Bước 1: Những gì chúng tôi cần cho dự án này
- Bước 2: Mạch
- Bước 3: Phiên bản Breadboard của mạch
- Bước 4: Tải phông chữ
- Bước 5: Thêm trình điều khiển bổ sung
- Bước 6: Thiết lập thiết bị
- Bước 7: Xác định các ký tự và vẽ các đường ngang và dọc
- Bước 8: Hộp, Khối và Đường dốc
- Bước 9: Biểu tượng độ, Anlgnment, Bar Graph và Circle
- Bước 10: Thu gom rác, tiêu đề và vòng kết nối
- Bước 11: Demo dòng
- Bước 12: Vòng lặp chính: Biểu đồ thanh và các ký tự xác định
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15
Màn hình OLED SSD1306 là màn hình hiển thị đồ họa đơn sắc I2C nhỏ (0,96 ), rẻ tiền, phổ biến rộng rãi với 128x64 pixel, dễ dàng giao tiếp (chỉ 4 dây) với các bảng phát triển bộ vi xử lý như Raspberry Pi, Arduino hoặc Adafruit Itsybitsy M4 Express, CircuitPlayground Express hoặc các thiết bị CircuitPython khác. Có thể tải xuống trình điều khiển từ internet.
Các quy trình đồ họa cho Arduinos đã có sẵn trong một thời gian nhưng không có sẵn cho các hệ thống phát triển khác.
Trình điều khiển thiết bị cơ bản cho phép người dùng:
- Xóa màn hình sang màu đen hoặc trắng. oled.fill (c)
- Viết một chuỗi văn bản ra màn hình tại một vị trí (x, y) được chỉ định oled.text ("Văn bản", x, y, c)
- Vẽ một dấu chấm tại một vị trí (x, y) được chỉ định oled.pixel (x, y, c)
- Tải tệp ảnh ra màn hình. (Không được sử dụng trong dự án này)
- Cập nhật hiển thị oled.show ()
Hướng dẫn này sẽ chứng minh, với các thủ tục đơn giản, cách vẽ, tương tác:
- dòng
- vòng tròn
- hộp rỗng
- khối rắn
- các ký tự được xác định trước
Tôi sẽ sử dụng Adafruit Itsybitsy M4 Express để chứng minh các phương pháp nhưng mã, bằng Python, có thể dễ dàng được chuyển sang các hệ thống phát triển khác.
Tôi chọn Itsybitsy M4 cho cuộc trình diễn này vì nó không đắt, mạnh mẽ, dễ lập trình, bao gồm Đầu vào / Đầu ra tương tự và kỹ thuật số, có nhiều bộ nhớ, có tài liệu dễ dàng tìm thấy và các diễn đàn trợ giúp trên Internet, rất dễ thiết lập ban đầu và hỗ trợ CircuitPython, một phiên bản Python lý tưởng cho những người mới viết mã.
Khi bạn đã thiết lập xong Itsybitsy và SSD1306, đây là một bản xây dựng bảng mạch rất đơn giản. Không cần nhập, tất cả các tệp có thể được tải xuống.
Đây là một dự án không tốn kém và dễ xây dựng nhưng giới thiệu một số ý tưởng trung cấp / nâng cao. Tôi hy vọng bạn sẽ cung cấp cho nó một thử. Tôi rất ấn tượng với màn hình nhỏ này.
Bước 1: Những gì chúng tôi cần cho dự án này
Phần cứng:
- Màn hình đơn SSD1306 I2C 128x64 pixel
- Itsybitsy M4 Express
- cáp microUSB sang USB - để lập trình bo mạch
- Breadboard
- 1 chiết áp 10K Ohm
- 1 nút chuyển đổi
- dây kết nối - nhiều màu sắc khác nhau có thể giúp
- Máy tính (để viết mã và tải nó lên) - một máy tính xách tay rất cũ sẽ làm được.
Phần mềm:
Trình biên tập Mu - để viết mã và tải tập lệnh lên Itsybitsy
Việc thiết lập Itsybitsy được giải thích tại đây:
Phiên bản mới nhất của CircuitPython:
Thư viện CircuitPython:
Biên tập viên Mu:
Bước 2: Mạch
Đây là một mạch rất đơn giản để thiết lập. Trang tiếp theo minh họa breadboard đã hoàn thành với dây màu để làm cho mọi thứ trở nên dễ dàng.
Bước 3: Phiên bản Breadboard của mạch
Có đường ray điện ở trên cùng và dưới cùng của breadboard. Với dây màu đỏ, hãy nối các đường ray + ve với nhau. Với dây đen nối các thanh ray -ve lại với nhau.
Nối chân 3V của Itsybitsy vào đường ray + ve thấp hơn - dây màu đỏ. (Cột 12)
Nối chân G (GND) của Itsybitsy vào đường ray trên cùng - dây đen. (Cột 12)
Trong cột 33 và 34, kết nối các chân SSD1306 VCC và GND với các thanh nguồn trên cùng.
Với một dây màu hồng, hãy nối các chân SCL lại với nhau.
Với một dây màu xám, hãy nối các chân SDA lại với nhau.
Với dây màu đỏ và đen kết nối các chân bên ngoài của chiết áp với các đường ray nguồn phía trên và với dây màu xanh lá cây kết nối chân giữa (gạt nước) với A5 trên Itsybitsy.
Kết nối một bên của công tắc nút với dây màu tím vào chốt 2 và bằng dây màu đen kết nối bên kia với thanh ray GND.
Bước 4: Tải phông chữ
Tải xuống tệp phông chữ và kéo nó vào ổ MẠCH. (Đây là Itsybitsy.)
Nhấp đúp vào thư mục lib và xem danh sách trình điều khiển bạn đã tải.
Bước 5: Thêm trình điều khiển bổ sung
Bạn sẽ cần những thứ sau trong thư mục lib:
- simpleio.mpy
- adafruit_bus_device
- adafruit_framebuf.mpy
- adafruit_ssd1306.mpy
Nếu chúng bị thiếu, hãy kéo chúng vào thư mục từ phiên bản mới nhất có sẵn.
Bây giờ bạn đã sẵn sàng để tải xuống tập lệnh.
Sau khi được tải vào trình chỉnh sửa Mu, bạn có thể lưu nó vào Itsybitsy với tên main.py.
Chương trình chạy qua một loạt các trình diễn về đường thẳng, đường tròn, biểu đồ thanh động và hiển thị các ký tự được xác định. Chỉ cần xoay nồi từ từ và nhấn giữ nút để điều khiển màn hình hiển thị.
Các trang sau cung cấp thêm thông tin về cách hoạt động của chương trình.
Bước 6: Thiết lập thiết bị
Phần đầu tiên này tải tất cả các thư viện và thiết lập SSD1306, chiết áp và nút chuyển đổi trên các chân chính xác.
Bước 7: Xác định các ký tự và vẽ các đường ngang và dọc
Phần này thiết lập các ký tự được xác định trước. Chúng rộng 5 chấm và cao 8 chấm. Mỗi chấm trong định nghĩa sẽ vẽ 4 chấm trên màn hình để chúng hiển thị tốt hơn.
Các đường ngang và dọc rất dễ vẽ bằng một vòng lặp. Bạn chỉ cần nhớ rằng bạn cần thêm dấu chấm ở cuối. Một dòng từ (0, 7) đến (5, 7) sẽ cần 6 chấm: với x lần lượt bằng 0, 1, 2, 3, 4 và 5.
Lệnh dot cơ bản là oled.pixel (x, y, color) - 0 là màu đen và 1 là màu trắng.
Điểm gốc (0, 0) nằm ở trên cùng bên trái của màn hình, 0 - 127 pixel theo chiều ngang (từ trái sang phải) và 0 - 63 theo chiều dọc (từ trên xuống dưới).
Bước 8: Hộp, Khối và Đường dốc
Các hộp được xây dựng từ các đường ngang và dọc.
Các khối được xây dựng từ nhiều đường ngang.
Đối với các đường dốc, trước tiên, chúng tôi kiểm tra tọa độ được cho bên trái nhiều nhất trước. Nếu không, chúng ta hoán đổi chúng vì đường thẳng sẽ được vẽ từ trái sang phải.
Sau đó, chúng tôi tính toán độ dốc và sử dụng nó để đặt giá trị y cho mỗi giá trị của x.
Thủ tục hiển thị (t) làm cho màn hình được cập nhật có thể nhìn thấy và đợi một khoảng thời gian trễ ngắn, t giây.
Bước 9: Biểu tượng độ, Anlgnment, Bar Graph và Circle
Biểu tượng độ được tạo từ 4 pixel.
Thủ tục align () thêm các khoảng trống ở phía trước số để căn phải các giá trị ngắn trong một không gian cố định.
Quy trình graph (v) vẽ một biểu đồ thanh ngang với tỷ lệ phần trăm được chọn. Giá trị được viết ở cuối bên tay phải bằng cách sử dụng 'T' để đại diện cho 100 (Tấn hoặc Cao nhất).
Các đường tròn yêu cầu một số lượng giác vì vậy chúng ta cần nhập thư viện toán học ở đầu tập lệnh. Chúng tôi sử dụng sin, cos và radian để tính toán độ lệch x và y từ tâm khi bán kính được quay 90 độ. Điểm được vẽ theo từng góc trong số bốn góc phần tư cho mỗi phép tính hiệu số.
Bước 10: Thu gom rác, tiêu đề và vòng kết nối
Các hướng dẫn này minh họa việc xóa màn hình thành đen trắng, ghi văn bản lên màn hình và sử dụng quy trình 'thu gom rác' gc () để giải phóng dung lượng. Giá trị cho thấy rằng có nhiều không gian cho một tập lệnh lớn hơn nhiều.
Sau đó, chương trình vẽ các đường tròn có tâm chung và tâm chuyển động. Khá nhanh chóng khi xem xét số lượng tính toán cần thiết.
Tiêu đề cho bản trình diễn dòng được viết tiếp theo.
Bước 11: Demo dòng
Quy trình này thực sự mang lại cho dòng () thói quen tập luyện. Các đường xuyên tâm được vẽ từ từng góc trong số bốn góc của màn hình với các khoảng cách khác nhau tạo thành các mẫu.
Bước 12: Vòng lặp chính: Biểu đồ thanh và các ký tự xác định
Đây là vòng lặp chính của chương trình. Các giá trị từ chiết áp thay đổi các giá trị được hiển thị và thay đổi độ dài của biểu đồ thanh.
Nếu nhấn giữ nút, các ký tự đã xác định sẽ được hoán đổi thành 1/0 và Đúng / Sai. Vòng lặp này chạy khá chậm vì việc vẽ các ký tự được xác định trước là một quá trình chậm. Bạn có thể tăng tốc mọi thứ bằng cách bình luận một số trong số chúng.
Không có cảm biến nhiệt độ được trang bị, để giữ cho bản demo này đơn giản, vì vậy dấu '?' được hiển thị thay vì một giá trị ở dòng 190.
Đề xuất:
Màn hình LCD I2C / IIC - Sử dụng SPI LCD cho Màn hình LCD I2C Sử dụng SPI đến IIC Mô-đun với Arduino: 5 bước
Màn hình LCD I2C / IIC | Sử dụng SPI LCD với màn hình LCD I2C Sử dụng mô-đun SPI đến IIC Với Arduino: Xin chào các bạn vì SPI LCD 1602 bình thường có quá nhiều dây để kết nối nên rất khó giao tiếp với arduino nhưng có một mô-đun có sẵn trên thị trường có thể chuyển đổi hiển thị SPI thành hiển thị IIC, do đó bạn chỉ cần kết nối 4 dây
CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: 9 bước
CircuitPython Với Itsybitsy M4 Express 1: Thiết lập: Bạn mới học viết mã? Chỉ sử dụng Scratch và muốn chuyển sang ngôn ngữ văn bản giúp dễ dàng truy cập vào Máy tính vật lý với đèn LED, công tắc, màn hình và cảm biến? Sau đó, điều này có thể dành cho bạn. Tôi nhận thấy rằng trang web này chứa nhiều Tài liệu hướng dẫn ab
Flappy Bird trên ATtiny85 và màn hình OLED SSD1306: 6 bước (có hình ảnh)
Flappy Bird trên ATtiny85 và Màn hình OLED SSD1306: Xin chào mọi người, Hôm nay tôi sẽ giới thiệu cho các bạn một bản sao chép flappy bird cơ bản mà tôi đã tạo và cách bạn có thể tạo một trò chơi tương tự. Về cơ bản, tôi sẽ chạy qua mã của tôi với bạn và giải thích cách nó hoạt động từng bước. Trò chơi này được xây dựng để ru
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)
Menu Arduino trên màn hình LCD Nokia 5110 Sử dụng bộ mã hóa quay: Các bạn thân mến, chào mừng các 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. Hãy ’ s bắt đầu! Đây là projec
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