থেকে একটি ই-পেপার ক্লক তৈরি করুন যদি আপনি ইলেকট্রনিক কাগজ সম্পর্কে কখনই শুনেন না, সেই রক থেকে বেরিয়ে যান এবং সোনি পাঠক এবং অ্যামাজন কিন্ডলের উপর পড়েন। ই-পেপারটি রঙ-পরিবর্তনশীল জপমালা তৈরি করা একটি নমনীয় প্রদর্শন যা সহজ দিনের আলো পড়ার জন্য কালি-অন-কাগজকে অনুকরণ করে। ই-পেপার সম্পর্কে বিপ্লবী জিনিসটি হল এটির সেট পরে, এটি অতিরিক্ত শক্তি ছাড়াই এভাবেই থাকে।
এটি তত্ত্বের মধ্যে দুর্দান্ত শব্দ, কিন্তু Esquire এর কভারটি প্রথমবারের মতো একটি ই-পেপার ডিসপ্লে হ্যাক করতে পারে। আমরা হ্যাক একটি দিন ল্যাব মধ্যে দস্তাবেজ, পরীক্ষা, এবং হ্যাক মধ্যে কভার গ্রহণ। শেষ পর্যন্ত, আমরা এমন কোনও উপকারী এমন কোনও উপকারের মধ্যে পুনর্ব্যবহৃত করেছি যে কোনও ব্যক্তি তৈরি করতে পারে। প্রদর্শনের কাজগুলি কীভাবে এবং আপনার নিজস্ব প্রকল্পে এটি কীভাবে এটি ব্যবহার করে তা নিয়ে আমরা সমস্ত বিবরণ পেয়েছি। নীচের আমাদের ই কাগজ ঘড়ি হ্যাক সম্পর্কে পড়ুন।
পটভূমি
Esquire ই কাগজ কভার নেট উপর বড় আঘাত, কিন্তু দ্রুতগতিতে panned ছিল। Notcot সার্কিট বোর্ড এবং ই কাগজ এর সুন্দর স্ক্যান আছে। জনপ্রিয় বিজ্ঞান একটি pickit2 সঙ্গে কোড পড়ার জন্য নির্দেশাবলী পোস্ট। [স্ল্যাক্স্টার] যাচাই করা হয়েছে যে ফটো চিপটি পড়তে পারে, এবং কোড সুরক্ষা ফিউজগুলি বন্ধ হয়ে যায়। [ম্যাট] দক্ষ দক্ষ সোল্ডারিং এবং একটি Arduino সঙ্গে ই-পেপার কোষ ম্যানিপুলেশন। এ পর্যন্ত, ই-পেপারটি পুনর্নির্মাণের বা বিদ্যমান মাইক্রোকন্ট্রোলারের পুনঃনির্মাণের মধ্যে অনেক আগ্রহ নেই।
ই-পেপার প্যানেল
ই-কালি দ্বারা নির্মিত প্রকৃত ই-পেপার প্যানেলগুলি যে উত্তেজনাপূর্ণ নয়। প্রতিটি প্যানেলের পূর্বনির্ধারিত অংশগুলির একটি সেট, সামনে প্যানেলে 11 এবং পিছন ফোর্ড বিজ্ঞাপনে 3 টি। এটি একটি ম্যাট্রিক্স নয় যা আমরা একটি ই-পাঠককে পুনরায় সংজ্ঞায়িত করতে পারি। [Just_Mike] প্রতিটি সেগমেন্ট তৈরি করে এমন ব্যক্তিগত জপমালাগুলির অতি বন্ধ-আপ শটগুলির একটি দুর্দান্ত সেট রয়েছে।
প্রতিটি ই-পেপার সেগমেন্টটিতে একটি পৃথক সংযোগ রয়েছে এবং একটি সংযোগ যা প্যানেলে অন্যান্য কোষের সাথে ভাগ করা হয়েছে। কোষে প্রয়োগ করা বর্তমান দিকের উপর ভিত্তি করে সেগমেন্টগুলি সাদা বা কালো হয়ে যায়। যখন সাধারণ কম হয়, তখন যে কোনও সেগমেন্টটি সংযুক্ত করা হবে। সাধারণ যখন উচ্চ হয়, স্থল সংযুক্ত প্রতিটি সেল পরিষ্কার হবে। পিসিবি কোষগুলি স্যুইচ করার জন্য পাঁচটি 3.3 ভল্ট ব্যাটারী থেকে 16 টি ভোল্ট ব্যবহার করে, কিন্তু [স্ল্যাক্স্টার] দেখিয়েছে যে 5 টি ভল্টগুলি তার আরডিনো প্রকল্পের সাথে যথেষ্ট ছিল।
কর্মক্ষমতা পরীক্ষা
আমরা ই-পেপার অপারেটিং স্পেসিফিকেশন সম্পর্কে বিভিন্ন পর্যবেক্ষণ করেছি।
প্রথমত, এটি প্রায় 0.5 সেকেন্ডের মধ্যে একটি সেল বা পরিষ্কার করতে প্রায় 0.5 সেকেন্ড সময় লাগে। ভিডিওটিতে আপনি ই-পেপারকে খুব দ্রুত স্যুইচ করে তৈরি করে আংশিক রাজ্যগুলি দেখতে পারেন। আমরা সর্বোত্তম পরিবর্তন সময় নিশ্চিত করি না, তবে 0.25 থেকে 0.5 সেকেন্ডের মধ্যে সর্বনিম্ন বলে মনে হচ্ছে।
এটি সর্বাধিক পরিবর্তন সময় সম্পর্কে প্রশ্ন উত্থাপিত। এটি প্রয়োজনীয় আর প্রয়োজনের জন্য বর্তমান আবেদন করার জন্য ই-পেপার ক্ষতি করে? ই-পেপারটি যতক্ষণ প্রয়োগ করা হয় ততক্ষণ এটি বর্তমান গ্রাস করতে থাকে, ব্যাটারীকে নষ্ট করে দেয়? প্যানেলের মাধ্যমে একটি ক্রমাগত বর্তমান এড়াতে পরিবর্তনের পরে আমরা সমস্ত আউটপুটকে গ্রাউন্ডে ফিরিয়ে আনতে আমাদের কোডটিতে বিশেষ যত্ন নিলাম।
ক্লিয়ারিং এবং অন্ধকার করা প্রয়োজন আলাদাভাবে করা প্রয়োজন। পর্দায় সম্পূর্ণরূপে Freshen দুটি সম্পূর্ণ অপারেশন লাগে; এক পুরানো অংশ পরিষ্কার, এক নতুন অংশ অন্ধকার। একটি স্মার্ট প্রোগ্রামার মনে করবে যখন কেবল আইটেমগুলি যুক্ত বা অপসারণের সময় একটি চক্র সংরক্ষণ করতে পারে, এবং উভয় না করে। এটি কিছুটা সত্যই সত্য, তবে রিফ্রেশিং কোষ ছাড়া এক কোষের ক্রমাগত ম্যানিপুলেশন রঙ ‘ক্রিপ’ তৈরি করে। ভিডিওতে, অন্য কোনও বিভাগে আপডেট ছাড়াই একটি ঝলকানি পটভূমি দ্রুতগতিতে অন্ধকার এবং আলোর মধ্যে একটি মধ্য প্রদেশে নিষ্ক্রিয় বিভাগগুলি চালায়।
ড্রাইভার বোর্ড
মোটরস্ট্রিক একটি আট-পিন মাইক্রোচিপ pic12f629, দুই 4094 শিফট নিবন্ধক এবং কিছু সহায়ক উপাদান রয়েছে।
ই-পেপার মোটরসাইকেল বোর্ডের (PNG) এর পূর্ণ আকারের পিন ডায়াগ্রামের জন্য এখানে ক্লিক করুন।
ব্যাটারি
Esquire ব্যাটারী প্রতিস্থাপন বরং লাম পরামর্শ সঙ্গে তাদের কভার হ্যাকস আমন্ত্রিত। এটি ইন্দ্রিয় তোলে, ব্যাটারি জীবন প্রসারিত করতে সাহায্য করার জন্য ফ্রিজে কন্টেইনারগুলিতে সমস্ত সারা বিশ্বে সারা বিশ্বে প্রেরণ করা হয়েছিল। এমনকি সেই প্রচেষ্টার সাথেও, এস্কুইয়ার বলে যে ব্যাটারি কয়েক মাস স্থায়ী হবে।
ব্যাটারি 1-5 সিরিজে রয়েছে এবং ই-পেপারের জন্য 15-16 ভল্ট স্যুইচিং বর্তমান সরবরাহ করে। ছবির জন্য ষষ্ঠ ব্যাটারি সরবরাহ 3VOLTS। কোন শব্দটি এখনো কোন ব্যাটারি মারা যায়। আপনি যদি আপনার ব্যাটারিটি প্রতিস্থাপন করতে চান তবে আপনাকে পুরোনোদের desolder করতে হবে, এবং নির্দেশিত পয়েন্টগুলিতে, 5-16 ভল্ট ই-পেপার সরবরাহ, এবং 3 টি মাইক্রোকন্ট্রোলার সরবরাহ সরবরাহ করতে হবে।
আমরা অবশেষে আমাদের মাইক্রোকন্ট্রোলার ব্যাটারিটি প্রতিস্থাপন করতে হয়েছিল কারণ আমরা এটি বিকাশের সময় এটি একটি বিটকে নির্যাতন করেছি। ২0 মিমি পিন স্পেসিংয়ের সাথে একটি বোতাম ব্যাটারি ধারক বিদ্যমান গর্তগুলি মাপসই করবে। Mouser # 534-106 সম্ভবত কাজ করবে, কিন্তু এটি অননুমোদিত।
4094 Shift নিবন্ধন (আইসি 1, আইসি ২)
Shift নিবন্ধন 16 ভোল্টে ই-পেপার সেগমেন্ট নিয়ন্ত্রণ স্যুইচ করুন।
দুই 4094 আইসিএস IC1 থেকে IC2 থেকে CASCADE তথ্য CASCADE নিবন্ধন সেটআপ। এই মৌলিক শিফট নিবন্ধটি 74htc595 এর একটি ছোটখাট বৈচিত্র্য আমরা আমাদের গ্রাফিতি প্রাচীরে ব্যবহৃত। প্রধান পার্থক্য হল যে 4094 স্ট্রোব লাইনটি সাধারণত কম, এবং সংক্ষিপ্তভাবে আউটপুট পিনে নতুন মানগুলি রাখতে উচ্চভাবে টেনে আনে। আমরা লক্ষ্য করেছি যে 4094 এর প্রয়োজন নেইng clock and strobe pulses. This could be due to lazy drive circuitry between the photo and the 4094, or just the nature of the 4000 series.
4094 segment output map
IC
আউটপুট
Address
Connection
1.
Q1
0x01
FRONT_BOX_SYMBOL_DNA
1.
Q2
0x02
FRONT_BOX_GUY
1.
Q3
0x04
FRONT_BOX_FIREWORKS
1.
Q4
0x08
FRONT_ON_THE_WEST_COAST
1.
Q5
0x10
FRONT_THREE_HOURS_LATER
1.
Q6
0x20
FRONT_ESQUIRE
1.
Q7
0x40
FRONT_BOX_GIRL
1.
Q8
0x80
FRONT_NOW
2
Q1
0x100
FRONT_BEGINS
2
Q2
0x200
FRONT_21ST_CENTURY
2
Q3
0x400
FRONT_BACKGROUND
2
Q4
0x800
FRONT_COMMON
2
Q5
0x1000
BACK_COMMON
2
Q6
0x2000
BACK_LEFT
2
Q7
0x4000
BACK_CENTER
2
Q8
0x8000
BACK_RIGHT
12F629
Click here for a full size schematic drawing(PNG). An eight pin PIC12F629 drives the 4094 shift registers that control each e-paper segment. two pins are unused (GP4, GP5).
The MCLR feature is enabled with resistor R8. The design doesn’t include a diode to secure the photo from the 13volt programming current. Microchip recommends this, but there’s no other sensitive ICs sharing the circuit so maybe the designer felt a resistor was sufficient protection.
Three pins drive the data, clock, and strobe lines of the 4094 (GP0, GP1, GP2). The 4094 has to be interfaced at the same voltage it switches, 16 volts, so the photo switches the interface pins through transistors. As far as we can tell, the 4094 control lines are pulled high with a resistor. The photo switches a transistor on, and it pulls the line to ground. The interface to the 4094 is backwards. A photo high pin is seen as low at the shift register, and low is seen as high. The interface won’t work unless reversed.
The programming pins are brought to a header at the top of the PCB. We soldered standard .1″ pin header into the holes supplied (Mouser #571-41033290). The two programming pins, PGD and PGC, are shared with the circuitry that drives the shift registers. We were able to read the device with an ICD2 debugger. We couldn’t reprogram it though, probably because of the shift register driver. has any individual had success? Regardless, the shared pin arrangement makes it impossible to do in-circuit debugging on this device.
PIC pin connections
Pin
Name
Connection
1.
VDD
+3.3volts
2
GP5
–
3
GP4
–
4
GP3
MCLR (program VPP)
5
GP2
4094 Strobe
6
GP1
4094 Clock (program clock)
7
GP0
4094 data (program data)
8.
VSS
স্থল
Tap the board
It’s easy to tap into the board and use it with your favorite microcontroller. All but one of the required interface signals are already brought to a header. The strobe line can be tapped through the by means of indicated by the arrow. You don’t want the photo to interfere with your new controller, so remove it or deactivate it by severing the power pin.
Interface library
Our first effort to drive the board involved our PIC24F-based tiny web server. It was handy, and the PIC24F is easy to work with. We perfected our interface library on a low-power MSP430. Both versions are in the project archive(ZIP), but the MSP430 version of the library is a lot more mature.
The library includes a software bit-bang routine, functions for interfacing the board, and address definitions for the segment and common lines. options in esquire_eink.h enable a bit-bang delay and set its length; we found the 4094 lazy and in need of a lengthy clock pulse. The initBang() function sets the direction of the pins, and must be changed to suit your microcontroller. call it, or set your IO pins to output elsewhere:
1.
bangInit(); //set bitbang pins to output
The setSeg() function sets the passed segments dark (1) or clear (0):
1.
2
setSeg(FRONT_BOX_GUY+FRONT_BACKGROUND, 1); //set(dark) these segments
setSeg(FRONT_21ST_CENTURY,0);//clear (light) these segments
The setSeg() function includes a color change delay defined by EINK_DELAY in esquire_eink.h. At the end of the delay it returns the shift register pins to ground. We want to avoid damaging to the e-paper or wasting the batteries, though we don’t really know if this is necessary.
One thing we observed about setSeg() was that manipulating single cells causes adjacent cells to regress toward a mid-color. We developed the setDisplay() function to combat this by fully refreshing the display every time. setDisplay() includes a pause for each change, and then returns the shift register outputs to ground. just pass the segment arrangement for a fully refreshed display:
1.
setDisplay(FRONT_ESQUIRE+BACK_LEFT);//XX dark, everything else clear
You can access the shift registers directly with the bangIt() function, but consider returning the shift registers outputs to ‘0’ after the e-paper color change is complete. You could damage the e-paper or cause excessive current drain if you leave it on, if that’s actually ‘a thing’.
1.
2
3
bangIt(0b1110000000000000);//all back panel segments on
pause();//wait for the color change
bangIt(0x0000);//return all outputs to ground
To port the library to your microcontroller, just check the pin configurations in esquire_eink.h, and the pin setup function bangInit() in esquire_eink.c. keep in mind that the pin directions are reversed by the interface transistors.
Putting it to use, an e-paper clock
We wanted to do something beneficial with the first cheap consumer e-paper panel. It had to be something pretty easy so that lots of people can recycle this cool piece of technology. We couldn’t resist doing what so lots of make with old display tech: make a clock. Schematics, firmware, and art templates are in the project archive(.zip).
There’s so few segments on the e-paper that we can only partially represent the time. six segments show time, each fades to reveal the time to the nearest ten minutes past the hour. We also flash eye-candy on the non-time segments of the panel. Here’s the custom-made bezel we created. This bezel, and a theme to make your own, are included in the project archive(ZIP). We printed our bezel mirrored so the ink is protected from scratches.
Hardware
We were inspired by the low-power properties of e-paper to use Texas Instruments’ MSP430 line of 16-bit microcontrollers. With the ideal configuration, the MSP430 draws so little power that it’s only limited by the shelf life of a battery. We can even give the original designers a run for their money, and see if we can make a lower power device.
The best thing about the MSP430 is that you can get a kit with a USB programmer/debugger and breakout board for only 20 bucks. It comes with a complimentary C compiler limited to 4K, but the F2013 only has 2K of memory. This is a complete development tool, no soldering involved. learn a lot more about working with the MSP430 in this how-to.
This schematic shows how we connected our MSP430 to the e-paper motorist board. Click here for a full size version(PNG). The 47K resistor, MSP430, and an LED (not shown) are included on the breakout board.
We added a 32.768KHz crystal to keep time (Q1). Normally, we’d also add some capacitors to form an oscillator, but the MSP430 has built-in adjustable capacitors on P2.6 and P2.7.
We also added a button between P1.4 and P1.2 (S1). The internal pull-up resistor on P1.4 holds the button high, and we grounded it through P1.2. This isn’t the best arrangement, it would probably be wise to also connect P1.2 to ground.
We slid the MSP430 breakout board over the power and ground pins of the programming header. You can connect the clock and data pins to the header too, but we made a decision to route them all from the vias underneath. remember to remove the photo so it doesn’t interfere with signals from the MSP430.
Parts
Number
Cost
Esquire e-paper cover
–
–
MSP430 ez430 development kit
ez430USB
$20
32.768KHz crystal
815-AB26T-32.768KHZ
$0.27
বোতাম চাপা
642-mjtp1250
$0.16
ফার্মওয়্যার
The clock software is written with the complimentary demo version of the TI/IAR Kickstart C compiler included with the ez430 programmer.
The MSP430 is very low power. It uses just 220uA at 1MHz, but less than 6uA when sleeping. The crucial to long battery life is to keep the chip asleep as much as possible. Our clock code is written with this in mind.
We use timer_a with the 32.768khz crystal to create an interrupt twice each second. The first interrupt triggers code that configures the segments to be displayed, sends these values to the e-paper, and then sleeps for the next 0.5 seconds. While the MSP430 sleeps, all the ‘off’ segments have time to clear. The next interrupt flips the common lines the other way with a basic XOR, outputs the values, and goes to sleep for another 0.5 seconds. next time the cycle will begin again. We don’t bother to reset the shift registers to the ‘0’ position because the freshen is regularly in flux. segment creep isn’t a problem because we freshen every segment each cycle.
A button press triggers an interrupt that advances the time to the next 10 minutes. To set the clock, wait until the time is a aspect of 10 minutes past the hour and press the button to show the corre