Sommario:

Cronometro digitale CloudX M633 semplice: 4 passaggi
Cronometro digitale CloudX M633 semplice: 4 passaggi

Video: Cronometro digitale CloudX M633 semplice: 4 passaggi

Video: Cronometro digitale CloudX M633 semplice: 4 passaggi
Video: 60 Minutes Countdown Timer Flip Clock 🎵 / +Ambient🧘‍♀️+ Bells🔔 2024, Luglio
Anonim
Cronometro digitale semplice CloudX M633
Cronometro digitale semplice CloudX M633

In questo progetto, realizzeremo una versione di un orologio digitale in grado di registrare ore, minuti e secondi, proprio come un cronometro sul tuo cellulare! Useremo un LCD per visualizzare l'ora

Passaggio 1: componente necessario

Componente necessario
Componente necessario
Componente necessario
Componente necessario
Componente necessario
Componente necessario
  • CloudX M633
  • CloudX SoftCard
  • Display LCD
  • Potenziometro
  • Premi il bottone
  • Tagliere di pane
  • Cavo del ponticello
  • Cavo USB V3
  • 10k

Puoi ottenere il tuo componente qui

Passaggio 2: HARDWARE

HARDWARE
HARDWARE

Passaggio 1: fissare il display LCD nella breadboard e connettersi alla scheda CloudX M633 come segue

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

Inoltre, collega un potenziometro da 10k a +5V e GND, con il suo tergicristallo (uscita) al pin VO dello schermo LCD.

  • collegare Vss e K a GND
  • collegare Vdd e A a +5v
  • collegare R/W a GND

NB: A è Anodo, K è Catodo

Passo 2

  • Fissare il primo pulsante (Start e Stop) nella breadboard e collegare la prima gamba a 10k e Pin7 della CloudX Board e l'altra gamba a GND.
  • Fissare il Secondo pulsante (reset) nella breadBoard e collegare la prima gamba a 10k e il pin8 della CloudX Board e l'altra gamba a GND.

Passaggio 3: CODIFICA

Copia questo codice nel tuo IDE CloudX

#include #include #include

#define START_PAUSE 7

#define RESET 8 #define START 1 #define PAUSE 0

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

unsigned char HH, MM, SS, mSS, mscount, RFlag=0; bit OmSF=0, S_PFlag=0;

interrompere TimerOmSD(){

if (INTCONbits. T0IF) {

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

impostare(){

//imposta qui

pinMode(START_PAUSE, INPUT);

pinMode(RESET, INGRESSO); lcdImpostazione (1, 2, 3, 4, 5, 6); lcdCmd(cancella); lcdCmd(cursorOff); lcdWriteText(1, 1, "CLOUDX CRONOMETRO");

ciclo continuo(){

//Programma qui

if(!readPin(START_PAUSE)) {

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

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

ritardoMs(200); INTCON = 0b1110000; REG_OPZIONE = 0b00000111; }

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

ritardoMs(200); INTCON = 0b1110000; REG_OPZIONE = 0b00000111; TMR0 += 60; mscount=0; OmSF = 0; } S_PFlag = ~S_PFlag; RFlag = 1; }

if(!readPin(RESET)){

ritardoMs(200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; REG_OPZIONE = 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++; }

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

}

}

Consigliato: