HOW-TO: MAKE AN E-PAPER CLOCK FROM ESQUIRE magazine

If you’ve never heard about electronic paper, crawl out from under that rock and read up on the Sony reader and the Amazon Kindle. E-paper is a flexible display made of color-changing beads that simulate ink-on-paper for easy daylight reading. The revolutionary thing about e-paper is that after it’s set, it stays that way without additional power.

This sounds great in theory, but Esquire’s cover is the first time everybody can afford to hack an e-paper display. We took the cover into the Hack a Day lab to document, test, and hack. In the end, we recycled it into something beneficial that any individual can build. We’ve got all the details on how the display works and what it takes to use it in your own projects. read about our e-paper clock hack below.

Arka fon

The Esquire e-paper cover hit big on the net, but was swiftly panned. NOTCOT has beautiful scans of the circuit board and e-paper. popular science posted instructions for reading the code with a PICkit2. [Slaxter] verified that the photo chip can be read, and that the code protection fuses are off. [Matt] manipulated the e-paper cells directly with skillful soldering and an Arduino. So far, there hasn’t been a lot of interest in repurposing the e-paper, or reprogramming the existing microcontroller.

E-paper panels

The actual e-paper panels, manufactured by E-Ink, aren’t that exciting. Each panel has a set of predefined segments, 11 on the front panel and 3 on the rear Ford advertisement. This isn’t a matrix that we can reprogram into an e-reader. [just_mike] has a great set of ultra close-up shots of the individual beads that make up each segment.

Each e-paper segment has an individual connection, and a connection that’s shared with other cells on the panel. The segments become white or black depending on the direction of current applied to the cell. When common is low, any segment that is also connected high will darken. When common is high, each cell connected to ground will clear. The PCB uses 16 volts from five 3.3volt batteries to switch the cells, but [Slaxter] showed that 5volts was sufficient with his Arduino project.

Performans testi
We made several observations about the e-paper operating specifications.

First, it takes nearly 0.5 seconds to completely darken or clear a cell. In the video you can see the partial states created by switching the e-paper too fast. We’re not quite sure of the optimal change time, but between 0.25 and 0.5 seconds seems to be the minimum.

This also raised questions about the maximum change time. Does it damage the e-paper to apply current for longer than necessary? Does the e-paper continue to consume current as long as it’s applied, wasting the batteries? We took special care in our code to return all outputs to ground after a change to avoid a continuous current through the panel.

Clearing and darkening need to be done separately. It takes two complete operations to fully freshen the screen; one to clear old segments, one to darken new segments. A smart programmer will think they can save a cycle when only adding or removing items, and not doing both. This is true to some extent, but continuous manipulation of one cell without refreshing adjacent cells causes color ‘creep’. In the video, a flashing background without updates to any other segments swiftly drives the inactive segments to a mid-state between dark and light.

Driver board

The motorist consists of an eight-pin Microchip PIC12F629, two 4094 shift registers, and some supporting components.

Click here for a full size pin diagram of the e-paper motorist board(PNG).

Batteries

Esquire invited hacks of their cover with the rather lame suggestion of replacing the batteries. This makes sense, the covers were shipped all over the world in refrigerated containers to help extend the battery life. even with that effort, Esquire says that the batteries will last a few months.

Batteries 1-5 are in series and supply a 15-16volt switching current for the e-paper. The sixth battery supplies 3volts for the PIC. No word yet on which batteries die first. If you want to ‘replace’ your batteries, you’ll need to desolder the old ones, and supply a 5-16volt e-paper supply, and 3volt microcontroller supply, at the points indicated.

We eventually had to replace our microcontroller battery because we abused it a bit during development. A button battery holder with 20mm pin spacing will fit the existing holes. Mouser #534-106 will probably work, but this is unconfirmed.

4094 shift registers (IC1, IC2)

The shift registers switch the e-paper segment controls at 16 volts.

The two 4094 ICs are shift registers setup to cascade data from IC1 to IC2. This basic shift register is a minor variation on the 74HTC595 we used in our graffiti wall. The main difference is that the 4094 strobe line is usually low, and briefly pulled high to put new values on the output pins. We observed that the 4094 requires loNG Saati ve Strobe Bakliyatı. Bu, fotoğraf ve 4094 arasında tembel sürücü devrelerinden veya sadece 4000 serisinin doğası olabilir.

4094 segment çıkışı haritası

İc

Çıktı

Adres

Bağ

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

SAĞA DÖN

12F629

Tam boy şematik çizim için buraya tıklayın (PNG). Sekiz PIN PIC12F629, her e-kağıt segmentini kontrol eden 4094 vardiya kayıtlarını sürdürür. İki pim kullanılmamış (GP4, GP5).

MCLR özelliği direnç R8 ile etkindir. Tasarım, fotoğrafı 13 volt programlama akımından sabitlemek için bir diyot içermez. MicroChip bunu tavsiye eder, ancak devreyi paylaşan başka bir hassas ICS yoktur, bu nedenle tasarımcı bir dirençin yeterli koruma olduğunu hissettirdi.

Üç pim, 4094’ün (GP0, GP1, GP2) veri, saatini ve flaş satırlarını sürdürür. 4094, aynı voltajda, 16 volt, bu nedenle fotoğrafın arabirim pimlerini transistörler aracılığıyla değiştirmesi gerekir. Söyleyebileceğimiz kadarıyla, 4094 kontrol hatları bir dirençle yüksek çekilir. Fotoğraf bir transistörü açar ve çizgiyi toprağa çeker. 4094’ün arayüzü geriye doğru. Bir fotoğraf yüksek pim vardiya kaydında düşük görülür ve düşük düşük olarak görülür. Arayüz tersine çevrilmedikçe çalışmaz.

Programlama pimleri, PCB’nin üstündeki bir başlığa getirilir. Standart .1 “PIN başlığı sağlanan deliklere (Mouser # 571-41033290) lehimize. İki programlama pimi, PGD ve PGC, vardiya kayıtlarını kullanan devre ile paylaşılır. Cihazı bir ICD2 hata ayıklayıcısı ile okuyabildik. Olmasına rağmen, muhtemelen vardiya kayıt sürücüsü nedeniyle yeniden programlayamadık. Herhangi bir bireyin başarısı var mı? Ne olursa olsun, paylaşılan pin düzenlemesi bu cihazda devrede hata ayıklamayı imkansız hale getirir.

Pic pin bağlantıları

Toplu iğne

İsim

Bağ

1

Vdd

+ 3.3volts

2

GP5

3

GP4

4

GP3

MCLR (Program VPP)

5

GP2

4094 Strobe

6

GP1

4094 Saat (Program Saati)

7

GP0

4094 veri (program verileri)

8

Vss

Zemin

Tahtaya dokunun

Yönetim Kurulu’na dokunmak ve favori mikrodenetleyici ile kullanmak kolaydır. Gerekli arabirim sinyallerinden biri olan herkes zaten bir başlığa getirildi. Strobe satırı, okla belirtilen yoluyla dokunulabilir. Fotoğrafın yeni denetleyicinize müdahale etmesini istemiyorsunuz, bu yüzden çıkarın veya güç kaynağını kopyalayarak devre dışı bırakın.

Arayüz Kütüphanesi

Kurulu sürmek için ilk çabamız, PIC24F tabanlı Tiny Web sunucumuzu içeriyordu. Kullanışlı ve PIC24F’nin çalışması kolaydır. Arabirim kütüphanemizi düşük güçlü bir MSP430’da mükemmelleştirdik. Her iki versiyon da proje arşivinde (zip), ancak kütüphanenin MSP430 versiyonu çok daha olgun.

Kütüphane, bir yazılım bit-bang rutin, tahtayı arayüzlemek için fonksiyonlar ve segment ve ortak çizgiler için adres tanımlarını içerir. Esquire_eink.h’deki seçenekler bir bit patlama gecikmesini etkinleştirin ve uzunluğunu ayarlayın; 4094 tembel ve uzun bir saat darbesine ihtiyacımız var. İnitbang () işlevi, pimlerin yönünü ayarlar ve mikrodenetleyicinize uyacak şekilde değiştirilmelidir. Arayın veya IO pimlerinizi başka bir yerde çıkışa ayarlayın:

1
banginit (); // çıkışa bitbang pimlerini ayarla

SetTEG () işlevi geçen bölümleri koyu (1) veya net (0) ayarlar:

1
2
setseg (front_box_guy + front_background, 1); // bu segmentleri ayarla (karanlık)
setseg (front_21st_century, 0); // bu bölümleri temizle (ışık)

SETSEG () işlevi, ESQUIRE_EINK.H’deki Eink_delay tarafından tanımlanan bir renk değişimi gecikmesi içerir. Gecikme sonunda, vardiya kayıt pimlerini yere döndürür. E-kağıdına zarar vermekten kaçınmak ya da pilleri boşa harcamak istiyoruz, ancak bunun gerekli olup olmadığını gerçekten bilmiyoruz.

Setseg () hakkında gözlemlediğimiz bir şey, tek hücrelerin manipüle etmesinin, bitişik hücrelerin orta renge doğru gerilemesine neden olmasıdır. SETDISPLAY () işlevini, ekranın her seferinde tamamen yenileyerek ile mücadele etmek için geliştirdik. SETDISPLAY () her değişiklik için bir duraklama içerir ve ardından Shift Record çıkışlarını yere geri döndürür. Tamamen yenilenmiş bir ekran için segment düzenlemesini geçin:

1
setdisplay (front_esquire + back_left); // xx karanlık, her şey temizle

Vites kayıtlarına doğrudan Bangit () işlevine erişebilirsiniz, ancak e-kağıt rengi değişikliği tamamlandıktan sonra Shift Registers çıkışlarının ‘0’ olarak döndürmeyi düşünebilirsiniz. E-kağıdına zarar verebilir veya eğer terk ederseniz, eğer ayrılırsanız, eğer “bir şey” olursa.

1
2
3
bangit (0b1110000000000000); // tüm arka panel bölümleri
duraklatmak (); // renk değişimini bekleyin
Bangit (0x0000); // Tüm çıktıları yere iade edin

Kütüphaneyi MI’nize taşımak içinTimsahtroller, sadece Esquire_eink.h’deki PIN konfigürasyonlarını kontrol edin ve Esquire_eink.c. PIN talimatlarının arayüz transistörleri tarafından tersine çevrildiğini unutmayın.

Kullanmaya, bir e-kağıt saati koymak

İlk ucuz tüketici e-kağıt paneliyle faydalı bir şey yapmak istedik. Çok kolay bir şey olmak zorunda kaldı, böylece birçok insan bu havalı teknolojiyi geri dönüştürebilir. Eski ekran teknisyenle ne kadar çok fazla makyaj yapamayacağız: Bir saat yapın. Şemalar, ürün yazılımı ve sanat şablonları proje arşivindedir (.zip).

E-kağıda sadece kısmen zamanını temsil edebileceğimiz çok az sayıda segment var. Altı segment, her seferinde saati sonuna kadar en yakın on dakikaya kadar ortaya çıkarmak için kaybolur. Ayrıca panelin zaman dışı segmentlerine göz şekerleri de yanıyoruz. İşte yarattığımız ısmarlama çerçeve. Bu çerçeve ve kendinizinkini yapmak için bir tema, Proje Arşivi’ne (ZIP) dahil edilmiştir. Bezelimizi yansıtılmış şekilde basıldık, böylece mürekkebin çiziklerden korunmuştur.

Donanım

16-bit mikrodenetleyicilerin Texas Instruments ‘MSP430 hattını kullanmak için e-kağıdın düşük güçlü özelliklerinden ilham aldık. İdeal yapılandırmada, MSP430, bir bataryanın raf ömrü ile sınırlı olduğuna dair çok az güç çeker. Orijinal tasarımcılara paraları için bir koşu bile verebilir ve daha düşük bir güç cihazı yapıp yapamayacağız.

MSP430 ile ilgili en iyi şey, sadece 20 dolar için bir USB programcısı / hata ayıklayıcı ve koparma tahtası ile bir kit alabilmenizdir. 4K ile sınırlı ücretsiz C derleyicisi ile birlikte gelir, ancak F2013 sadece 2 bin hafızaya sahiptir. Bu, tamamen bir geliştirme aracıdır, lehimleme dahil değildir. MSP430 ile çalışma hakkında daha fazla bilgi edinin.

Bu şematik, MSP430’ımızı e-kağıt motorlu tahtaya nasıl bağladığımızı gösteriyor. Tam boyutlu bir sürüm için buraya tıklayın (PNG). 47K direnç, MSP430 ve bir LED (gösterilmemiştir) koparma tahtasına dahil edilmiştir.

Zaman saklamak için 32.768khz kristal ekledik (Q1). Normalde, bir osilatör oluşturmak için bazı kapasitörler ekleriz, ancak MSP430, P2.6 ve P2.7’de yerleşik ayarlanabilir kapasitörlere sahiptir.

Ayrıca P1.4 ve P1.2 (S1) arasında bir düğme ekledik. P1.4’teki dahili çekme direnci düğmeyi yüksek tutar ve biz P1.2 ile toprakladık. Bu en iyi düzenleme değil, muhtemelen P1.2’yi yere bağlamak akıllıca olacaktır.

MSP430 Breakout tahtasını, programlama başlığının güç ve yer pimleri üzerine kaydırdık. Saati ve veri pimlerini başlığa da bağlayabilirsiniz, ancak hepsini altındaki Vias’tan yönlendirmeye karar verdik. Fotoğrafı kaldırmayı unutmayın, böylece MSP430’dan sinyallere müdahale etmiyor.

Parçalar

Numara

Maliyet

E-Kağıt Kapak Esquire

MSP430 EZ430 Geliştirme Seti

ez430usb

20 $

32.768khz kristal

815-AB26T-32.768KHZ

$ 0.27

Butona basınız

642-MJTP1250

$ 0.16

Firma yazılımı

Saat yazılımı, EZ430 programcısına dahil olan TI / IAR Kickstart C derleyicisinin ücretsiz demo versiyonuyla yazılmıştır.

MSP430 çok düşük güçtür. 1 MHz’de sadece 220ua kullanır, ancak uyurken 6UA’dan az. Uzun pil ömrü için çok önemli olan, yongayı mümkün olduğunca uyuyor. Saat kodumuz bu konuda akılda yazılır.

Her saniye iki kez kesilmesi için 32.768khz kristaliyle Timer_a kullanıyoruz. Görüntülenecek bölümleri yapılandıran ilk kesme tetikleyicileri, bu değerleri e-kağıda gönderir ve ardından önümüzdeki 0,5 saniye boyunca uyur. MSP430 uyurken, tüm ‘kapalı’ segmentlerin temizlenmesi için zaman var. Bir sonraki kesme, ortak çizgileri, temel bir XOR ile diğer tarafa çevirir, değerleri çıkarır ve 0.5 saniye daha uyuyabilir. Bir dahaki sefere döngü tekrar başlayacak. Shift kayıtlarını ‘0’ konuma sıfırlamak için uğraşmıyoruz çünkü tazey, fresci düzenli olarak akarsuda. Segment sürünmesi bir sorun değil çünkü her bir döngü her segmentini tazeliyoruz.

Bir düğme basın, önümüzdeki 10 dakikaya kadar ilerleyen bir kesmeyi tetikler. Saati ayarlamak için, saati saat 10 dakikalık bir yönü bekleyin ve dengeyi göstermek için düğmeye basın.

Leave a Reply

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

Related Post

SırpalardanSırpalardan

inşa edilen bir saat, büyük bir artı mağazadan hoşlanmıyor? [Tyler Betsch], hurdaya alınmış bir tıbbi devre kartını yeniden amaçlayarak bu harika saat hack’i tamamladı. Minneapolis’teki Ax-Man Artı, her türlü güzelliğe