메뉴 건너뛰기

정보자료게시판

장비/디자인/구조

[아두이노] 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


List of Articles
번호 분류 제목 글쓴이 날짜
887 장비/디자인/구조 힘펠 화장실 환풍기 분해 숨마 2021.05.19
886 생활/의료/안전 홍수위험지도 Summa 2022.09.02
885 장비/디자인/구조 홈페이지 디자인 & 로고 만들기 file 라키 2016.10.30
884 홈팟 미니의 반항 Summa 2023.06.03
883 전기차 현대차 | 수소전치가 넥쏘, '매우 뛰어난 차' 호평 숨마 2020.07.11
882 전기차 현대차 | 수소 전기 대형 트럭 10대 스위스 수출 숨마 2020.07.11
881 전기차 현대차 | 2021 전기차 전용 플랫폼 브랜드 '아이오닉' 런칭 숨마 2020.08.11
880 전기차 현대 전기차 아이오닉 일렉트릭 충전일지 라키 2018.02.08
879 전기차 현대 전기차 아이오닉 일렉트릭 사진 몇장과 여기저기 충전소 file 맘씨 2016.07.23
878 전기차 현대 전기차 아이오닉 일렉트릭 3,800키로 정기점검 리포트 file 라키 2017.01.14
877 전기차 현대 순정 네비게이션 업데이트 2019년 4월자 라키 2019.04.09
876 전기차 현대 네비게이션 아이오닉 | 네비게이션 시간 표시 오류 라키 2019.09.05
875 장비/디자인/구조 헤이홈 IR 리모컨 스마트싱스 연동 Summa 2023.07.05
874 장비/디자인/구조 헤놀로지 하드 인식 안될때 숨마 2021.01.21
873 헤놀로지 적출 하드 볼륨 충돌 숨마 2021.01.21
872 장비/디자인/구조 헤놀로지 이전 in 버추얼박스 숨마 2020.07.05
871 장비/디자인/구조 헤놀로지 볼륨 충돌 Summa 2023.11.28
870 장비/디자인/구조 헤놀로지 메일 플러스 서버 설치 후기 라키 2019.11.09
869 헤놀 서버 터짐 - 용량이 가득차 로그인할 수 없습니다. 숨마 2020.11.12
868 학습/연구 향후 주택 아파트 가격 집값 오를까, 내릴까. file 라키 2017.05.11
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 45 Next
/ 45
위로