» Elektronik » Arduino »Oled jam tangan pada Attiny85

Jam tangan Oled pada Attiny85

Selamat siang dan lagi saya bersama mainan saya. Hari ini saya memberi anda arahan untuk membuat jam tangan kecil tetapi comel dengan sensor suhu bilik.
Jam tangan Oled pada Attiny85


Senarai apa yang kita perlukan:
- Digispark Attiny85
- paparan Oled 128x64 I2C
- Sensor suhu ds18b20
- Resistor 4.7 Kom 0.25 W
- Programmer ISP atau Arduino Papan nama firmware Attiny85 Digispark
- Tablet plastik dengan klip kertas atau lembaran plastik nipis
- wayar
- Dupont 2.54 mm penyambung "wanita"
- Butang 2 pcs.
- Papan litar kecil atau trim kecil
- besi pematerian
- Solder, rosin
- gunting
- pisau perkeranian
- Gun gam panas
- Gam panas

Langkah 1 Memilih Komponen.
Sebagai pengawal utama kita akan menggunakan Diginyark Attiny85. Terdapat beberapa jenis mereka. Kami memerlukan papan dengan penyambung USB mikro. Selebihnya tidak akan sesuai dengan kes menonton.

Untuk memaparkan, kami memerlukan paparan Oled 128x64 I2C. Mereka datang dalam pelbagai warna: putih, biru, biru dengan kuning. Saya menarik perhatian awak! Istilah "dua warna" dalam keterangan atau tajuk skrin ini bermaksud jalur satu warna di bahagian atas skrin dan warna kedua keseluruhan skrin yang tinggal, dan bukan keupayaan untuk memaparkan dua warna dengan skrin ini! Semua skrin jenis ini memaparkan hanya satu warna, atau di atas satu jalur satu warna di bahagian bawah - yang lain. Seperti, contohnya, yang saya akan gunakan. Bar di atas adalah kuning; seluruh skrin berwarna biru. Anda boleh memilih mana-mana warna yang anda suka.
Kami juga memerlukan sensor suhu bersepadu DS18B20. Ia tidak dipilih secara kebetulan. Pertama, DS18B20 berkomunikasi dengan mikrokontroler melalui talian komunikasi satu wayar menggunakan protokol antara muka 1-Wire. Dalam kes kita, ini penting, kerana kesimpulan Attiny85 tanpa sensor adalah sedikit. Kedua, sensor ini adalah digit, iaitu, ia mengambil semua pengukuran itu sendiri dan hanya menghantar data suhu tanpa menghabiskan sumber pengkomputeran Attiny85.

Bagi yang lain, saya fikir tidak akan ada soalan, jadi mari kita teruskan untuk membuat kes itu.

Langkah 2 Perhimpunan perumahan.
Kes menonton akan dibuat daripada plastik nipis. Saya mempunyai tablet plastik dengan klip kertas di tangan saya. Ia cukup sukar untuk memegang bentuknya, dan pada masa yang sama ia boleh dipotong dengan gunting biasa dan pisau pejabat. Dia datang dengan sempurna.Jika tidak, anda boleh membeli tablet di kedai bekalan pejabat atau cari plastik yang betul untuk menggantikan tablet. Kami membuat tanda pada plastik mengikut skema:


Potong semua garis pepejal. Dotted - sedikit potong dengan pisau perkeranian. Garis putus-putus adalah garis lipat. Seperti yang anda faham, inilah susunan kiub biasa. Seterusnya, anda perlu menyolder wayar ke skrin, lebih baik untuk mengambil pelbagai warna dan menulis yang membawa kepada apa. Lekat skrin pada pelekat panas-mencair di tengah, supaya bahagian depannya keluar dari belakang. Seperti yang anda dapat lihat, kami telah menutup peletakan pin skrin. Oleh itu, ia perlu menulisnya. Saya sedikit menyerahkan kepada pisau, dan dengan itu memotong bahagian bawah badan. Tidak ada yang salah dengan itu, semuanya boleh terpaku. Tetapi lebih baik untuk tidak mengulangi kesilapan saya.



Hasilnya sepatutnya seperti ini:


Pada kes ini sudah siap. Anda masih boleh memotong penutup belakang daripada plastik yang sama, tetapi ini adalah pilihan.

Langkah 3 Kami solder.
Kes kami adalah kecil, dan kami perlu menjejalkan banyak di sana. Oleh itu, kami mengambil sekeping papan litar tidak lebih daripada 2.8 x 2.8 mm dan solder dalam dua butang, sensor ds18b20, perintang dan beberapa kenalan. Mengikut skim berikut:


Ia tidak perlu untuk wayar solder terus ke Attiny, kerana perlu memutuskan semua perkara untuk firmware. Hasilnya sepatutnya seperti ini:



