アナログ入力の為の操作を説明します。
SANSHOシリーズでは 複数のPINがデジタル入出力として割り当て可能になっています。
アナログ入力の為のポートは下記が用意されています。
| ポート番号 | 機能 |
| PIN4 | ADC入力 |
モジュール pyb クラス ADC
>>> import pyb >>> adc=pyb.ADC(0) # ADCを >>> adl[num]=adc.read() # ADCのデータを変換して読み込みます。
date
time
import pyb
threshold=3000
stime=100
times=120
rtc = pyb.RTC()
adc=pyb.ADC(0)
led=pyb.Pin.board.P3
led.init(led.OUT)
led.value(1)
led.value(0)
adl=list(times+1)
num=0
while true:
#AD sampling.
while true:
#delay 100mS
pyb.delay(100)
adl[num]=adc.read()
if adl[num] > threshold:
if num > 10:
break
else
if num == 0:
continue
else num >= times
break
num+=1
led.value(0)
#filemake
dt=rtc.datetime()
fname="data"+str(dt[4])+str(dt[5])+str(dt[6])+".csv"
f1=open(fname,'w')
for val in num:
s=str(adl[val])
f1.write(s+'\n')
f1.close()
led.value(1)
if 時間が過ぎた場合
pyb.delay(100)
data=adc.read()
#filemake
dt=rtc.datetime()
fname="data"+str(dt[4])+str(dt[5])+str(dt[6])+".csv"
記録中はLEDをON
終了したので記録を開始
for val in buf1:
s=str(val)
f1.write(s+'\n')
f1.close()
tim=pyb.Timer(6, freq=1000)
adc1.read_timed(buf1,tim)
f1=open(fname,'w')
for val in buf1:
s=str(val)
f1.write(s+'\n')
f1.close()
f1=open('data1.dash','w')
for val in buf1:
s=str(val)
f1.write(s+'\n')
f1.close()