» Electronics » Arduino »Wristwatch sa Attiny85 na may Oled screen

Wristwatch sa Attiny85 na may isang OLED screen

Wristwatch sa Attiny85 na may isang OLED screen


Magandang hapon, ngayon nais kong ibahagi ang mga tagubilin sa paggawa ng mga relo batay sa Attiny 85 na may isang Oled display. Ang mga tampok ng relo ko ay hindi limitado sa aking relo. Maaari rin silang magamit bilang desktop, at maaari mo ring durugin ang isang sensor ng digital na temperatura.

Para sa paggawa gawang bahay kakailanganin namin:

- Synthetic strap (anumang kulay)
- Velcro para sa mga damit
- Digispark Attiny85
- Oled na display na may resolusyon ng 128x64, I2C
- ds18b20 - digital sensor ng temperatura (opsyonal)
- Resistor 4.7 Kom 0.25 W
- Arduino Digispark Attiny85 firmware board (ISP programmer)
- Sheet ng manipis na plastik
- Kulay na mga wire
- Dupont 2.54 mm "babaeng" konektor
- Mga pindutan ng 2 mga PC.
- Maliit na circuit board o isang maliit na piraso ng circuit board
- Soldering iron, panghinang, rosin
- Thread, karayom, gunting
- kutsilyo ng clerical
- Mainit na baril na pandikit
- Mainit na pandikit
- Double-panig na tape

Hakbang 1 Paghahanda ng sinturon.
Maaari kang bumili ng strap sa anumang tindahan ng karayom. Pumili ng isang strap na 25 mm ang lapad. Anumang kulay. Kailangan namin ng isang guhit na halos 50 cm. Tiklupin ang aming strap sa kalahati at tahiin sa mga gilid. Pagkatapos sa gitna ng strap gumawa kami ng isang puwang, ngunit sa isa lamang sa mga bahagi. Tumahi ng Velcro mula sa mga dulo ng strap.

Ilagay ang thread na may karayom ​​sa gilid at kunin ang bakal na panghinang.

Hakbang 2 Ihanda ang board at pagpapakita ng OLED.
Ang "utak" ng aming panonood ay ang Digispark Attiny85 magsusupil. Magagamit ang mga ito sa ilang mga bersyon. Dapat kang bumili ng isang board na may isang connector ng Micro USB. Ang iba pang mga bersyon ng board ay hindi magkasya sa kaso ng relo.

Kung bumili ka ng isang board na may mga soldered contact, dapat mo munang i-unsolder ang mga ito. Pagkatapos ay kumuha kami ng mga wire ng iba't ibang kulay, kailangan namin ng 9 iba't ibang kulay. Gupitin ang tungkol sa 15 cm mula sa bawat kawad, guhitan ito at panghinang sa Attiny85. Agad na sulit na isulat kung aling wire kung saan ang pin ay soldered upang hindi malito sa ibang pagkakataon.

Sa aking kaso, ang mga wires sa pamamagitan ng mga kulay ay ganito:

PB0 MOSI - Dilaw
PB1 MISO - Asul
PB2 CSK - Asul
PB3 - Lila
PB4 - Puti
PB5 NRES - Grey
GND - itim
+5 - pula
Vin - Orange

Ang iyong mga kulay ng mga wire ay maaaring magkakaiba, ang pangunahing bagay ay isulat ang mga ito.

Lumipat tayo sa screen. Gumagamit kami ng isang display na may oled. Ang resolusyon sa screen 128x64, gumagana sa I2C bus. Sa pagbebenta may mga screen ng iba't ibang kulay: puti, asul, asul na may dilaw. Mag-ingat! Ang salitang "two-color" sa paglalarawan at pamagat ng screen na ito ay nagpapahiwatig ng pagkakaroon ng isang guhit na kulay na naiiba sa pangunahing isa sa tuktok ng screen, at hindi ang kakayahang magpakita ng dalawang kulay sa screen na ito! Ang lahat ng mga screen ng ganitong uri ay nagpapakita lamang ng isang kulay, o sa tuktok ng isang guhit ng isang kulay, sa ilalim ng isa pa. Nagustuhan ko ang asul na screen, na may isang dilaw na bar sa tuktok. Ang kulay ay hindi naglalaro ng isang espesyal na papel, piliin kung alin ang gusto mo. Tulad ng sa Attiny85, kung bumili ka ng isang screen na may mga soldered contact, dapat mo munang i-unsolder ang mga ito.


Sa likod ng screen dapat mong solder maliit na wires. Mas mainam na gumamit ng mga wire ng parehong kulay tulad ng sa Attiny85, upang hindi malito ang mga ito sa paglaon. Sa aking kaso, ipinagbili ko ang dilaw na kawad sa SDA ng screen, sa SCL - asul, GND - itim, VCC - pula.


Sa isang dobleng panig na inilalagay namin ang Attiny85 sa likod ng Oled screen. Ang Attiny85 ay hindi dapat lumampas sa Oled screen board.


Kami ay nagbebenta ng Attiny85 at Oled na magkasama.

PB0 MOSI Attiny85 - Dilaw - SDA Oled
PB2 CSK Attiny85 - Blue - SCL Oled
GND Attiny85 - Itim - GND Oled
+5 Attiny85 - Pula - VCC Oled

Kinokolekta namin ang lahat ng mga wire sa isang hilera, upang makakuha kami ng isang loop. Ikinakabit namin ito gamit ang de-koryenteng tape sa maraming lugar upang hindi ito magkahiwalay.


Pumunta sa lakas ng aming mga relo. Upang gawin ito, kumuha ng isang maliit na baterya ng lithium. Itala ang mga wires dito.


Kung walang baterya, maaaring gamitin ang isang uri ng baterya A27 o A23.


Inilalagay namin ang nagtitipon o ang baterya sa pinakamalayo na sulok ng bulsa na nabuo ng strap na nakatiklop sa kalahati. Kung gumagamit ng baterya, magbigay ng isang puwang upang palitan ito.
Sa butas na ginawa sa gitna ng strap, inilalagay namin ang aming cable mula sa mga wire.


At itinatala namin sila hanggang sa dulo ng strap, upang sila ay dumikit, at ang relo ay eksaktong nasa itaas ng puwang, upang ang slot ay magsara ng maraming oras.


Pinuputol namin ang labis na mga bago at gupitin ang lahat ng mga wire ng Dupont 2.54 mm "ina" na konektor. Ipinasok namin ito sa mga kaso ng plastik at balutin ito ng mga de-koryenteng tape, upang makakuha kami ng isang maayos na konektor, kasama ang lahat ng mga lead ng Attiny85. Narito ito rin ay nagkakahalaga ng pagsulat, o kahit na mas mahusay na sketching, ang lahat ng mga contact ng nagresultang konektor. Ang GND Attiny, GND Oled at ang minus ng baterya ay maaaring agad na konektado at crimped sa isang contact. Para sa karagdagang pagpuno sa sketch at pagkonekta sa mga add-on, mas maginhawa upang ayusin ang mga contact tulad ng sumusunod:

PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY

PB3 | PB4 | VCC OLED | GND OLED | Vin ATTINY | + BAT



Ngayon ay oras na upang magpatuloy sa katawan ng barko.

Hakbang 3 Ginagawa ang kaso.
Para sa katawan kakailanganin mo ang manipis na plastik. Maaari itong bilhin sa online store. O maaari kang bumili ng isang folder na may isang makapal na plastik na takip sa tindahan ng stationery at gumawa ng isang kaso sa labas ng takip. Sa plastic ay minarkahan namin ang sweep ng relo. Ang mga solidong linya ay mga linya ng gupit, mga linya ng basura - yumuko.


Gamit ang isang clerical kutsilyo, maingat na gupitin ang window sa gitna. Baluktot namin ang lahat ng mga tuldok na linya. Dapat itong ganito:


At sa flip side:


Naglalagay kami ng isang puwang sa aming screen, ibaluktot ang mga gilid at, gamit ang mainit na matunaw na malagkit, tipunin ang aming katawan. Ito rin ay nagkakahalaga ng pagdikit ng kaso sa strap, mas mabuti sa loob, upang ang kola ay hindi lumabas.


Hakbang 4 Paghahanda ng kapaligiran sa programming.
Upang gumana sa firmware (o sketch) gagamitin namin ang Arduino IDE. I-download ang archive o installer mula sa opisyal na site Arduino IDE.

Bilang karagdagan, kailangan nating magdagdag ng suporta ng Attiny sa Arduino IDE. Upang gawin ito, patakbuhin ang Arduino IDE, pagkatapos ng File - Mga Setting - sa patlang na "Karagdagang Mga Boards Manager", ipasok ang link:

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


Mag-click sa OK (maaari kang magpasok ng maraming mga link na pinaghiwalay ng isang kuwit sa larangang ito). Pagkatapos ay pumunta sa Mga Tool - Lupon - Boards Manager sa patlang ng filter, ipasok ang Attiny at piliin ang "attiny ni David A. Mellis". I-click ang I-install at maghintay para matapos ang pag-download.

Kakailanganin mo rin ang isang library upang gumana sa Oled screen. Marami sa kanila, nagustuhan ko ito, at inirerekumenda ko ang paggamit ng TinyOzOLED. Maginhawa ito, at pinakamahalaga, naaangkop sa memorya:
tinyozoled-master.rar [15.99 Kb] (mga pag-download: 100)


Sa hinaharap, maaari mong palawakin ang pag-andar ng relo sa pamamagitan ng pagdaragdag ng isang sensor ng temperatura. Magdagdag ng isang library para sa sensor na ito kaagad. OneWire Library.
onewire.rar [16.75 Kb] (mga pag-download: 71)


I-install ang mga aklatang ito. Upang gawin ito, maaari kang direkta sa Arduino IDE programming environment, nang hindi ma-unpack ang nai-download na mga archive, piliin ang menu na Sketch - Connect Library. Sa pinakadulo tuktok ng listahan ng drop-down, piliin ang item na "Idagdag .Zip library". Sa dayalogo na lilitaw, piliin ang library na nais mong idagdag, sa kasong ito ng dalawang nai-download. Ngayon buksan muli ang menu ng Sketch - Ikonekta ang Library. Sa pinakadulo ibaba ng listahan ng drop-down dapat mong makita ang mga bagong aklatan. Mula ngayon, maaaring magamit ang mga aklatan sa mga programa. Pagkatapos ng lahat ng ito, i-restart ang Arduino IDE. Maaari mo ring i-unlip lamang ito sa folder na "mga aklatan" na matatagpuan sa folder na naka-install ang Arduino IDE.

Hakbang 5 Paghahanda ng programmer.
Ang Digispark Attiny85 ay maaaring ma-program sa pamamagitan ng micro USB connector sa board gamit ang Arduino IDE. Gayunpaman, kailangan mong isakripisyo ang 2 KB ng 8 KB Flash memory para sa bootloader.Ang relo ng relo ay hindi umaangkop sa bootloader, kaya dapat mong gamitin ang programer ng ISP, sa gayon ay mabubura ang bootloader. Kung wala kang isang ISP programmer sa kamay (tulad ng minahan), maaari mong gamitin ang Arduino board. Gagamitin ko ang Arduino Uno. Ngunit maaari mong gamitin ang anumang iba pang board. Kaya, ikinonekta namin ang Arduino Uno sa computer. Ilunsad ang Arduino IDE, buksan ang File - Mga Halimbawa - Arduino ISP. Piliin sa menu Mga tool - Lupon - Arduino Uno. Piliin namin ang port kung saan ito ay konektado, Arduino, at pag-download ng pag-download. Ang sketch ay nagsisimula sa isang pahiwatig sa kung paano ikonekta ang Arduino sa programmable na magsusupil.

// 10: pag-reset ng alipin
// 11: MOSI
// 12: MISO
// 13: SCK

Scheme ng koneksyon sa Digispark Attiny85:
Arduino UNO - Digispark Attiny85

D11 - P0
D12 - P1
D13 - P2
D10 - P5


Hakbang 6 Ihanda ang kawad para sa pag-load ng sketch.
Mayroong maraming mga pagpipilian para sa sketsa, at para lamang sa kaginhawaan ng pag-download, gagawa kami ng isang kawad na kumokonekta sa Arduino Uno (bilang isang program ng ISP) at aming relo. Dito ay inirerekumenda ko rin ang paggamit ng mga kulay na mga wire na tumutugma sa kulay na ginamit namin. Sa isang banda, dapat mayroong isang bloke:

PB0 Dilaw | PB1 Blue | PB2 Blue | PB5 Grey | +5 Pula | GND Itim

Ang block na ito ay kumokonekta sa relo, sa tuktok ng relo ng relo.
Sa kabilang banda, mayroong dalawang pad para sa pagkonekta sa Arduino Uno:

Pin 10 Grey | Pin 11 Dilaw | Pin 12 Blue | Pin 13 Blue

+5 Pula | GND Itim

Dapat itong magmukhang ganito:


Hakbang 7 firmware.
Kaya, nagsulat ako ng ilang mga pagpipilian sa sketsa para sa aming mga relo. Sususulat ko sa kalaunan kung ano ang mga pagkakaiba-iba at inilalatag ang lahat. Upang punan ang sketch, patakbuhin ang Arduino IDE, piliin ang menu ng Mga tool, itakda ang sumusunod na mga parameter:

Lupon - Attiny 25/45/85
Proseso - Attiny 85
Orasan - panloob 16

Piliin ang serial port kung saan konektado ang ISP programmer o Arduino bilang isang programmer. Gayundin, sa menu ng Mga Tool - Programmer, piliin ang "Arduino bilang ISP". Ngayon piliin ang Sketch - I-download sa pamamagitan ng programmer. Ito ay nananatiling maghintay para makumpleto ang pag-download.

Hakbang 8 Mga Sketch.
Ang unang pagpipilian ay isang relo na may isang petsa. Upang itakda ang oras, kakailanganin mong ikonekta ang mga pindutan, tulad nito:


To pin PB1, PB3, PB4.
attiny85_oled_spi.rar [1.9 Kb] (mga pag-download: 110)


Ang pangalawang pagpipilian ay isang relo lamang. Upang itakda ang oras na kailangan mong gumamit ng USB-TTL.
attiny85_oled_spi_softwareserial_nodata.rar [1.45 Kb] (mga pag-download: 89)


At ang pangatlong pagpipilian, isang desk orasan na may isang petsa at isang thermometer.
attiny85_oled_spi_term_2.rar [2.78 Kb] (mga pag-download: 101)


Hakbang 9 Ilunsad.
Upang simulan ang orasan, kung gumagamit ka ng isang baterya ng lithium, kailangan mong mag-install ng jumper sa block sa pagitan ng mga contact BAT, +5 at VCC. Maaari kang gumamit ng isang maliit na piraso ng manipis na kawad. Kung mayroon kang isang baterya, kakailanganin mo ang dalawang jumpers, ilagay ang una sa pagitan ng BAT at Vin, ang pangalawa - + 5 at VCC.
8.8
8.9
7.3

Magdagdag ng isang puna

    • ngitinakangitixaxaok langhindi alamyahoonea
      bosskumamottangaoooo-ooagresibolihim
      sorrysayawsayaw2sayaw3kapatawarantumulonginumin
      humintomga kaibiganmabutigoodgoodsipolswoondila
      usokpumapalakpakkrayolaipahayagnakakainisdon-t_mentionpag-download
      initnakakainistumawa1mdapagpupulongnakikipag-usapnegatibo
      hindi_ipopcornparusahanbasahintakottakotpaghahanap
      panunuyasalamat_youitoto_clueumniktalamaksumang-ayon
      masamabeeeblack_eyeblum3namulamagyabanginip
      censoredkaaya-ayalihim2nagbabantatagumpayyusun_bespectacled
      shokrespektlolnagustuhanmaligayang pagdatingkrutoyya_za
      ya_dobryikatulongne_huliganne_othodimapusokpagbabawalmalapit

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...