Innholdsfortegnelse:

Klokke, LCD -skjerm, infrarød til sett: 6 trinn
Klokke, LCD -skjerm, infrarød til sett: 6 trinn

Video: Klokke, LCD -skjerm, infrarød til sett: 6 trinn

Video: Klokke, LCD -skjerm, infrarød til sett: 6 trinn
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, November
Anonim
Klokke, LCD -skjerm, infrarød til innstilling
Klokke, LCD -skjerm, infrarød til innstilling
Klokke, LCD -skjerm, infrarød til innstilling
Klokke, LCD -skjerm, infrarød til innstilling

Bygg en sanntidsklokke som holder aktiveringstiden i løpet av få minutter i året. Koden og komponentene kan enkelt omformes til andre prosjekter.

Dette prosjektet krever et minimum av ledninger og ingen lodding. Tidsvakten er en DS3231 sanntidsklokke. Tiden vises på en billig 1602 LCD. Begge modulene bruker I2C -kommunikasjon. I2C bruker bare 2 ledninger per modul når du kobler til en Arduino. Jeg bruker en Arduino Nano fordi den sitter fint på et brødbrett. Følgende instruksjoner vil fungere med en Arduino Uno, siden den har samme pin -numre som Nano for dette prosjektet. Den andre komponenten er den infrarøde mottakeren. Den lar deg bruke en vanlig fjernkontroll som TV -fjernkontroll til å angi tiden akkurat som du ville gjort på vår smart -TV. Den infrarøde mottakeren krever bare én ledning for å koble den til Arduino.

Det første trinnet er å teste Arduino og koble den til brødbrettet. Følgende trinn er designet for å fungere uavhengig. Hvert trinn har ledningsinstruksjoner og testinstruksjoner. Når jeg bygger prosjekter, kobler og tester jeg hver komponent for å bekrefte at de fungerer. Dette hjelper med å integrere antall komponenter fordi vet at hvert arbeid og jeg kan fokusere på integrasjonskravene.

Denne instruksen krever at du har Arduino IDE installert. Du må også ha de grunnleggende ferdighetene for å laste ned et Arduino -skisseprogram fra koblingene i dette prosjektet, opprette en katalog for programmet (katalognavn det samme som programnavnet). De neste trinnene er å laste, vise og redigere programmet i IDE. Last deretter opp programmet via en USB -kabel til Arduino -kortet.

Rekvisita

  • Nano V3 ATmega328P CH340G mikrokontrollerkort for Arduino. Som et alternativ kan du bruke en Uno.
  • DS3231 sanntidsklokke og et CR2032 -batteri.
  • 1602 LCD med en I2C -modul
  • Infrarød mottaker og fjernkontroll. Jeg brukte et IR trådløst fjernkontrollmodulsett som fulgte med en infrarød mottaker og infrarød fjernkontroll.
  • Brødbrett
  • Ledningskabler
  • 5 volt veggadapter

Jeg kjøpte delene på eBay, hovedsakelig fra Hong Kong eller Kina distributører. Amerikanske distributører har noen ganger samme eller lignende deler til rimelige priser og raskere levering. Kina -delene tar fra 3 til 6 uker før levering. Distributørene jeg har brukt har alle vært pålitelige.

Omtrentlige kostnader: Nano $ 3, DS3231 $ 1, LCD $ 3, infrarødt sett $ 1, brødbrett $ 2, pakke med 40 ledninger $ 1, $ 1 for en 5 volt veggadapter. Totalt, omtrent $ 11. Vær oppmerksom på at jeg kjøpte Nano og LCD med brødbrettpinnene allerede loddet på plass, ettersom jeg er loddeferdig. For klokkebatteriet kjøpte jeg en 5 -pakke litium CR2032 -batterier for omtrent $ 1,25. Jeg kjøpte også en 5 -pakning med DS3231s fordi jeg liker tidstykker. Dette prosjektet bruker 1 brødbrett. Jeg kjøpte en 3 breadboard pakke for ca $ 7; en bedre avtale enn å kjøpe et individuelt brett.

Trinn 1: Legg Arduino Nano til brødbrettet

Legg Arduino Nano til brødbrettet
Legg Arduino Nano til brødbrettet

Koble Arduino Nano til brødbrettet. Eller, hvis du foretrekker det, kan du bruke en Arduino Uno til dette prosjektet; de bruker begge de samme pinnene for dette prosjektet. Koble Nano (eller Uno) til datamaskinen din via en USB -kabel.