Butang diperlukan untuk menetapkan masa. Kuasa boleh diambil dari port USB komputer. Menggabungkan tambah dan tolak, masing-masing:


Sekiranya anda ingin melakukan tanpa wayar, anda perlu mencari bateri lithium-ion kecil. Contohnya:


Bateri ini sesuai di dalam kes itu. Ia hanya perlu menyediakan kesimpulan untuk caj bateri.

Langkah 4 Menyediakan programmer.
Diginyark Attiny85 boleh diprogramkan melalui penyambung USB mikro di papan, menggunakan Arduino IDE sebagai persekitaran pengaturcaraan. Tetapi pada masa yang sama anda perlu mengorbankan 2 KB memori untuk pemuat but. Attiny 85 mempunyai sejumlah 8 KB Flash. Lakaran saya tidak sesuai dengan pemuat but, jadi saya perlu program melalui programmer ISP. Saya tidak mempunyai programmer seperti itu, tetapi terdapat papan Arduino Uno, yang saya akan gunakan sebagai programmer. Jika anda mempunyai programmer ISB, anda boleh melangkau item ini. Buka Arduino IDE dan isikan lakaran kami yang dipanggil ArduinoISP ke Arduino Uno kami. Anda boleh menemuinya seperti Fail - Contoh - Arduino ISP. Lakaran itu bermula dengan petunjuk bagaimana menghubungkan Arduino ke pengawal diprogramkan. Daripada Arduino Uno, boleh ada papan Arduino yang lain.
// 10: set semula hamba
// 11: MOSI
// 12: MISO
// 13: SCK


Skim sambungan ke Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - P1
D13 - P2
D10 - P5


Langkah 5 Menyediakan persekitaran pengaturcaraan.
Untuk mengedit firmware dan mengisi lakaran dalam Attiny 85, anda perlu menyediakan bukan sahaja pengaturcara, tetapi juga persekitaran pengaturinya sendiri. Untuk melakukan ini, pasang Arduino IDE dari laman web rasmi Arduino.cc, dan juga pasang Addiny yang digunakan untuk mikrokontroler melalui Pengurus Papan.

Lancarkan IDE Arduino, kemudian Fail - Tetapan - dalam URL Pengurus Pengurus Tambahan bidang, tampal pautan:

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json


klik OK (anda boleh memasukkan beberapa pautan yang dipisahkan oleh koma dalam bidang ini). Alat Seterusnya - Pengurus Dewan - Lembaga dalam bidang penapis, masukkan Attiny dan klik pada "attiny oleh David A. Mellis". Klik Pasang dan tunggu muat turun selesai. Sekarang dalam menu Alat, pilih:
Lembaga - Attiny 25/45/85
Pemproses - Attiny 85
Jam - dalaman 16
dan pilih port siri yang mana programmer ISP atau Arduino disambungkan sebagai programmer.
Saya cuba banyak perpustakaan yang berbeza untuk bekerja dengan skrin. Pada pendapat saya, yang paling mudah dan bekerja pada Attiny85: TinyOzOLED.
tinyozoled-master.rar [15.99 Kb] (muat turun: 477)


Sensor suhu memerlukan perpustakaan OneWire.
onewire.rar [16.75 Kb] (muat turun: 263)


Pasang kedua-dua perpustakaan ini. Anda boleh memasang perpustakaan pihak ketiga secara langsung dalam persekitaran pengaturcaraan. Tanpa membongkar arkib yang dimuat turun, dalam Arduino IDE, pilih menu Skrin - Sambungkan Perpustakaan. Di bahagian paling atas senarai juntai bawah, pilih Item pustaka Tambah .Zip. Dalam dialog yang muncul, pilih perpustakaan yang ingin anda tambah. Buka menu Skrin - Sambungkan Perpustakaan. Di bahagian paling bawah senarai juntai bawah, anda harus melihat sebuah perpustakaan baru. Sekarang perpustakaan boleh digunakan dalam program. Jangan lupa reboot IDE Arduino selepas semua ini.Jika itu tidak membantu, cuma pasang fail arkib ke folder "pustaka" yang terletak di dalam folder dengan Arduino IDE dipasang.

Langkah 6 Edit dan isikan lakaran.
Sensor suhu berfungsi mengikut protokol One Wire dan mempunyai alamat unik untuk setiap peranti - kod 64-bit. Sumber-sumber Attiny tidak mencukupi untuk mencari kod ini setiap kali. Oleh itu, anda mesti menyambungkan sensor terlebih dahulu ke mana-mana papan Arduino, isi lakaran yang terdapat dalam Fail - Contoh - Dallas Temperature - OneWireSearch menu. Seterusnya, jalankan Alat - Monitor Pantas. Arduino perlu mencari sensor kami, tulis alamat dan bacaan suhu semasa. Kami menyalin atau hanya menulis alamat sensor kami. Buka lakaran Attiny85_Oled_SPI_Term_2, cari garisan:

tambah bait [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63}; 


Kami menulis alamat sensor anda di antara pendakap, menggantikan alamat sensor saya. Selepas itu, sambungkan Attiny ke programmer atau Arduino sebagai programmer (ini diterangkan di Langkah 4) dan isikan lakaran. Ia masih mencabut programmer dan menyambung semuanya mengikut skema dalam 3 langkah. Perhimpunan ternyata seperti ini:


Skrin kecil, adalah mustahil untuk meletakkan kedua-dua masa dan suhu supaya kelihatan. Oleh itu, jam mengubah masa dengan bacaan suhu setiap 10 saat.
attiny85_oled_spi_term_2.rar [2.33 Kb] (downloads: 574)

Attiny 85
Jumlah Pengundi: 118
9.3
10
8.7

Tambah komen

    • senyumtersenyumxaxaokdontknowyahoonea
      bosawalbodohyaya-yaagresifrahsia
      maaftariandance2dance3pengampunanmembantuminuman
      berhentikawan-kawanbaikgoodgoodwiseltolaklidah
      asapbertepuk tangancraymengisytiharkanderisivejangan dengarmuat turun
      panasberalunketawa1mdamesyuaratmoskingnegatif
      not_ipopcornmenghukumbacamenakutkanmenakutkancarian
      mengejekterima kasihinito_clueumnikakutbersetuju
      burukbeeeblack_eyeblum3memerahbermegahkebosanan
      ditapiskesenanganrahsia2mengancamkemenanganyusun_bespectacled
      shokrespektloldiingatiselamat datangkrutoyya_za
      ya_dobryipembantune_huliganne_othodifludlarangantutup
13 komen
Vseslav
Terima kasih, terima kasih!
Penulis
Selamat petang Saya tidak menggunakan perpustakaan dari Digispart. Mereka mempunyai pemuat boot terlalu besar, bersama-sama dengan itu lakaran jam tidak sesuai. Saya menggunakan perpustakaan TinyOzOLED. Dia tidak mempunyai Rusia. Secara umum, dengan Attiny 85 sukar, memori terlalu kecil.
Vseslav
Baik dipikirkan dan dilakukan, satu kecacatan kecil - inskripsi di Aglitsky. Bolehkah mereka hanya ditukar untuk Rusia, atau adakah sukar untuk Digispark untuk melakukan ini?
Penulis
Selamat siang Waktu masa nyata mengambil ruang yang cukup, mereka tidak akan masuk ke dalam kes ini.
Hmm .. mengapa tidak meletakkan jam nyata bukan sensor suhu?
Penulis
Petua lain, LED disambungkan ke Digispar Attiny 85 P1, jika anda menggunakan pin ini, pertimbangkan kehadirannya. Saya digelarkan diod ini di papan saya, kerana pada pandangan saya ia hanya mengganggu.
Penulis
Selamat siang Tidak perlu melakukan pull-up dengan perintang, kerana penggantungan yang dibina ke Attiny dimasukkan dalam lakaran. Keluarkan suspender anda dan cuba lagi.
Anda juga boleh mencuba lakaran lain dari jam tangan saya yang lain, mereka mempunyai pengawal dan skrin yang sama, dan konfigurasi dilakukan dengan satu butang:
https://msm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Tetamu Rom
Selamat hari. Terima kasih atas idea dan kerja. Hanya sama ada tangan saya tidak seperti itu, atau saya tidak faham. Butang tetapan masa tidak berfungsi dengan normal. Saya cuba kedua skech dan saya, saya hanya menambah mod pin butang input, dan ditarik melalui 10k ke 5V. Dan di dalam dan di dalamnya butang itu tidak difahami bagaimana untuk menekan untuk berubah. Atau saya mendapat kelewatan atau sesuatu yang salah dengan butang, jam biasa.
skrin sejuk. Tetapi rakus. RAM banyak makan.
Anda seorang tuan! memerah ke dalam tinku85 itu.
Penulis
Anda betul, membuat kesipo, 2.8 x 2.8 cm
Quote: maxim0512
Tidak lagi sesuai dengan kes itu sahaja.
Mengikut kawasan, anda boleh seratus kali lebih daripada yang anda cadangkan.
Penulis
Tidak lagi sesuai dengan kes itu sahaja. Terdapat hanya dua butang, satu perintang dan sensor suhu. Segala-galanya hanya sesuai.
... papan litar yang dipangkas tidak lebih besar daripada 2.8 x 2.8 mm
Ia tidak akan mencukupi. )))

Kami menasihati anda untuk membaca:

Bawa ia untuk telefon pintar ...