- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-06-14T14:12:26+09:00","","")
#author("2022-12-15T12:48:32+09:00","","")
[[Wikiトップへ>Developers Page]] > [[SANSHOトップへ>../]]
* ADCについて [#ge62549b]
アナログ入力の為の操作を説明します。~
#contents
SANSHOシリーズでは 複数のPINがデジタル入出力として割り当て可能になっています。~
アナログ入力の為のポートは下記が用意されています。
**ポート [#mab9e2b1]
|ポート番号|機能|h
|PIN4|ADC入力|
モジュール pyb
クラス ADC
**使用例 [#f94c2604]
>
>>> import pyb
>>> adc=pyb.ADC(0) # ADCを
>>> adl[num]=adc.read() # ADCのデータを変換して読み込みます。
#br
**サンプルプログラム [#j2c1cb50]
** LEDへの出力について [#a58e5d4a]
p1_pin.init(p1_pin.OUT) 出力へのセット
>
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()
>>> p1_pin.value(1) 値を出力
>>> p1_pin.value() 現値を確認
[[出荷時スクリプト一覧ページ:http://www.telepower.jp/wiki/?TPSGW9-P-PYTHON]]へ~
[[セキュアなページ]]へ~
[[出荷時スクリプト一覧ページ]]へ~
----
[[Wikiトップへ>Developers Page]] > [[SANSHOトップへ>../]]