제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
|
다음 지침에 따라 오래된 전화기를 물건 찾기 단서 시스템으로 바꾸세요.
1단계 - 키패드 행 및 열
전화기를 분해하고 키패드를 제거합니다. 키패드는 행과 열 시스템을 사용하여 키 누름을 감지합니다. 이 페이지는 키패드의 버튼을 식별하고 연속성이 있는 멀티미터를 사용하여 적절한 행과 열에 매핑하는 방법에 대한 좋은 지침을 제공합니다. 제 경우 키패드는 다음과 같습니다.
그림> 그림>키패드의 회로(보이는 경우)를 통해 각 키에 연결된 핀을 매우 쉽게 식별할 수 있습니다. 불행히도 내 키패드의 핀이 완벽한 행과 열을 형성하지 않는 것 같아서 두 번째 그림은 핀을 행과 열로 나누는 데 도움이 되도록 만든 매트릭스를 보여줍니다. 원으로 둘러싸인 숫자는 키패드 핀 번호를 나타내고, 매트릭스의 숫자는 키를 나타내며, 상자 안의 숫자 "I/O"는 Arduino 핀을 나타냅니다. 핀 매핑을 기록하고 각 키패드 핀을 Arduino 핀에 할당하십시오. 내 키패드에 필요한 것보다 핀이 더 많은 것 같아서 이상하지만 괜찮습니다.
세 번째 그림은 내가 사용하는 버튼만 사용하여 최종 단순화된 매트릭스를 보여줍니다. 이 시점에서 거의 행과 열처럼 보입니다! 내 코드에서는 자리 표시자 A, B, C 및 D를 사용하여 행렬의 빈 부분을 채웁니다. 이 키는 내 키패드에 없습니다.
2단계 - 키패드 확장 납땜
키패드 핀을 브레드보드에 쉽게 연결할 수 있도록 필요한 핀에 확장을 납땜하십시오. 이 프로젝트를 만들기 위해 키패드의 각 키를 사용할 필요가 없으므로 아래 그림은 내가 사용하기로 선택한 핀만 보여줍니다. 4자리 암호를 사용했기 때문에 5개의 키(* 포함)만 필요했습니다.
3단계 - 오디오 파일 준비
내 프로젝트에서 단서의 목소리는 Natural Readers의 Peter입니다. 음성 파일을 다운로드합니다. 다음으로 모스 부호를 준비하십시오. 온라인에 많은 모스 부호 오디오 생성기가 있지만 SCPhillips.com에서 이것을 사용했습니다. 이 파일도 다운로드하십시오. 또한 이 키 누름 비프음을 다운로드하십시오.
Audacity는 오디오 편집을 위한 훌륭한 도구이며 모스 부호와 음성 파일을 병합하고 신호음을 단일 신호음으로 줄이는 데 사용할 수 있습니다.
이 파일을 Audacity로 끌어다 놓고 필요에 맞을 때까지 실마리 파일을 조정하십시오. 또한 원하지 않는 부분을 강조 표시하고 삭제를 눌러 키패드 비프음을 줄입니다.
그림>Audacity 파일을 저장한 다음 각 트랙을 MP3로 개별적으로 내보냅니다. Audacity를 사용한 적이 없다면 LAME MP3 인코더를 다운로드해야 할 수도 있습니다.
이 특정 MP3 플레이어 보드에서 오디오 파일을 재생하려면 파일 이름을 올바르게 지정하고 SD 카드의 폴더 안에 넣어야 합니다. 각 MP3의 이름을 지정해야 합니다. 001, 002 등 MP3 보드의 트리거 핀 1-9에 해당합니다. 또한 파일은 01 SD 카드에. 다른 MP3 트리거 보드는 이것을 더 쉽게 처리할 수 있습니다.
4단계 - 라이브러리 다운로드 및 코드 준비
이 프로젝트에는 Keypad 및 Password Arduino 라이브러리가 필요합니다. 이 라이브러리를 다운로드하여 설치하고 이 프로젝트의 코드를 다운로드하십시오(아래). 암호를 원하는 대로 만들고 해당 키로 키 매트릭스를 채우십시오.
5단계 - 모든 연결
전화기 내부를 끄집어내고 새 물건을 쑤셔넣으세요! 거기에 보조 배터리를 짜넣을 수 있습니다.
그림> 그림> 그림> 그림>이 프로젝트가 마음에 드시나요? 여기에서 제 다른 프로젝트를 확인하세요!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">#include섹션>//http://www.arduino.cc/playground/uploads/Code/Password.zip#include //http://www.arduino.cc/playground/uploads/Code/Keypad.zipPassword 비밀번호 =Password( "7365" ); const byte ROWS =4; // 4개의 행 const 바이트 COLS =3; // columns// Keymapchar 키 정의[ROWS][COLS] ={ {'4','5','6'}, {'7','8','A'}, //"A" 자리 표시자입니다. 내 키패드에는 그런 버튼이 없습니다. {'B','2','3'}, //"B"는 자리 표시자입니다. 내 키패드에는 그런 버튼이 없습니다. {'*','C','D'} //"C"와 "D"는 자리 표시자입니다. 내 키패드에는 그런 버튼이 없습니다};byte rowPins[ROWS] ={ 7,5,3,8 };//키패드 행을 Arduino 핀에 연결합니다.byte colPins[COLS] ={ 6,4,2 };/ / 키패드 열을 이 Arduino 핀에 연결합니다.const int dial =13; //MP3로 가는 디지털 Arduino 핀 triggerboard.const int morse =12; //MP3 트리거 보드로 가는 디지털 Arduino 핀.// 키패드 생성Keypad 키패드 =Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );void setup(){ pinMode(dial, OUTPUT); 핀모드(모스, 출력); digitalWrite(다이얼, HIGH); //MP3 보드는 활성 로우를 트리거하므로 HIGH로 시작합니다. 디지털 쓰기(모스, 높음); //MP3 보드는 활성 로우를 트리거하므로 HIGH로 시작합니다. Serial.begin(9600); 키패드.addEventListener(keypadEvent); //이 키패드에 대한 이벤트 리스너 추가}void loop(){ 키패드.getKey();}//몇 가지 특별한 이벤트를 처리합니다.void 키패드Event(KeypadEvent eKey){ switch (keypad.getState()){ case PRESSED:Serial. print("눌렸을 때 :"); //모니터링용 Serial.println(eKey); //감시용 digitalWrite(dial, LOW); //다이얼 비프 오디오 파일을 재생합니다. 이것은 각 키 누름 지연(50)에 대해 발생합니다. digitalWrite(다이얼, HIGH); switch (eKey){ case '*':checkPassword(); 부서지다; // *는 엔터 키 기본값입니다. password.append(eKey); } }}checkPassword(){ if (password.evaluate()){ Serial.println("성공"); //감시 password.reset(); //키 항목 지우기 digitalWrite(morse, LOW); //단서 오디오 파일 재생 delay(50); 디지털 쓰기(모스, 높음); }else{ Serial.println("틀렸습니다"); //감시 password.reset(); //다음 암호 시도를 위한 키 항목 지우기 }}
제조공정
구성품 및 소모품 SparkFun 듀얼 H-Bridge 모터 드라이버 L298 × 1 DC 모터(일반) × 4 Arduino UNO × 1 LED(일반) × 8 저항 221옴 × 8 서보(타워 프로 MG996R) × 1 초음파 센서 - HC-SR04(일반) × 1 앱 및 온라인 서비스 Arduino IDE Microsoft Visual Studio 2015
구성품 및 소모품 초음파 센서 - HC-SR04(일반) × 2 Arduino Nano R3 × 1 포토 저항기 × 1 Maxim 통합 8x8 LED 매트릭스 MAX7219 × 2 납땜 브레드보드 절반 크기 × 1 점퍼 와이어(일반) × 1 저항 330옴 × 1 앱 및 온라인 서비스 Arduino IDE 이 프로젝트 정보 저는 8x8 매트릭스 LED와