Jika Anda belum pernah mendengar tentang kertas elektronik, merangkak keluar dari bawah batu itu dan membaca di Sony Reader dan Amazon Kindle. E-Paper adalah tampilan fleksibel yang terbuat dari manik-manik yang berubah warna yang mensimulasikan tinta-on-paper untuk membaca siang hari yang mudah. Hal revolusioner tentang e-paper adalah setelah itu diatur, tetap seperti itu tanpa daya tambahan.

Ini terdengar hebat dalam teori, tetapi sampul Esquire adalah pertama kalinya semua orang mampu meretas layar e-paper. Kami mengambil sampul ke laboratorium sehari-hari untuk mendokumentasikan, menguji, dan meretas. Pada akhirnya, kami mendaur ulang menjadi sesuatu yang bermanfaat bahwa setiap individu dapat membangun. Kami memiliki semua detail tentang bagaimana tampilan berfungsi dan apa yang diperlukan untuk menggunakannya dalam proyek Anda sendiri. Baca tentang peretasan jam kertas e-paper kami di bawah ini.

Latar belakang

Penutup e-paper Esquire menghantam besar di internet, tetapi terasa cepat. NOTCOT memiliki pemindaian indah dari papan sirkuit dan e-paper. Sains Populer Diposting instruksi untuk membaca kode dengan Pickit2. [Slaxter] memverifikasi bahwa chip foto dapat dibaca, dan sekering perlindungan kode mati. [Matt] memanipulasi sel-e-kertas langsung dengan solder yang terampil dan Arduino. Sejauh ini, belum ada banyak minat dalam mengambil kembali e-paper, atau memprogram ulang mikrokontroler yang ada.

Panel-kertas E-Paper

Panel-kertas e-paper yang sebenarnya, diproduksi oleh e-ink, tidak begitu menarik. Setiap panel memiliki seperangkat segmen yang telah ditentukan, 11 pada panel depan dan 3 pada iklan Ford belakang. Ini bukan matriks yang dapat kami kembalikan ke e-reader. [Just_mike] Memiliki serangkaian bidikan close-up ultra yang hebat dari manik-manik individu yang membentuk setiap segmen.

Setiap segmen e-paper memiliki koneksi individu, dan koneksi yang dibagikan dengan sel lain pada panel. Segmen menjadi putih atau hitam tergantung pada arah saat ini diterapkan pada sel. Ketika umum rendah, segmen apa pun yang juga terhubung tinggi akan gelap. Ketika umum tinggi, setiap sel yang terhubung ke tanah akan jelas. PCB menggunakan 16 volt dari lima baterai 3.3Volt untuk mengganti sel, tetapi [Slaxter] menunjukkan bahwa 5Volts sudah cukup dengan proyek Arduino-nya.

Pengujian kinerja
Kami membuat beberapa pengamatan tentang spesifikasi operasi e-paper.

Pertama, butuh hampir 0,5 detik untuk sepenuhnya gelap atau membersihkan sel. Dalam video Anda dapat melihat negara-negara parsial yang dibuat dengan mengalihkan e-paper terlalu cepat. Kami tidak yakin akan waktu perubahan optimal, tetapi antara 0,25 dan 0,5 detik tampaknya merupakan minimum.

Ini juga menimbulkan pertanyaan tentang waktu perubahan maksimum. Apakah itu merusak e-paper untuk menerapkan arus lebih lama dari yang diperlukan? Apakah e-paper terus mengkonsumsi arus selama itu diterapkan, menyia-nyiakan baterai? Kami mengambil perawatan khusus dalam kode kami untuk mengembalikan semua output ke darat setelah perubahan untuk menghindari arus yang berkelanjutan melalui panel.

Kliring dan penggelapan perlu dilakukan secara terpisah. Dibutuhkan dua operasi lengkap untuk menyapu layar sepenuhnya; Satu untuk membersihkan segmen lama, satu untuk menggelapkan segmen baru. Seorang programmer pintar akan berpikir mereka dapat menyimpan siklus ketika hanya menambah atau menghapus item, dan tidak melakukan keduanya. Ini benar sampai batas tertentu, tetapi manipulasi berkelanjutan dari satu sel tanpa menyegarkan sel-sel yang berdekatan menyebabkan ‘creep’. Dalam video, latar belakang yang berkedip tanpa pembaruan ke segmen lain dengan cepat mendorong segmen tidak aktif ke negara bagian tengah antara gelap dan cahaya.

Papan sirkuit

Motorist terdiri dari microchip PIC12F629 delapan pin, dua register 4094 shift, dan beberapa komponen pendukung.

