注目キーワード

【Arduino】Raspberry Pi Pico/W  1/fの揺らぎで癒しのLチカ!

すけろく
うーむ。
げんろく
どうした?浮かない顔をして。
すけろく
LEDを火のように光らせる方法を知りたくてな。
げんろく
それなら、1/fの揺らぎを使って
再現してみるか。

この記事では、「Raspberry Pi  Pico W」を使って、「LEDを揺らぎを加えて点灯させる」方法をご紹介します。

Raspberry Pi の中でも、省電力なCPUを搭載したマイコン開発ボードです。

他のRaspberry Pi 製品とは異なり、Linux OSを搭載していません。

しかし省スペース、省電力の専用CPU「RP2040」を搭載していて、Arduino IDEや、MicroPythonで開発可能です。

しかも、Wi-FiとBluetoothが使用できるモジュールも搭載されているので、スタンドアロンでの稼働のみならず、他のマイコンと無線通信することが可能です。

 

今回の製作内容
調色可能なRGB対応LEDを「Raspberry Pi  Pico W」で制御し、炎のような揺らぎで
LEDを点灯させます。

Raspberry Pi  Pico W」に接続する際の環境構成や、Arduino IDEでのプログラム例を紹介します。

ぜひ、皆さんも挑戦してみてくださいね!

この記事の前提となる「Raspberry Pi  Pico W」のはじめかたは、次の記事で紹介しています。

関連記事

すけろく ついに、国内でもRaspberry Pi Pico Wを手に入れたぞ! げんろく Wi-Fiモジュールがついているので、 国内の技適取得が必要だったからな。 すけろ[…]

あわせて読みたい!「Raspberry Pi  Pico W」関連の便利記事

関連記事

すけろく ん~。 このエラーの時の変数の値が知りたいな~ げんろく どうした? プログラムがうまく動かないのか? すけろく そうなのだ。 Raspberry Pi Pico[…]

今回使用したマイコンはこちら!

ピンヘッダ実装済み

created by Rinker
ノーブランド品
¥2,290 (2024/07/02 05:02:18時点 Amazon調べ-詳細)

ピンヘッダを自分ではんだ付けするもの

created by Rinker
Raspberrypi
¥1,581 (2024/07/01 20:14:12時点 Amazon調べ-詳細)

今回使った部品

created by Rinker
エイダフルート(Adafruit)
¥1,057 (2024/07/02 02:00:40時点 Amazon調べ-詳細)

1/f(えふぶんのいち)揺らぎとは、次のように定義されています。

1/fゆらぎ(エフぶんのいちゆらぎ)とは、パワー(スペクトル密度)が周波数fに反比例するゆらぎのこと。ただしfは 0より大きい、有限な範囲をとるものとする。

自然界に存在するものには、必ず「ゆらぎ」があります。一定に見えても厳密には一定でありません。

ゆらぎが大きいと意外性・突発性が高く、人は不安になります。

逆にゆらぎが小さすぎると、安心ですが単調で変化がないので飽きてしまいます。

1/f(えふぶんのいち)ゆらぎは、規則性と突発性、予測性と逸脱性が適度に組み合わさったもので、

居心地のよい空間と情報を与え、人の心を落ち着かせるといわれています。

 

今回は、「間欠カオス」という計算方法を使って、LEDを1/f揺らぎで点灯してみます。

RGB対応LEDの接続構成

1/f揺らぎを使って、単色のLEDを点灯させるのでもよいですが、色を変えて点灯させるようにしてみます。

 

1つのLEDで表現する色を変えるには、信号線で色や輝度を変更できるRGB対応のLEDを使用します。

商品としては次のものになります。

created by Rinker
エイダフルート(Adafruit)
¥1,057 (2024/07/02 02:00:40時点 Amazon調べ-詳細)
シリアルLED NeoPixelのスルーホール実装用LEDです。直径5mmの砲弾型。パッケージは半透明です。
RGB対応なので、信号線からの制御によって発光色を変えられます。
この商品の端子構成は次のようになっています。
端子名称
説明
Data in
信号線
5V
5V Vin(+)
GND
5V GND(ー)
Data out
※今回は使用せず。
複数個つなげる場合に使用します。

全体の回路構成

Raspberry Pi  Pico W」、RGB対応LEDを接続する回路を作成します。

