Mục lục:

Đồ họa trên SSD1306 Màn hình I2C OLED 128x64 với CircuitPython Sử dụng Itsybitsy M4 Express: 13 bước (có Hình ảnh)
Đồ họa trên SSD1306 Màn hình I2C OLED 128x64 với CircuitPython Sử dụng Itsybitsy M4 Express: 13 bước (có Hình ảnh)

Video: Đồ họa trên SSD1306 Màn hình I2C OLED 128x64 với CircuitPython Sử dụng Itsybitsy M4 Express: 13 bước (có Hình ảnh)

Video: Đồ họa trên SSD1306 Màn hình I2C OLED 128x64 với CircuitPython Sử dụng Itsybitsy M4 Express: 13 bước (có Hình ảnh)
Video: XBee3 MicroPython with i2c SSD1306 OLED and framebuf on PyCharm 2024, Tháng bảy
Anonim
Đồ họa trên SSD1306 I2C Màn hình OLED 128x64 với CircuitPython sử dụng Itsybitsy M4 Express
Đồ họa trên SSD1306 I2C Màn hình OLED 128x64 với CircuitPython sử dụng Itsybitsy M4 Express

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

Chúng tôi cần gì cho dự án này
Chúng tôi cần gì 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

Mạch
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

Phiên bản Breadboard của mạch
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ữ

Đang tải phông chữ
Đang 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

Thêm trình điều khiển bổ sung
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ị

Thiết lập thiết bị
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

Xác định các ký tự và vẽ các đường ngang và dọc
Xác định các ký tự và vẽ các đường ngang và dọc
Xác định các ký tự và vẽ các đường ngang và dọc
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

Hộp, Khối và Đường dốc
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 bằng, Anlgnment, Bar Graph và Circle
Biểu tượng bằ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

Bộ sưu tập rác, tiêu đề và vòng kết nối
Bộ sưu tập 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

Bản trình diễn dòng
Bản trình diễn 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

Vòng lặp chính: Biểu đồ thanh và các ký tự xác định
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: