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

수위 경고 시스템

구성품 및 소모품

볼트 IoT 볼트 WiFi 모듈
× 1
Arduino UNO
× 1
초음파 센서 - HC-SR04(일반)
× 1
USB-A-마이크로 USB 케이블
× 1
점퍼 와이어(일반)
× 1

앱 및 온라인 서비스

볼트 IoT 볼트 클라우드
Arduino IDE
Integromat

이 프로젝트 정보

소개

방갈로르에서 몇 년 동안 살았다면 홍수가 낯설지 않을 것입니다. 매년 장마철이 되면 우리 아파트 지하 주차장에 물이 차서 자전거 엔진도 시동을 걸 수 없을 정도입니다. 더 나쁜 것은 물이 마르면 물 손상으로 인해 수리를 위해 자전거를 정비사에게 가져가야 한다는 것입니다. 올해는 그 어떤 것도 받지 않을 것입니다. 그래서 주차장이 물에 잠겼을 때 알려주는 수위 모니터링 시스템을 구축하기로 결정했습니다.

다음은 동일한 시스템을 시작하고 실행하는 방법입니다.

필요한 라이브러리 설치

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="코드">

    코드

    <울>
  • 초음파 HC-SR04를 이용한 수위 감지 시스템
  • 수위 감지
  • 초음파 HC-SR04를 이용한 수위 감지 시스템C/C++
    #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(); // 여기에 기본 코드를 넣어 반복적으로 실행합니다. }
    WaterLevelDetectionJSON
    이것은 Integromat 시나리오에 대한 청사진이 포함된 json 파일입니다.
    { "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" }}

    회로도


    제조공정

    1. 산업 제어 시스템을 무선으로 전환
    2. 라즈베리 파이 제어 아쿠아포닉스
    3. 시스템이 IoT를 사용할 준비가 되었습니까?
    4. IoT 농업을 활용하여 식량 접근성 확대
    5. 수중 IoT 혁신 물 관리
    6. 이중 목적 IoT 산림 관리 시스템
    7. IoT가 차량 추적 시스템을 어떻게 강화합니까?
    8. IoT가 차량 관리 시스템을 강화하는 방법은 무엇입니까?
    9. 작은 IoT로 우유 저장량 향상:우유 레벨 모니터링 시스템
    10. 효율적인 물 관리를 위한 IoT 기반 하천 수위 모니터링 시스템 사용