Klik di sini untuk diagram pin ukuran penuh dari papan E-Paper Motorist (PNG).

Baterai

Esquire mengundang peretasan penutup mereka dengan saran yang agak timpang untuk mengganti baterai. Ini masuk akal, sampul dikirim di seluruh dunia dalam wadah berpendingin untuk membantu memperpanjang masa pakai baterai. Bahkan dengan upaya itu, Esquire mengatakan bahwa baterai akan berlangsung beberapa bulan.

Baterai 1-5 dalam seri dan memasok arus switching 15-16volt untuk e-paper. Perlengkapan baterai keenam 3Volts untuk pic. Belum ada kata di mana baterai mati terlebih dahulu. Jika Anda ingin ‘mengganti’ baterai Anda, Anda harus mendolder yang lama, dan menyediakan pasokan E-paper 5-16volt, dan pasokan mikrokontroler 3Volt, pada titik-titik yang ditunjukkan.

Kami akhirnya harus mengganti baterai mikrokontroler kami karena kami menyalahgunakannya selama pengembangan. Tombol pemegang baterai dengan jarak pin 20mm akan sesuai dengan lubang yang ada. Mouser # 534-106 mungkin akan berfungsi, tetapi ini belum dikonfirmasi.

4094 register shift (IC1, IC2)

Register shift beralih kontrol segmen e-paper pada 16 volt.

Dua 4094 IC adalah pengaturan register bergeser ke data cascade dari IC1 ke IC2. Register shift dasar ini adalah variasi kecil pada 74HTC595 yang kami gunakan di dinding grafiti kami. Perbedaan utama adalah bahwa garis strobo 4094 biasanya rendah, dan secara singkat menarik tinggi untuk meletakkan nilai-nilai baru pada pin output. Kami mengamati bahwa 4094 membutuhkan LoNg jam dan pulsa strobo. Ini bisa disebabkan oleh sirkuit drive malas antara foto dan 4094, atau hanya sifat dari 4000 series.

4094 Peta Keluaran Segmen

IC.

Keluaran

Alamat

Koneksi

1

Q1.

0x01.

Front_box_symbol_dna.

1

Q2.

0x02.

Front_box_guy.

1

Q3.

0x04.

Front_box_fireworks.

1

T4.

0x08.

Front_on_the_west_coast.

1

T5.

0x10.

Front_three_hours_later.

1

Q6.

0x20.

Front_esquire.

1

T7.

0x40.

Front_box_girl.

1

T8.

0x80.

Front_now.

2.

Q1.

0x100.

Front_begins.

2.

Q2.

0x200.

Front_21st_century.

2.

Q3.

0x400.

Front_background.

2.

T4.

0x800.

Front_common.

2.

T5.

0x1000.

Back_common.

2.

Q6.

0x2000.

Back_left.

2.

T7.

0x4000.

Back_center.

2.

T8.

0x8000.

Back_right.

12F629.

Klik di sini untuk menggambar skematis ukuran penuh (PNG). Delapan pin PIC12F629 menggerakkan register 4094 shift yang mengontrol setiap segmen e-paper. Dua pin tidak digunakan (GP4, GP5).

Fitur MCLR diaktifkan dengan resistor R8. Desainnya tidak termasuk dioda untuk mengamankan foto dari arus pemrograman 13volt. Microchip merekomendasikan ini, tetapi tidak ada ICS sensitif lain yang berbagi rangkaian sehingga mungkin perancang merasakan resistor adalah perlindungan yang memadai.

Tiga pin menggerakkan data, jam, dan garis strobo dari 4094 (GP0, GP1, GP2). 4094 harus dihubungkan pada tegangan yang sama itu beralih, 16 volt, sehingga foto itu menghidupkan pin antarmuka melalui transistor. Sejauh yang kita tahu, garis kontrol 4094 ditarik tinggi dengan resistor. Foto menyalakan transistor, dan itu menarik garis ke tanah. Antarmuka ke 4094 mundur. Pin foto tinggi dipandang rendah pada register shift, dan rendah dipandang tinggi. Antarmuka tidak akan berfungsi kecuali terbalik.

