|
发表于 2020-10-12 12:12:02
来自手机
|
显示全部楼层
本帖最后由 brother_yan 于 2020-10-12 12:15 编辑
秀一下以前做的~
- void setup()
- {
- Serial.begin(9600);
- }
- void loop()
- {
- double T;
-
- T = thermometer(A6); // it needs about 450 us
-
- Serial.println(T, 2);
-
- delay(300);
- }
- /********\
- VCC
- |
- |
- [NTC]
- |
- +---- ADC pin
- |
- [R0]
- |
- |
- GND
- \********/
- #define R25 (10000)
- #define B (3950)
- #define R0 (3900)
- #define ADC_BITS (10)
- double thermometer(uint8_t pin) // 单位:摄氏度
- {
- int code = analogRead(pin) & ((1 << ADC_BITS) - 1);
- double v = code / (double)(1 << ADC_BITS);
- double R = (1 / v - 1) * R0;
- double T = 1 / (log(R / R25) / B + 1 / (273.15 + 25));
- return T - 273.15;
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|