後期、4個目のSACLAビームタイムが終了

イメージ
厳くんのビームタイム(100テスラXFEL回折)があり、先週の月から金でSACLAに滞在していた。実験は順調に進み、3種類ものサンプルのデータがとれた。大きな変化という意味では一つのサンプルが大成功で、あとはちょっと磁場が足りないことが判明した。データクオリティはめちゃ高かったので雰囲気も良かった。11 keVシードビームの安定性も高い。 今回は今まで自分がやっていた作業も含めて、学生さんたちにかなり任せて活躍してもらった。学生さんたちはとても良くやってくれました。(自分でやるよりもずっと早くて上手だと判明) フルショットを打ちまくって、検出器にデブリがとびまくった。久保田さんが心配そうにしているので、新プロテクターを作らなくてはだめだ。 2.5日のビームタイムで破壊ショット20発。2発はミスでデータなし。前回・前々回に引き続き非常に良いビームタイムでした。PINK-02の実験が共用実験っぽくなってきてよかったよかった。後期で4つめのPINK-SACLAのビームタイムが終了したのでやっと安心。低温・強磁場・X線の準備が整っていたのでうまくいったと思う。年間ではPINK-SACLAが5件。その他、野尻・プラズマも合わせると、7件のSACLA実験があった。それ以外に関西研にも行った。ナノテラスも3月に行くかも。今年度は今までで一番多かった。 来年度は前期に3つ。後期はどうなるか。SPring-8や関西研もありそう。少し時間があったので、SPring-8のビームラインで打ち合わせがてら装置を見たり、兵庫県立大にも短い時間滞在した。効率的に過ごせた。 週末はアートの展覧会にお呼ばれして行き、ちょっとおしゃべりもしてきた。動画を後日見せてもらったが、さすがに、伸びシロしかない・・・。 連休中、調布ではトトロが再上映。家族で観覧した。 ここ1年ほどは映画館で新作・リバイバルを見るのがブーム 国宝 チェンソーマン レゼ編(2~3回) PERFECT BLUE もののけ姫 IMAX(2回) エヴァンゲリオン Air/まごころを君に となりのトトロ 時計じかけのオレンジ その他にこどもと おまえうまそうだな すみっコぐらし クリーミーマミ ズートピア2 時計じかけのオレンジに影響されて、赤ワインを飲んだり、聖書を買って読んだりした。 聖書は意外に読みやすく、最後まで目を通した。めっち...

Raspberry Piでリレーを動かす

そろそろミニバンクをつくらねば、ということで少しやる。

野田くんたちに任せっきりになっていたので申し訳ない。

このリレーをつかってみる。うごきました。



RaspberryPi4にリレーをつないで、GPIOをpythonでいじります。
tkinterをつかってGUIもつくりました。
RPiにVNC(リモートデスクトップ)接続もできたので、
遠隔操作もできました。

これはいいですね。
あとADコンバータをつなげば、ミニバンクのUIはできそう。

残念ながらRPiがなかなか手に入らない様子ですが。

 
コードはこちら
            
from tkinter import *
from tkinter import ttk
import RPi.GPIO as GPIO # RPi.GPIOモジュールを使用
import time

#GPIO initial set up
gpio_relay = [4, 17, 27, 22]
GPIO.setmode(GPIO.BCM)
for i in range(4):
    GPIO.cleanup(gpio_relay[i])
for i in range(4):
    GPIO.setup(gpio_relay[i], GPIO.OUT)
    GPIO.output(gpio_relay[i], 0)
    

#tk initial set up
root = Tk()
root.title('Checkbutton 1')


# Frame
frame1 = ttk.Frame(root, padding=(10))
frame1.grid()

# Checkbutton 1
v1 = BooleanVar()
v1.set(0) # 初期化
cb1 = ttk.Checkbutton(
    frame1, padding=(30), text='Relay 1',
    variable=v1,
    command=lambda: GPIO.output(gpio_relay[0], v1.get()))

# Checkbutton 2
v2 = BooleanVar()
v2.set(0) # 初期化
cb2 = ttk.Checkbutton(
    frame1, padding=(30), text='Relay 2',
    variable=v2,
    command=lambda: GPIO.output(gpio_relay[1], v2.get()))

# Checkbutton 3
v3 = BooleanVar()
v3.set(0) # 初期化
cb3 = ttk.Checkbutton(
    frame1, padding=(30), text='Relay 3',
    variable=v3,
    command=lambda: GPIO.output(gpio_relay[2], v3.get()))

# Checkbutton 4
v4 = BooleanVar()
v4.set(0) # 初期化
cb4 = ttk.Checkbutton(
    frame1, padding=(30), text='Relay 4',
    variable=v4,
    command=lambda: GPIO.output(gpio_relay[3], v4.get()))


exit_button = ttk.Button(
    root,
    text='Exit',
    command=lambda: root.quit()
)
            
# Layout
cb1.grid(row=0, column=0)
cb2.grid(row=0, column=1)
cb3.grid(row=0, column=2)
cb4.grid(row=0, column=3)
exit_button.grid(row=1, column=0, columnspan=2)

root.mainloop()
    
for i in range(4):
    GPIO.cleanup(gpio_relay[i])


コメント

このブログの人気の投稿