메뉴 건너뛰기

정보자료게시판

장비/디자인/구조

[아두이노] ESP32-XBee-초음파 센서 배터리 지속기간

by 라키 posted Oct 06, 2018
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

[아두이노] ESP32-XBee-초음파 센서 배터리 지속기간

목표

초음파 센서에서 측정한 값을 지그비 통신을 통해 메인으로 전송하는 리모트센서를 1.2V-2450 NiMH 충전건전지 6개로 최대한 버티게 만들기

IMG_3434

테스트 소스

#include "WiFi.h"
#include <xbee.h>

int trigPin = 13;
int echoPin = 12;

XBee xbee = XBee();
long previousMillis1=0;
long interval1=1000;

uint8_t payload [] = { &#39;0&#39; , &#39;0&#39; , &#39;0&#39; , &#39;0&#39; };

uint16_t addr = 0x0000;

ZBTxRequest zbTx = ZBTxRequest(addr, payload, sizeof(payload));
ZBTxStatusResponse txStatus = ZBTxStatusResponse();

ZBRxResponse rx = ZBRxResponse();

void setup() {
  Serial.begin(9600);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  btStop();
  WiFi.mode(WIFI_OFF);

  xbee.setSerial(Serial);  
}

void loop() {
  XbeeRx();  
//  getData1();
}

void getData1() {
    int distance=myTimerEvent();
    payload[0] = &#39;S&#39;;
    payload[1] = &#39;1&#39;;
    payload[2] = distance/250;
    payload[3] = distance%250;

    Serial.println(distance);
    Serial.println(payload[2]);
    Serial.println(payload[3]);
    Serial.println("cm");

    xbee.send(zbTx);

}

void XbeeRx() {
  xbee.readPacket(100); 
  if (xbee.getResponse().isAvailable()) {
//      Serial.println(xbee.getResponse().getApiId());

    int apiid = xbee.getResponse().getApiId();
    Serial.print("apiid");
    Serial.println(apiid);
    if (apiid == ZB_RX_RESPONSE  || apiid == 145 ) { //|| apiid == 139
      xbee.getResponse().getZBRxResponse(rx);
      Serial.println("WOW1");
      byte sample[10];
      for (int i = 0; i < 10; i++) {
        sample[i] = rx.getData(i);
      }

      if(sample[6] == 0x53 && sample[7] == 0x31) { // 6,7번 글자가 &#39;S1&#39;(코디네이터에서 보낸)이면
        Serial.println("WOW2");
        getData1();
      }
    }
  } else if (xbee.getResponse().isError()) {
    Serial.println("Error reading packet.  Error code: ");  
    Serial.println(xbee.getResponse().getErrorCode());
  } 
}

int myTimerEvent()
{
  // You can send any value at any time.
  // Please don&#39;t send more that 10 values per second.

  long duration, distance;
//  int ;

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  distance = duration / 29 / 2;

  return distance;  
}

측정 결과

  • 8:00부터 동작 시작, 중간에 2차례 초음파 센서로부터 센서 정보를 수신하는 것이 중단되어, 원격 리셋을 실행했음. 센서 정보를 수신하는 것이 왜 중단되는지에 대한 이유는 아직 밝혀지지 않음
  • 전압은 그래프(황색선)와 같은 수준으로 떨어지고, 06:00경 전압이 급격하게 떨어지면서 동작이 중단되었고, 대략 22시간 지속되는 것으로 확인

향후 체크할 점

  • ESP32의 블루투스와 Wifi 기능을 끄고( btStop(); WiFi.mode(WIFI_OFF);) 다시 테스트 돌입
  • 그 후 Light Sleep도 테스트 예정
  • 최대 1달 적어도 2주 이상 버텨야 하는데 건전지로 목표치를 달성할 수 없다고 판단되는 경우 대용량 외장배터리가 백업해야 하는데 비용이 상승하는 문제가 있음

참고한 자료

</xbee.h


  1. 하우스 폭설 대비

    Date2018.12.08 Category사회/생태/환경 By라키
    Read More
  2. [아두이노] 정밀온습도센서 정보를 핸드폰(Blynk)으로 보내기

    Date2018.11.24 Category장비/디자인/구조 By라키
    Read More
  3. [아두이노] ESP32 - LCD 연결하기

    Date2018.11.24 Category장비/디자인/구조 By라키
    Read More
  4. [아두이노] ESP32 - 정밀온습도센서 BME 280 제어

    Date2018.11.19 Category장비/디자인/구조 By라키
    Read More
  5. [아두이노] ESP32-XBee-초음파 센서 배터리 지속기간

    Date2018.10.06 Category장비/디자인/구조 By라키
    Read More
  6. 지그비(XBee)-ESP32-Blynk 오토메이션 종합 01

    Date2018.09.21 Category장비/디자인/구조 By라키
    Read More
  7. 지그비 통신 정보를 esp32, Blynk를 통해 핸드폰으로 보내기

    Date2018.09.17 Category장비/디자인/구조 By라키
    Read More
  8. 지그비 통신_COORDINATOR API 와 ROUTER AT 사이 의사소통(센서-릴레이)

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  9. 지그비 통신_COORDINATOR API에서 ROUTER AT로 명령 보내기

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  10. 지그비 통신(COORDINATOR API-ROUTER AT) 정리

    Date2018.09.16 Category장비/디자인/구조 By라키
    Read More
  11. esp32에 전압 측정 모듈 달기

    Date2018.09.07 Category장비/디자인/구조 By라키
    Read More
  12. 엑셀 표, 마크다운 양식으로 변환

    Date2018.09.05 Category장비/디자인/구조 By라키
    Read More
  13. 지그비 통신 정리

    Date2018.09.05 Category장비/디자인/구조 By라키
    Read More
  14. ESP32, MAC OSX 기반 아두이노 IDE에 간단하게 설치하기

    Date2018.08.29 Category장비/디자인/구조 By라키
    Read More
  15. [아두이노] 모스펫으로 고전압 장비 속도 아날로그 제어

    Date2018.08.10 Category장비/디자인/구조 By라키
    Read More
  16. [아두이노] 수위를 감지해 자동 급수

    Date2018.08.10 Category장비/디자인/구조 By라키
    Read More
  17. 뷔 V - nice pictures

    Date2018.08.10 Category문화/연예/가십 By맘씨
    Read More
  18. BTS, 2018년 10월 4만석 뉴욕 메츠 홈구장서 단독 공연

    Date2018.08.09 Category문화/연예/가십 By맘씨
    Read More
  19. [아두이노] 시리얼 통신 예제

    Date2018.08.09 Category장비/디자인/구조 By라키
    Read More
  20. [아두이노] 버튼 누르면 LED 켜지게

    Date2018.08.09 Category장비/디자인/구조 By라키
    Read More
Board Pagination Prev 1 ... 24 25 26 27 28 29 30 31 32 33 ... 45 Next
/ 45
위로