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

Buzz Wire with Score Counter

구성품 및 소모품

Arduino Nano R3
× 1
부저
× 1
5mm LED:빨간색
× 1
5mm LED:녹색
× 1
Texas Instruments Shift Register - 직렬에서 병렬로
× 1
7 세그먼트 LED 디스플레이, 빨간색
× 1
저항 221옴
× 10
9V 배터리(일반)
× 1

필요한 도구 및 기계

드릴, 드라이버
납땜 인두(일반)

이 프로젝트 정보

잠시 시간을 보내기 위해 아두이노를 가지고 놀다가, 실패 횟수를 세고 10번 맞으면 미쳐버리는 옛날 버즈 와이어 게임의 향상된 버전을 만들기로 결정했습니다!

다음은 내 게임을 빠는 동영상입니다.

소스코드는 3개의 파일로 나누어져 있습니다.

코드에서 각 실패 후 500ms의 "유예 기간"이 설정됩니다. 각 버즈 후에 플레이어에게 더 큰 휴식 시간을 주기 위해 수정할 수 있습니다.

그리고 마지막에 느낀 점은 LED가 너무 밝다는 것! 그것에 사용된 두 개의 저항기를 더 강한 것으로 자유롭게 교체하십시오. 내 것은 약 100ohms입니다.

반지는 열쇠고리 끝부분을 사용했습니다. 그것의 좋은 점은 당신이 그것을 열 수 있고 전선을 끝까지 탐색할 필요가 없다는 것입니다.

제 프로젝트를 즐기시기 바랍니다!

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

코드

<울>
  • nervous_meter_score.ino
  • score_display.ino
  • game.ino
  • nervous_meter_score.ino아두이노
    int 래치핀 =3; // 74HC595int의 ST_CP [RCK] clockPin =4; // 74HC595int의 SH_CP [SCK] dataPin =2; // DS [S1] on 74HC595const int STOP_LED =6;const int GO_LED =7;const int BUZZ =8;const int TOUCH =10;const int fail_threshold =9;enum Status{ STOP =0, GO =1};void setup() { Serial.begin(9600); 디스플레이 초기 설정(); gameInitialSetup();}상태 상태 =GO;int failCounter =0;void loop() { while (failCounter> fail_threshold) { gameover(); } 스위치(상태) { 경우 GO:digitalWrite(GO_LED, HIGH); 디지털 쓰기(STOP_LED, LOW); 디지털 쓰기(BUZZ, LOW); if (digitalRead(TOUCH) ==HIGH) { 상태 =STOP; } 부서지다; 경우 STOP:digitalWrite(GO_LED, LOW); 실패 카운터++; if (failCounter> fail_threshold) break; displayDigit(실패 카운터); Serial.println(실패 카운터); 실패 경보(); 상태 =GO; 부서지다; }}byte seg_spin[6] ={ B10000000, B01000000, B00100000, B00010000, B00001000, B00000100};void gameover(){ for (int i=0; i<6; iGH+) 지연(5); 디지털 쓰기(BUZZ, LOW); 지연(50); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, seg_spin[i]); digitalWrite(래치핀, 높음); 지연(10); }}
    score_display.ino아두이노
    byte seg_digits[10] ={ B11111100, // =0 B01100000, // =1 B11011010, // =2 B11110010, // =3 B01100110, // =4 B10110110, // =4 B10110510, =6 B11100000, // =7 B11111110, // =8 B11100110 // =9}; 무효 displayDigit(int x){ digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, seg_digits[x]); digitalWrite(latchPin, HIGH);} 무효 displayInitialSetup(){ pinMode(latchPin, OUTPUT); 핀모드(데이터핀, 출력); 핀모드(시계핀, 출력); displayDigit(0);}
    game.ino아두이노
    <사전> 무효 gameInitialSetup(){ pinMode(STOP_LED, OUTPUT); 핀모드(GO_LED, 출력); 핀모드(BUZZ, 출력); 핀모드(터치, 하이); digitalWrite(TOUCH, LOW);} void failAlarm(){ digitalWrite(STOP_LED, HIGH); 삑 하는 소리(); 지연(150); 디지털 쓰기(STOP_LED, LOW); 디지털 쓰기(BUZZ, LOW); 지연(500);} 무효 경고음(){ for(int i=0; i<3; i++) { digitalWrite(BUZZ, HIGH); 지연(50); 디지털 쓰기(BUZZ, LOW); 지연(50); }}

    회로도

    D10이 5V에 연결되면 부저가 울리고 카운터가 계산되는 오류를 구성한다는 점을 명심하십시오. 회로도에는 그것을 보여줄 방법이 없었습니다.
    따라서 전선과 구조를 적절하게 구축하십시오. :)

    제조공정

    1. 텅스텐 와이어 메쉬가 공기와 반응합니까?
    2. 티아라
    3. 철조망
    4. 비행 시뮬레이터용 Arduino가 있는 LCD 패널
    5. FS2020용 Arduino가 있는 스위치/LED 패널
    6. 예제가 있는 컬렉션의 Python 카운터
    7. E3.series 전기 프로젝트 - E3.cable을 사용한 전선 삽입
    8. Bluetooth가 탑재된 Arduino로 LED 제어!
    9. MOSMusic
    10. 새로운 EDM 기술로 틈새 탐색