সেখানে একটি টন ডিজিটাল ছবি ফ্রেম টিউটোরিয়াল আছে। অনেকে একটি ছবির ফ্রেম প্রোফাইলের মাপসই করে যে ক্রাফ্টি কেস পুনর্মিলন করে পুরানো ল্যাপটপগুলি।

আমরা 100% DIY, স্ক্র্যাচ-নির্মিত ডিজিটাল ছবি ফ্রেম তৈরি করতে সেট করেছি। আমাদের ফ্রেমে একটি 12bit রঙের এলসিডি, সাধারণ, ফ্যাট-ফরম্যাটযুক্ত মাইক্রোএসডি কার্ডগুলিতে স্টোরেজ গিগাবাইট রয়েছে এবং আপনি এটি বাড়ীতে এটি তৈরি করতে পারেন। আমরা নীচের বিবরণ পেয়েছেন।

ধারণা ওভারভিউ

বিটম্যাপ ইমেজগুলি সাধারণ, পিসি-পঠনযোগ্য মাইক্রোএসডি কার্ডগুলিতে সংরক্ষণ করা হয়। একটি ছবি মাইক্রোকন্ট্রোলার একটি তিনটি তারের স্পাই বাসের উপর ছবিগুলি পড়েন। ছবিটি ইমেজ ডেটা প্রক্রিয়া করে এবং এটি একটি unidirectional, 9bit SPI-মত বাসের উপর একটি রঙের LCD তে লিখেছে। এসডি কার্ডে একটি কনফিগারেশন ফাইল চিত্রগুলির মধ্যে বিলম্বকে সংজ্ঞায়িত করে।

হার্ডওয়্যার

একটি পূর্ণ আকারের পরিকল্পিত চিত্রের জন্য ক্লিক করুন (PNG)। সার্কিট এবং পিসিবি ক্যাডসফ্ট ঈগলের বিনামূল্যের সংস্করণ ব্যবহার করে উন্নত করা হয়। এই প্রকল্পের জন্য সমস্ত ফাইল নিবন্ধটির শেষে লিঙ্কযুক্ত প্রকল্প সংরক্ষণাগার অন্তর্ভুক্ত করা হয়।

মাইক্রোকন্ট্রোলার

আমরা এই প্রকল্পে একটি মাইক্রোচিপ pic24fj64ga002 28pin সোনি মাইক্রোকন্ট্রোলার (আইসি 1) ব্যবহার করেছি। আমরা সত্যিই এই চিপটি পছন্দ করি কারণ পেরিফেরাল PIN নির্বাচন করুন বৈশিষ্ট্যটি আমাদের পিনের উপর প্রয়োজনীয় বৈশিষ্ট্যগুলি রাখতে দেয়; এটি একটি ছোট, সহজ, অনেক বেশি কম্প্যাক্ট পিসিবি দেয়। প্রতিটি পাওয়ার পিনের একটি 0.1 ইউএফ বাইপাস ক্যাপাসিটার স্থল (C1,2) রয়েছে। অভ্যন্তরীণ 2.5VOLT নিয়ন্ত্রক একটি 10UF TANTALUM ক্যাপাসিটরের প্রয়োজন (C12)। চিপটি পাঁচটি পিন হেডারের মাধ্যমে প্রোগ্রাম করা হয়েছে, SV1। R1 পিনের এমসিএলআর ফাংশনের জন্য একটি পুল-আপ প্রতিরোধক। আমাদের PIC24F ভূমিকাটিতে এই চিপ সম্পর্কে আরও অনেক কিছু পড়ুন।

একটি 32.768 কেজি ক্রিস্টাল (Q1) এবং দুটি 27pf ক্যাপাসিটার (C10,11) রিয়েল-টাইম ক্লক ক্যালেন্ডার (RTCC) এর জন্য একটি অসিলেটর অফার করে। এই অংশ ঐচ্ছিক, প্রাথমিক ফার্মওয়্যার তাদের ব্যবহার করে না। RTCC একটি ফাংশনের অংশ হিসাবে ব্যবহার করা যেতে পারে যা পর্দায় বর্তমান সময় superimposes। প্রোগ্রামিং হেডারের সাথে সংযুক্ত বোতামগুলি সময় নির্ধারণ করতে ব্যবহার করা যেতে পারে।

এসডি কার্ড

মাইক্রোএসডি কার্ডগুলি নিয়মিত এসডি কার্ডগুলির সাথে সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ, মাইক্রোএসডি কার্ডগুলি একটি অ্যাডাপ্টারের সাথে একটি SD কার্ড রিডার / লেখক ব্যবহার করতে পারে। আমরা বেশ কয়েকটি মাইক্রোএসডি কার্ড হোল্ডার মূল্যায়ন করেছি, এবং স্পারফুন ইলেকট্রনিক্স থেকে এক স্থানে বসতি স্থাপন করেছি। মাইক্রোএসডি কার্ডটি পাওয়ার পিন এবং স্থল (C3) এর মধ্যে একটি বাইপাস ক্যাপাসিটরের প্রয়োজন। একটি LED মাইক্রোএসডি পড়ার কার্যকলাপ নির্দেশ করে, তবে এটি জেনারেল ডিবাগিং (LED1, R2) এর জন্যও সহায়ক।

রঙ এলসিডি 128 × 128 নোকিয়া নক-অফ

এই প্রকল্পটি স্পার্কফুনের $ 20 রঙের LCD প্যানেলের চারপাশে বিকশিত হয়। এলসিডি লজিক 3.3 ভল্টগুলিতে রান করে এবং একটি decoupling ক্যাপাসিটরের প্রয়োজন (C4)। LED ব্যাকলাইটের একটি পৃথক 7 ভল্ট সরবরাহের প্রয়োজন এবং একটি অভ্যন্তরীণ বর্তমান লিমিটার রয়েছে বলে মনে হয় কারণ উদাহরণগুলি বহিরাগত প্রতিরোধক ব্যবহার করে না।

LCD 3.3VOLT প্রদর্শন সরবরাহের জন্য একটি পৃথক ইনপুট আছে। এই ভোল্টেজটি পরিষ্কার না হলে প্রদর্শনে অসংখ্য রিপোর্ট শব্দ। সরবরাহটি ফিল্টার করার জন্য আমরা একটি Ferrite BEAD (L1) এবং 0.1UF ক্যাপাসিটার (C5) ব্যবহার করেছি, এবং কোনও সমস্যা নেই। এই এমনকি একটি নোংরা হোম-etched প্রোটোটাইপ সঙ্গে মোকাবিলা। Ferrite BEAD টাইপ গুরুত্বপূর্ণ নয়, আমরা আমাদের ক্ষুদ্র ওয়েব সার্ভার প্রকল্প থেকে একটি বামে ব্যবহার করেছি।

ছোট সংযোগকারী একটি সোলার মাস্কের সাথে একটি পেশাদার বোর্ডে ঝলসানো সহজ, তবে বীমা হিসাবে বেশ কয়েকটি কিনুন। SparkFun তাদের ইগল পার্টস লাইব্রেরিতে এই অংশের জন্য একটি পিসিবি পদচিহ্ন আছে, কিন্তু প্যাডগুলির মধ্যে স্থানটি OLIMEX বা BATCHPCB এর চেয়ে ছোট। আমরা প্যাড আকার হ্রাস দ্বারা অনেক বেশি স্থান পেতে এটি fudged। সংযোগকারীর উপর নির্ভর করে না LCD রাখা, এটি ধরে রাখার জন্য টেপ ব্যবহার করুন। আমরা সাময়িকভাবে এলসিডি সংযুক্ত করতে স্টিকি-ট্যাক ব্যবহার করেছি।

আমরা উত্পাদন জন্য চূড়ান্ত নকশা পাঠানোর পূর্বে একটি LCD ক্যারিয়ার বোর্ড প্রোটোটাইপ। আমরা একটি ঝাল মুখোশ ছাড়া সংযোগকারী অধীনে একটি স্থল ব্যবহারের বিরুদ্ধে সুপারিশ।

বিদ্যুৎ সরবরাহ

একটি 3.3 ভল্ট সরবরাহ, একটি LD1117S33 (IC2) দ্বারা দেওয়া, ছবিটি, মাইক্রোএসডি কার্ড, এলসিডি লজিক এবং LCD প্রদর্শনকে ক্ষমতা দেয়। আইসি ২ এর একটি 0.1 ইউএফ বাইপাস ক্যাপাসিটরের (সি 6) সরবরাহের পাশে এবং আউটপুটের একটি 10UF ক্যাপাসিটার (C13) প্রয়োজন। আমরা একই ট্যান্টালাম ক্যাপাসিটরের ব্যবহার করেছি যা আমরা ছবি অভ্যন্তরীণ নিয়ন্ত্রককে ব্যবহার করেছি।

এলসিডি ব্যাকলাইটটি একটি LM317 স্থায়ী রেগুলেটর (আইসি 3) দ্বারা ২40 (R5) এবং 1100 (R6) ওহম প্রতিরোধকগুলির সাথে 7 ভল্টস কনফিগার করা হয়েছে। C7 এবং C8 0.1UF বাইপাস ক্যাপাসিটারগুলি LM317 এর জন্য।

J1 একটি সাধারণ 2.1 মিমি ডিসি ব্যারেল প্লাগ জন্য একটি SMD শক্তি জ্যাক। C11 একটি 10UF ইলেক্ট্রোলাইটিক ক্যাপাসিটার যা সরবরাহ ভোল্টেজে কোনও ল্যাগটি মসৃণ করে। C11 এর সর্বাধিক 16 ভোল্ট ইনপুট রেটিং রয়েছে, তাই সরবরাহের ভোল্টেজটি 1২ ভল্টসের অধীনে রাখা হয়। 9-12 ভোল্ট সম্ভবত ধারণা শক্তি সরবরাহ পরিসীমা।

পিসিবি

একটি পূর্ণ আকার প্লেসমেন্ট ডায়াগ্রাম (PNG) এর জন্য ক্লিক করুন। L1, C5, এবং LCD বিপরীত দিকে হয়। আমরা মায়ের বেসমেন্টে দুটি পার্শ্বযুক্ত বোর্ড প্রোটোটাইপ করতে পারি না, তাই আমরা এই নকশাটিকে ব্যাচপিসিবিতে পাঠিয়েছিলাম। আগামী সপ্তাহে আমরা আপনাকে দেখাবো কিভাবে আমরা এটা করেছি।

যন্ত্রাংশের তালিকা

অংশ
বর্ণনা

আইসি 1.
PIC 24FJ64GA002 (SOIC)

আইসি ২.
LD1117S33 3.3VOLT রেগুলেটর (SOT223)

আইসি 3.
LM317 নিয়মিত নিয়ন্ত্রক (SOT223)

ইউ $ 1.
রঙ এলসিডি 128 × 128 নোকিয়া নক-অফ


নোকিয়া নক-অফ সংযোগকারী

C1-8.
0.1 ইউএফ ক্যাপাসিটার (0805)

C10,11.
27pf ক্যাপাসিটর (0805)

C12,13.
10uf tant.alum capacitor (SMCA)

C14
10uF electrolytic capacitor (SMD)

L1
ferrite bead (0805)

LED1
LED (0805)

Q1
32.768kHz crystal

R1
2000 ohm resistor (0805)

R2
390 ohm resistor (0805)

R5
240 ohm resistor (0805)

R6
1100 ohm resistor (0805)

SD1
microSD card holder

J1
2.1mm power jack (SMD)

SV1
0.1” male pin header, best angle

Firmware

The firmware is written in C using the totally free demonstration version of the picture C30 compiler. learn all about working with this picture in our introduction to the picture 24F series. The firmware is included in the project archive at the end of the article.

FAT12/16/32 disk library

Microchip’s FAT 12/16/32 library gives us easy access to files stored on SD cards. We gave a comprehensive description of this library in our web server on a company card project. If you’re having trouble reading a card with the library, check that it was formatted in a digital video camera or using Panasonic’s SD card formatter.

Nokia 6100 LCD driver

SparkFun has a basic 8bit color chauffeur (ZIP) for the Nokia 6100. We ported it to the PIC, and updated it for the 2byte-per-pixel 12bit color mode. With a small amount of added complexity, the pixel write rate could easily be enhanced by using a different 12bit mode that delivers two pixels using 3 bytes.

The LCD uses a 9bit protocol, one bit much more than many SPI hardware will handle. The first bit tells the LCD whether the next 8bits are data or a command. On the picture 24F it’s impossible to manually bang in the first bit, and then use the SPI peripheral to send the remaining 8bits. We lose direct control of the pins when hardware SPI is enabled. The data entry has to be completely bit-banged, which dramatically reduces the screen revitalize rate.

Reading Bitmaps

There are a ton of bitmap formats.  Windows compatibility keeps everyone using the ancient Windows v3 format. We created two C structs to read the V3 bitmap data.

Offset
Bytes
Bitmap file header

0.
2.
Always 0x42 0x4D (hex for BM)

2.
4.
File size (bytes)

6.
2.
Reserved, ignored

8
2.
Reserved, ignored

10
4.
Location in file of the first bitmap data

Bitmap files start with a 14byte file header. The first two bytes are the letters ‘BM’, indicating a bitmap.  If the first two bytes are correct, the firmware loads the information header. The last four bytes indicate the beginning of bitmap data, but the current firmware just assumes it will begin at the end of the headers.

Offset
Bytes
Bitmap information header

14
4.
Length of bitmap information header (40bytes for Windows V3 bitmaps)

18
4.
Width (pixels)

22
4.
Height (pixels)

26
2.
Color planes, always 1

28.
2.
Color bits per pixel (1, 4, 8, 16, 24 and 32)

30.
4.
Compression method, we only read uncompressed (type 0)

34
4.
Image data length

38
4.
Horizontal resolution (pixels per meter)

42
4.
Vertical resolution (pixel per meter)

46
4.
Number of colors, ignored.

50.
4.
Number of essential colors, ignored.

A Windows V3 bitmap information header is 40bytes long. The firmware verifies that the header length (offset 14) is 40, indicating a V3 bitmap. If the width (132), height (132), color depth (24), and compression (0) all check out, the image data is processed and output to the screen.

Offset
Bytes
24bit image bitmap data

54+(3n)
1.
pixel n red value

54+(3n+1)
1.
pixel n green value

54+(3n+2)
1.
pixel n blue value

Bitmap images have uncompressed, 1:1 representations of pixel data stored in three byte sequences.  The data starts at the lower right-hand corner of the image; first the red value, then green and blue. Wikipedia has a complete bitmap walk through.

If the color depth of a bitmap image (24bits) is greater than the LCD can display (12bits), we need to discard the least significant bits of color data. To convert from 24bit color to 12bit color, we just chuck half the color data; an 8bit value of 11110011 is pushed four bits to the right, giving 1111.

Firmware walk-through

Init PIC, SD, LCD.

Read config.ini, create if it does not exist.

Use first character of config.ini to set between image delay.

Look for images, open next image.

Read and check bitmap file header for proper format.

Read and check bitmap information header for version, size, color.

Read and display each pixel value. adjust bit depth as needed.

Delay, then repeat from 4.

Preparing images

To keep this demo simple, the photo frame only displays the most common bitmap format. images should be sized to 132x132pixels, with 24bit color.

Open a picture with an image editing program.

Draw a square selection box over the part of the image you want to use, typically using shift and drag.

Crop the image.

Size the image to 132x132pixels.

Save the image as a windows bitmap, 24bits of color depth.

Other image sizes and formats could be supported with a firmware upgrade (PNG, JPG), especially with a pin-compatible microcontroller upgrade to a huge dsPIC 33F.

এটি ব্যবহার করছি

Put images in the root directory of a FAT formatted SD card. depending on the laসেন্ট ডিভাইসটি কার্ডটি ফরম্যাট করার জন্য, এটি একটি ডিজিটাল ভিডিও ক্যামেরা বা প্যানাসনিক এসডি ফরম্যাটের সাথে ফর্ম্যাট করা দরকার।

ঐচ্ছিক: একটি টেক্সট এডিটর সহ একটি config.ini ফাইল করুন। ছবি বিলম্বের মধ্যে সেট করতে 0-9 থেকে একটি একক অঙ্ক লিখুন। ফাইল সংরক্ষণ করুন। আপনি যদি নিজের কনফিগারেশন ফাইল তৈরি করেন না তবে 1 সেকেন্ডের বিলম্বের সাথে আপনার জন্য তৈরি করা হবে।

সকেট মধ্যে কার্ড রাখুন, এবং ডিজিটাল ছবি ফ্রেম প্লাগ। চিত্র সংজ্ঞায়িত বিলম্বের সাথে পর্দায় চক্র হবে।

এটা আরও গ্রহণ

আমরা এই সহজ ডিজিটাল ছবি ফ্রেম মধ্যে সম্ভাব্য অনেক দেখতে। একটি ফার্মওয়্যার আপগ্রেডের সাথে অনেকগুলি বৈশিষ্ট্য যোগ করা যেতে পারে, কিছু ভবিষ্যতের হার্ডওয়্যারগুলির জন্য ভিত্তি।

অন্যান্য ইমেজ ফরম্যাট প্রদর্শন, স্কেল ইমেজ

র্যান্ডম fades এবং wipes

চিত্র ওভার সময় এবং তারিখ প্রদর্শন করুন, প্রোগ্রামিং পিনের সাথে সংযুক্ত বোতামগুলির সাথে সেট করুন

দীর্ঘ বিলম্ব, বিবর্ণ বা ওয়াইপ টাইপ অন্তর্ভুক্ত করতে কনফিগারেশন অপশন প্রসারিত করুন

ছবির জন্য একটি সাব ডিরেক্টরিটি ব্যবহার করুন কারণ একটি ফ্যাট ফরম্যাটেড এসডি কার্ডের রুট ডিরেক্টরিতে কিছু ফাইল সীমাবদ্ধতা রয়েছে।

নেটওয়ার্কযুক্ত প্রদর্শন আপডেটের জন্য একটি ইথারনেট সংযোগ যুক্ত করুন।

ডাউনলোড করুন: dpf.v1.zip এটি এখানে সরানো হয়েছে।

You may also like...

Leave a Reply

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