Makato-kan が 2025年02月01日10時43分24秒 に編集
初版
タイトルの変更
IchigoJamPCで 温度・湿度ロガーをつくった。
タグの変更
IchigoJamPC
AM2320
ロガー
メイン画像の変更
記事種類の変更
製作品
本文の変更
>#### はじめに インターネット接続できない場所の気温と湿度の記録を簡単に残そうと思い、イチゴジャムPCで実現してみました。 #### 説明 イチゴジャムPCにI2C接続した温度・湿度センサー(AM2320)から測定値を読み込み,EEPROMに書き込みしています。 書き込むフォーマットをプログラムの行と同じにしたのでLOADとLISTコマンドで測定値を読み出す事出来ます。 時刻の記録はしていないので、紙にスタート時間と測定間隔を記録して後でデータに付け足します。 #### 部品表 | 品名 | | |:---:|:---| | イチゴジャムPC | イチゴジャムベーシックが動作します | | 拡張メモリー |下URL参考にするとよいです | | AM2320 | I2C接続の温湿度センサーです | | 10kΩ抵抗2本 | プルアップ用抵抗ですが拡張メモリ等を使えば不要になります | ※拡張メモリーは https://15jamrecipe.jimdofree.com/%E5%91%A8%E8%BE%BA%E6%A9%9F%E5%99%A8/%E5%A4%96%E9%83%A8%E8%A8%98%E6%86%B6%E8%A3%85%E7%BD%AE-eeprom/ などを参考にするとよいかと思います お気に入りは秋月で売っている拡張メモリーですが1月30日時点で在庫1でした #### 回路図 この回路図ではAM2320とROMは単体の部品を使っていますが、いちごジャムPC用として売られている拡張メモリを使う方が手軽です  #### プロフラム ```いちごジャムPCで温湿度測定 10 'SAVE EEPROM AM2320 20 POKE#710,3,0,4,0,0 25 K=0:J=16 30 FORI=0TO20:POKE#700,I+1 40 X=I2CW(#5C,#710,3,#720,0) 50 Y=I2CR(#5C,#710,0,#720,8) 60 CLS:H=255*PEEK(#722)+PEEK(#723):H=H/10:?H; 70 T=255*PEEK(#724)+PEEK(#725):Z=T/10:T=T%10:?Z;T 80 POKE#740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 90 POKE#740,PEEK(#700),0,J-4,72,44,SCR(0,0),SCR(1,0),32,84,44,SCR(2,0),SCR(3,0),46,SCR(4,0) 100 S=I2CW(80,#713,2,#740,16) 105 K=K+J:P=(I+1)/J 110 POKE#713,P,K 120 LED1:WAIT20:LED0:BEEP1:WAIT160:NEXT 130 END ``` #### プログラムのだいたい説明 30行で繰り返し回数設定してます。 120行で測定間隔設定してます。60で1秒です。 LED点滅やビープ音は消費電流に関係するので、必要なければ外しておいた方が良いですが、起動したかどうか確認出来なくなります。 実際使う時は@ARUNやタクトスイッチ押したまま電源ONで自動起動するのも良いかと思います。 温度湿度とも画面表示した整数だけ保存されます。 #### 測定回数 EEPROMのプログラム保存数X64回となります 1Mビット搭載なら8128回分保存可能になるはずですがそこまでためしていませんでした。 ※お使いになるEEPROMで回数変わりますので保存可能回数を超えないようにしてください。 #### 測定値の読み出し FILES100で保存の概略確認出来ます。 LOAD100などで測定値を読み込み、LISTで表示します。 #### わかっていない事・制限事項 測定間隔を大きくしすぎると動作しないみたいです。 #### そういえば 下図のハードは調子に乗ってユニバーサル基板で作ってみたものです 数年前に作成しましたが今でも動作しました。 