Talaan ng mga Nilalaman:

Clock, LCD Display, Infrared upang Itakda: 6 na Hakbang
Clock, LCD Display, Infrared upang Itakda: 6 na Hakbang

Video: Clock, LCD Display, Infrared upang Itakda: 6 na Hakbang

Video: Clock, LCD Display, Infrared upang Itakda: 6 na Hakbang
Video: Using HT1621 6 Digits Seven Segment LCD Display | Lesson 103: Arduino Step By Step Course 2024, Hulyo
Anonim
Clock, LCD Display, Infrared upang Itakda
Clock, LCD Display, Infrared upang Itakda
Clock, LCD Display, Infrared upang Itakda
Clock, LCD Display, Infrared upang Itakda

Bumuo ng isang real time na orasan na nagpapanatili ng aktwal na oras sa loob ng ilang minuto sa isang taon. Ang code at mga sangkap ay maaaring madaling maitaguyod sa iba pang mga proyekto.

Ang proyektong ito ay nangangailangan ng isang minimum na halaga ng mga kable at walang paghihinang. Ang tagabantay ng oras ay isang DS3231 real time na orasan. Ang oras ay ipinakita sa isang murang 1602 LCD. Ang parehong mga module ay gumagamit ng mga komunikasyon sa I2C. Gumagamit lamang ang I2C ng 2 wires bawat module kapag kumokonekta sa isang Arduino. Gumagamit ako ng isang Arduino Nano dahil umaangkop ito nang maayos sa isang breadboard. Ang mga sumusunod na tagubilin ay gagana sa isang Arduino Uno dahil mayroon itong parehong mga numero ng pin tulad ng Nano para sa proyektong ito. Ang iba pang bahagi ay ang infrared receiver. Pinapayagan kang gumamit ng isang karaniwang remote control tulad ng remote ng TV upang maitakda ang oras tulad ng nais mo sa aming matalinong TV. Ang infrared receiver ay nangangailangan lamang ng isang kawad upang ikonekta ito sa Arduino.

Ang unang hakbang ay ang pagsubok sa Arduino at i-wire ito sa breadboard. Ang mga sumusunod na hakbang na idinisenyo upang gumana nang nakapag-iisa. Ang bawat hakbang ay may mga tagubilin sa mga kable at mga tagubilin sa pagsubok. Kapag nagtatayo ako ng mga proyekto, kinokontrol ko ang bawat bahagi upang kumpirmahing gumagana ang mga ito. Nakakatulong ito sa pagsasama ng bilang ng mga bahagi dahil alam na ang bawat trabaho at maaari akong tumuon sa mga kinakailangan sa pagsasama.

Nangangailangan ang Instructable na ito na mayroon kang naka-install na Arduino IDE. Kinakailangan ka ring magkaroon ng pangunahing mga kasanayan upang mag-download ng isang Arduino sketch program mula sa mga link sa proyektong ito, lumikha ng isang direktoryo para sa programa (pangalan ng direktoryo katulad ng pangalan ng programa). Ang mga susunod na hakbang ay upang mai-load, tingnan at i-edit ang programa sa IDE. Pagkatapos, i-upload ang programa sa pamamagitan ng isang USB cable sa iyong Arduino board.

Mga gamit

  • Nano V3 ATmega328P CH340G Micro controller board para sa Arduino. Bilang kahalili, maaari kang gumamit ng isang Uno.
  • Ang DS3231 real time na orasan at isang baterya ng CR2032.
  • 1602 LCD na may module na I2C
  • Infrared na tatanggap at remote control. Gumamit ako ng isang IR Wireless Remote Control Module Kits na kasama ng isang Infrared na tatanggap at infrared na remote control.
  • Breadboard
  • Mga kable ng kawad
  • 5 volt adapter sa dingding

Binili ko ang mga piyesa sa eBay, karamihan ay mula sa mga distributor ng Hong Kong o China. Ang mga namamahagi ng US minsan ay may pareho o katulad na mga bahagi para sa makatuwirang presyo at mas mabilis na paghahatid. Ang mga bahagi ng Tsina ay tumatagal mula 3 hanggang 6 na linggo upang maihatid. Ang mga distributor na ginamit ko ay lahat ay maaasahan.

Tinatayang gastos: Nano $ 3, DS3231 $ 1, LCD $ 3, Infrared kit $ 1, breadboard $ 2, package ng 40 wire cables na $ 1, $ 1 para sa isang 5 volt wall adapter. Kabuuan, mga $ 11. Tandaan, binili ko ang Nano at LCD gamit ang mga pin ng tinapay na panghinang sa lugar, dahil ako ang aking mga kasanayan sa paghihinang ay mahirap. Para sa baterya ng orasan, bumili ako ng isang 5 pakete ng mga baterya ng lithium CR2032 para sa halos $ 1.25. Bumili din ako ng isang 5 pakete ng DS3231s dahil gusto ko ng mga piraso ng oras. Gumagamit ang proyektong ito ng 1 breadboard. Bumili ako ng isang 3 pakete ng tinapay sa halos $ 7; isang mas mahusay na deal kaysa sa pagbili ng isang indibidwal na board.

Hakbang 1: Idagdag ang Arduino Nano sa Breadboard

Idagdag ang Arduino Nano sa Breadboard
Idagdag ang Arduino Nano sa Breadboard

I-plug ang Arduino Nano sa Breadboard. O, kung nais mo, maaari kang gumamit ng isang Arduino Uno para sa proyektong ito; pareho silang gumagamit ng parehong mga pin para sa proyektong ito. Ikonekta ang Nano (o Uno) sa iyong computer sa pamamagitan ng isang USB cable.

Ikonekta ang lakas at lupa mula sa Arduino sa power bar ng breadboard. Ikonekta ang Arduino 5+ pin sa positibong bar ng breadboard. Ikonekta ang Arduino GRN (ground) pin sa negatibong (ground) bar ng breadboard. Gagamitin ito ng iba pang mga bahagi.

I-download at patakbuhin ang pangunahing programa ng pagsubok sa Arduino: arduinoTest.ino. Kapag pinapatakbo ang programa, ang onboard LED light ay bubuksan para sa 1 segundo, pagkatapos ay i-off para sa 1 segundo. Gayundin, nai-post ang mga mensahe na maaaring matingnan sa Arduino IDE Tools / Serial Monitor.

+++ Pag-setup.

+ Pinasimulan ang on board LED digital pin para sa output. Patay ang LED. ++ Pumunta sa loop. + Loop counter = 1 + Loop counter = 2 + Loop counter = 3…

Bilang isang ehersisyo, baguhin ang pagkaantala ng oras sa kumikislap na ilaw, i-upload ang binago na programa, at kumpirmahing ang pagbabago.

Sa larawan sa itaas ay isang 140 piraso na solderless breadboard jumper wire kit box na maaari mong makuha sa 3 hanggang 5 dolyar. Ginagawa nilang mas neater ang mga board na gumagamit ng mahabang mga kable para sa maikling koneksyon.

Hakbang 2: Idagdag ang DS3231 Clock Module at Ikonekta Ito sa Arduino

Idagdag ang DS3231 Clock Module at Ikonekta ito sa Arduino
Idagdag ang DS3231 Clock Module at Ikonekta ito sa Arduino

I-plug ang module ng orasan sa breadboard. Ikonekta ang GND pin ng module ng orasan, sa ground bar strip ng breadboard. Ikonekta ang VCC pin ng module ng orasan, sa positibong bar strip ng breadboard. Ikonekta ang module ng orasan na SDA (data) na pin sa A4 pin ng Arduino (I2C data pin). Ikonekta ang module ng orasan na SCL (orasan) na pin upang i-pin ang A5 ng Arduino (I2C clock pin).

Sa Arduino IDE, mag-install ng DS3231 Clock Library. Piliin ang Mga Tool / Pamahalaan ang Mga Aklatan. Salain ang iyong paghahanap sa pamamagitan ng pag-type sa 'rtclib'. Piliin ang RTClib ng Adafruit (para sa sanggunian, ang link ng library).

I-download at patakbuhin ang pangunahing programa sa pagsubok: clockTest.ino. Kapag pinapatakbo ang programa, nai-post ang mga mensahe sa oras na oras na maaaring matingnan sa Arduino IDE Tools / Serial Monitor.

+++ Pag-setup.

+ Itakda ang orasan. ++ Pumunta sa loop. ----------------- + + Kasalukuyang Petsa at Oras: 2020/3 / 22 (Linggo) 11: 42: 3 + Kasalukuyang Petsa at Oras: 2020/3/22 (Linggo) 11: 42: 4 + Kasalukuyang Petsa at Oras: 2020/3/22 (Linggo) 11: 42: 5…

Bilang isang ehersisyo, gamitin ang rtc.adjust () upang maitakda ang oras at petsa ng orasan, i-upload ang binago na programa, at kumpirmahing ang pagbabago.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Unang araw ng tagsibol, 2020.

Hakbang 3: Idagdag ang 1602 LCD Display Module at Ikonekta ito sa Arduino

Idagdag ang 1602 LCD Display Module at Ikonekta ito sa Arduino
Idagdag ang 1602 LCD Display Module at Ikonekta ito sa Arduino

I-plug ang LCD module sa breadboard. Ikonekta ang GND pin ng module ng orasan, sa ground bar strip ng breadboard. Ikonekta ang VCC pin ng module ng orasan, sa positibong bar strip ng breadboard. Ikonekta ang module ng orasan na SDA (data) na pin sa A4 pin ng Arduino (I2C data pin). Ikonekta ang module ng orasan na SCL (orasan) na pin upang i-pin ang A5 ng Arduino (I2C clock pin).

Sa Arduino IDE, mag-install ng 1602 LCD Library. Piliin ang Mga Tool / Pamahalaan ang Mga Aklatan. Salain ang iyong paghahanap sa pamamagitan ng pag-type sa 'LiquidCrystal'. Piliin ang LiquidCrystal I2C ni Frank de Barbander (para sa sanggunian, ang link ng library).

I-download at patakbuhin ang pangunahing programa sa pagsubok: lcd1602Test.ino. Kapag pinapatakbo ang programa, nai-post ang mga mensahe sa oras na oras na maaaring matingnan sa Arduino IDE Tools / Serial Monitor.

+++ Pag-setup.

+ LCD na handa nang gamitin. +++ Pumunta sa loop. + theCounter = 1 + theCounter = 2 + theCounter = 3…

Bilang isang ehersisyo, palitan ang mga mensahe sa display ng LCD, i-upload ang binago na programa, at kumpirmahing ang pagbabago.

Hakbang 4: Idagdag ang Infrared Receiver at Ikonekta ito sa Arduino

Idagdag ang Infrared Receiver at Ikonekta ito sa Arduino
Idagdag ang Infrared Receiver at Ikonekta ito sa Arduino

I-plug ang babae sa mga lalaking wire ng kable sa infrared receiver (mga dulo ng babae). Ikonekta ang ground pin ng module ng orasan, sa ground bar strip ng breadboard. Ikonekta ang power pin ng module ng orasan, sa positibong bar strip ng breadboard. Ikonekta ang output pin ng infrared receiver, sa Arduino A1 pin.

Ikonekta ang infrared receiver, mga pin mula sa kaliwang itaas hanggang kanan:

Kaliwa karamihan (sa tabi ng X) - Nano pin A1 Center - 5V Kanan - lupa

A1 + - - Mga koneksyon ng Nano pin

| | | - Mga infrared na pin ng receiver ---- | S | | | | --- | | | | | | --- | | | ---------

Sa Arduino IDE, mag-install ng isang infrared library. Piliin ang Mga Tool / Pamahalaan ang Mga Aklatan. Salain ang iyong paghahanap sa pamamagitan ng pag-type sa 'IRremote'. Piliin ang IRremote sa pamamagitan ng Shirriff (para sa sanggunian, ang link ng library).

I-download at patakbuhin ang pangunahing programa sa pagsubok: infraredReceiverTest.ino. Kapag pinapatakbo ang programa, ituro ang iyong remote control sa receiver at pindutin ang iba't ibang mga pindutan tulad ng numero mula 0 hanggang 9. Ang mga serial message ay output (naka-print) na maaaring matingnan sa Arduino IDE Tools / Serial Monitor.

+++ Pag-setup.

+ Pinasimulan ang infrared na tatanggap. ++ Pumunta sa loop. + Key OK - Toggle + Key> - susunod + Key <- nakaraang + Key up + Key down + Key 1: + Key 2: + Key 3: + Key 4: + Key 6: + Key 7: + Key 8: + Key 9: + Key 0: + Key * (Return) + Key # (Exit)

Bilang isang ehersisyo, gumamit ng isang malayong TV upang makita ang mga halagang naka-print. Maaari mong baguhin ang programa upang magamit ang mga halaga sa pahayag ng switch ng infraredSwitch () function. Halimbawa, pindutin ang "0" key at kunin ang halaga para sa iyong remote, halimbawa, "0xE0E08877". Pagkatapos, magdagdag ng isang kaso sa pahayag ng switch tulad ng sumusunod na code na snippet.

kaso 0xFF9867:

kaso 0xE0E08877: Serial.print ("+ Key 0:"); Serial.println (""); pahinga;

Hakbang 5: I-load ang Clock Project Arduino Sketch Program at Subukan Ito

I-load ang Clock Project Arduino Sketch Program at Subukan Ito
I-load ang Clock Project Arduino Sketch Program at Subukan Ito
I-load ang Clock Project Arduino Sketch Program at Subukan Ito
I-load ang Clock Project Arduino Sketch Program at Subukan Ito
I-load ang Clock Project Arduino Sketch Program at Subukan Ito
I-load ang Clock Project Arduino Sketch Program at Subukan Ito

Ngayon na ang lahat ng mga bahagi ay naidagdag sa breadboard, wired, at nasubok; oras na upang mai-load ang pangunahing programa ng orasan at patakbuhin ito. Ang programa sa orasan ay nakakakuha ng oras mula sa module ng orasan, ipinapakita ang oras sa LCD, at pinapayagan kang itakda ang oras gamit ang isang infrared remote control.

Mag-download at magpatakbo ng programa ng orasan ng proyekto: clockLcdSet.ino.

Kapag nagsimula ang programa, ipapakita nito ang oras ng DS3231 sa 1602 LCD screen. Ang mga mensahe ay makikita sa Arduino IDE Tools / Serial Monitor.

+++ Pag-setup.

+ LCD set. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Clock set at na-synch sa mga variable ng programa. + Pinagana ang Infrared receiver. ++ Pumunta sa loop. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17…

Ituro ang iyong remote control sa receiver at pindutin ang kanang arrow button. Ipapakita ang taon para sa pagtatakda. Pindutin ang kanang arrow button nang maraming beses upang makita na maitatakda mo ang taon, buwan, araw, oras, minuto, at mga segundo. Upang magtakda ng isang halaga ng oras, pumunta sa halaga. Gamitin ang pataas at pababang mga arrow upang maitakda ang halaga ng pagpapakita. Pagkatapos ay gamitin ang "OK" na key upang maitakda ang halaga ng orasan. Ang isang halaga ay itinakda sa bawat oras.

Hakbang 6: Panlabas na Pag-supply ng Lakas

Panlabas na Pag-supply ng Kuryente
Panlabas na Pag-supply ng Kuryente

Ngayon na ang iyong orasan ay nasubukan at gumagana, maaari mo itong i-unplug mula sa iyong computer at gumamit ng isang independiyenteng suplay ng kuryente. Para sa pagiging simple, gumagamit ako ng isang 5 volt wall adapter, na mabibili ng halos isang dolyar, at isang USB cable, isa pang dolyar. Kinokonekta ng cable ang Arduino sa + 5V wall adapter. Dahil ang lakas ng Arduino at mga pin ng lupa ay konektado sa breadboard, ipapatakbo nito ang iba pang mga bahagi.

Dahil sa pagiging simple at murang gastos, ginagamit ko ang parehong kombinasyon na ito upang mapagana ang iba pang mga proyekto.

Inaasahan kong ikaw ay matagumpay at nasiyahan sa pagbuo ng isang infrared na kinokontrol na LCD na orasan.

Inirerekumendang: