» Electronics » Arduino »Orasan ng desk mula sa isang makinilya

Orasan ng desk mula sa isang makinilya

Orasan ng desk mula sa isang makinilya

Malugod na batiin kang muli. Gusto ko talaga ng mga display para sa Arduino type ang OLED. Partikular na maliit na may isang dayagonal na 0.96 pulgada na may resolusyon ng 128 sa pamamagitan ng 64 na mga pixel. Kung titingnan mo ang aking pahina sa site na ito, maaari kang makahanap ng maraming magkakaibang mga proyekto sa pagpapakita na ito. Siyempre, ang mga aparato tulad ng isang voltmeter o ammeter na may tulad na pagpapakita, syempre ay compact, ngunit bihirang ginagamit, at mas maginhawa na gumamit ng isang handa na multimeter na ibinebenta sa anumang tindahan ng radyo. At gusto ko ang aking gawang bahay tumayo sa mesa at galak ang mata, sa bawat tingin niya, araw-araw. Samakatuwid, ang isang relo ay ang pinakamahusay na solusyon para dito. Marami akong pagpipilian para sa mga relo na may ganitong pagpapakita, sa Arduino, sa Attiny85, sa mga baterya, pinalakas ng USB, may backlight, may thermometer, atbp. Ngunit ang lahat ng mga ito ay nagkaroon ng ilang mga disbentaha: hindi matatag na pagkain, isang pangit na kaso, hindi sapat na memorya upang maipatupad ang function ng petsa ng pagpapakita (Attiny85). Ngunit bilang isang resulta ng maraming pagsubok at error, natagpuan ko ang pinakamainam na solusyon para sa aking mga kahilingan. Sa oras na ito gagamitin namin:

- Makinilya Modarri
- Arduino Pro Mini 5v 16 Mhz
- DS28B20 (Digital temperatura Sensor)
- WS2812 (Address LED Strip)
- USB-TTL (Upang punan ang sketsa)
- OLED 0.96 128x64
- Mga pindutan
- circuit board
- Resistor 4.7 kOhm
- Keramik kapasitor 104, 2 mga PC
- Sheet plastic 1-2 mm makapal
- pagkonekta ng mga wire
- USB wire
- Baril na pandikit
- Selyo ng langis at lahat ng kailangan mo para sa paghihinang

Hakbang 1 Pagpipilian ng pabahay.
Matapos ang mahaba at masakit na pagtatangka na gumawa ng isang relo kaso kaya nagustuhan ko ito, nagpasya akong maghanap ng batayan para sa kaso sa aking (at hindi lamang sa aking sarili) mga istante. Nakita ko ang mga kotse na gusto ko. Ang mga ito ay maliit, mahusay na gawa, na may gulong gulong at shock sumisipsip Modarri toy kotse


Ang kumpanyang ito ay may malawak na hanay ng mga produkto. Ang mga kotse ay para sa bawat panlasa at kulay. At pinaka-mahalaga para sa amin, mayroon silang isang lugar na ibinigay para sa control ng daliri. At ito ay mahusay para sa aming maliit na screen. May nakita akong tatlong modelo:




Maaari kang gumawa ng ganoong relo mula sa sinuman, ngunit gusto ko ang mga itim na higit sa lahat. Gayundin, maraming mga bahagi ng machine ang maaaring palitan, maaari kang mag-ipon ayon sa gusto mo.Sa palagay ko, ito ay isang mahusay na kaso, ginawang maayos, mukhang maganda at may sapat na puwang para sa mga electronics.

Hakbang 2 Paghahanda ng screen.
Ang aming screen ay maliit, ngunit ang cute ay isang graphic na display. Sa mga tampok, nararapat na bigyang-diin na ang bawat pixel ay isang malayang LED. Ang OLED ay nakatayo para sa organikong light-emitting diode. 4 na mga wire ang ginagamit para sa koneksyon. Ang VCC (positibong wire ng kuryente, ay maaaring pinalakas mula sa 5 o 3.3 volts), GND (negatibong power wire), SCL at SDA (konektado sa Arduino). Ang koneksyon sa Arduino ay sa pamamagitan ng isang I2C serial asymmetric komunikasyon bus. Ang pagpapakita mismo ay ganito:


Itala ang mga wires sa lahat ng 4 na mga contact, mas mahusay na gumamit ng maraming kulay na mga wire at isulat kung saan hahantong sa kung aling contact:


Upang ang panlabas na screen ay hindi nakakasira sa pangkalahatang hitsura, gagawa kami ng isang maliit na kaso para dito. Ang isang maliit na sheet ng manipis na plastik ay angkop para sa kaso. Para sa mga oras, naghahain ako ng isang tablet ng kagamitan sa pagsulat:


Ito ay perpekto para sa paggawa ng kaso. Ayon sa sumusunod na pamamaraan, pinutol namin ang isang maliit na kaso mula sa plastic:


Ang panloob na rektanggulo ay dapat na maingat na i-cut, at baluktot sa mga putok na linya:


Inilalagay namin ang aming display sa loob, inaayos namin ang screen at ang mga dingding sa gilid na may mainit na natutunaw na malagkit, mas mahusay din na punan ang mga wire na may pandikit upang hindi mapunit ang mga ito, kung bigla, hindi sinasadyang mai-hook ang:


Mula sa labas dapat itong ganito:


Hakbang 3 Ihanda ang sensor ng temperatura.
Well, ano ang isang relo nang walang sensor ng temperatura! Ang pinakamahusay na pagpipilian ay isang digital sensor. Ang pinaka-abot-kayang ay ang DS28B20. Tungkol sa mga pakinabang nito, maaari kang makipag-usap nang walang hanggan, kaya sa madaling sabi. Hindi ito gumagamit ng isang Arduino processor upang makalkula ang temperatura, kumokonekta lamang sa isang wire sa Arduino (gumagana ito gamit ang OneWire protocol). Ang DS28B20 ay maaaring konektado sa maraming paraan. Gumamit ng panlabas na kapangyarihan sa pamamagitan ng pagpapakain nito mula sa 5 volts sa pamamagitan ng VDD pin, ligaw na kapangyarihan sa pamamagitan ng pagkonekta sa mga contact ng VDD at GND, o makakahanap ka ng isang pinabuting circuit circuit ng kuryente. Ang lahat ng mga pagpipilian ay may kanilang kalamangan at kahinaan. Tutuon kami sa panlabas na kapangyarihan, ikokonekta namin ang VDD sa +5, GND sa GND, DQ sa Arduino pin, kailangan din nating gumamit ng isang 3.3 kOhm resistor upang higpitan ang DQ sa kapangyarihan. Ang scheme ay ang mga sumusunod:


Ang risistor ay pinaka-maginhawang nakalagay sa tabi ng sensor, na soldered sa pagitan ng mga binti. Inilabas ko ang DS28B20 sa iba't ibang mga kaso, mas mahusay na kumuha sa TO-92 kaso. Ang pinout ng sensor ay ang mga sumusunod:


Ang gitnang pakikipag-ugnay ay ang DQ - data bus, panghinang ang wire dito at isa sa mga contact resistor (4.7 kOhm):


Inihiwalay namin ang gitnang contact mula sa mga lateral na gumagamit ng electrical tape. Baluktot namin ang pangalawang binti ng risistor, at kasama ang kawad na naibenta namin sa Vdd pin. Magtalaga ng pangatlong GND pin, itala ang mga kulay ng mga wire at ihiwalay ang lahat ng natitirang mga contact.

Hakbang 4 Paghahanda ng mga pindutan ng control.
Ang pagtatakda ng oras at petsa ay posible sa dalawang paraan. Via port monitor o mga pindutan. Sa sketsa ng relo, ang paggamit ng tatlong mga pindutan ay ibinigay (Itakda, Plus, Minus). Ngunit makakakuha ka ng dalawa sa pamamagitan ng pag-off ng pindutan ng minus. Itala ang mga pindutan sa circuit board:


Huwag kalimutan na i-record ang mga kulay ng mga wire upang malaman kung saan ang hahantong sa. Ang mga pindutan ay may isa sa mga wire sa karaniwan, magkonekta ito sa GND. Kaayon ng mga pindutan, ibinebenta namin ang mga ceramic capacitor na may pagmamarka ng 104 (puksain ang epekto ng mga jittering contact).


Ang mga wires na wire ay mas mahusay na punan ng mainit na pandikit.

Hakbang 5 Maghanda ng WS2812.
Ang address tape WS2812, o sa halip lamang ng isang LED WS2812, gagamitin namin upang i-highlight ang makina. Pinutol ko ang isang LED mula sa tape, ngunit maaari mo itong bilhin nang hiwalay. Namin nakadikit ang WS2812 mula sa ilalim ng makina at nagbebenta ng mga sumusunod na mga wire dito: +5 (positibong wire ng kuryente), GND (negatibong wire ng kuryente), Din. Mangyaring tandaan ang address tape ay may direksyon ng signal. Samakatuwid, ang signal wire ay dapat ibenta sa terminal Din (signal input), Huwag iwanang hindi nabenta:


Ang LED ay kinakailangan para sa dekorasyon. Ito ay opsyonal, ang relo ay gagana nang wala ito. Tumatakbo nang kaunti, isang larawan ng backlight:



Mayroong 5 mga kulay ng highlight sa sketsa, ngunit maaari kang magdagdag ng iyong sariling mga kulay sa pamamagitan ng pag-edit ng sketch.

Hakbang 5 Ang paglalagay ng lahat ng mga electronics sa isang makinilya.
Kaya, sa wakas, lumipat sa makinilya. I-disassemble namin ito. Inilalagay namin ang naunang inihandang pagpapakita sa lugar para sa daliri:


Nagsasagawa kami ng mga wire mula sa pagpapakita sa kanang bahagi ng upuan. Ang temperatura sensor DS28B12 ay inilalagay sa itaas ng kaliwang likuran ng gulong. Ang mga wire mula sa sensor ay dapat na maayos, at ang sensor mismo ay dapat mag-hang sa mga wire nang hindi hawakan ang mga bahagi ng kaso:


Ilalagay si Arduino sa kaliwang bahagi ng upuan. Nakukuha namin doon ang lahat ng mga wire. Inilalagay namin ang board, at inilalagay ang mga wires sa lugar, mas madaling kalkulahin ang haba ng mga wire. Ang makina ay pinapagana ng USB. Sa isang bungkos kakailanganin upang i-twist at nagbebenta ng maraming mga wire para sa kapangyarihan. Inirerekumenda ko ang pag-twist at paghihinang sa kanila sa isang maliit na distansya mula sa Arduino, ilagay ang mga ito sa likuran ng bumper, at magdala lamang ng dalawang mga wire ng kuryente sa Arduino. Ang koneksyon ay ang mga sumusunod:

USB +5 - Arduino +5 - Oled Vcc - DS28B20 Vdd - WS2812 +5 (iuwi sa ibang bagay at panghinang)
USB GND - Arduino GND - Oled GND - DS28B20 GND - WS2812 GND - Karaniwan mula sa mga pindutan (iuwi sa ibang bagay at panghinang na magkasama)
Oled SDA - D8 Arduino
Oled SCI - D9 Arduino
1 Itakda ang Button - D2 Arduino
2 Plus Button - D3 Arduino
Minus Button 3 - D4 Arduino (opsyonal)
WS2812 Din - D5 Arduino
DS28B20 DQ - D10 Arduino

Ang mga numero ng pin ay maaaring mabago sa sketch. Matapos ang paghihinang ng lahat ng mga wire, maaari mong simulan ang pag-iipon ng kaso:


Hakbang 6 I-edit at punan ang sketch.
Tulad ng dati, kailangan namin ang programming environment Arduino IDE. Nagpapatuloy kami opisyal na website at i-download ito.

Ginagawa namin itong mas maginhawa para sa iyo. Maaari mong i-download ang installer, o maaari mo lamang i-archive ito, walang pagkakaiba.
Ngayon kailangan namin ng mga aklatan:

OLED_I2C - may kasamang Arduino IDE
OneWire - i-download ang link sa ibaba
Adafruit_NeoPixel - I-download ang link sa ibaba

Maaari mong mai-install ang mga aklatang ito sa pamamagitan ng pagpunta sa seksyong "Pamamahala ng Library" ng Arduino IDE mismo. Hanapin ang mga ito sa pamamagitan ng pangalan at i-install. Kung mayroon kang mga problema sa Internet, i-download ang mga archive sa ibaba at ilabas ito sa folder na "mga aklatan" na matatagpuan sa lugar kung saan mo na-install ang Arduino IDE.

Mayroon akong dalawang sketch para sa relo na ito. Una sa display ng segundo:



At ang pangalawang pagpipilian nang walang segundo:



Pumili sa iyong panlasa mula sa mga file sa ibaba.


Mag-download ng mga file ng proyekto
10
10
9.5

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
3 komentaryo
Ang may-akda
Magandang hapon Ang relo ay pinalakas ng USB. Marami pang mga wire kaya inilagay ko ang USB-TTL sa ilalim ng makinilya para sa komunikasyon sa computer. At oo, ang oras mismo ay kinakalkula Arduino, Hindi ko ginamit ang module ng RTC.
Naaalala ko, ang buntot ng mga wire (na nakatago sa likod ng berdeng "screen") ay humahantong sa isang mapagkukunan ng kuryente?
At tila ang oras ay tinanggal mula mismo sa Arduina, na hindi ganap na tama, sapagkat ang kawastuhan ay hindi magiging napaka. Mas mahusay na gumamit ng isang hiwalay na module ng orasan, halimbawa, ds3231.
Orasan ng desk mula sa isang makinilya
Mas magiging tama ito hindi "mula sa makinilya", ngunit "sa makinilya"! ngiti

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...