60歳を迎えて、思うこと。 -145ページ目

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

ぱそこん らっく 要塞化!

いまは むかし

むかし むかし むかし

じじぃ~

の 愛用している


パソコンラック

購入したのは・・・

いつだ???

世の中

まだ

マルチモニタ なんて ものはないし

ディスプレイは


ぶらうん缶



液晶

戦国時代???

全幅 約60せんち
全高 約115せんち
奥行 約60せんち


前後左右の4本の ■ フレーム

やく25みり x やく25みり

4個 の キャスターで 支える・・・はず

床から やく30せんち に 1枚 のたないた
床から やく70せんち に 1枚 のめいんて~ぶる
めいんてーぶる の やく16せんち に なぞの たないた


そして

天板・・・


作画:【chatGPT】様
うまく指示が伝わらない・・・(涙)

 

おんどけい

ぱいぱい

ん~~~


PICO-W

温度センサー が 内蔵・・・の

はず

【chatGPT】様


あ~でもねぇ~
こ~でもねぇ~


ガっ展勝地♪

# ==== 【chatGPT】様のご回答

あなたのプログラムはすでに動作するシンプルなコードですが、
いくつかの改善ポイントを挙げることができます。
以下の点を考慮すると、コードの可読性、効率性、または信頼性が向上します。
### 改善ポイント:
#### 1. **コメントの整理**
コメントはとても丁寧ですが、少し長いため、簡潔にして可読性を向上させることができます。たとえば、コードの意図が明確な場合、詳細な説明は不要です。

#### 2. **定数の明示化**
`27` や `0.706`, `0.001721` などの値は「マジックナンバー」と呼ばれ、何を意味しているか分かりにくい場合があります。これらを定数として明示すると、可読性が上がります。

例:
```python
OFFSET_VOLTAGE = 0.706  # センサーの基準電圧
TEMPERATURE_SLOPE = 0.001721  # 温度計算のスケール係数
BASE_TEMPERATURE = 27  # センサー基準温度
```

#### 3. **ループの終了条件**
`while True` だと無限ループになりますが、デバッグや意図的な終了が必要な場合に備えて、例外処理や終了条件を追加すると良いです。

例:
```python
try:
    while True:
        # 温度計測コード
        ...
except KeyboardInterrupt:
    print("終了しました")
```

#### 4. **出力フォーマットの改善**
小数点以下の桁数を制限するなどして、見やすくすることができます。

例:
```python
print(f"Temperature: {temperature:.2f} °C")
```

#### 5. **間隔の設定を柔軟に**
`utime.sleep(2)` のように固定値ではなく、変数として設定しておくと、後から簡単に変更できます。

### 改善後のコード例
```python

import machine
import utime

# 定数
OFFSET_VOLTAGE = 0.706  # センサーの基準電圧 (V)
TEMPERATURE_SLOPE = 0.001721  # 温度計算のスケール係数
BASE_TEMPERATURE = 27  # センサー基準温度 (℃)
CONVERSION_FACTOR = 3.3 / 65535  # ADCの変換係数

# 温度センサーの初期化
sensor_temp = machine.ADC(4)

# 計測間隔 (秒)
MEASUREMENT_INTERVAL = 2

try:
    while True:
        # ADCからの値を取得して電圧に変換
        reading = sensor_temp.read_u16() * CONVERSION_FACTOR

        # 温度を計算
        temperature = BASE_TEMPERATURE - (reading - OFFSET_VOLTAGE) / TEMPERATURE_SLOPE

        # 温度をフォーマットして出力
        print(f"Temperature: {temperature:.2f} °C")

        # 計測間隔のスリープ
        utime.sleep(MEASUREMENT_INTERVAL)
except KeyboardInterrupt:
    print("プログラムを終了しました")

'''

```
### 主な改善点
1. **可読性向上**: マジックナンバーを定数化し、コメントを簡潔に。
2. **終了条件**: `try-except` を使い、Ctrl+Cで安全に終了可能に。
3. **出力整形**: 温度の小数点以下を見やすくフォーマット。
4. **柔軟性**: 計測間隔を変数化。
これで、より堅牢で可読性の高いコードになります!
# ====
最近


考えるの
調べるの

や め た !

【chatGPT】様に

栄光
アレ?

じじぃ~

GPIO動作確認

ぱいぱい

ラズパイピコ-W
GPIOの16~21 (6回路)

# ==== こんな感じ?

import machine
import time

# 内蔵LEDのピン定義【PICO-W】の場合
# led_int = machine.Pin("WL_GPIO0", machine.Pin.OUT)

# GPIOのピン定義【PICO-W】の場合
# led_gpio = machine.Pin("WL_GPIO0", machine.Pin.OUT)

# チェックしたい「GPIO番号」の定義
led_gpio = machine.Pin(16, machine.Pin.OUT)
# GPIO LEDの点滅
led_gpio.high()  # LEDを点灯
time.sleep(1)   # 1秒待機
led_gpio.low()   # LEDを消灯
time.sleep(0.3) # 0.3秒待機

led_gpio = machine.Pin(17, machine.Pin.OUT)
# GPIO LEDの点滅
led_gpio.high()  # LEDを点灯
time.sleep(1)   # 1秒待機
led_gpio.low()   # LEDを消灯
time.sleep(0.3) # 0.3秒待機

led_gpio = machine.Pin(18, machine.Pin.OUT)
# GPIO LEDの点滅
led_gpio.high()  # LEDを点灯
time.sleep(1)   # 1秒待機
led_gpio.low()   # LEDを消灯
time.sleep(0.3) # 0.3秒待機

led_gpio = machine.Pin(19, machine.Pin.OUT)
# GPIO LEDの点滅
led_gpio.high()  # LEDを点灯
time.sleep(1)   # 1秒待機
led_gpio.low()   # LEDを消灯
time.sleep(0.3) # 0.3秒待機

led_gpio = machine.Pin(20, machine.Pin.OUT)
# GPIO LEDの点滅
led_gpio.high()  # LEDを点灯
time.sleep(1)   # 1秒待機
led_gpio.low()   # LEDを消灯
time.sleep(0.3) # 0.3秒待機

led_gpio = machine.Pin(21, machine.Pin.OUT)
# GPIO LEDの点滅
led_gpio.high()  # LEDを点灯

time.sleep(1)   # 1秒待機
led_gpio.low()   # LEDを消灯
time.sleep(0.3) # 0.3秒待機

# ==== おわり
と・・・・・・
【chatGPT】様に 評価依頼・・・

# ==== お返事・・・
コードの基本的なアイデアは正しいですが、冗長性を少し減らして、コードを簡潔かつ読みやすくするためにループを使用すると効率的です。以下は、あなたの要件に基づいて改良したコードの例です:

```python
import machine
import time

# チェックしたいGPIO番号のリスト
gpio_pins = [16, 17, 18, 19, 20, 21]

# 各GPIOの確認
for pin in gpio_pins:
    led_gpio = machine.Pin(pin, machine.Pin.OUT)  # GPIOピンを出力モードで初期化
    led_gpio.high()  # LEDを点灯
    time.sleep(1)    # 1秒待機
    led_gpio.low()   # LEDを消灯
    time.sleep(0.3)  # 0.3秒待機
```

### 修正点:
1. **ループを使用**: 各GPIOピンをリストにまとめ、`for`ループで処理することで冗長なコードを減らしました。
2. **再利用可能な変数**: 毎回`led_gpio`を作成するのではなく、ループ内で動的に処理しています。
3. **読みやすさ向上**: 同じ処理が複数回書かれていた部分を統一しました。

このコードを使うと、GPIO 16~21の各ピンでLEDを点灯・消灯させる動作確認ができます。また、物理的な配線ミスをチェックする際にも使いやすくなります。
# ====


日々これ修行・・・

じじぃ~

背面IO れいあうと

FOX

マザーボード
背面 IO れいあうと



どんぶりこ こっこ
 

えるえで~

電子工作

ぶひぶひ


 

 

 

あか くろ くろ くろ ちゃ

 

ぶくぶく ちゃあ~

 

じじぃ~