Taula de continguts:

Rellotge, pantalla LCD, infraroig per configurar: 6 passos
Rellotge, pantalla LCD, infraroig per configurar: 6 passos

Vídeo: Rellotge, pantalla LCD, infraroig per configurar: 6 passos

Vídeo: Rellotge, pantalla LCD, infraroig per configurar: 6 passos
Vídeo: Mirage Fix 9 | Remote Start + Alarm SP-502 2024, Juliol
Anonim
Rellotge, pantalla LCD, infraroig per configurar
Rellotge, pantalla LCD, infraroig per configurar
Rellotge, pantalla LCD, infraroig per configurar
Rellotge, pantalla LCD, infraroig per configurar

Construïu un rellotge en temps real que mantingui el temps d’actuació en pocs minuts a l’any. El codi i els components es poden reutilitzar fàcilment en altres projectes.

Aquest projecte requereix una quantitat mínima de cablejat i sense soldadura. El temporitzador és un rellotge en temps real DS3231. L’hora es mostra en un LCD 1602 de baix cost. Tots dos mòduls utilitzen comunicacions I2C. I2C només utilitza 2 cables per mòdul quan es connecta a un Arduino. Estic fent servir un Arduino Nano perquè s’adapta molt bé a una taula de treball. Les instruccions següents funcionaran amb un Arduino Uno, ja que té els mateixos números de pin que el Nano per a aquest projecte. L’altre component és el receptor d’infrarojos. Us permet utilitzar un comandament a distància comú, com ara el control de televisió, per configurar l’hora igual que ho faria al nostre televisor intel·ligent. El receptor d'infrarojos només requereix un cable per connectar-lo a l'Arduino.

El primer pas és provar l’Arduino i connectar-lo a la placa de control. Els passos següents dissenyats per funcionar de forma independent. Cada pas té instruccions de cablejat i instruccions de prova. Quan construeixo projectes, connecto i provo cada component per confirmar que funcionen. Això ajuda a integrar el nombre de components perquè sé que cada treball i jo ens podem centrar en els requisits d'integració.

Aquesta instrucció requereix que tingueu instal·lat l'IDE Arduino. També heu de tenir les habilitats bàsiques per descarregar un programa d'esbós Arduino des dels enllaços d'aquest projecte, crear un directori per al programa (el nom del directori és el mateix que el nom del programa). Els passos següents són carregar, visualitzar i editar el programa a l'IDE. A continuació, pengeu el programa mitjançant un cable USB a la vostra placa Arduino.

Subministraments

  • Nano V3 ATmega328P CH340G Placa de controlador micro per Arduino. Com a alternativa, podeu utilitzar un Uno.
  • Rellotge en temps real DS3231 i bateria CR2032.
  • 1602 LCD amb un mòdul I2C
  • Receptor d'infrarojos i control remot. He utilitzat kits de mòduls de control remot sense fils IR que venien amb un receptor d'infrarojos i un comandament a distància per infraroig.
  • Taula de pa
  • Cables de filferro
  • Adaptador de paret de 5 volts

Vaig comprar les peces a eBay, principalment a distribuïdors de Hong Kong o Xina. Alguns distribuïdors nord-americans tenen parts iguals o similars per obtenir preus raonables i un lliurament més ràpid. Les peces de la Xina triguen de 3 a 6 setmanes a ser lliurades. Tots els distribuïdors que he utilitzat han estat fiables.

Costos aproximats: Nano $ 3, DS3231 $ 1, LCD $ 3, kit d'infrarojos $ 1, tauleta de pa $ 2, paquet de 40 cables de fil $ 1, $ 1 per a un adaptador de paret de 5 volts. En total, uns 11 dòlars. Tingueu en compte que he comprat el Nano i el LCD amb els passadors de taulers ja soldats al seu lloc, ja que les meves habilitats de soldadura són pobres. Per a la bateria del rellotge, vaig comprar un paquet de 5 bateries de liti CR2032 per uns 1,25 dòlars. També he comprat un paquet de 5 DS3231 perquè m'agraden les peces temporals. Aquest projecte utilitza 1 taula de treball. Vaig comprar un paquet de tres taulers per aproximadament 7 dòlars; una oferta millor que comprar un tauler individual.

Pas 1: afegiu l'Arduino Nano a la taula de pa

Afegiu l’Arduino Nano a la taula de pa
Afegiu l’Arduino Nano a la taula de pa

Connecteu l’Arduino Nano a la placa de pa. O, si ho preferiu, podeu utilitzar un Arduino Uno per a aquest projecte; tots dos utilitzen els mateixos pins per a aquest projecte. Connecteu el Nano (o Uno) a l'ordinador mitjançant un cable USB.

Connecteu l’alimentació i la terra des de l’Arduino a la barra d’alimentació de la placa de control. Connecteu el pin Arduino 5+ a la barra positiva del tauler de control. Connecteu el pin Arduino GRN (terra) a la barra negativa (terra) de la taula de suport. Això l’utilitzaran altres components.

