제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 21 | ||||
| × | 1 |
카운트다운 타이머는 아마도 4자리 7세그먼트 디스플레이를 위한 가장 자연스러운 프로젝트일 것입니다. 온라인에서 사용할 수 있는 것을 탐색하는 동안 여러 프로젝트를 찾았지만 마음에 들었던 프로젝트, 즉 버튼으로 편리하게 조정할 수 있는 독립 실행형 조정 가능한 카운트다운 타이머(수정된 코드를 업로드하지 않음)를 찾지 못했습니다. 그래서 하나 만들기로 결정했습니다.
사용하기 쉽고 타이머를 조정하여 실제로 사용할 수 있도록 코드를 작성하는 시간을 가졌습니다.
포함된 코드는 4자리 7세그먼트 디스플레이가 있는 다른 프로젝트에서도 사용할 수 있습니다. 특히, 주어진 시간 간격 동안 주어진 숫자(0-9999)를 표시하는 기능이 있습니다. 이 기능이 일부 라이브러리에 있을 수 있지만 빠른 검색으로 이를 드러내지 않았습니다. 이 디스플레이를 프로그래밍하는 것은 약간 까다롭기 때문에(한 번에 한 자리만 표시할 수 있음) 이러한 기능은 정말 편리합니다.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#include섹션>int digit_pin[] ={6, 9, 10, 11}; // PWM 디스플레이 숫자 핀을 왼쪽에서 오른쪽으로int speakerPin =15;#define DIGIT_ON LOW#define DIGIT_OFF HIGHint segA =2; 정수 세그먼트B =3; 정수 세그먼트C =4; 정수 세그먼트 D =5; 정수 세그먼트E =A0; //핀 6은 pwm 기능에 대해 bij 디스플레이 1에 사용됩니다. int segF =7; 정수 세그먼트G =8; //int segPD =; int button1=13;int button2=12;int button3=16;int button4=17;int countdown_time =60;struct struct_digits { int digit[4]; }; 무효 설정() { pinMode(segA, OUTPUT); 핀모드(세그B, 출력); 핀모드(segC, OUTPUT); 핀모드(세그D, 출력); 핀모드(세그, 출력); 핀모드(segF, 출력); 핀모드(세그G, 출력); for (int i=0; i<4; i++) { pinMode(digit_pin[i], OUTPUT); } 핀모드(스피커핀, 출력); 핀모드(버튼1,INPUT_PULLUP); 핀모드(버튼2,INPUT_PULLUP); 핀모드(버튼3,INPUT_PULLUP); pinMode(button4,INPUT_PULLUP);}void playTone(int tone, int duration) { for (long k =0; k 0; q--){ PrintNumber(q,del); if (digitalRead(button2)==LOW) { 반환 거짓; } } 인쇄 번호(0,0); 플레이톤(1519,1000); return true;}void reset() { 정수 m, 0, d, 눌림3 =0, 눌림4 =0; m=카운트다운_시간; 구조체 struct_digits 파기; dig =IntToDigits(countdown_time); while (digitalRead(button1)==HIGH) { for (int j=0; j<4; j++) { SwitchDigit(j); lightNumber(dig.digit[j]); 지연(5); } if (digitalRead(button3)==LOW) { if (pressed3 ==0 || press3> 30) { if (countdown_time> 0) { countdown_time -=1; } dig =IntToDigits(countdown_time); } 눌림3 +=1; } else if (digitalRead(button4)==LOW) { if (pressed4 ==0 || press4> 30) { if (countdown_time <9999) { countdown_time +=1; } dig =IntToDigits(countdown_time); } 눌림4 +=1; } if (digitalRead(button3)==HIGH) { 눌림3=0; } if (digitalRead(button4)==HIGH) { 눌림4=0; } }}무효 루프(){ 리셋(); 동안 (!Countdown(countdown_time,962)) { 재설정(); } 동안 (digitalRead(button2)==1){};}
제조공정
구성품 및 소모품 Arduino UNO × 1 초음파 센서 - HC-SR04(일반) × 1 Adafruit 128X64 LED LCD OLED × 1 앱 및 온라인 서비스 Arduino IDE 이 프로젝트 정보 OLED 화면 사용 방법 여기에 대한 이전 자습서가 있습니다. #포함 및 #define , setup(): 실행 전 #include //OLED를 위한 모든 불쾌한 라이브러리가 필요합니다.#inclu
구성품 및 소모품 Arduino UNO × 1 Adafruit Standard LCD - 파란색 바탕에 16x2 흰색 × 1 SparkFun 푸시버튼 스위치 12mm × 4 저항 10k 옴 × 4 저항 221옴 음, 220옴... × 2 단일 회전 전위차계 - 100,000옴 × 1 부저 × 1 브레드보드(일반) × 1 점퍼 와이어(일반) × 1