Koble strøm og jord fra Arduino til brødbrettets strømlinje. Koble Arduino 5+ -nålen til brødbrettets positive bar. Koble Arduino GRN (bakken) pin til brødbrettets negative (bakken) bar. Dette vil bli brukt av andre komponenter.

Last ned og kjør det grunnleggende Arduino -testprogrammet: arduinoTest.ino. Når du kjører programmet, tennes den innebygde LED -lampen i 1 sekund, og deretter slås den av i 1 sekund. Det blir også lagt ut meldinger som kan vises i Arduino IDE Tools/Serial Monitor.

+++ Oppsett.

+ Initialiserte den digitale LED -pinnen ombord for utgang. LED er slått av. ++ Gå til loop. + Loop teller = 1 + Loop teller = 2 + Loop teller = 3 …

Som en øvelse må du endre tidsforsinkelsen på det blinkende lyset, laste opp det endrede programmet og bekrefte endringen.

På bildet ovenfor er en 140 -biters loddfri brødbrett -jumper wire -eske du kan få for 3 til 5 dollar. De gjør brettene ryddigere med lange kabler for korte tilkoblinger.

Trinn 2: Legg til DS3231 -klokkemodulen og koble den til Arduino

Legg til DS3231 -klokkemodulen og koble den til Arduino
Legg til DS3231 -klokkemodulen og koble den til Arduino

Koble klokkemodulen til brødbrettet. Koble GND -pinnen på klokkemodulen til brødbrettets bakkestang. Koble VCC -pinnen på klokkemodulen til brødbrettets positive barlist. Koble klokke modul SDA (data) pin til A4 pin på Arduino (I2C data pin). Koble klokkemodulens SCL (klokke) pinne til pinne A5 på Arduino (I2C klokkepinne).

I Arduino IDE installerer du et DS3231 klokkebibliotek. Velg Verktøy/Administrer biblioteker. Filtrer søket ditt ved å skrive "rtclib". Velg RTClib av Adafruit (for referanse, bibliotekskoblingen).

Last ned og kjør det grunnleggende testprogrammet: clockTest.ino. Når du kjører programmet, blir klokkeslettmeldinger lagt ut som kan vises i Arduino IDE Tools/Serial Monitor.

+++ Oppsett.

+ Klokkesett. ++ Gå til loop. ---------------------------------------- + Gjeldende dato og klokkeslett: 2020/3/ 22 (søndag) 11: 42: 3 + Gjeldende dato og tid: 2020/3/22 (søndag) 11: 42: 4 + Gjeldende dato og tid: 2020/3/22 (søndag) 11: 42: 5 …

Som en øvelse bruker du rtc.adjust () for å stille klokkeslett og dato, laste opp det endrede programmet og bekrefte endringen.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Første vårdag 2020.

Trinn 3: Legg til 1602 LCD -skjermmodulen og koble den til Arduino

Legg til 1602 LCD -skjermmodulen og koble den til Arduino
Legg til 1602 LCD -skjermmodulen og koble den til Arduino

Koble LCD -modulen til brødbrettet. Koble GND -pinnen på klokkemodulen til brødbrettets bakkestripe. Koble VCC -pinnen på klokkemodulen til brødbrettets positive barlist. Koble klokke modul SDA (data) pin til A4 pin på Arduino (I2C data pin). Koble klokkemodulens SCL (klokke) pinne til pinne A5 på Arduino (I2C klokkepinne).

Installer et 1602 LCD -bibliotek i Arduino IDE. Velg Verktøy/Administrer biblioteker. Filtrer søket ditt ved å skrive inn ‘LiquidCrystal’. Velg LiquidCrystal I2C av Frank de Barbander (for referanse, bibliotekskoblingen).

Last ned og kjør det grunnleggende testprogrammet: lcd1602Test.ino. Når du kjører programmet, blir klokkeslettmeldinger lagt ut som kan vises i Arduino IDE Tools/Serial Monitor.

+++ Oppsett.

+ LCD klar til bruk. +++ Gå til loop. + theCounter = 1 + theCounter = 2 + theCounter = 3…

Som en øvelse må du endre meldingene på LCD -skjermen, laste opp det endrede programmet og bekrefte endringen.

Trinn 4: Legg til den infrarøde mottakeren og koble den til Arduino

Legg til den infrarøde mottakeren og koble den til Arduino
Legg til den infrarøde mottakeren og koble den til Arduino

Koble hun -til -hann -ledningene til den infrarøde mottakeren (hunenden). Koble bakkenålen til klokkemodulen til brødbrettets malestavlist. Koble strømpinnen til klokkemodulen til brødbrettets positive barlist. Koble utgangspinnen til den infrarøde mottakeren til Arduino A1 -pinnen.

Koble til infrarød mottaker, pinner fra øverst til venstre til høyre:

Venstre mest (ved siden av X) - Nano pin A1 Center - 5V Høyre - bakken

A1 + - - Nano -pinnekoblinger

| | | -Infrarøde mottakerpinner --------- | S | | | | --- | | | | | | --- | | | ---------

Installer et infrarødt bibliotek i Arduino IDE. Velg Verktøy/Administrer biblioteker. Filtrer søket ditt ved å skrive 'IRremote'. Velg IRremote av Shirriff (for referanse, bibliotekskoblingen).

Last ned og kjør det grunnleggende testprogrammet: infraredReceiverTest.ino. Når du kjører programmet, må du rette fjernkontrollen mot mottakeren og trykke på forskjellige knapper, for eksempel tallet fra 0 til 9. Serielle meldinger sendes ut (skrives ut) som kan vises i Arduino IDE Tools/Serial Monitor.

+++ Oppsett.

+ Initialiserte den infrarøde mottakeren. ++ Gå til loop. + Tast OK - Veksle + Tast> - neste + Tast < - forrige + Tast opp + Tast ned + Tast 1: + Tast 2: + Tast 3: + Tast 4: + Tast 6: + Tast 7: + Tast 8: + Tast 9: + Tast 0: + Tast * (Retur) + Tast # (Avslutt)

Som en øvelse bruker du en TV -fjernkontroll for å se verdiene skrevet ut. Du kan deretter endre programmet for å bruke verdiene i infrarødSwitch () -funksjonens switch -setning. For eksempel, trykk på "0" -tasten og få verdien for fjernkontrollen, for eksempel "0xE0E08877". Deretter legger du til en sak i switch -setningen som i følgende kodebit.

sak 0xFF9867:

sak 0xE0E08877: Serial.print ("+ nøkkel 0:"); Serial.println (""); gå i stykker;

Trinn 5: Last Clock Project Arduino Sketch Program og test det

Last klokkeprosjektet Arduino Sketch Program og test det
Last klokkeprosjektet Arduino Sketch Program og test det
Last klokkeprosjektet Arduino Sketch Program og test det
Last klokkeprosjektet Arduino Sketch Program og test det
Last klokkeprosjektet Arduino Sketch Program og test det
Last klokkeprosjektet Arduino Sketch Program og test det

Nå som alle komponentene er lagt til brødbrettet, kablet og testet; det er på tide å laste hovedklokkeprogrammet og kjøre det. Klokkeprogrammet henter tiden fra klokkemodulen, viser klokkeslettet på LCD -skjermen og lar deg stille klokken med en infrarød fjernkontroll.

Last ned og kjør prosjektets klokkeprogram: clockLcdSet.ino.

Når programmet starter, vil det vise tiden til DS3231 på 1602 LCD -skjermen. Meldinger er synlige i Arduino IDE Tools/Serial Monitor.

+++ Oppsett.

+ LCD -sett. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Clock satt og synkronisert med programvariabler. + Infrarød mottaker aktivert. ++ Gå til loop. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17 …

Rett fjernkontrollen mot mottakeren og trykk på høyre pilknapp. Året vises for innstilling. Trykk på høyre pilknapp flere ganger for å se at du kan angi år, måned, dag, time, minutt og sekunder. For å angi en tidsverdi, gå til verdien. Bruk pil opp og ned for å angi visningsverdien. Bruk deretter "OK" -tasten for å stille klokkens verdi. En verdi settes om gangen.

Trinn 6: Ekstern strømforsyning

Ekstern strømforsyning
Ekstern strømforsyning

Nå som klokken er testet og fungerer, kan du koble den fra datamaskinen og bruke en uavhengig strømforsyning. For enkelhets skyld bruker jeg en 5 volt veggadapter, som kan kjøpes for omtrent en dollar, og en USB -kabel, en dollar til. Kabelen kobler Arduino til +5V veggadapter. Siden Arduino strøm- og bakkepinner er koblet til brødbrett, vil det drive de andre komponentene.

På grunn av sin enkelhet og lave pris, bruker jeg den samme kombinasjonen for å drive andre prosjekter.

Jeg håper du var vellykket og likte å bygge en infrarød kontrollert LCD -klokke.

Anbefalt: