제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 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="코드">// 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) 간격++;}
제조공정
이 프로젝트에서는 Arduino 터치 스크린 MP3 음악 플레이어와 알람 시계를 만드는 방법을 보여 드리겠습니다. 다음 비디오를 보거나 아래에 작성된 튜토리얼을 읽을 수 있습니다. 개요 홈 화면에는 큰 시계, 날짜 및 온도 정보, 뮤직 플레이어 및 알람 시계용 버튼 2개가 있습니다. 뮤직 플레이어에 들어가면 화면 중앙에 있는 큰 재생 버튼을 눌러 음악 재생을 시작할 수 있습니다. 바로 옆에는 이전 또는 다음 곡을 재생할 수 있는 두 개의 버튼이 더 있습니다. 이 버튼 위에는 노래 진행률 표시줄이 있고 화면 하단에는 볼
이 간략한 개요 및 비디오 시리즈는 Fusion 360의 프로빙과 작업 전에 기계 설정을 더 빠르게 만드는 방법을 다룹니다. . 효과적인 소프트웨어 플랫폼으로 워크플로를 개선하는 것은 특히 프로젝트를 가공할 때 생산성을 높이는 데 매우 중요합니다. 이러한 프로젝트에는 종종 시간이 걸리기 때문에 CAM(Computer-Aided Manufacturing)이 현대의 많은 기계공들 사이에서 보편화되었습니다. Autodesk Fusion 360 및 CAM 소프트웨어는 사용하기 쉬운 프로그래밍을 제공하여 시간과 비용을 절약합니다.