raspi-でAI農業はじめました^^;

いつも晴れ晴れ爽快ポタにありがとう.ためになったらポチしてください.
ブログランキングが表示されます。
にほんブログ村 自転車ブログ ブルベへ
にほんブログ村
---

光センサーとグラフ描画

 苦労したところ
①ADコンバーターとフォトセンサー
 :RaspberryPIで学ぶ電子工作より、都合によりセンサーはつごうにより10ビットに変更
②グラフ描画 ポイント;showなのかpauseなのかそれが問題だ、と、hold(False)で新規描画、追加はhold(True)
 :ググれば出てくる情報
③配列の宣言、初期化とデータ保持
 :これもググれば出てくるが、もう少しまとめてほしい(そのうちやるか?)

コード(永遠の試作なので汚くてごめんなさい)
ーーーここからーーー
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
from time import sleep
from pylab import *
import datetime

fig, ax= plt.subplots()
x=[0]*100
y=[0]*100

# MCP3208からSPI通信で12ビットのデジタル値を取得。0から7の8チャンネル使用可
def readadc(adcnum, clockpin, mosipin, misopin, cspin):
if adcnum > 7 or adcnum < 0:
return -1
GPIO.output(cspin, GPIO.HIGH)
GPIO.output(clockpin, GPIO.LOW)
GPIO.output(cspin, GPIO.LOW)

commandout = adcnum
commandout |= 0x18 # スタートビット+シングルエンドビット
commandout <<= 3 # LSBから8ビット目を送信するようにする
for i in range(5):
# LSBから数えて8ビット目から4ビット目までを送信
if commandout & 0x80:
GPIO.output(mosipin, GPIO.HIGH)
else:
GPIO.output(mosipin, GPIO.LOW)
commandout <<= 1
GPIO.output(clockpin, GPIO.HIGH)
GPIO.output(clockpin, GPIO.LOW)
adcout = 0
# 11ビット読む(ヌルビット+10ビットデータ)
for i in range(11):
GPIO.output(clockpin, GPIO.HIGH)
GPIO.output(clockpin, GPIO.LOW)
adcout <<= 1
if i>0 and GPIO.input(misopin)==GPIO.HIGH:
adcout |= 0x1
GPIO.output(cspin, GPIO.HIGH)
return adcout

GPIO.setmode(GPIO.BCM)
# ピンの名前を変数として定義
SPICLK = 11
SPIMOSI = 10
SPIMISO = 9
SPICS = 8
# SPI通信用の入出力を定義
GPIO.setup(SPICLK, GPIO.OUT)
GPIO.setup(SPIMOSI, GPIO.OUT)
GPIO.setup(SPIMISO, GPIO.IN)
GPIO.setup(SPICS, GPIO.OUT)


try:
while True:
i=0
for num in range(99):
inputVal0 = readadc(0, SPICLK, SPIMOSI, SPIMISO, SPICS)
print(inputVal0)
sleep(0.2)
y[i] = inputVal0
x[i] = i
i += 1
if num ==99:
break
hold(False)
ax.plot(x,y,'.r')
plt.pause(0.01)
# plt.show()
d = datetime.datetime.today()
filename = "/home/pi/NewGraph/{0}{1:02d}{2:02d}{3:02d}{4:02d}{5:02d}.png".format(d.year, d.month, d.day, d.hour, d.minute, d.second)
# filename = "output.png"
plt.savefig(filename)

sleep(10)

except KeyboardInterrupt:

pass

GPIO.cleanup()
ーーーここまでーーー


停止するには、ctl−cだから。。。(笑)
スポンサーサイト

コメント

非公開コメント

プロフィール

Mu Auan

Author:Mu Auan
自転車ふるさと旅日記へようこそ
折りたたみMTBで輪行しつつ、ふるさとを訪ねます。また、気が向くままポタリングを楽しみます。
ロードの購入で、ふるさとまわりのブルベに挑戦することに・・

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
アクセスランキング
[ジャンルランキング]
趣味・実用
2902位
アクセスランキングを見る>>

[サブジャンルランキング]
自転車・サイクリング
209位
アクセスランキングを見る>>
千葉県
Follow MuAuan on Twitter
みんなの地図
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード