アナログ入力の為の操作を説明します。
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()