回路は次のように構成しました。

 

RGB対応LEDへの通信にはGPIO10を使います。

 

実際の回路構成

先ほど記載した回路をブレッドボード上で組み上げました。

実際のイメージは次の通りです。

 

ブレッドボード右側にある「Raspberry Pi Pico W」には、GPIOをわかりやすくする「GPIO Master」を取り付けています。

気になる方は、こちらからどうぞ。

Boothショップで販売中!

この商品は、電子工作でRaspberry Pi Pico/Wを使う場合に便利なツールです。Raspberry Pi Pi…

 

画像の左側にある電源供給用のモジュールでは、ブレッドボード上の左右の電圧を5Vにするよう、ジャンパを調整しています。

参考にされる方はご注意ください。-

 

(注意)
作成の際には、「Raspberry Pi Pico W」に接続する前に、信号電圧をテスターで確認してください。

 

実際に確認に使ったテスターはこちら!

created by Rinker
三和電気計器
¥9,428 (2024/07/02 02:00:40時点 Amazon調べ-詳細)

 

今回の構成に使用した部品は次の通りです。

回路作成に使った部品はこちら!

created by Rinker
サンハヤト
¥1,544 (2024/07/01 10:51:10時点 Amazon調べ-詳細)

created by Rinker
エイダフルート(Adafruit)
¥1,057 (2024/07/02 02:00:40時点 Amazon調べ-詳細)

 

Raspberry Pi Pico Wのプログラミング

先ほど構成した回路を使用して、RGB対応LEDの色値に、1/f揺らぎで計算した結果を代入し点灯させます。

色値はRGBそれぞれで設定可能なので、好みの色を指定することができます。

今回は、R(赤)の要素のみを変化させてみます。

 

赤外線送受信用のライブラリを準備する

RGB対応LEDを使用するためにArduinoのライブラリ「Adafruit_NeoPixel」を使用します。

 GitHubのライブラリページはこちら(Adafruit_NeoPixel)

上記のライブラリは、Arduino IDEのライブラリマネージャでダウンロード、設定ができます。

ライブラリのインストールは、次の記事で紹介しています。

関連記事

本記事は、Arduino IDE 1.8.xバージョンのライブラリ管理方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチになった「Ardu[…]

プログラムを作成する

Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。

 Arduino IDE スケッチ例

 Raspberry Pi Pico Wへの書き込み 

2回目以降

  1.  Raspberry Pi PicoをパソコンにUSB接続します。
  2.  Arduino IDEで前述のプログラムを記載して、 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  3. 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。
    「Raspberry Pi Pico/RP2040」-「Raspberry Pi Pico W」
  4. 「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
  5. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。(転送速度は「115200」です)
  6. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

プログラム実行結果

LEDの電源をオンにし、Raspberry Piへの書き込みが完了すると次のようにLEDが揺らぎながら点灯します。

 

編集後記

いかがだったでしょうか。

いつまでも見ていられる揺らぎのあるLEDの点灯方法を紹介しました。

Raspberry Pi Pico W」のプログラミングといえば、「microPython」と考えていましたが、Arduino IDEでプログラムできるとうれしいですね。

Raspberry Pi Pico W」と同じRP2040というチップを搭載している機器にも使えるので応用ができそうです。

記事は、以上になります。

最後までご覧いただきありがとうございました。

記事内でご紹介した「Raspberry Pi Pico W」はこちら!

ピンヘッダ実装済み

created by Rinker
ノーブランド品
¥2,290 (2024/07/02 05:02:18時点 Amazon調べ-詳細)

ピンヘッダを自分ではんだ付けするもの

created by Rinker
Raspberrypi
¥1,581 (2024/07/01 20:14:12時点 Amazon調べ-詳細)

実際に確認に使ったテスターはこちら!

created by Rinker
三和電気計器
¥9,428 (2024/07/02 02:00:40時点 Amazon調べ-詳細)

回路作成に使った部品はこちら!

created by Rinker
サンハヤト
¥1,544 (2024/07/01 10:51:10時点 Amazon調べ-詳細)

created by Rinker
エイダフルート(Adafruit)
¥1,057 (2024/07/02 02:00:40時点 Amazon調べ-詳細)

次のものは、秋月電子などで購入することができます。

Raspberry Pi Pico Wの他の記事はこちらからどうぞ!

すけろく うーむ。 げんろく どうした?浮かない顔をして。 すけろく LEDを火のように光らせる方法を知りたくてな。 げんろく それなら、1/fの揺らぎを使って 再現してみるか。 この記事では、「Raspberry Pi  Pico W」を使って、「LEDを揺らぎを加えて点灯させる」方法をご紹介します。 Raspberry Pi の中でも、省電力なCPUを搭載したマイコン開発ボードです。 他のRa […]

すけろく うーむ。 どうしたものか。 げんろく どうした。 暗い顔をして。 すけろく カーモデルのウィンカー点滅を再現したくてな。 明滅回路を作ろうか悩んでおる。 げんろく ん!? そんなときは、メインプロセッサと切り離して 動作するPIOの出番ではないのか! この記事では、「Raspberry Pi  Pico/W」に実装されている「PIO(Programmable I/O」を実際に使ってみます […]

すけろく Raspberry Pi Pico/WのPIO機能を使ってUARTの送信には成功した。 しかし、まだ受信側ができていないのぉ。 げんろく そうだな。 今度は受信側を試してみるか。 すけろく どうせなら、パソコンから送った文字を返すような やり取りができるといいな。 げんろく よし。 UART送受信を実装してみよう。 この記事では、「Raspberry Pi  Pico/W」に実装されてい […]

すけろく Raspberry Pi Pico/WのPIO機能については前回調べた。 今度は実際に使ってみたいの~ げんろく そうだな。 実際にプログラムする際の注意事項などを見ていこう。 すけろく Arduino IDEでも使用できるのか? げんろく ああ。 使えるぞ! Arduino IDEで使う場合を例にやっていこう。 この記事では、「Raspberry Pi  Pico/W」に実装されている […]

すけろく Raspberry Pi Pico/Wには、PIOという機能があるらしいな。 げんろく そうだ。 UARTなどのインタフェース不足や、実装されていない機能を GPIOに対してプログラムできる機能だ。 すけろく Raspberry Pi Pico/Wをもっと知るために PIOを調べてみたい。 げんろく よし! PIOについて少し調べてみるか! この記事では、「Raspberry Pi  P […]

すけろく うーむ。 げんろく どうした浮かない顔して。 すけろく これまで、Raspberry Pi Pico / Wをいろいろ確認してきたが 外付けのボタンの認識ってやったかぇ? げんろく たしかに!まだ取り上げていない基本的なものがあるな よし、今回はボタン押下時の状態を Raspberry Pi Pico / Wで認識してみよう。 この記事では、「Raspberry Pi  Pico W」を […]

すけろく 宅内で使っているリモコンは、どういった仕組みで テレビなどをつけているのかな~? げんろく 赤外線を使って信号を送っているのだ。 すけろく しかし、たくさんある機器のリモコンが混信しないのは どういった仕組みなのかぇ? げんろく よし、今回は赤外線リモコンの通信を 調査してみるか! この記事では、「Raspberry Pi  Pico W」を使って、「赤外線リモコンの通信内容を分析する」 […]

すけろく うーむ。 対応付けが難しいな。 げんろく どうした? Raspberry Pi Picoで悩んでいるようだな。 すけろく Raspberry Pi PicoやPico Wの GPIOピンの情報がボード上にプリント されていないから資料との対応付けがやりづらくてな。 げんろく そうか。そういう課題があるのだな。 よし、解決するグッツを作って提供してみよう! 皆さんは、「Raspberry […]

すけろく うーむ。 モーターを毎回同じくらい回転させることはできんのかな。 げんろく DCモーターや、サーボモーターだと、 回転量を正確に制御することは難しいぞ。 すけろく では、何か解決策はあるのかぇ? げんろく ステッピングモーターというものがある。 モーターの回転をステップとして制御できる。 今回はこのあたりを動かしてみるか。 この記事では、「Raspberry Pi  Pico W」を使っ […]

すけろく 以前の記事で、Raspberry Pi Pico Wを Picoprobe経由でデバッグすることができた。 しかし、シリアルの入出力がArduino IDEで 読み込めないのだ。 げんろく そうだな。 Raspberry Pi PicoやRaspberry Pi Pico Wでは、 シリアル出力用の「Serial.println」では、 Picoprobe経由で取得できない。 すけろく […]