Pin pemrograman dibawa ke header di bagian atas PCB. Kami Solder Standard .1 “PIN Header ke dalam lubang yang disediakan (Mouser # 571-41033290). Dua pin pemrograman, PGD dan PGC, dibagikan dengan sirkuit yang menggerakkan register pergeseran. Kami dapat membaca perangkat dengan debugger ICD2. Kami tidak dapat memprogram ulang, mungkin karena driver register shift. Adakah individu yang sukses? Apapun, pengaturan pin bersama membuat mustahil untuk melakukan debugging in-sirkuit pada perangkat ini.

Koneksi pin pin.

Pin

Nama

Koneksi

1

VDD.

+ 3.3volts.

2.

Gp5.

3.

Gp4.

4.

Gp3.

MCLR (Program VPP)

5.

Gp2.

4094 Strobe.

6.

Gp1.

4094 jam (jam program)

7.

Gp0.

4094 data (data program)

8.

Vss.

Tanah

Ketuk papan

Sangat mudah untuk memanfaatkan papan dan menggunakannya dengan mikrokontroler favorit Anda. Semua kecuali salah satu sinyal antarmuka yang diperlukan sudah dibawa ke header. Garis strobo dapat disadap melalui dengan cara yang ditunjukkan oleh panah. Anda tidak ingin foto mengganggu pengontrol baru Anda, jadi hapus atau nonaktifkan dengan memotong pin listrik.

Perpustakaan Antarmuka

Upaya pertama kami untuk mengarahkan Dewan melibatkan server web kecil berbasis PIC24F kami. Itu berguna, dan pic24f mudah untuk dikerjakan. Kami menyempurnakan pustaka antarmuka kami pada MSP430 daya rendah. Kedua versi berada di arsip proyek (zip), tetapi versi MSP430 dari perpustakaan jauh lebih matang.

Perpustakaan mencakup rutin bit-bang perangkat lunak, fungsi untuk menghubungkan papan, dan alamat definisi untuk segmen dan jalur umum. Opsi di Esquire_Eink.h Aktifkan tunda bit-bang dan atur panjangnya; Kami menemukan 4094 malas dan membutuhkan pulsa jam panjang. Fungsi initbang () mengatur arah pin, dan harus diubah agar sesuai dengan mikrokontroler Anda. Sebut saja, atau atur pin IO Anda untuk output di tempat lain:

1
Banginit (); // atur bitbang pin ke output

Fungsi setseg () mengatur segmen yang lulus gelap (1) atau hapus (0):

1
2.
setseg (front_box_guy + front_background, 1); // atur (gelap) segmen ini
setseg (front_21st_century, 0); // hapus (ringan) segmen ini

Fungsi Setseg () mencakup penundaan perubahan warna yang ditentukan oleh Eink_Delay di Esquire_Eink.h. Pada akhir penundaan itu mengembalikan pin register shift ke tanah. Kami ingin menghindari kerusakan pada e-paper atau menyia-nyiakan baterai, meskipun kami tidak benar-benar tahu jika ini diperlukan.

Satu hal yang kami amati tentang setseg () adalah bahwa memanipulasi sel tunggal menyebabkan sel-sel yang berdekatan untuk mundur ke arah menengah. Kami mengembangkan fungsi SetDisplay () untuk memerangi ini dengan menyegarkan layar sepenuhnya setiap saat. SetDisplay () termasuk jeda untuk setiap perubahan, dan kemudian mengembalikan output register shift ke ground. Pastikan pengaturan segmen untuk tampilan yang sepenuhnya disegarkan:

1
SetDisplay (front_esquire + back_left); // xx gelap, semuanya jelas

Anda dapat mengakses register shift secara langsung dengan fungsi Bangit (), tetapi pertimbangkan untuk mengembalikan register register ke ‘0’ setelah perubahan warna E-paper selesai. Anda dapat merusak e-paper atau menyebabkan tiriskan saat ini berlebihan jika Anda membiarkannya, jika itu sebenarnya ‘sesuatu’.

1
2.
3.
Bangit (0b1110000000000000); // semua segmen panel kembali pada
Jeda (); // tunggu perubahan warna
Bangit (0x0000); // Kembalikan semua output ke Ground

Untuk port perpustakaan ke mi AndaCrocontroler, cukup periksa konfigurasi pin di Esquire_Eink.h, dan fungsi PIN Setup Banginit () di Esquire_Eink.c. Ingatlah bahwa petunjuk PIN dibalik oleh antarmuka transistor.

Menempatkannya untuk digunakan, jam e-paper

Kami ingin melakukan sesuatu yang bermanfaat dengan panel E-Paper Consumer Murah pertama. Itu harus menjadi sesuatu yang cukup mudah sehingga banyak orang dapat mendaur ulang teknologi keren ini. Kami tidak bisa menolak melakukan apa yang banyak dibuat dengan Teknologi Tampilan lama: Buat jam. Skema, firmware, dan template seni berada di arsip proyek (.zip).

Ada begitu sedikit segmen pada e-paper yang hanya dapat kita wakili secara parsial. Enam segmen menunjukkan waktu, masing-masing memudar untuk mengungkapkan waktu hingga sepuluh menit terakhir melewati jam. Kami juga mem-flash eye-candy pada segmen non-waktu panel. Inilah bezel buatan yang kami buat. Bezel ini, dan tema untuk membuat sendiri, termasuk dalam arsip proyek (zip). Kami mencetak bezel bezel kami sehingga tinta dilindungi dari goresan.

Perangkat keras

Kami terinspirasi oleh sifat-sifat E-Power yang rendah untuk menggunakan Garis MSP430 Texas Instruments dari mikrokontroler 16-bit. Dengan konfigurasi ideal, MSP430 menarik sedikit daya yang hanya dibatasi oleh umur simpan baterai. Kami bahkan dapat memberikan desainer asli untuk uang mereka, dan melihat apakah kami dapat membuat perangkat daya yang lebih rendah.

Hal terbaik tentang MSP430 adalah Anda bisa mendapatkan kit dengan USB Programmer / debugger dan breakout board untuk hanya 20 dolar. Muncul dengan kompiler C gratis terbatas pada 4K, tetapi F2013 hanya memiliki 2k memori. Ini adalah alat pengembangan lengkap, tidak ada solder yang terlibat. Pelajari lebih banyak tentang bekerja dengan MSP430 dalam cara ini.

Skema ini menunjukkan bagaimana kami menghubungkan MSP430 kami ke papan pengendara E-Paper. Klik di sini untuk versi ukuran penuh (PNG). Resistor 47k, MSP430, dan LED (tidak ditampilkan) disertakan pada papan breakout.

Kami menambahkan kristal 32.768kHz untuk menjaga waktu (Q1). Biasanya, kami juga akan menambahkan beberapa kapasitor untuk membentuk osilator, tetapi MSP430 memiliki kapasitor yang dapat disesuaikan bawaan pada P2.6 dan P2.7.

Kami juga menambahkan tombol antara P1.4 dan P1.2 (S1). Resistor pull-up internal pada P1.4 memegang tombol tinggi, dan kami membasinya melalui P1.2. Ini bukan pengaturan terbaik, mungkin akan bijaksana untuk menghubungkan P1.2 ke tanah.

Kami memasukkan papan breakout MSP430 ke atas daya dan pin tanah dari header pemrograman. Anda dapat menghubungkan jam dan pin data ke header juga, tetapi kami membuat keputusan untuk merutekannya semua dari vias di bawahnya. Ingatlah untuk menghapus foto sehingga tidak mengganggu sinyal dari MSP430.

Bagian

Nomor

Biaya

Esquire E-Paper Cover

Kit pengembangan MSP430 EZ430

EZ430USB.

$ 20.

32.768kHz Crystal.

815-AB26T-32.768KHZ

$ 0.27.

Tekan tombol

642-MJTP1250.

$ 0,16.

Firmware.

Perangkat lunak jam ditulis dengan versi demo gratis dari kompiler KickStart C Ti / IAR yang disertakan dengan programmer EZ430.

MSP430 adalah daya yang sangat rendah. Ini hanya menggunakan 220UA pada 1MHz, tetapi kurang dari 6UA saat tidur. Masa pakai baterai yang penting adalah untuk menjaga chip tertidur sebanyak mungkin. Kode jam kami ditulis dengan ini dalam pikiran.

Kami menggunakan Timer_a dengan kristal 32.768kHz untuk membuat interupsi dua kali detik. Interrupt pertama memicu kode yang mengkonfigurasi segmen yang akan ditampilkan, mengirimkan nilai-nilai ini ke e-paper, dan kemudian tidur selama 0,5 detik berikutnya. Sementara MSP430 tidur, semua segmen ‘off’ punya waktu untuk membersihkan. Interupsi selanjutnya membalik garis-garis umum dengan cara lain dengan xor dasar, menampilkan nilai-nilai, dan pergi tidur selama 0,5 detik. Lain kali siklus akan dimulai lagi. Kami tidak repot-repot mengatur ulang register shift ke posisi ‘0’ karena Freshen secara teratur dalam fluks. Segmen creep bukan masalah karena kami menyegarkan setiap segmen setiap siklus.

Tekan tombol memicu interupsi yang memajukan waktu ke 10 menit ke depan. Untuk mengatur jam, tunggu sampai waktunya adalah aspek 10 menit melewati jam dan tekan tombol untuk menunjukkan kore