1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi PicoでPicoMite(MMBasic)を使う〜ADCの利用

Posted at

Raspberry Pi PicoにはADCが3つ利用できる(31のGP26、32のGP27,34のGP28の各ピン)。ここではアナログ温度センサーLM61CIZで測定した温度をOLEDで表示してみる。

使用する部品

秋月電子通商の高精度IC温度センサーLM61CIZを使用する。この温度センサーは測定した温度に応じた電圧を出力する。部品自体はトランジスタと同じ形状をしている。
LM61の出力電圧$V_O$と温度$T$との関係はデータシートには次の式で示されている。
$V_O=100mV/^\circ C\times T + 600mV$
この式から温度$T$は次の式で得られる。
$T = 100\times(V_O - 0.6)[^\circ C]$

配線

LM61との接続

Raspberry Pi PicoとLM61CIZとの接続を次の表に示す。

LM61CIZのピン Picoのピン(物理ピン)
+VS(1) 3v3(5)
VOUT(2) GP26(31)
GND(3) GND(33)

OLEDとの接続

Raspberry Pi PicoとOLEDの接続を次の表に示す。

OLEDのピン Picoのピン(物理ピン)
VDD 3V3(36)
GND GND(3)
SDA GP14(19)
SCL GPD15(20)

配線図

配線図を以下に示す。

OLED-LM61PICO_ブレッドボード.png

プログラム

MMBasicでADCを利用するに下記の手順を踏む。

  1. SETPINコマンドで3つあるADCのピン(GP26、GP27、GP28)のいずれかをアナログ入力ピン(AIN)として設定する
  2. PIN関数でそのピンの値(電圧)を読み取る
  3. 読み取った値から温度を算出する

これはコマンドプロンプトでも確認できる。

> SETPIN GP26, AIN
> PRINT PIN(GP26)
 0.8601221001

次に、GP26ピンをアナログ入力(AIN)に設定し、5秒ごとにそのピンの電圧を読み取り、上記の変換式で温度を計算し、電圧と温度をOLEDに表示するプログラムを以下に示す。

CLS                                             ' Clear OLED screen
Dim V!, temp!, stemp$                           ' Define variables
SetPin GP26, AIN                                ' Set GP26 pin to analog input

Do
  V! = Pin(GP26)                                ' Get LM61 output voltage
  temp! = 100 * (V! - 0.6)                      ' Convert voltage to temperature
  stemp$ = Str$(temp!, 2, 1) + Chr$(&H60) + "C" ' Make string of temperature
  Text 0,  0, Str$(V!) + "V"                    ' Display LM61 voltage
  Text 0, 15, stemp$,,3                         ' Display temperature string at font #3
  Pause 5000                                    ' wait 5 sec
Loop

End

実行結果を以下に示す。
IMG_0924.jpeg

参考:定義済み読み取り専用変数

定義済み読み取り専用変数はPicoMiteの稼働しているRaspberry Pi Picoのさまざまな情報を保持している。この変数の内容はMM.INFO関数で参照できる。

接続されているLCDパネルとGP26ピンの状態を

接続されているLCDパネルを表示
> PRINT MM.INFO(LCDPANEL)
SSD1306I2C

GP26(物理ピン31)の状態を表示
> PRINT MM.INFO(PIN GP26)
AIN

参考サイトなど

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?