Descarregueu i executeu el programa bàsic de prova Arduino: arduinoTest.ino. En executar el programa, el llum LED integrat s’encendrà durant 1 segon i després s’apagarà durant 1 segon. A més, es publiquen missatges que es poden visualitzar a Arduino IDE Tools / Serial Monitor.

+++ Configuració.

+ Inicialitzat el pin digital LED de bord per a la sortida. El LED està apagat. ++ Vés al bucle. + Comptador de bucles = 1 + Comptador de bucles = 2 + Comptador de bucles = 3 …

Com a exercici, canvieu el retard de la llum parpellejant, pengeu el programa modificat i confirmeu el canvi.

A la foto anterior hi ha una caixa de kit de filferro sense soldar de 140 peces que es pot obtenir per 3 a 5 dòlars. Fan que els taulers siguin més nets que utilitzant cables llargs per a connexions curtes.

Pas 2: afegiu el mòdul de rellotge DS3231 i connecteu-lo a l'Arduino

Afegiu el mòdul de rellotge DS3231 i connecteu-lo a l'Arduino
Afegiu el mòdul de rellotge DS3231 i connecteu-lo a l'Arduino

Connecteu el mòdul de rellotge a la taula de control. Connecteu el passador GND del mòdul de rellotge a la barra de terra de la placa. Connecteu el pin VCC del mòdul de rellotge a la barra de barres positiva de la taula de treball. Connecteu el pin SDA (dades) del mòdul de rellotge al pin A4 de l'Arduino (pin de dades I2C). Connecteu el pin SCL (clock) del mòdul de rellotge al pin A5 de l’Arduino (pin de rellotge I2C).

