2026年8月28日金曜日

明るさをCdsで検知(raspi3)

 Cds(1MΩ)が安価だったので、1uFのコンデンサへの充電時間で、明るさをraspi3でチェックする機能を追加してみた。写真の上部のケース外が赤外線送信モジュール、電源接続付近のモジュールが受信モジュール、GPIOピンに直接基板をさしているのがCds+コンデンサの回路。



2026年8月24日月曜日

rasp2経由でraspi3へssh

 raspi2経由でraspi3へsshするには、
ssh-keygen -t rsa -b 4096 として、3回リターン
ssh-copy-id pi@raspi3のIPアドレス  ここでyesのあと、ログインのためのパスワード
ssh pi@raspi3のIPアドレス パスワードなしでSSH使えるようになります。

これを使って、raspi2からraspi3の操作(赤外線等)をすることに。

import subprocess
from bottle import route, run, template
@route('/***/***')
def index():
    return '''
        <h1>照明リモコン</h1>
        <form action="/press_button" method="post">
            <button type="submit" style="font-size:2em; padding:20px 40px;">
                ON / OFF ボタンを押す
            </button>
        </form>
    '''

@route('/press_button', method='POST')
def press_button():
    cmd = ["ssh", "pi@アドレス", "python3 /home/pi/shomei.py"]    
    result = subprocess.run(cmd, capture_output=True, text=True)    
    raspi3_reply = result.stdout    
    raspi3_error = result.stderr    
    
    if result.returncode == 0:
        return f"<h1>送信成功!</h1><p>Raspi3からの返事: {raspi3_reply}</p>"
    else:
        return f"<h1>エラー発生</h1><p>理由: {raspi3_error}</p>"

# Raspi 3側の /home/pi/shomei.py の中身
import subprocess
try:
    cmd = ["sudo", "ir-ctl", "-s", "/home/pi/shomei.txt", "-d", "/dev/lirc0"]
    subprocess.run(cmd, check=True)    
    print("赤外線信号を送信しました。")
except subprocess.CalledProcessError as e:
    print(f"ir-ctlの実行に失敗しました。エラーコード: {e.returncode}")

2026年8月23日日曜日

raspi3で赤外線の実験

 赤外線モジュールをつないで、受信
 受信モジュールのピン  Raspi3の接続先  ピン番号(物理)
 VCC (または + )       3.3V Power 1番ピン
 GND (または -)        GND     6番ピン
 OUT (または S / Data)    GPIO 17  11番ピン
送信は図のような回路をつないでみた

以下のコードで受信可能
ir-ctl -r -d /dev/lirc1 > single.txt 
送信は
ir-ctl -s single.txt -d /dev/lirc0  

2026年8月2日日曜日

FX-502Pでライプニッツ級数で円周率ためす

 Σn=0~100  4*(-1)^n/(2n+1)  をFX502Pのプログラム機能で試してみた。

分子がM2 分母がM3  カウンタがM0 総和をM1とすると

MODE 2> P2 >Min 0 >  0 Min 1 > 4 Min 2 >1 Min 3 > LBL 0 >MR 2 ÷ MR 3 =  M+ 1 >2 M+ 3> MR 2 +/- Min 2 > INV DSZ >GOTO 0 > MR 1

MODE 1>1000 > P2で実行すると 3.140592187

FX-502Pが発売当時、大型計算機のFORTRANだと、自分の知識では倍精度とかもできなかったので、ディフォルトでは桁数が小さく、すぐ精度がおちてしまって、級数計算(ミー理論と実測値の比較で使いました)は無理だった。級数計算は、大型計算機より、むしろ、プログラム電卓が重宝しました。