산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

시간 설정 및 알람 기능이 있는 TM1637 디지털 시계

구성품 및 소모품

Arduino Nano R3
× 1
TM1637 4자리 표시
× 1
DS1302 RTC 모듈
× 1
SparkFun LilyPad LED 블루(5개)
× 1
부저
× 1

이 프로젝트 정보

이것은 내가 다음 디지털 시계 프로젝트에서 사용할 계획인 시간 및 알람 설정 메커니즘의 프로토타입입니다. 유용하게 사용되기를 바랍니다. 개선 사항이 생각나면 알려주세요. 그것들을 조사하고 잠재적으로 내 코드에 통합하게 되어 기쁩니다.

에서 전체 자습서를 볼 수 있습니다.

이 콘텐츠가 마음에 들고 비슷한 동영상을 만드는 데 도움을 주고 싶다면 내 Patreon 웹페이지로 이동하세요.

https://www.patreon.com/MariosIdeas

또는

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7PD67JWZ9S3EJ&source=url

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • RTC 모듈의 시간 표시와 시간 설정 및 알람 설정 기능
  • RTC 모듈의 시간 표시와 시간 설정 및 알람 설정 기능Arduino
    이 코드는 RTC 모듈에서 현재 시간을 읽고 있습니다. 그런 다음 현재 시간을 업데이트하고 알람 시간을 설정할 수도 있습니다.
    설정 작업은 3개의 버튼을 사용하여 수행됩니다.
    // Mario's Ideas// 설정 및 알람 기능이 있는 TM1637 디지털 시계#include #include #include  //// RTC 모듈 선언// PINS CLK, DAT, RSTvirtuabotixRTC myRTC(A1,A2,A3);// 읽은 이전 값을 저장하는 변수 RTC moduleint minutes;int hours;// 알람이 울리는 시간을 저장할 변수 int Alarm_minutes=05;int Alarm_hours=18;uint8_t Blank[] ={0x0};int POSITION=0;//시간 및 알람 설정 절차에 사용되는 4자리 숫자를 저장하는 테이블 int 숫자[3];int interval=0;#define 알람 9 // 알람 모드를 켜거나 끄는 버튼#define Buzer 13#define Led 8//Statusesboolean Alarm_set=false;boolean Alarm_in_progress=false;boolean Setup_on=false;// 4자리 디스플레이 연결 핀(디지털 핀)#define CLK 4#define DIO 5// 4자리 디스플레이 선언TM1637Display clock(CLK, DIO);void setup() { attachInterrupt(digitalPinToInterrupt(2), Press_A_Button,RISING); attachInterrupt(digitalPinToInterrupt(3), Press_B_Button,RISING); 핀모드(알람, 입력); 핀모드(버저, 출력); 핀모드(LED, 출력); digitalWrite(부저,낮음); clock.setBrightness(0x0f); Serial.begin(9600);}void Press_A_Button(){ if (interval>3){ if (Setup_on==false){ Setup_on=true; if (Alarm_set==true){ 숫자[0]=(int)Alarm_hours/10; 숫자[1]=알람_시간-((int) 알람_시간/10)*10; 숫자[2]=(int)Alarm_minutes/10; 숫자[3]=알람_분-((int)알람_분/10)*10; } else { 숫자[0]=(int)myRTC.hours/10; 숫자[1]=myRTC.hours-((int)myRTC.hours/10)*10; 숫자[2]=(int)myRTC.분/10; 숫자[3]=myRTC.minutes-((int)myRTC.minutes/10)*10; } } else{ 위치++; if (POSITION==4){ if (Alarm_set==true){ Alarm_minutes=digits[3]+digits[2]*10; 알람_시간=숫자[1]+숫자[0]*10; } else { myRTC.setDS1302Time( 0, 숫자[3]+숫자[2]*10, 숫자[1]+숫자[0]*10, myRTC.dayofweek, myRTC.dayofmonth, myRTC.month, myRTC.year); clock.showNumberDec(숫자[0], 거짓, 1,0); clock.showNumberDec(숫자[1],거짓,1,1); clock.showNumberDec(숫자[2],거짓,1,2); clock.showNumberDec(숫자[3],거짓,1,3); } 위치=0; Setup_on=거짓; } } } 간격=0;} 무효 Press_B_Button(){ if (interval>3){ if(Setup_on){ 숫자[POSITION]=digits[POSITION]+1; if (POSITION==0 및 숫자[POSITION]==3) 숫자[POSITION]=0; if (POSITION!=0 및 숫자[POSITION]==10) 숫자[POSITION]=0; 간격=0; } } 간격=0;} 무효 루프() { if (digitalRead(Alarm)==HIGH 및 Alarm_set==false ){ if (interval>30){ digitalWrite(Led,HIGH); Alarm_set=참; 지연(300); } } else{ if (digitalRead(Alarm)==HIGH 및 Alarm_set==true){ if (interval>30){ Alarm_set=false; Alarm_in_progress=거짓; 디지털 쓰기(LED, LOW); 지연(300); } } } myRTC.updateTime(); if (Setup_on==true){ clock.showNumberDec(digits[0],false,1,0); clock.showNumberDec(숫자[1],거짓,1,1); clock.showNumberDec(숫자[2],거짓,1,2); clock.showNumberDec(숫자[3],거짓,1,3); 지연(200); clock.setSegments(공백, 1, 위치); 지연(200); clock.showNumberDec(숫자[0], 거짓, 1,0); clock.showNumberDec(숫자[1],거짓,1,1); clock.showNumberDec(숫자[2],거짓,1,2); clock.showNumberDec(숫자[3],거짓,1,3); } else{ if (myRTC.minutes==Alarm_minutes 및 myRTC.hours==Alarm_hours 및 Alarm_set==true 및 Setup_on==false){ Alarm_in_progress=true; } if (Alarm_in_progress){ digitalWrite(Buzer,HIGH); 지연(1000); digitalWrite(부저,낮음); 지연(1000); } if (myRTC.minutes!=분){ clock.showNumberDecEx((int)myRTC.hours/10*1000+(myRTC.hours-((int)myRTC.hours/10)*10)*100+ (int) myRTC.minutes/10*10+myRTC.minutes-((int)myRTC.minutes/10)*10, (0x80>> 1), true); 분=myRTC.분; 시간=myRTC.시간; } } if (interval<200) 간격++;}

    회로도


    제조공정

    1. 애플리케이션이 있는 아날로그 및 디지털 센서 유형
    2. t cobbler plus가 포함된 라즈베리 파이 2 물 경보기
    3. Raspberry Pi 및 Python으로 로봇 구축
    4. Fiix 및 IDC를 통한 디지털 혁신 탐색
    5. 상태 모니터링으로 시간과 비용 절약
    6. 유지 관리 소프트웨어로 유지 관리 비용을 절감하고 수익을 높이는 8가지 방법
    7. Portenta 및 열전쌍 센서(MAX6675 포함)
    8. Cisco와 IBM 덕분에 IoT 데이터로 디지털 혁신 가속화
    9. DS1302 RTC가 있는 간단한 알람 시계
    10. 베어링의 기능과 고도화