This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430G2452:土壤湿度传感器

Guru**** 2581345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/607147/ccs-msp430g2452-soil-moisture-sensor

器件型号:MSP430G2452

工具/软件:Code Composer Studio

尊敬的所有人:

我正在进行自我灌溉项目。 在此项目中、我使用土壤湿度传感器和电磁阀。 另外,我还想在16*2液晶显示屏上看到潮湿的程度。 但我看不到正确的结果。 如果传感器不在土壤中、则最大值为530、但必须为1023。 此外、当传感器位于潮湿土壤内时、它的最大值为200至300。 我在下面添加了我的代码。 我的代码有什么问题? 此致。

*传感器电源为5V。

http://www.nskelectronics.in/index.php?route=product/product&product_id=475  

#include 
#include "lcdLib.h"

//函数定义
void init_timer ();
void adc_init ();

//全局变量
unsigned int i;

void init_timer (void init_timer){
CCTL0 = CCIE;
CCR0 = 1000000;
TACTL = tassel_2 + MC_2;
}

adc_init (void)
{
// ADC10+~
ADC10REFON = ADC103 + ADC10EN0 + ADC10FFT + ADC10N = ADC10EN0 + ADC10ENC + ADC103 + ADC10FFT + ADC10EN0 + ADC10+ ADC10ENC + ADC10EN0 + ADC10+
ADC10CTL1 = INCH_0 + ADC10SSEL_3 + ADC10DIV_3;
ADC10AE0 = BIT0;
}

void main (void){
WDTCTL = WDTPW + WDTHOLD;//停止






继电器 BCSCTL1 = CALBC1_1MHz;//基本时钟系统的校准 DCOCTL = WDTPW+WDTHOLD;//停止中继 BCSCTL1 = 1M|= 1 PITDCO = 1M|/ PITDC=1M|;针对 BTITR=1M|控制的数字控制器/ P1M|



//函数调用
init_timer();
adc_init ();
lcdInit();//初始化 LCD

lcdSetText ("土壤湿度"、0、0);
ADC10CTL0 |= ADC10SC + ENC;
_BIS_SR (LPM0_Bits + GIE);
while (1);
}

#pragma vector=ADC10_Int (= 1、ENC


);ADC10_0 = ADC10ERC (= 1、INT
^



= 0 + 1、ENC (void 1、ADC10_0);ADC10_0 = ADC10ERC (1、ADC10_0);ADC10_0 = ADC10_0 = ADC10_CCTRIE_0 (0 = ADC10_0 = ADC10_0 = ADC10_0 = ADC10_INT (void 1);ADC10_0

if (ADC10MEM>400 && ADC10MEM<=750){
lcdSetText ("高电平"、0、0);
__DELAY_CYCLES (100);
lcdSetText ("电机工作"、 0、0);
P1OUT&=~BIT4;

}
否则(ADC10MEM<300){
lcdSetText ("正常" "、0、0);
P1OUT|=BIT4;
}
ADC10CTL0&=~ADC10IFG;
ADC10CTL0 |= ADC10SC + ENC;
I = 0;
}





  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、
    我在您的代码中看到的唯一值得怀疑的是、您正在设置 REF、但您需要通过 NAT 设置 SREFx 位来使用它。

    当检测到干燥和潮湿的土壤时、您看到传感器的电压是多少?
    您的 Vcc 是什么?

    您链接的文档显示传感器应为二进制。 因此、当它应该为低电平时、您看到200-300这一事实表明、假设您的 VCC 为3.3、您可能会以某种方式在该线路上具有~1V 电压。

    您是否有可以提供的原理图?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于不活动而关闭