본문 바로가기

[INTERFACE]/ZIGBEE

[ Zigbee ] CC2480 모듈 조도센서(Cds) 전송 테스트

Zigbee 모듈 (CC2480) 조도센서(Cds) 전송 테스트



조도센서(Cds)
P2.1을 High로 출력해서 밝기를 측정한다.
 
 


코드 추가
CC2480 예제 soruce code에는 CdS관련 데모가 없으므로 함수 추가
void halReadLight(void)
{
  ADC10CTL1 = 0;
  ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
  ADC10AE0 |= 0x01;                                                    // P2.0 ADC option select
 
  halDelay(ADC_WAIT_MSECS, TRUE);      // Allow Vref to      ADC to charge.
  ADC10CTL0 |= ENC | ADC10SC;             // Sampling and conversion start
}
 
main함수에 스위치를 누를때 데이터를 전송할 수 있도록 코드 수정
main()
{
 :
 
 while(1)
 {
 if (!appExecHal())
    {
      // If all HAL and Host events have been processed, it is ok to go to low power.
      if (!appExecHost() && (appFlags & appLowPwrF))
      {
        HAL_LOW_POWER_MODE();
      }
    }
 
 //Switch 처리
    if((GetSw1())
    {
        SwProcess();
    }
 }
}
 
스위치 처리함수
SwProcess()
{
    halReadLight();
 
    srceReport[0] = (halAdcVal) / 4;   
    srceReport[1] = gCounter++;
   
   //데이터 전송
    zb_SendDataRequest (ZB_BINDING_ADDR, SRCE_REPORT_ID, appMsgHandle,
                        0, AF_DEFAULT_RADIUS, SRCE_REPORT_SZ, srceReport);
   
 HAL_TOGGLE_RED();
 halDelay(DEBOUNCE_MSECS, TRUE);
}
 
그밖에 초기에 코디네이터 있으면 무조건 바인딩 되도록 수정하고 필요없는것들 다이어트..

 

테스트 동영상
Zigbee모듈에서 스위치를 누르면 조도센서 및 데이터 인덱스를 무선으로 전송하여 PC에서 그래프로 표시하는 테스트



스위치 및 LED 회로도
 
커넥터 회로도

반응형