A l’IDE Arduino, instal·leu una biblioteca de rellotge DS3231. Seleccioneu Eines / Gestiona biblioteques. Filtra la cerca escrivint "rtclib". Seleccioneu RTClib per Adafruit (com a referència, l'enllaç de la biblioteca).

Descarregueu i executeu el programa de prova bàsic: clockTest.ino. Quan s’executa el programa, es publiquen missatges d’hora que es poden visualitzar a les eines / monitor sèrie IDE d’Arduino.

+++ Configuració.

+ Conjunt de rellotge. ++ Vés al bucle. ---------------------------------------- + Data i hora actual: 2020/3 / 22 (diumenge) 11: 42: 3 + Data i hora actual: 2020-03-22 (diumenge) 11: 42: 4 + Data i hora actual: 2020-03-22 (diumenge) 11: 42: 5 …

Com a exercici, utilitzeu rtc.adjust () per establir l’hora i la data del rellotge, penjar el programa modificat i confirmar el canvi.

rtc.adjust (DateTime (2020, 3, 19, 10, 59, 50)); // Primer dia de primavera, 2020.

Pas 3: afegiu el mòdul de pantalla LCD 1602 i connecteu-lo a l'Arduino

Afegiu el mòdul de pantalla LCD 1602 i connecteu-lo a l'Arduino
Afegiu el mòdul de pantalla LCD 1602 i connecteu-lo a l'Arduino

Connecteu el mòdul LCD a la placa de control. Connecteu el passador GND del mòdul de rellotge a la barra de terra de la placa. Connecteu el pin VCC del mòdul de rellotge a la barra de barres positiva de la taula de treball. Connecteu el pin SDA (dades) del mòdul de rellotge al pin A4 de l'Arduino (pin de dades I2C). Connecteu el pin SCL (clock) del mòdul de rellotge al pin A5 de l’Arduino (pin de rellotge I2C).

A l’IDE Arduino, instal·leu una biblioteca LCD 1602. Seleccioneu Eines / Gestiona biblioteques. Filtra la cerca escrivint "LiquidCrystal". Seleccioneu LiquidCrystal I2C de Frank de Barbander (com a referència, l'enllaç de la biblioteca).

Descarregueu i executeu el programa de prova bàsic: lcd1602Test.ino. Quan s’executa el programa, es publiquen missatges d’hora que es poden visualitzar a les eines / monitor sèrie IDE d’Arduino.

+++ Configuració.

+ LCD a punt per utilitzar. +++ Vés al bucle. + theCounter = 1 + theCounter = 2 + theCounter = 3 …

Com a exercici, canvieu els missatges de la pantalla LCD, pengeu el programa modificat i confirmeu el canvi.

Pas 4: afegiu el receptor d'infrarojos i connecteu-lo a l'Arduino

Afegiu el receptor d'infrarojos i connecteu-lo a l'Arduino
Afegiu el receptor d'infrarojos i connecteu-lo a l'Arduino

Connecteu els cables de femella a mascle al receptor d’infrarojos (extrems femella). Connecteu el passador de terra del mòdul de rellotge a la barra de terra de la placa de pa. Connecteu el passador d’alimentació del mòdul de rellotge a la barra de barres positiva de la taula. Connecteu el pin de sortida del receptor d'infrarojos al pin Arduino A1.

Connecteu el receptor d'infrarojos, els pins de la part superior esquerra a la dreta:

Esquerra més (al costat de la X) - Nano pin A1 Centre - 5V a la dreta

A1 + - - Connexions Nano Pin

| | | - Pins del receptor d'infrarojos --------- | S | | | | --- | | | | | | --- | | | ---------

A l'IDE Arduino, instal·leu una biblioteca d'infrarojos. Seleccioneu Eines / Gestiona biblioteques. Filtra la cerca escrivint "IRremote". Seleccioneu IRremote per Shirriff (com a referència, l'enllaç de la biblioteca).

Descarregueu i executeu el programa de prova bàsic: infraredReceiverTest.ino. Quan executeu el programa, apunteu el comandament a distància cap al receptor i premeu diversos botons, com ara el número del 0 al 9. Els missatges de sèrie es publiquen (s’imprimeixen) que es poden visualitzar a les eines / monitor sèrie IDE Arduino.

+++ Configuració.

+ Inicialitzat el receptor d'infrarojos. ++ Vés al bucle. + Tecla OK - Commuta + Tecla> - següent + Tecla <- anterior + Tecla amunt + Tecla avall + Tecla 1: + Tecla 2: + Tecla 3: + Tecla 4: + Tecla 6: + Tecla 7: + Tecla 8: + Tecla 9: + Tecla 0: + Tecla * (Retorn) + Tecla # (Surt)

Com a exercici, utilitzeu un comandament a distància per veure els valors impresos. A continuació, podeu modificar el programa per utilitzar els valors de la instrucció de commutació de la funció infraredSwitch (). Per exemple, premeu la tecla "0" i obteniu el valor del comandament a distància, per exemple, "0xE0E08877". A continuació, afegiu un cas a la sentència switch com al fragment de codi següent.

cas 0xFF9867:

cas 0xE0E08877: Serial.print ("+ clau 0:"); Serial.println (""); trencar;

Pas 5: carregueu el programa Clock Project Arduino Sketch i proveu-lo

Carregueu el programa Clock Project Arduino Sketch i proveu-lo
Carregueu el programa Clock Project Arduino Sketch i proveu-lo
Carregueu el programa Clock Project Arduino Sketch i proveu-lo
Carregueu el programa Clock Project Arduino Sketch i proveu-lo
Carregueu el programa Clock Project Arduino Sketch i proveu-lo
Carregueu el programa Clock Project Arduino Sketch i proveu-lo

Ara que tots els components s’afegeixen a la taula de treball, es connecten i es proven; és hora de carregar i executar el programa de rellotge principal. El programa de rellotge obté l’hora del mòdul de rellotge, mostra l’hora a la pantalla LCD i us permet configurar l’hora mitjançant un control remot d’infrarojos.

Descarregueu i executeu el programa de rellotge del projecte: clockLcdSet.ino.

Quan s'iniciï el programa, mostrarà l'hora del DS3231 a la pantalla LCD 1602. Els missatges es poden visualitzar a Arduino IDE Tools / Serial Monitor.

+++ Configuració.

+ Joc LCD. + syncCountWithClock, theCounterHours = 13 theCounterMinutes = 12 theCounterSeconds = 13 + Rellotge establert i sincronitzat amb variables de programa. + Receptor d'infrarojos habilitat. ++ Vés al bucle. + clockPulseMinute (), theCounterMinutes = 15 + clockPulseMinute (), theCounterMinutes = 16 + clockPulseMinute (), theCounterMinutes = 17 …

Apunteu el comandament a distància cap al receptor i premeu el botó de fletxa dreta. Es mostrarà l'any per configurar-lo. Premeu el botó de fletxa dreta diverses vegades per veure que podeu configurar l'any, mes, dia, hora, minut i segon. Per establir un valor de temps, aneu al valor. Utilitzeu les fletxes amunt i avall per establir el valor de visualització. A continuació, utilitzeu la tecla "D'acord" per establir el valor del rellotge. Es defineix un valor alhora.

Pas 6: font d'alimentació externa

Font d'alimentació externa
Font d'alimentació externa

Ara que el rellotge està provat i funciona, el podeu desconnectar de l'ordinador i utilitzar una font d'alimentació independent. Per simplicitat, faig servir un adaptador de paret de 5 volts, que es pot comprar per aproximadament un dòlar, i un cable USB, un altre dòlar. El cable connecta l’Arduino a l’adaptador de paret + 5V. Atès que els pins d'alimentació i de terra d'Arduino estan connectats a la placa, això alimentarà els altres components.

Per la seva simplicitat i baix cost, faig servir aquesta mateixa combinació per impulsar altres projectes.

Espero que hagueu tingut èxit i gaudiu de la creació d’un rellotge LCD controlat per infrarojos.

Recomanat: