온도 adc 측정 추가

This commit is contained in:
geniushyun
2026-04-12 19:15:59 +09:00
parent 6ac0490263
commit 201f1bcff2
6 changed files with 160 additions and 3 deletions
+18 -1
View File
@@ -12,7 +12,9 @@
* IMU_SDA: P1.15 (I2C0 data)
*/
/* ADC 채널 공통 매크로 (ADC_GAIN_*, ADC_REF_*, ADC_ACQ_TIME 등) */
#include <zephyr/dt-bindings/adc/adc.h>
/* nRF SAADC 전용 매크로 (NRF_SAADC_AIN* 채널 번호 정의) */
#include <zephyr/dt-bindings/adc/nrf-saadc.h>
/* nRF 핀 컨트롤 매크로 (NRF_PSEL - I2C/SPI 등 핀 재배치에 필요) */
#include <zephyr/dt-bindings/pinctrl/nrf-pinctrl.h>
@@ -64,6 +66,20 @@
zephyr,resolution = <12>;
zephyr,oversampling = <2>; /* 2^2 = 4X */
};
/* 온도 센서 채널 (AIN3 = P0.05, TMP235-Q1)
* 1/6 gain + 0.6V ref → 풀스케일 3.6V
* TMP235 출력 범위: 100mV(-40°C) ~ 2000mV(150°C) */
channel@3
{
reg = <3>;
zephyr,gain = "ADC_GAIN_1_6";
zephyr,reference = "ADC_REF_INTERNAL";
zephyr,acquisition-time = <ADC_ACQ_TIME(ADC_ACQ_TIME_MICROSECONDS, 40)>;
zephyr,input-positive = <NRF_SAADC_AIN3>;
zephyr,resolution = <12>;
zephyr,oversampling = <2>; /* 2^2 = 4X */
};
};
/* P0.04(AIN2)가 DK Arduino 헤더에 GPIO로 잡혀있어서 SAADC 충돌 → 비활성화 */
@@ -76,7 +92,8 @@
/* ADC 채널을 코드에서 참조하기 위한 zephyr,user 노드 */
zephyr,user
{
io-channels = <&adc 2>;
io-channels = <&adc 2>, <&adc 3>;
io-channel-names = "battery", "temperature";
};
led