Mục lục:

Tự làm khung ảnh với Arduino: 5 bước
Tự làm khung ảnh với Arduino: 5 bước

Video: Tự làm khung ảnh với Arduino: 5 bước

Video: Tự làm khung ảnh với Arduino: 5 bước
Video: Tự học Arduino bài 5: Giao tiếp ADC quan trọng như thế nào? 2024, Tháng bảy
Anonim
Image
Image
Khung ảnh tự làm với Arduino
Khung ảnh tự làm với Arduino

Những người bạn thân mến chào mừng bạn đến với một Có thể hướng dẫn khác! Đây là Nick đến từ education8s.tv và hôm nay chúng ta sẽ tạo khung ảnh kỹ thuật số nhỏ nhưng ấn tượng này bằng cách sử dụng Arduino.

Tôi đang sử dụng màn hình TFT 1.8 màu ST7735 rất nhiều. Lý do là vì màn hình này rất dễ sử dụng, nó có giá dưới 5 đô la và nó cung cấp màu sắc! Ở phía sau, màn hình có một khe cắm thẻ SD, vì vậy Tôi đã nghĩ rằng chúng ta cũng phải học cách sử dụng nó. Hóa ra, việc sử dụng khe cắm thẻ nhớ SD trên màn hình thực sự dễ dàng! Điều đó làm cho màn hình này trở nên tốt hơn.

Dự án mà chúng ta sẽ xây dựng ngày hôm nay là thế này. Khung ảnh đơn giản tải hình ảnh từ thẻ SD. Tôi đã đặt một số hình ảnh.bmp trên thẻ SD và dự án tải chúng và hiển thị chúng ở màn hình với màu sắc đầy đủ! Như bạn có thể thấy tốc độ của dự án là rất cao nếu chúng ta xem xét rằng bộ não của dự án này là Arduino Nano cũ và chậm. Theo tôi, điều này thực sự ấn tượng. Nhưng 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

Nhận tất cả các bộ phận
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 Nano Arduino ▶
  • Màn hình 1.8 inch ST7735 ▶
  • Một breadboard nhỏ ▶
  • Một số dây ▶
  • Thẻ SD

Phần tùy chọn:

Powerbank ▶

Chi phí của dự án là khoảng $ 15 nhưng tôi chắc chắn rằng bạn đã có sẵn một số phần này để bạn có thể xây dựng dự án này với số tiền ít hơn. Bạn có thể tìm thấy liên kết đến tất cả các phần trong phần mô tả của video. Hãy xem cách xây dựng dự án này.

Bước 2: TFT 1,8 "ST7735 màu

Image
Image
1.8
1.8
1.8
1.8
1.8
1.8

Trước hết, màn hình ST7735 Color TFT là một màn hình rất rẻ. Nó có giá khoảng $ 5 và nó có hỗ trợ thư viện tuyệt vời. Tôi đã sử dụng nó trong nhiều dự án của mình, và tôi nghĩ nó thật tuyệt!

Hơn nữa, màn hình có độ phân giải 160 × 128 pixel và có thể hiển thị 65.000 màu. Nó sử dụng giao diện SPI để giao tiếp với các bảng Arduino. Ngoài ra, nó hoạt động tốt với tất cả các bảng Arduino có sẵn, như Arduino Uno, Arduino Mega và Arduino Due. Nó cũng hoạt động tốt với các bo mạch dựa trên ESP8266, như Wemos D1 và bo mạch mini Wemos D1.

Ngoài ra, mức tiêu thụ điện năng của bảng là khoảng 50mA hiện tại, theo tôi không phải là xấu. Chúng tôi có thể dễ dàng sử dụng bảng này để xây dựng các dự án chạy bằng pin mà không cần phải bật mọi lúc. Kết luận, đây là một trong những màn hình Arduino tốt nhất nếu bạn cần màu sắc và chi phí thấp.

Tôi đã chuẩn bị một hướng dẫn chi tiết về màn hình TFT 1.8 ″ ST7735 Color. Tôi đã đính kèm video về bước này.

Bước 3:

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Để sử dụng khe cắm thẻ SD với Arduino, chúng ta cần kết nối 4 chân trên cùng của màn hình với Arduino.

Tôi đã hàn một số chân cắm đầu cái cho chúng và chúng tôi đã sẵn sàng kết nối chúng. Mô-đun thẻ SD sử dụng giao thức SPI để giao tiếp với Arduino. Vì vậy, chúng ta phải sử dụng chân SPI phần cứng của Arduino Nano.

Hiển thị chân thẻ SD - chân Arduino

SD_CS ▶ Chân số 4

SD_MOSI ▶ Chân số 11

SD_MISO ▶ Chân số 12

SD_SCK ▶ Chân số 13

Bây giờ chúng ta đã sẵn sàng để kết nối các chân dưới cùng của màn hình. Để xem cách kết nối màn hình, hãy kiểm tra video hướng dẫn mà tôi đã đính kèm ở bước trước. Cả màn hình và mô-đun thẻ SD đều sử dụng chân SPI, vì vậy trên một số chân SPI của Arduino, chúng tôi đã kết nối hai dây!

Ghim dưới cùng của màn hình - Chân Arduino

Arduino LED ▶ 3.3V

CSK ▶ D13

SDA ▶ D11

A0 ▶ D9

ĐẶT LẠI ▶ D8

CS ▶ D10

GND ▶ GND

VCC ▶ 5V

OK, bây giờ chúng tôi đã sẵn sàng để khởi động dự án. Như bạn có thể thấy, mọi thứ đang hoạt động như mong đợi và các hình ảnh lần lượt được hiển thị trên màn hình.

Bước 4:

Hình ảnh
Hình ảnh
Hình ảnh
Hình ảnh

Bây giờ chúng ta hãy xem khía cạnh phần mềm của dự án.

Để đạt được kết quả này, chúng tôi phải sử dụng các thư viện của Adafruit cho màn hình ST7735. Chúng tôi cũng cần thư viện Adafruit GFX. Adafruit đã thực hiện một công việc đáng kinh ngạc với thư viện cho ST7735.

Thư viện ST7735:

Thư viện GFX:

Ví dụ về bản đồ mã vạch tải một hình ảnh từ thẻ SD và hiển thị nó trên màn hình. Tôi đã sửa đổi một chút mã đó để lặp lại mãi mãi, tải thêm hình ảnh và sử dụng hướng ngang của màn hình.

void loop () {

bmpDraw ("logo.bmp", 0, 0);

chậm trễ (3000); bmpDraw ("mezapos.bmp", 0, 0); chậm trễ (3000); bmpDraw ("sparti.bmp", 0, 0); chậm trễ (3000); bmpDraw ("mani.bmp", 0, 0); chậm trễ (3000); bmpDraw ("lisbon.bmp", 0, 0); chậm trễ (3000);

}

Như mọi khi, bạn có thể tìm thấy mã của dự án được đính kèm trong bước này.

Với chức năng bmpDraw mà ví dụ cung cấp, chúng ta có thể dễ dàng tải và hiển thị đồ họa bitmap trong các dự án của mình! Tuy nhiên, bạn phải chắc chắn rằng các ảnh bitmap của bạn có định dạng chính xác.

Để chuyển đổi hình ảnh sang định dạng chính xác cho dự án này, tôi đã sử dụng phần mềm miễn phí Paint.net cho windows. Tôi tải hình ảnh của mình và sau đó tôi thay đổi kích thước ở độ phân giải chính xác cho màn hình là 160x128 pixel. Sau đó, tôi lưu các hình ảnh dưới dạng tệp.bmp với độ sâu bit là 24bits. Vậy là xong, tất cả những gì chúng ta phải làm bây giờ là lưu chúng vào thẻ SD và gọi lệnh bmpDraw với tên của tệp.

Bước 5:

Hình ảnh
Hình ảnh

Như bạn có thể thấy, chúng tôi rất nhanh chóng xây dựng các dự án thú vị bằng cách sử dụng Arduino. Màn hình này đã trở thành yêu thích của tôi vì nó rất dễ sử dụng và cung cấp rất nhiều với một mức giá thấp như vậy. Hỗ trợ thư viện của nó rất tuyệt vời, vì vậy tôi sẽ sớm sử dụng nó nhiều hơn nữa. Tôi sẽ sớm chuẩn bị một hướng dẫn khác về màn hình này, để xem cách tải đồ họa và cách vẽ các hình dạng đơn giản.

Tôi rất thích nghe ý kiến của bạn về màn hình này. Bạn có sử dụng nó trong các dự án của mình không? Nếu vậy, bạn có bất kỳ thủ thuật nào để chia sẻ với chúng tôi? Hãy gửi ý kiến của bạn trong phần bình luận bên dưới. Cảm ơn!

Đề xuất: