Cách thực hiện: Khung ảnh kỹ thuật số, DIY 100%

Có rất nhiều hướng dẫn khung hình ảnh kỹ thuật số ngoài kia. Nhiều người là máy tính xách tay cũ với cấu hình lại trường hợp xảo quyệt phù hợp với cấu hình khung ảnh.

Chúng tôi đặt ra để xây dựng một khung hình kỹ thuật số 100% DIY, xây dựng cào. Khung của chúng tôi có màn hình LCD màu 12 bit, gigabyte dung lượng lưu trữ trên thẻ nhớ microSD được định dạng chất béo, và bạn có thể xây dựng nó ở nhà. Chúng tôi đã có các chi tiết dưới đây.

Tổng quan về khái niệm

Các hình ảnh bitmap được lưu trữ trên thẻ nhớ microSD phổ biến, có thể đọc được PC. Một vi điều khiển hình ảnh đọc các hình ảnh trên một chiếc xe buýt SPI ba dây. Hình ảnh xử lý dữ liệu hình ảnh và ghi nó vào một màn hình LCD màu trên bus giống như SPI đơn hướng, 9 bit. Một tệp cấu hình trên thẻ SD xác định độ trễ giữa các hình ảnh.

Phần cứng

Nhấp vào hình ảnh sơ đồ kích thước đầy đủ (PNG). Mạch và PCB được phát triển bằng phiên bản phần mềm miễn phí của Cadsoft Eagle. Tất cả các tệp cho dự án này được bao gồm trong kho lưu trữ dự án được liên kết ở cuối bài viết.

Vi điều khiển.

Chúng tôi đã sử dụng vi điều khiển tương ứng soi Microchip PIC24FJ64GA002 28PIN (IC1) trong dự án này. Chúng tôi thực sự thích con chip này vì tính năng chọn pin ngoại vi cho phép chúng tôi đặt các tính năng thiết yếu trên các chân chúng tôi muốn; Điều này cho một PCB nhỏ gọn hơn, đơn giản hơn, nhỏ gọn hơn nhiều. Mỗi chốt điện có một tụ điện bỏ qua 0,1uf xuống đất (C1,2). Bộ điều chỉnh nội bộ 2.5Volt yêu cầu tụ điện Tantalum 10uF (C12). Chip được lập trình thông qua một tiêu đề năm pin, SV1. R1 là một điện trở kéo lên cho hàm MCLR trên mã PIN 1. Đọc thêm về chip này trong phần Giới thiệu PIC24F của chúng tôi.

Một tinh thể 32.768khz (Q1) và hai tụ điện 27pf (C10,11) cung cấp bộ tạo dao động cho lịch đồng hồ thời gian thực (RTCC). Các bộ phận này là tùy chọn, phần sụn ban đầu không sử dụng chúng. RTCC có thể được sử dụng như một phần của hàm nhô lên thời gian hiện tại trên màn hình. Các nút được kết nối với tiêu đề lập trình có thể được sử dụng để đặt thời gian.

thẻ SD

Thẻ nhớ microSD hoàn toàn tương thích với thẻ SD thông thường, thẻ nhớ microSD có thể được sử dụng trong đầu đọc / trình ghi thẻ SD với bộ chuyển đổi. Chúng tôi đã đánh giá một số chủ thẻ nhớ microSD và được giải quyết trên một từ EXGRYFUN Electronics. Thẻ nhớ microSD yêu cầu một tụ điện bỏ qua giữa pin và mặt đất (C3). Đèn LED chỉ ra hoạt động đọc microSD, nhưng nó cũng hữu ích để gỡ lỗi chung (LED1, R2).

LCD màu 128 × 128 Nokia Knock-off

Dự án này được phát triển xung quanh bảng LCD màu $ 20 của Sparkfun. Logic LCD chạy ở 3.3Volts và yêu cầu tụ điện tách rời (C4). Đèn nền LED yêu cầu nguồn cung cấp 7Volt riêng biệt và dường như có bộ giới hạn dòng điện nội bộ vì các thiết kế ví dụ không sử dụng điện trở bên ngoài.

LCD có một đầu vào riêng cho nguồn cung cấp màn hình 3.3Volt. Nhiều tiếng ồn báo cáo trong màn hình nếu điện áp này không sạch. Chúng tôi đã sử dụng một tụ điện ferrite (L1) và 0,1uf tụ (C5) để lọc nguồn cung cấp và chưa gặp phải bất kỳ vấn đề nào. Điều này thậm chí đã giải quyết một nguyên mẫu khắc tại nhà bẩn. Loại hạt ferrite không quan trọng, chúng tôi đã sử dụng một phần còn lại từ dự án máy chủ web nhỏ của chúng tôi.

Đầu nối nhỏ dễ hàn trên bảng chuyên nghiệp với mặt nạ hàn, nhưng mua hàng nhiều như bảo hiểm. Sparkfun có dấu chân PCB cho phần này trong thư viện đại bàng của chúng, nhưng khoảng cách giữa các miếng đệm nhỏ hơn Olimex hoặc BatchPCB sẽ sản xuất. Chúng tôi đã kích thích nó bằng cách giảm kích thước pad để có được nhiều không gian hơn nữa giữa. Đừng phụ thuộc vào đầu nối để giữ LCD tại chỗ, sử dụng băng để giữ nó xuống. Chúng tôi đã sử dụng dính vào để gắn màn hình LCD tạm thời.

Chúng tôi đã tạo mẫu một bảng vận chuyển LCD trước khi gửi thiết kế cuối cùng để sản xuất. Chúng tôi khuyên bạn nên sử dụng điền vào mặt đất dưới đầu nối mà không cần mặt nạ hàn.

Nguồn cấp

Nguồn cung cấp 3.3Volt, được cung cấp bởi LD1117S33 (IC2), cung cấp năng lượng cho PIC, thẻ nhớ microSD, logic LCD và màn hình LCD. IC2 yêu cầu tụ điện bỏ qua 0,1uf (C6) ở phía cung và tụ 10UF (C13) trên đầu ra. Chúng tôi đã sử dụng cùng một tụ Tantalum mà chúng tôi sử dụng cho bộ điều chỉnh nội bộ hình ảnh.

Đèn nền LCD được cung cấp bởi bộ điều chỉnh LM317 (IC3) được cấu hình thành 7Volts với điện trở 240 (R5) và 1100 (R6). C7 và C8 là tụ điện bỏ qua 0,1uf cho LM317.

J1 là giắc cắm năng lượng SMD cho một phích cắm thùng DC 2,1mm phổ biến. C11 là một tụ điện phân 10UF làm mịn bất kỳ độ trễ nào trong điện áp cung cấp. C11 có xếp hạng đầu vào tối đa 16Volt, do đó điện áp cung cấp được giữ tốt nhất dưới 12volts. 9-12 Volts có lẽ là phạm vi cung cấp năng lượng ý tưởng.

PCB.

Nhấp vào Sơ đồ vị trí kích thước đầy đủ (PNG). L1, C5 và màn hình LCD ở phía đối diện. Chúng ta không thể nguyên mẫu bảng hai mặt trong tầng hầm của mẹ, vì vậy chúng tôi đã gửi thiết kế này cho BatchPCB. Tuần tới chúng tôi sẽ chỉ cho bạn cách chúng tôi đã làm nó.

Danh sách các bộ phận

Phần
Sự miêu tả

IC1.
Pic 24fj64ga002 (SOIC)

IC2.
Điều chỉnh LD1117S33 3.3VOLT (SOT223)

IC3.
Điều chỉnh LM317 (SOT223)

U $ 1.
LCD màu 128 × 128 Nokia Knock-off


Đầu nối Nokia Knock-off

C1-8.
0,1UF tụ điện (0805)

C10,11.
Tụ 27pf (0805)

C12,13.
10uF tant.Tụ Alum (SMCA)

C14.
Tụ điện phân 10UF (SM)

L1.
Hạt Ferrite (0805)

LED1.
LED (0805)

Q1.
Pha lê 32.768khz

R1.
Điện trở 2000 ohm (0805)

R2.
Điện trở 390 ohm (0805)

R5.
Điện trở 240 ohm (0805)

R6.
1100 OHM Điện trở (0805)

SD1.
Chủ thẻ microSD

J1.
Jack điện 2.1mm (SMD)

SV1.
Tiêu đề pin nam 0,1 “, góc tốt nhất

Firmware

Phần sụn được viết bằng C bằng cách sử dụng phiên bản trình diễn hoàn toàn miễn phí của trình biên dịch hình ảnh C30. Tìm hiểu tất cả về làm việc với hình ảnh này trong phần Giới thiệu về Sê-ri Hình 24F của chúng tôi. Phần sụn được bao gồm trong kho lưu trữ dự án ở cuối bài viết.

Thư viện đĩa FAT12/16 / 32

Thư viện chất béo 12/16/32 của Microchip cung cấp cho chúng ta quyền truy cập dễ dàng vào các tệp được lưu trên thẻ SD. Chúng tôi đã đưa ra một mô tả toàn diện về thư viện này trong máy chủ web của chúng tôi trong một dự án thẻ công ty. Nếu bạn gặp sự cố khi đọc một thẻ với thư viện, hãy kiểm tra xem nó đã được định dạng trong máy quay video kỹ thuật số hay sử dụng định dạng thẻ SD của Panasonic.

Trình điều khiển LCD Nokia 6100

Sparkfun có một chiếc Chauffeur màu cơ bản 8Bit (ZIP) cho Nokia 6100. Chúng tôi đã chuyển nó vào PIC và cập nhật nó cho chế độ màu 12bit 2byte-per-pixel. Với một lượng nhỏ phức tạp thêm, tốc độ ghi pixel có thể dễ dàng được nâng cao bằng cách sử dụng chế độ 12bit khác nhau cung cấp hai pixel bằng cách sử dụng 3 byte.

LCD sử dụng giao thức 9 bit, nhiều hơn một chút so với nhiều phần cứng SPI sẽ xử lý. Bit đầu tiên cho LCD xem 8 bit tiếp theo là dữ liệu hay lệnh. Trên hình 24F, không thể đập theo cách thủ công trong bit đầu tiên, và sau đó sử dụng thiết bị ngoại vi SPI để gửi 8 bit còn lại. Chúng tôi mất kiểm soát trực tiếp các chân khi bật phần cứng SPI. Mục nhập dữ liệu phải hoàn toàn bị đập một chút, giúp giảm đáng kể tốc độ hồi sinh màn hình.

Đọc bitmaps.

Có rất nhiều định dạng bitmap. Khả năng tương thích của Windows giúp mọi người sử dụng định dạng Windows V3 cổ đại. Chúng tôi đã tạo hai cấu trúc C để đọc dữ liệu bitmap V3.

Bù lại
Byte.
Tiêu đề tệp bitmap.

0.
2.
Luôn luôn 0x42 0x4D (Hex cho BM)

2.
4
Kích thước tệp (byte)

6.
2.
Dành riêng, bỏ qua

số 8
2.
Dành riêng, bỏ qua

10.
4
Vị trí trong tệp dữ liệu bitmap đầu tiên

Tệp bitmap bắt đầu với tiêu đề tệp 14byte. Hai byte đầu tiên là các chữ cái ‘BM’, cho biết một bitmap. Nếu hai byte đầu tiên là chính xác, phần sụn sẽ tải tiêu đề thông tin. Bốn byte cuối cùng chỉ ra sự khởi đầu của dữ liệu bitmap, nhưng phần mềm hiện tại chỉ giả định rằng nó sẽ bắt đầu ở cuối tiêu đề.

Bù lại
Byte.
Tiêu đề thông tin bitmap.

14.
4
Độ dài của tiêu đề thông tin bitmap (40bytes cho bitmaps Windows V3)

18.
4
Chiều rộng (pixel)

22.
4
Chiều cao (pixel)

26.
2.
Máy bay màu, luôn 1

28.
2.
Bits màu trên mỗi pixel (1, 4, 8, 16, 24 và 32)

30.
4
Phương pháp nén, chúng tôi chỉ đọc không nén (loại 0)

34.
4
Chiều dài dữ liệu hình ảnh

38.
4
Độ phân giải ngang (pixel trên mỗi mét)

42.
4
Độ phân giải dọc (pixel trên mét)

46.
4
Số lượng màu sắc, bỏ qua.

50.
4
Số lượng màu sắc thiết yếu, bị bỏ qua.

Tiêu đề thông tin bitmap Windows V3 dài 40bytes. Phần sụn sẽ xác minh rằng độ dài tiêu đề (Offset 14) là 40, cho biết bitmap v3. Nếu chiều rộng (132), chiều cao (132), độ sâu màu (24) và nén (0) Tất cả kiểm tra, dữ liệu hình ảnh được xử lý và xuất ra màn hình.

Bù lại
Byte.
Dữ liệu bitmap hình ảnh 24 bit

54+ (3N)
1.
pixel n giá trị màu đỏ

54+ (3n + 1)
1.
pixel n Giá trị xanh

54+ (3n + 2)
1.
pixel n màu xanh giá trị

Hình ảnh bitmap đã không nén, biểu diễn 1: 1 của dữ liệu pixel được lưu trữ trong ba chuỗi byte. Dữ liệu bắt đầu ở góc dưới bên phải của hình ảnh; Đầu tiên giá trị màu đỏ, sau đó xanh và xanh. Wikipedia có một bitmap hoàn chỉnh đi qua.

Nếu độ sâu màu của hình ảnh bitmap (24 bit) lớn hơn màn hình LCD có thể hiển thị (12 bit), chúng ta cần loại bỏ các bit màu có ý nghĩa ít nhất. Để chuyển đổi từ màu 24 bit thành màu 12 bit, chúng tôi chỉ cần một nửa dữ liệu màu; Giá trị 8 bit 11110011 được đẩy bốn bit bên phải, cho 1111.

Phần sụn đi qua

Init pic, sd, màn hình LCD.

Đọc CONFIG.INI, tạo nếu nó không tồn tại.

Sử dụng ký tự đầu tiên của config.ini để đặt giữa độ trễ hình ảnh.

Tìm kiếm hình ảnh, mở hình ảnh tiếp theo.

Đọc và kiểm tra tiêu đề tệp bitmap cho định dạng thích hợp.

Đọc và kiểm tra tiêu đề thông tin bitmap cho phiên bản, kích thước, màu sắc.

Đọc và hiển thị từng giá trị pixel. Điều chỉnh độ sâu bit khi cần thiết.

Trì hoãn, sau đó lặp lại từ 4.

Chuẩn bị hình ảnh

Để giữ bản demo này đơn giản, khung ảnh chỉ hiển thị định dạng bitmap phổ biến nhất. Hình ảnh phải có kích thước đến 132x132Pixels, với màu 24 bit.

Mở một hình ảnh với một chương trình chỉnh sửa hình ảnh.

Vẽ một hộp chọn hình vuông trên một phần của hình ảnh bạn muốn sử dụng, thường sử dụng dịch chuyển và kéo.

Cắt hình ảnh.

Kích thước hình ảnh thành 132x132Pixels.

Lưu hình ảnh dưới dạng bitmap Windows, 24 bit độ sâu màu.

Các định dạng và định dạng hình ảnh khác có thể được hỗ trợ với nâng cấp firmware (PNG, JPG), đặc biệt là với nâng cấp vi điều khiển tương thích với pin đến một DSPIC khổng lồ 33F.

Sử dụng nó

Đặt hình ảnh trong thư mục gốc của thẻ SD được định dạng FAT. Tùy thuộc vào LAThiết bị ST để định dạng thẻ, nó có thể cần được định dạng bằng camera video kỹ thuật số hoặc dạng SD của Panasonic.

Tùy chọn: Tạo một tệp CONFIG.INI với trình soạn thảo văn bản. Nhập một chữ số duy nhất, từ 0-9, để đặt độ trễ giữa hình ảnh. lưu các tập tin. Nếu bạn không tạo tệp Config.ini của riêng mình, một tệp sẽ được tạo cho bạn với độ trễ 1 giây.

Đặt thẻ vào ổ cắm và cắm vào khung hình kỹ thuật số. Hình ảnh sẽ đạp trên màn hình với độ trễ được xác định.

Lấy thêm nữa

Chúng tôi thấy rất nhiều tiềm năng trong khung hình kỹ thuật số dễ dàng này. Nhiều tính năng có thể được thêm vào với một bản nâng cấp firmware, một số là cơ sở cho phần cứng trong tương lai.

Hiển thị các định dạng hình ảnh khác, hình ảnh tỷ lệ

Nhiễm sắc và khăn lau ngẫu nhiên

Hiển thị thời gian và ngày qua hình ảnh, đặt với các nút được kết nối với các chân lập trình

Mở rộng các tùy chọn cấu hình trong CONFIG.INI để bao gồm độ trễ lâu hơn, phai hoặc xóa loại

Sử dụng một thư mục con cho hình ảnh vì có một số giới hạn tệp đối với thư mục gốc của thẻ SD được định dạng FAT.

Thêm kết nối Ethernet cho các bản cập nhật hiển thị được nối mạng.

Tải xuống: dpf.v1.zip Nó đã chuyển đến đây.

Leave a Reply

Your email address will not be published. Required fields are marked *