circuit python을 오래전에 쓰고 안써서
micropython으로 해야 하는걸 몰라 좀 헤맸네요
일단 굴러 다니는 건전지를 멀티미터로 재보니 1.562v가 나옵니다.
이렇게 잘 나올리가 없는 폐 전건전지 일텐데..
아무튼
소스를 콘솔로 실행하면 아래와 같이 나옵니다.
13955~11282는 GP26에 아무것도 연결하지 않은 float 상태이고
AGND와 GP26을 연결하면 200 근처
폐전건지를 연결하면 31850 근처 나옵니다.
u16 이니 음수는 못 받는다고 가정하고 계산을 해보면
아래와 같이 결과가 나옵니다.
3.0V가 좀 더 맞을 것 같긴 합니다. (멀티메터가 중국산 5천원 짜리라..)
208 -> 0.0095V (GP26 - AGND short)
12803 -> 0.58V (float)
31879 -> 1.459V (AA 다이소 건전지)
3.3 | 3.0 | |||
208 | 65535 | 0.00317387655451286 | 0.0104737926298924 | 0.00952162966353857 |
12018 | 65535 | 0.183382925154498 | 0.605163653009842 | 0.550148775463493 |
12803 | 65535 | 0.195361257343404 | 0.644692149233234 | 0.586083772030213 |
31879 | 65535 | 0.486442359044785 | 1.60525978484779 | 1.45932707713436 |
>>> from machine import ADC, Pin
>>> import time
>>> adc_pin = ADC(Pin(26))
// float 상태
>>> adc_pin.read_u16()
13955
>>> adc_pin.read_u16()
12979
>>> adc_pin.read_u16()
13699
>>> adc_pin.read_u16()
11282
>>> adc_pin.read_u16()
13139
>>> adc_pin.read_u16()
12114
>>> adc_pin.read_u16()
12307
>>> adc_pin.read_u16()
12803
>>> adc_pin.read_u16()
11250
>>> adc_pin.read_u16()
12979
>>> adc_pin.read_u16()
12371
// AGND - GP26 short
>>> adc_pin.read_u16()
208
>>> adc_pin.read_u16()
192
>>> adc_pin.read_u16()
208
>>> adc_pin.read_u16()
208
// float
>>> adc_pin.read_u16()
12018
>>> adc_pin.read_u16()
10674
// 1.5V 폐전건지
>>> adc_pin.read_u16()
31879
>>> adc_pin.read_u16()
31831
ÀÏ´Ü Å×½ºÅÍ ²¨³»¼ ¶ß´Â°ªÀ̶û »êµþ±â°¡ ÀνÄÇϴ°ªÀ» ´ëÁ¶Çغ¸¼¼¿ä
´Ù½Ã Çѹø °¨»çµå¸³´Ï´Ù.