Wikiトップへ > SANSHOトップへ

ADCについて

アナログ入力の為の操作を説明します。

SANSHOシリーズでは 複数のPINがデジタル入出力として割り当て可能になっています。
アナログ入力の為のポートは下記が用意されています。

ポート

ポート番号機能
PIN4ADC入力

モジュール 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()

セキュアなページ
出荷時スクリプト一覧ページ


Wikiトップへ > SANSHOトップへ


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS