見出し画像

【GASでIoT】スプレッドシートの情報をラズベリーパイPico Wを使って7セグLEDに表示させる

WEBベースのアプリであるGoogleスプレッドシートや、マクロ言語Google Apps Script(GAS)のメリットの一つに、ネットにつながるデバイスと自由に連携しやすいことが挙げられます。いわゆるIoTですね。

こうしたデバイスの内、アマチュアが比較的自由に扱えるもののひとつに、ネットに繋がるタイプの「RaspberryPi(ラズベリーパイ)」があります。これは、シングルボードコンピュータと呼ばれるタイプのデバイスで、ネットに繋がる一方で、電子部費を接続することもできます。

ラズベリーパイには様々なタイプが発売されていますが、中でも安価な「ラズベリーパイZeroW」を用いて、NeoPixelというフルカラーLEDを点灯させたり、7セグメントLED(7セグLED)という表示デバイスに文字を表示させた事例を、以前に以下の記事で紹介しました。

NeoPixcelや、7セグLEDはデバイスの安価で、あまり費用を気にせず数を増やせることがメリットです。

ーーーーー

ただし、肝心なラズベリーパイZeroWの価格が、コロナ禍を経て高騰し、コスト的に気楽に使えるデバイスではなくなったため、より廉価なマイコン版のラズベリーパイPico Wを使うことを、考えました。

PicoWは他のラズベリーパイシリーズと違い、デバイス内にWEBブラウザが無いので、スプレッドシートやGASとの連携する場合は、より低位の部分までプログラム側で対応しなければなりません。

スプレッドシートやGASとの通信をするには、SSL認証に対応したURL(HTTPSではじまるURL)へのアクセスを処理する必要がありますが、まだあまりプログラム事例がありません。たまたまC言語による事例がありましたので、これを応用してスプレッドシートとの連携を試みたのが下の記事です。

上の記事では、PicoWからスプレッドシートへのデータを書き込みと、反対に、スプレッドシートからPicoWへのデータ受信をトライしています。

sらに、スプレッドシートから得られたデータを使ってフルカラーLED(NeoPixcel)の点灯にもチャレンジしました。

ーーーーー

さて、NeoPixcelの点灯に成功したので、ラズベリーパイZeroWで行っていた、7セグLEDの点灯をPicoWに置き換えることにもチャレンジしてみようと思います。

ーーーーー

7セグLEDは、7つの線状のLEDを使って、以下の様に簡単な文字を表示するデバイスです。

7セグ表示にはLED以外にも液晶などのタイプがありますが、手軽な価格で数を揃えられるデバイスとして、LEDタイプは広く使われています。

本記事は、スプレッドシート上の文字情報を、「ラズベリーパイPico W」を介して7セグメントLEDへの表示にトライした内容をご紹介するものです。

更に表示桁を8桁、4桁、2桁にすることにもトライしました。

スプレッドシートなどの情報を7セグメントLEDに表示できると、掲示板などさまざまな用途に利用できそうです。

データの読み取りにはスプレッドシートのシートを公開したWEBページから取得しているため、今回の記事ではGASは使っていません。


トライした事1:スプレッドシートの文字情報を、ラズベリーパイPico Wを介して8桁の7セグメントLEDに表示させた


今回、トライしたことは2つあります。

ひとつ目は、スプレッドシートの文字情報を、ラズベリーパイPico Wを介して8桁の7セグメントLEDに表示させたことです。

以下がその表示結果です。

これは、以下のスプレッドシートをWEBページとして公開したものを、ラズベリーパイPico Wで読み取り、読み取った文字の内、以下の赤線部を7セグメントLEDに表示させたものです。

トライした事2:8桁表示用のICを使って、4桁や2桁の文字表示が出来る様にした


7セグメントLEDは、とても簡単なデバイスですが、1文字あたり7個のLEDを点灯させるので、何の工夫もなく実装すると、非常に多くの配線が必要になってしまいます。

配線の工作が大変になるばかりでなく、ラズベリーパイなどに配線する場合に、端子が足りなくなる問題もあります。

こうした事態を回避するため、7セグメントLEDは、しばしば専用ICを介して配線されます。このICは、ラズベリーパイなどの制御デバイスと7セグメントLEDを仲立ちするもので、ICにラズベリーパイなどから少ない配線を介して信号を送ると、信号に応じて7セグメントLEDを希望の文字に点灯する機能があります。

中でも有名なのが、「MAX7219」というICで、簡単な信号を送るだけで、8桁の文字を自在に表示させることができます。

「MAX7219」は単体のICとしても販売されていますが、便利な様に7セグメントLEDに配線ずみの一体部品としても市販されています。

ただし、市販品の多くが8桁固定であるため、4桁ずつ、あるいは2桁ずつに分けて表示させることができません。

カレンダーの日付など、2桁や4桁での表示用途は意外と多いと思いますので、できれば分けた状態で7セグメントLEDを使いたいものです。

そこで、市販品の8桁部品を加工して、2桁や4桁に分けて表示させてみたのが以下の写真です。

表示させているのは7セグ用の変体フォントですが、2桁の方は「q、r」「s、t」を、4桁の方は上下ひっくり反っていますが「U,v、w、x」 を表しています

この方法を利用すると、年号(4桁)や日にち(2桁)を表示できる永年カレンダーなどが作れそうです。

以上、トライした内容になります。

内容の詳細については次の記事でご紹介します。

この記事が気に入ったらサポートをしてみませんか?