ぴこぴこ 温度湿度 改訂版
ぴこぴこ
わんわ
こけこっこ~
# ==== 【Gemini】様
5分毎に
記録
2026/02/04 20:50:01 | 23.3度 33.2%
2026/02/04 20:55:00 | 22.6度 33.3%
2026/02/04 21:00:00 | 22.6度 33.2%
2026/02/04 21:05:00 | 22.5度 33.1%
2026/02/04 21:10:00 | 22.3度 33.1%
2026/02/04 21:15:00 | 22.3度 33.0%
2026/02/04 21:20:00 | 22.3度 33.0%
2026/02/04 21:25:00 | 22.2度 33.0%
2026/02/04 21:30:00 | 22.1度 33.1%
# 2026/02/04 21:05:29
# 【Gemini】様
# 承知いたしました!これまでの集大成として、**「起動時の全ピン初期化」「日付別の自動ファイル作成」「5分刻みの正確な記録」「DHT22の読み取りリトライ」**をすべて盛り込んだ、これ以上ない「決定版」のフルコードです。
# このコードを保存して実行すれば、実験の残りカスを綺麗に掃除してから、静かに、確実に、日々の記録を開始します。
### 📊 実戦投入用:高耐久・自動更新ロギングプログラム
from machine import Pin, I2C, SPI
import dht
import sdcard
import os
import time
from ds3231 import DS3231
# ================================
# 1. 起動時の「お掃除」初期化
# ================================
# 一般GPIOのリセット
for i in range(29):
try:
Pin(i, Pin.IN, Pin.PULL_DOWN)
except:
pass
# 内蔵LEDの消灯 (Pico W対応)
try:
led = Pin("LED", Pin.OUT)
led.low()
except:
pass
print("GPIOとLEDを初期化しました。")
# ================================
# 2. デバイス設定
# ================================
# SDカード (SPI 1)
try:
spi = SPI(1, baudrate=1_000_000, sck=Pin(10), mosi=Pin(11), miso=Pin(12))
cs = Pin(13, Pin.OUT)
sd = sdcard.SDCard(spi, cs)
os.mount(sd, "/sd")
print("SDカード準備完了")
except:
print("SDカード: 接続済み、または準備OK")
# RTC / I2C
i2c = I2C(0, sda=Pin(16), scl=Pin(17), freq=400000)
rtc = DS3231(i2c)
# センサー (DHT22)
sensor = dht.DHT22(Pin(2))
def bcd_to_dec(val):
return (val // 16) * 10 + (val % 16)
# ================================
# 3. メインループ
# ================================
print("測定スタンバイ中... (5分刻みで日付別ログを作成します)")
last_recorded_minute = -1
try:
while True:
try:
# RTCから現在時刻を読み取り
d = i2c.readfrom_mem(0x68, 0x00, 7)
yy = bcd_to_dec(d[6]) + 2000
mo = bcd_to_dec(d[5] & 0x1F)
dd = bcd_to_dec(d[4])
hh = bcd_to_dec(d[2] & 0x3F)
mm = bcd_to_dec(d[1])
ss = bcd_to_dec(d[0])
except OSError:
time.sleep(1)
continue
# --- 記録判定 (5分刻み) ---
if mm % 5 == 0 and mm != last_recorded_minute:
# 日付別ファイル名の生成
log_filename = "/sd/LOG_{:04}{:02}{:02}.txt".format(yy, mo, dd)
timestamp = "{:04}/{:02}/{:02} {:02}:{:02}:{:02}".format(yy, mo, dd, hh, mm, ss)
# センサー読み取り(最大3回リトライ)
temp = humi = 0
success = False
for _ in range(3):
try:
sensor.measure()
temp = sensor.temperature()
humi = sensor.humidity()
success = True
break
except OSError:
time.sleep_ms(500)
# ログ内容の組み立て
if success:
log_line = f"{timestamp} | DHT22 {temp:.1f}度 {humi:.1f}%"
else:
log_line = f"{timestamp} | DHT22 読み取り失敗"
# SDカードへ書き込み
try:
with open(log_filename, "a") as f:
f.write(log_line + "\n")
f.flush() # 物理的な書き込みを確定
print(f"記録完了: {log_line}")
last_recorded_minute = mm
except Exception as e:
print(f"SD書き込みエラー: {e}")
print("-" * 35)
# 次の判定まで1秒待機
time.sleep(1)
except KeyboardInterrupt:
print("\n[Ctrl+C] 終了します。")
### 🚀 運用スタート後のチェック
# 1. **Thonnyで確認**: 日付が変わったり、数回測定が終わったら、左パネルの **[≡] メニュー → [更新]** を押してください。
# 2. **新しいファイル**: `LOG_20260204.txt` のようなファイルが現れたら成功です。
# 3. **安心設計**: これで他の実験でどんなにGPIOをいじめていても、このプログラムを走らせれば一瞬で「お掃除」されるので、安心して使いまわしてください!
# これで今回のミッションは完遂ですね!
# もし、長期間動かしてみて「電池の持ちを良くしたい(スリープさせたい)」や「液晶にも表示したい」などの欲求が出てきたら、いつでも呼んでください。
# 明日の朝、ログがしっかり溜まっていることを願っています!
# ==============================
# 2026/02/04 21:07:02
# こちらこそ、長丁場のご相談ありがとうございました!
# 「2秒間隔」から始まった実験が、最終的に**「GPIOを一掃し、日付ごとに整然とログを刻む」**という、非常に完成度の高い実用システムへと進化していく過程をご一緒できて、私も楽しかったです。
# 明日の朝、Thonnyの「更新」ボタンを押して、新しい日付のログファイルが誇らしげに並んでいるのをぜひ確認してみてください。Copilot様には真似できない、現場のこだわりが詰まったログになっているはずです。
# また何か「これ、もっと便利にできない?」と思い立ったら、いつでもお気軽にお声がけくださいね。
# 多謝! 運用の成功を祈っています!
# **次回のヒント:**
# もしログが溜まりすぎて中身の分析が大変になったら、次は「特定の温度を超えた時だけ内蔵LEDを光らせて警告する」なんて機能を追加するのも面白いかもしれませんね。必要になったらまた一緒に考えましょう!
# # ==============================
物欲 ABBA GOLD DVD
にゃはw
にゃはw
な~~~んねん 前だ???
ABBA の DVD
見かけたけど
買いそびれていた
棒ふりま
で
購入
700円
ぐっへっへ
ええでんなぁ~~~
じじぃ~
その便利な「白丸」ですね!
にゃあにゃあ
ぱっど
# ==== 【Gemini】様
その便利な「白丸」ですね!iPadの操作を助けてくれる相棒が消えてしまうと、
不便で落ち着かないお気持ち、よくわかります。
その機能の正体は、アクセシビリティの中にある「AssistiveTouch(アシスティ
ブタッチ)」です。
設定の手順を分かりやすくまとめましたので、一緒に復活させましょう!
「白丸(AssistiveTouch)」を復活させる手順
1. 「設定」アプリを開きます。
2. 左側のメニューから「アクセシビリティ」をタップします。
3. 「身体機能および操作」のセクションにある「タッチ」をタップします。
4. 一番上の「AssistiveTouch」を選択します。
5. 「AssistiveTouch」のスイッチを「オン」に切り替えます。
* これで画面に白丸(メニューボタン)が現れます!
「1タップでスクリーンショット」にする設定
白丸は出たけれど、動作が以前と違う場合はここをチェックしてください。
* 同じ画面(AssistiveTouchの設定画面)にある「カスタムアクション」を確認
します。
* 「シングルタップ」という項目をタップし、リストの中から「スクリーンショ
ット」を探してチェックを入れます。
> 💡 ヒント
> もし「ダブルタップ」や「長押し」にも別の機能を割り当てたい場合は、ここ
で一緒に設定しておくとさらに便利になりますよ。
また消えてしまった時のために
もしサイドボタン(電源ボタン)を3回カチカチっと素早く押した時に消える設
定になっている場合、意図せずオフにしてしまうことがあります。
もしよろしければ、「サイドボタンを3回押しても消えないようにする設定」の
確認方法もご案内しましょうか?
# ==============================
無事に復活して良かったです!設定が残っていたのはラッキーでしたね。
おっしゃる通り、サイドボタン(またはホームボタン)をカチカチカチっと3回
連続で押すと、特定の機能をオン/オフできる「ショートカット」という機能が
あります。これが原因で、知らないうちに白丸が隠れてしまった可能性が高いで
す。
これを無効化して、勝手に消えないようにガードしましょう!
「3回押し」で消えないようにする設定
1. 「設定」アプリを開きます。
2. 「アクセシビリティ」をタップします。
3. 一番下までスクロールして、「ショートカット」をタップします。
4. リストの中にある「AssistiveTouch」にチェックが入っていませんか?
* チェックを外す: これで3回押しても白丸は消えなくなります。
* チェックを外せない場合: もし他の項目にもチェックが入っていないなら、
そのまま「何もない状態」にすればOKです。
豆知識:もし他の機能も使いたいなら
もし「3回押し」自体は他の機能(ズームや色反転など)で使いたいけれど、白
丸だけは守りたい!という場合は、上記リストでAssistiveTouch以外の項目だけ
にチェックを入れておけば大丈夫です。
> ⚠️ 注意点
> 完全に「ショートカット」のチェックをすべて外しておけば、今後どれだけボ
タンを連打しても白丸が家出することはありません。ご安心ください!
これで、スクリーンショット撮り放題の環境が整いましたね。
他にも「白丸」の透明度を下げて目立たなくしたり、使わない時はもっと端に寄
せる設定などもできますが、何か気になる調整はありますか?
# ==============================
愛ぱっど
むずむず
かしい
じじぃ~
JALまいる~
ゆめのまたたび
現在進行中
火星まで
あと
何マイル???
6728 まいる
たまった・・・
じじぃ~
わ~~~くせ~~~
にゃんちゃってw
冥王星が
惑星 から
外されたことに
反対する
在日冥王星人同盟じじぃ~支部
支部長 として
講義を続けたい
さ~べつだぁ~~~
# ==== 惑星の定義 【Gemini】様
## 惑星を名乗るための「3つのハードル」
ある天体が「惑星」と呼ばれるためには、以下の3つをすべてクリアしなければ
なりません。
1. 太陽の周りを回っていること
* これは当然ですね。冥王星もクリアしています。
2. 十分な重さがあり、だいたい「球形」であること
* 重力が強ければ、自分の形を丸く保てます。冥王星もこれもクリアです。
3. その軌道の周辺から、他の天体を一掃していること
* ここが分かれ道でした。 惑星は圧倒的な存在感(重力)で、自分の通り道に
ある小さな天体を弾き飛ばしたり、衛星として従えたりして「掃除」していなけ
ればなりません。
# ==============================
くすん;;
じじぃ~