下に示すプログラムでチャンネル0からのデータを取得することに成功しました。この作業と同様にチャンネル4までデータを測定したいと考えています。ですがチャンネルを増やして測定するプログラムの書き方が分かりません。よろしかったら何か、教えてもらえないでしょうか?センサーはmyowareだ使うADコンバータはmcp3204です。アドバイスお願いします!
import wiringpi as pi import time import numpy as np import openpyxl as excel import spidev t1=time.time() SPI_CE = 0 SPI_SPEED = 5000000 READ_CH = 0 VREF = 5.0 Vi = [] i = 0 spi = spidev.SpiDev() spi.open(0,0) ############################## adc = spi.xfer2([6,0,0]) ############################## def do_sampling(i):#電圧取得 y[i] = time.perf_counter() - time_start sampling_num = 1000 sampling_rate = 2000 sampling_interval = 1 / sampling_rate print(sampling_interval) x = np.arange(0, sampling_num / sampling_rate, sampling_interval) y = np.zeros(sampling_num) count=0 time_start = time.perf_counter() time_next = time_start while count < sampling_num : do_sampling(count) time_next += sampling_interval value = ((adc[1]&15)<<8)+adc[2] volt = value /4096 Vi.append(volt) while (time.perf_counter() < time_next): # 次の時間まで待つ。 pass count = count + 1 print(time.time()-t1) wb=excel.Workbook() ws=wb.active for i in range(1,sampling_num): s=y[i] T=Vi[i-1] ws.cell(row=i,column=1,value=s) ws.cell(row=i,column=2,value=T) wb.save("denatsu.xlsx")
回答1件
あなたの回答
tips
プレビュー