제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
|
소개
방갈로르에서 몇 년 동안 살았다면 홍수가 낯설지 않을 것입니다. 매년 장마철이 되면 우리 아파트 지하 주차장에 물이 차서 자전거 엔진도 시동을 걸 수 없을 정도입니다. 더 나쁜 것은 물이 마르면 물 손상으로 인해 수리를 위해 자전거를 정비사에게 가져가야 한다는 것입니다. 올해는 그 어떤 것도 받지 않을 것입니다. 그래서 주차장이 물에 잠겼을 때 알려주는 수위 모니터링 시스템을 구축하기로 결정했습니다.
다음은 동일한 시스템을 시작하고 실행하는 방법입니다.
필요한 라이브러리 설치
BoltIoT의 BoltIoT-Arduino-Helper 라이브러리와 Erick Simoe의 Ultrasonic 라이브러리를 다운로드하려면 여기와 여기를 클릭하십시오.
이 라이브러리를 설치하려면 Arduino IDE로 이동하여 '스케치' 드롭다운 메뉴에서 라이브러리 포함> Add.ZIP 라이브러리를 선택합니다.
그런 다음 라이브러리를 다운로드한 폴더로 이동하여 라이브러리를 선택합니다.
Arduino 코드 업로드
1. 아두이노 IDE를 엽니다.
2. 블로그 마지막 부분에 있는 아두이노 코드를 복사하고 스케치 안의 모든 코드를 복사한 코드로 교체합니다.
그림>3. widows 및 ubuntu에서는 'ctrl + s'를 누르고 Mac에서는 'cmd + s'를 눌러 Arduino 스케치를 저장합니다.
4. 코드를 저장한 후 도구 메뉴로 이동하여 보드 섹션에서 Arduino/Genuino Uno를 선택합니다.
5. USB 케이블을 사용하여 Arduino 또는 Boltduino를 PC에 연결합니다.
6. 도구 메뉴의 포트 하위 메뉴에서 끝에 Arduino/Genuino uno가 있는 포트를 선택합니다.
7. 업로드를 클릭합니다.
코드는 Arduino 또는 Boltduino에 업로드됩니다.
하드웨어 설정
아래 Fritzing 다이어그램에 따라 연결합니다.
참고: Arduino 대신 Boltduino를 사용하는 Fritzing 다이어그램을 보려면 '>'를 클릭하세요.
그림>Arduino 대신 Boltduino를 사용하는 경우 Bolt WiFi 모듈이 Boltduino에 직접 맞기 때문에 몇 가지 연결을 덜 수행해야 합니다.
센서가 시간이 지남에 따라 물이 정체되는 바닥을 향하도록 시스템을 장착합니다.
그림>감지 임계값은 항상 센서 높이보다 작음을 기억하십시오.
9v 또는 12v DC 어댑터를 사용하여 시스템 전원을 켭니다.
참고: 아직 Bolt를 설정하지 않았다면 다음 단계를 따르십시오. 볼트 설정 .
이메일 알림을 보내도록 Integromat 시나리오 설정
아직 계정을 만들지 않았다면 Integromat에서 계정을 만들고 여기를 클릭하여 가입 페이지로 이동하십시오. 이미 Integormat 계정이 있는 경우 Integromat에 로그인하십시오.
다음 단계를 사용하여 내가 만든 '수위 감지' 시나리오를 복제합니다.
1. 이 프로젝트의 코드 섹션에 첨부된 수위 감지 시나리오의 청사진을 다운로드합니다. 파일 이름을 'WaterLevelDetection.json'으로 저장하는 것을 잊지 마십시오.
2. 오른쪽 상단의 파란색 '새 시나리오 만들기' 버튼을 클릭하여 시나리오를 만들고 계속을 클릭합니다.
그림>3. 화면 하단의 '더보기' 버튼을 클릭하세요.
4. '청사진 가져오기'를 선택하고 '파일 선택'을 클릭합니다.
그림>5. 'WaterLevelDetection.json' 파일을 다운로드할 폴더로 이동하여 파일을 선택하고 열기를 클릭합니다. 완료되면 저장을 클릭합니다. 수위 감지 시나리오가 로드됩니다.
그림> 그림>6. 시나리오 이름을 클릭하고 수위 감지로 변경합니다.
수위 감지 시나리오를 구성하려면 다음 단계를 따르십시오.
1. 여기를 클릭하여 Bolt Cloud API 키를 받으십시오. 아래 이미지는 API 키를 활성화하고 복사하는 방법을 보여줍니다.
2. Integromat 시나리오로 돌아가서 첫 번째 BoltIoT 버블을 클릭한 다음 '추가' 버튼을 클릭합니다.
3. 이전에 복사한 API 키를 붙여넣고 '계속' 버튼을 클릭합니다.
3. 장치의 장치 이름을 추가합니다. 여기를 클릭하면 Bolt WiFi 모듈의 장치 이름을 찾을 수 있습니다. 그런 다음 확인을 클릭하십시오.
4. 두 번째 및 세 번째 BoltIoT 버블의 경우 드롭다운 메뉴를 클릭하고 '내 볼트 연결'을 선택할 수 있습니다. 각각에 올바른 장치 이름을 추가하는 것을 잊지 마십시오.
그림>5. 수학 거품을 클릭하고 값 100을 센서를 유지한 높이(cms)로 변경합니다. 그런 다음 확인을 클릭하십시오.
6. 수학 및 Gmail 풍선 사이의 빨간 점을 클릭하고 60을 알림을 받고자 하는 물의 높이로 바꾼 다음 확인을 클릭합니다.
그림>6. Gmail 풍선을 클릭하고 수정 버튼을 클릭합니다.
그림>7. 이메일 ID를 추가하고 확인을 클릭합니다.
8. 추가 버튼을 클릭한 다음 계속 버튼을 클릭하고 Integromat이 Gmail 계정에 액세스하도록 허용합니다.
그림>9. '수신자 추가' 버튼을 클릭하여 더 많은 수신자를 추가한 후 확인을 클릭하십시오.
10. 회로의 전원이 켜져 있고 센서 앞에 장애물이 없는지 확인하고 실행 버튼을 클릭합니다. 시나리오는 생각 거품에 '1'로 표시된 필터 전에 실행되고 대기합니다. 센서 앞에 손을 대고 시나리오를 실행하면 gmail 말풍선까지 시나리오가 실행되고 이메일이 옵니다.
그림> 그림> 그림>11. '꺼짐' 텍스트 옆에 있는 버튼을 클릭하여 시나리오를 켭니다. 이제 시나리오가 15분마다 자동으로 실행됩니다. 수위가 경고에 대해 설정한 높이 이상으로 올라가면 수신하고 경고합니다.
그림>
시스템 장착
이 작업이 완료되면 센서가 바닥을 가리키도록 시스템을 장착하고 시스템 전원을 켜고 Bolt가 WiFi를 통해 인터넷에 지속적으로 액세스할 수 있는지 확인하기만 하면 됩니다.
응용 프로그램
시스템은 다음 응용 프로그램에서 사용할 수 있습니다.
<울>
Bolt 기반 더 많은 프로젝트
Bolt로 다른 프로젝트를 만들고 싶으신가요? 다음은 몇 가지 제안 사항입니다.
1. Bolt 시작하기:온도 모니터링 시스템
2. 홈 오토메이션
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
#include#include #define ULTRASONIC_TRIG_PIN 12#define ULTRASONIC_ECHO_PIN 13Ultrasonic 초음파(ULTRASONIC_TRIG_PIN,ULTRASONIC_ECHO_PIN);int distance=0; =초음파.read(); 문자열 returnString=""+문자열(거리); return returnString;} 무효 설정() { Boltiot.begin(직렬); // 여기에 설정 코드를 넣어 한 번 실행합니다. Boltiot.setCommandString("RD\r",getDistance); Boltiot.setCommandString("GetDistance", getDistance);} 무효 루프() { Boltiot.handleCommand(); // 여기에 기본 코드를 넣어 반복적으로 실행합니다. }
{ "name":"Water Level Detection", "flow":[ { "id":15, "module":"app#bolt-iot:executeCommand", "버전":1, "매개변수":{ "__IMTCONN__":445281 }, "매퍼":{ "명령":"serialBegin", "매개변수":{ "baud":"9600", "deviceName" :"" } }, "메타데이터":{ "designer":{ "x":8, "y":-3 }, "restore":{ "command":{ "label":"직렬 통신 초기화" } , "__IMTCONN__":{ "label":"My Bolt 연결" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label":"연결", "필수 ":true } ], "예상":[ { "이름":"명령", "유형":"선택", "레이블":"명령", "필수":true, "확인":{ "열거" :[ "digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "버전", "다시 시작", "isAlive" ] } }, { "이름":"매개변수", "사양":[ { "이름":"장치 이름", "유형":"텍스트", "레이블":"장치 이름", "필수":true }, { "이름":"전송" , "유형":" 번호", "레이블":"전송", "필수":true } ], "유형":"컬렉션", "레이블":"매개변수" } ] } }, { "id":1, "모듈":"app#bolt-iot:executeCommand", "버전":1, "매개변수":{ "__IMTCONN__":445281 }, "매퍼":{ "명령":"serialWrite", "매개변수":{ "데이터":"GetDistance", "deviceName":"" } }, "메타데이터":{ "디자이너":{ "x":300, "y":0 }, "복원":{ "명령":{ "레이블":"직렬 데이터 출력 보내기" }, "__IMTCONN__":{ "label":"My Bolt connection" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label" :"연결", "필수":true } ], "예상":[ { "이름":"명령", "유형":"선택", "레이블":"명령", "필수":true, " validate":{ "enum":[ "digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive" ] } }, { "이름":"매개변수", "사양":[ { "이름":"장치 이름", "유형":"텍스트", "레이블":"장치 이름", "필수":true }, { "이름":"데이터", "유형":"텍스트", "레이블":"데이터", "필수":true } ], "유형":"컬렉션", "레이블":"매개변수" } ] } }, { "id":14, "module":"app#bolt-iot:executeCommand", " version":1, "parameters":{ "__IMTCONN__":445281 }, "mapper":{ "command":"serialRead", "parameters":{ "till":"10", "deviceName":"" } }, "metadata":{ "designer":{ "x":600, "y":0 }, "restore":{ "command":{ "label":"수신 직렬 데이터 읽기" }, "__IMTCONN__" :{ "label":"My Bolt 연결" } }, "parameters":[ { "name":"__IMTCONN__", "type":"account", "label":"Connection", "required":true } ], "예상":[ { "이름":"명령", "유형":"선택", "레이블":"명령", "필수":true, "확인":{ "열거":[ "디지털 쓰기 ", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "버전", "다시 시작", "isAlive" ] } }, { "이름":"매개변수", "사양":[ { "이름":"장치 이름", "유형":"텍스트", "레이블":"장치 이름", "필수":true }, { "이름":"까지", "유형" :"숫자", "레이블":"까지", "필수":true, "확인":{ "최대":127, "최소":0 } } ], "유형":"컬렉션", "레이블":"매개변수" } ] } }, { "ID":18, "모듈":"수학:EvaluateExpression", "버전":1, "매개변수":{}, "매퍼":{ "표현식":"100-{{parseNumber(14.value)}}" }, "메타데이터":{ "디자이너":{ "x":869, "y":-2 }, "예상":[ { "이름":"표현식", "유형":"텍스트", "레이블":"표현식", "필수":true } ] } }, { "id":13, "module":"google-email:ActionSendEmail", "버전":1, "매개변수":{ "계정":445282 }, "필터":{ "이름" :"수위가 높은지 확인", "조건":[ [ { "a":"{{18.result}}", "b":"60", "o":"숫자:더 큰" } ] ] }, "mapper":{ "cc":[], "to":[ ], "bcc":[], "html":"수위가 {{18.result}}cms에 도달했습니다.", " 제목":"경고! 수위가 너무 높습니다!!", "attachments":[] }, "metadata":{ "designer":{ "x":1145, "y":-3 }, "restore":{ "cc":{ "모드":"선택", "항목":[] }, "대상":{ "모드":"선택", "항목":[ "정의되지 않음" ] }, "숨은 참조":{ "모드":"선택", "항목":[] }, "계정":{ "레이블":"" }, "첨부 파일":{ "모드":"선택", "항목":[] } }, "매개변수" :[ { "이름":"계정", "유형":"계정", "레이블":"연결", "필수":true } ], "예상":[ { "이름":"대상", " spec":{ "이름":" ", "유형":"이메일", "레이블":"이메일 주소", "필수":true }, "유형":"배열", "레이블":"받는 사람" , "labels":{ "add":"받는 사람 추가", "edit":"받는 사람 편집" }, "required":true }, { "name":"subject", "type":"text" , "레이블":"제목" }, { "이름":"html", "유형":"텍스트", "레이블":"콘텐츠" }, { "이름":"첨부 파일", "사양":[ { "이름":"파일 이름", "유형":"파일 이름", "레이블":"파일 이름", "필수":true, "의미":"파일:이름" }, { "이름":"데이터 ", "유형":"버퍼", "레이블":"데이터", "필수":true, "의미론적" :"파일:데이터" }, { "이름":"cid", "유형":"텍스트", "레이블":"콘텐츠-ID" } ], "유형":"배열", "레이블":" Attachments", "labels":{ "add":"첨부 파일 추가", "edit":"첨부 파일 편집" } }, { "name":"cc", "spec":{ "type":"email ", "label":"이메일 주소" }, "type":"array", "label":"복사 수신자", "labels":{ "add":"복사 수신자 추가", "edit":" 사본 수신자 수정" } }, { "name":"bcc", "spec":{ "type":"email", "label":"Email address" }, "type":"array", "label ":"블라인드 카피 수신자", "labels":{ "add":"숨은 카피 수신자 추가", "edit":"숨은 카피 수신자 편집" } } ] } } ], "metadata":{ "version ":1, "시나리오":{ "왕복":1, "maxErrors":3, "autoCommit":false, "sequential":false, "기밀":false, "dataloss":false, "dlq":false }, "디자이너":{ "고아":[] }, "영역":"eu1.integromat.com" }}섹션>
제조공정
다양한 도시와 마을에 걸쳐 물의 수요는 다양한 소비 요인에 따라 달라지고 물 공급업체는 수요와 공급의 격차를 채우기 위해 실시간으로 물 공급을 유지해야 하기 때문에 물 공급이 큰 문제였습니다. 그러나 문제는 소비 추세를 계산하는 것입니다. 물 소비량을 추적하고 물을 낭비하지 않고 물 과소비를 감지하는 등 다양한 방법이 도시 주변의 물 소비량을 줄이기 위해 많이 시행되었습니다. 다행히도 Smart Water Meters는 급변하는 물 수요를 충족시키기 위해 물 유통업체와 소비자에게 완벽한 솔루션을 제공하고 있습니다. 많은 회사에서
SRF04, L293D 및 PIC16F84A를 사용하는 완전 자동 수위 컨트롤러 자동 수위 조절기 소개 물탱크의 수위 모니터링 및 제어 거의 많은 주거 지역과 상업 지역에서 가장 중요한 작업 중 하나입니다. 대부분의 경우, 특히 주거용 건물의 경우 자동 수단을 사용할 수 없기 때문에 탱크의 수위를 자주 모니터링하는 것이 번거롭고 불편합니다. 사실, 물이 부족한 곳의 경우 물이 넘칠 경우 비용이 상당히 많이 듭니다. 위 문제에 대한 유일한 해결책은 수위를 자동으로 모니터링하고 제어하는 방법을 사용하는 것입니다. 거리 센서