제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
|
배낭 알람의 필요성을 느낀 적이 있습니까? 배낭을 메고 공공 장소에 앉아 누군가가 가방을 훔칠까 두려웠던 적이 있습니까? 그렇다면 이것이 바로 당신을 위한 프로젝트입니다!
이 프로젝트는 LSM303 나침반/가속도계를 사용하여 배낭이 움직일 때 경보를 울립니다. 나침반을 이용하여 방향을 모니터링하고, 10도 이상의 움직임이 있을 때 알람을 울립니다.
1단계:Arduino 연결
다음과 같이 LSM303 브레이크아웃 보드를 Arduino에 연결합니다.
<울>자세한 내용은 Adafruit의 가이드를 확인하세요.
다음과 같이 피에조 부저를 Arduino에 연결합니다.
<울>
2단계:라이브러리 설치
Adafruit_LSM303DLHC 라이브러리 및 Adafruit_Sensor 라이브러리를 zip 파일로 다운로드합니다.
아두이노 IDE를 엽니다. 없으시다면 여기에서 다운로드하세요.
스케치> 라이브러리 포함> 추가.ZIP 라이브러리...
로 이동합니다.그런 다음 이전에 다운로드한 .ZIP 파일을 찾아 선택합니다.
3단계:Arduino 프로그래밍
Arduino IDE를 열고 새 파일을 만듭니다. 이미 있는 모든 것을 삭제하고 다음 코드를 붙여넣습니다.
// 라이브러리 포함 #include #include #include #include // 감도 조정 const int sens =10;/ / 동시에 이 센서에 고유 ID 할당 Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) { //디버깅용 //Serial.begin(9600); //Serial.println("시작 중..."); // 13번 핀 설정 pinMode(13, OUTPUT); // 센서 초기화 if(!mag.begin()) { // LSM303을 감지하는 데 문제가 있었습니다 ... 연결을 확인하십시오 digitalWrite(13, HIGH); 지연(500); 디지털 쓰기(13, 낮음); 지연(500); 디지털 쓰기(13, 높음); 지연(500); 디지털 쓰기(13, 낮음); 지연(500); 동안(1); } // 5초 기다림 delay(5000); // 시작 시 경고 digitalWrite(13, HIGH); 지연(500); digitalWrite(13, LOW);}// 센서 값을 가져오는 함수 int getDeg(void){ // 새 센서 이벤트 가져오기 sensor_event_t event; mag.getEvent(&event); 부동 파이 =3.14159; // 벡터 y,x의 각도 계산 float 헤딩 =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // 0-360으로 정규화 if (heading <0) { 제목 =360 + 제목; } return header;}void loop(void) { // 센서 값 가져오기 int oldDeg =getDeg(); 지연(1000); int newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) { // 알람을 울립니다. digitalWrite(13, HIGH); // 디버깅용 //Serial.println("Triggered"); //Serial.println(""); }else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) { // 알람을 울립니다. digitalWrite(13, HIGH); // 디버깅용 //Serial.println("Triggered"); //Serial.println(""); } // 디버깅용 //Serial.print("New:"); //Serial.println(newDeg); //Serial.print("이전:"); //Serial.println(oldDeg); //Serial.println("");}
Arduino를 연결한 다음 코드를 컴파일하고 업로드하세요.
4단계:테스트해 보세요!
모든 작업을 올바르게 수행했다면 Arduino의 재설정 버튼을 누른 후 경고음이 몇 번 울리고 3초 동안 침묵이 흐른 다음 더 긴 경고음이 울릴 것입니다. LSM303 브레이크아웃을 돌리면 알람이 켜지는 소리가 들릴 것입니다. 센서가 너무 민감한 경우 상단 근처의 코드에서 'sens' 변수를 늘리십시오. 감도를 높이려면 'sens' 변수를 줄이십시오.
3초가 지연되기 전에 긴 경고음이 2번 울리면 배선에 문제가 있는 것입니다. 모든 연결을 확인하십시오.
작동하지 않는 것 같으면 라이브러리 이름이 제대로 지정되지 않았을 수 있습니다. 코드에서 처음에 '#include' 문을 제거합니다. 그런 다음 Sketch> Include Library로 이동하여 'Wire', 'Adafruit LSM303DLHC' 및 'Adafruit Unified Sensor' 라이브러리를 선택합니다. 그래도 작동하지 않으면 근처에 강한 자기장이 없는지 확인하십시오. 다른 방으로 가거나 바깥으로 가십시오. 또한 브레이크아웃 보드가 어느 정도 수평을 이루고 지면과 평행을 이루는지 확인합니다.
5단계:키 추가
이제 작업 중인 프로젝트가 있어야 합니다. Arduino의 배럴 잭에 9v 배터리를 꽂고 배낭에 장착하기만 하면 됩니다. 그러나 알람을 활성화/해제할 때마다 배터리를 뽑았다가 다시 꽂는 것은 다소 성가신 일입니다. 6.35mm 오디오 잭이 작동하는 곳입니다. 대부분의 사람들이 헤드폰에 사용하는 3.5mm 잭 대신 6.35mm 잭을 사용하면 보안이 강화됩니다. 그러나 대신 사용하려는 키 스위치나 다른 스위치가 있는 경우 자유롭게 사용하십시오.
어쨌든 키를 추가하려면 배터리와 DC 배럴 잭 사이에 스위치/키를 연결하십시오.
이 중 하나가 있으면 와이어 중 하나를 자르고 필요한 경우 연장 와이어를 추가하고 스위치를 추가하십시오. 제 경우에는 단자대 배럴 잭이 있어서 그걸로 배선을 했습니다. 나는 보안에 대해 크게 걱정하지 않기 때문에 내 키는 단순한 토글 스위치이지만 창의력을 발휘할 수 있습니다. 리드 스위치와 마그넷, RFID, 어쩌면 스마트폰 앱도 사용해보세요!
6단계:마운트!
축하 해요! 이제 키가 있는 완벽하게 작동하는 알람이 있습니다. 이제 배낭에 장착하기만 하면 됩니다. 측면에 부저용 구멍과 열쇠 구멍용 구멍을 하나씩 자릅니다. 집타이를 사용했지만 더 영구적인 솔루션을 사용할 수 있습니다. 센서가 지면과 다소 평행하게 장착되고 부저의 구멍이 막히지 않도록 하십시오.
그림> 그림>
더 나아가기
이 알람은 배낭에만 국한되지 않습니다. 문, 쿠키 병, 냉장고 또는 보호하려는 모든 것에 추가하십시오. 가능성은 무한합니다!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">// 라이브러리 포함 #include섹션>#include #include #include // 감도 조정 const int sens =10;// 동시에 이 센서에 고유 ID를 할당합니다. Adafruit_LSM303_Mag_Unified mag =Adafruit_LSM303_Mag_Unified(12345);void setup(void) { //디버깅용 //Serial.begin(9600); //Serial.println("시작 중..."); // 13번 핀 설정 pinMode(13, OUTPUT); // 센서 초기화 if(!mag.begin()) { // LSM303을 감지하는 데 문제가 있었습니다 ... 연결을 확인하십시오 digitalWrite(13, HIGH); 지연(500); 디지털 쓰기(13, 낮음); 지연(500); 디지털 쓰기(13, 높음); 지연(500); 디지털 쓰기(13, 낮음); 지연(500); 동안(1); } // 5초 기다림 delay(5000); // 시작 시 경고 digitalWrite(13, HIGH); 지연(500); digitalWrite(13, LOW);}// 센서 값을 가져오는 함수 int getDeg(void){ // 새 센서 이벤트 가져오기 sensor_event_t event; mag.getEvent(&event); 플로트 파이 =3.14159; // 벡터 y,x의 각도 계산 float 헤딩 =int((atan2(event.magnetic.y,event.magnetic.x) * 180) / Pi); // 0-360으로 정규화 if (heading <0) { 제목 =360 + 제목; } return header;}void loop(void) { // 센서 값 가져오기 int oldDeg =getDeg(); 지연(1000); 정수 newDeg =getDeg(); if (newDeg <(oldDeg-sens) &&oldDeg !=0 &&newDeg !=0) { // 알람을 울립니다. digitalWrite(13, HIGH); //디버깅용 //Serial.println("Triggered"); //Serial.println(""); }else if (newDeg> (oldDeg+sens) &&oldDeg!=0 &&newDeg !=0) { // 알람을 울립니다. digitalWrite(13, HIGH); //디버깅용 //Serial.println("Triggered"); //Serial.println(""); } //디버깅용 //Serial.print("New:"); //Serial.println(newDeg); //Serial.print("이전:"); //Serial.println(oldDeg); //Serial.println("");}
제조공정
Okuma OSP-P300S/P300L Alarm-C 목록.Okuma cnc 제어 장치를 사용하여 cnc 기계에서 작업하는 cnc 기계공용. 오쿠마 알람 분류 OSP와 관련된 알람은 다음과 같이 5가지 유형으로 분류됩니다. 알람 P 알람 A 알람 B 알람 C(아래에 나열됨) 알람 D 오류 다음은 Okuma OSP-P300S/P300L CNC 시스템용 Okuma C 유형 알람 목록입니다. 오쿠마 알람 C 목록 3055 장치 온도가 너무 높음 3056 작동하지 않는 장치 감지됨 3057 바이러스 검사 중에는 시작할 수 없습
CNC 기계 기술자를 위한 Fanuc 0i / 0i Mate 알람 코드. Fanuc 0i 알람 프로그램 오류(P/S 알람) 프로그램 오류/프로그램 및 동작에 대한 알람(P/S 알람) 0 전원을 꺼주세요 1번째 패리티 알람 2 TV 패리티 알람 3자리가 너무 많음 4 주소를 찾을 수 없음 5 주소 후 데이터 없음 6 부정 기호의 불법 사용 7 소수점 불법 사용 9 잘못된 주소 입력 10개의 부적절한 G–코드 11 이송 속도 명령 없음 14 G95(M 시리즈)를 명령할 수 없음 14 불법 리드 명령(T 시리즈) 너무 많은 축이