Taula de continguts:

Cronòmetre digital simple CloudX M633: 4 passos
Cronòmetre digital simple CloudX M633: 4 passos

Vídeo: Cronòmetre digital simple CloudX M633: 4 passos

Vídeo: Cronòmetre digital simple CloudX M633: 4 passos
Vídeo: 2 hour stopwatch digital workout clock 2024, Desembre
Anonim
Cronòmetre digital CloudX M633 simple
Cronòmetre digital CloudX M633 simple

En aquest projecte, farem una versió d’un rellotge digital que pugui guardar un registre d’hores, minuts i segons, com un cronòmetre del vostre telèfon mòbil. Utilitzarem una pantalla LCD per mostrar l'hora

Pas 1: component necessari

Component necessari
Component necessari
Component necessari
Component necessari
Component necessari
Component necessari
  • CloudX M633
  • CloudX SoftCard
  • Pantalla LCD
  • Potenciòmetre
  • Polsador
  • Taula de pa
  • Jumper Wire
  • Cable USB V3
  • 10k

Podeu obtenir el vostre component aquí

Pas 2: HARDWARE

HARDWARE
HARDWARE

Pas 1: Fixeu la pantalla LCD a la placa de pa i connecteu-la a la placa CloudX M633 segons el següent

  • R / S al pin1
  • ENA a pin2
  • D4 a pin3
  • D5 a pin4
  • D6 a pin5
  • D7 a pin6

A més, connecteu una olla de 10k a + 5V i GND, amb el seu netejador (sortida) a les pantalles LCD VO pin.

  • connecteu Vss i K a GND
  • connecteu Vdd i A a + 5v
  • connecteu R / W a GND

N. B: A és ànode, K és càtode

Pas 2

  • Fixeu el primer polsador (Start i Stop) al tauler de pa i connecteu la primera potència a 10k i Pin7 de la placa CloudX i l'altra a GND.
  • Fixeu el segon polsador (restabliment) al breadBoard i connecteu la primera cama a 10k i el pin8 de la placa CloudX i l'altra a GND.

Pas 3: CODIFICACIÓ

Copieu aquest codi al vostre IDX de CloudX

#include #include #include

#define START_PAUSE 7

#define RESET 8 #define INICI 1 #define PAUSA 0

char timer = "00: 00: 00: 0";

sense signar HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

interrompre TimerOmSD () {

if (INTCONbits. T0IF) {

INTCONbits. T0IF = 0; TMR0 + = 60; if (mscount ++ == 10) {mscount = 0; OmSF = 1; }}}

setup () {

// configuració aquí

pinMode (START_PAUSE, INPUT);

pinMode (RESET, INPUT); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (clar); lcdCmd (cursorOff); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

bucle () {

// Programa aquí

if (! readPin (START_PAUSE)) {

if (S_PFlag == START) {delayMs (200); INTCON = 0b00000000; OPTION_REG = 0b00000000; mSS--; }

if (S_PFlag == PAUSE && RFlag == 1) {

delayMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

if (S_PFlag == PAUSE && RFlag == 0) {

delayMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; TMR0 + = 60; mscount = 0; OmSF = 0; } S_PFlag = ~ S_PFlag; RFlag = 1; }

if (! readPin (RESET)) {

delayMs (200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = PAUSA;

}

if (OmSF) {

OmSF = ~ OmSF; mSS ++; if (mSS == 10) SS ++; if (SS == 60) MM ++; if (MM == 60) HH ++; }

si (HH == 100) HH = 0; if (MM == 60) MM = 0; if (SS == 60) SS = 0; if (mSS == 10) mSS = 0; temporitzador [1] = (HH% 10) +48; temporitzador [0] = (HH / 10) +48; temporitzador [4] = (MM% 10) +48; temporitzador [3] = (MM / 10) +48; temporitzador [7] = (SS% 10) +48; temporitzador [6] = (SS / 10) +48; temporitzador [9] = mSS +48; lcdWriteText (2, 2, temporitzador);

}

}

Recomanat: