できることは分かった。
意外と簡単だったろう?
しかし、もっと派手なことがやりたいな~。
光らせてみるか!
すけろく Raspberry Pi Picoを手に入れたぞ! げんろく おお、Raspberry Pi のマイコンだな。 MicroPythonでプログラムできるな。 すけろく […]
記事内でご紹介するRaspberry Pi Picoはこちら!
正確なタイマ機能を搭載しています。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ
10㎝の長さのLEDストラップです。LEDが15個実装されています。
商品には10㎝の他にも、20㎝、50㎝、100㎝、200㎝があります。10㎝のものはかなり短めのものです。両端にGroveコネクタ(HY2.04P)のメスがついているものになります。
(写真は10㎝以上の長さの商品のイメージです。)
LEDストラップの仕組み
今回使用するLEDは、制御用信号の線に信号を送ることで、LEDの光の色などを調整することができます。
LEDの仕組みについては、次の記事に詳しく紹介していますので、ぜひご覧ください。
LEDのしくみについての紹介は、こちら!
この記事では、M5StickCとLED搭載の冷却ファンを使ったLED発光制御の方法について紹介します。 前回は、M5StickCで冷却ファンを使った回転速度制御をおこないましたが、今回はLEDです。 使用するLEDは、複数のLEDを1個[…]
回路を作るのに準備したものは次の通りです。
電圧の違う回路を扱う場合に便利なブレッドボードです。
最初はこれが一枚あるとよいと思います。
オス(pin)ーオス(pin)、オス(pin)ーメス(コネクタ)、メス(コネクタ)ーメス(コネクタ)がセットになっています。100mmの線になります。いろいろな色があるので配線をわかりやすく分けられます。
いろんな長さのものがセットになり、保管用のボックスもついています。
PSE認証付きのものを購入しましょう!
LEDストラップは、Groveコネクタで接続しますが、Raspberry Pi Pico側は、Groveコネクタは持っていません。
そこで、Groveケーブルを2つに切断し、ブレッドボード用にコネクタ(QIコネクタ)を付けました。
ピンヘッダをつければ、ブレッドボードに接続できます。
ケーブルの作成に使った商品はこちらです
ケーブルとコネクタの種類や作成方法は、次の記事を確認してください!
電子工作ではんだ付けとともに欠かせないのが、「ケーブル作り」。 電子部品やコンピュータ、モーターなどの各部品はいろいろな形状のコネクタを持っています。そこで、ケーブルの端を接続するものの規格に合わせることが必要になります。 また[…]
実際にブレッドボード上で接続させたイメージは、次のようになりました。
LED制御で使用できるArduino向けライブラリ
LEDをArduinoで使いたときには、次のライブラリを利用できます。
Adafruit NeoPixel Library
Adafruit 社が販売しているLEDストリップなどを制御するためのArduinoライブラリです。
Adafruit社の製品で使用されているLEDは「WS2812B」や「SK6812」が使われているものがあり、今回のようなものも同様に制御できます。
GitHubのライブラリページはこちら(Adafruit NeoPixel Library)
FastLED
adafruit(Neopixel、DotStar、LPD8806)、Sparkfun(WS2801)、aliexpressなどで販売されているものなど、さまざまなLEDチップセットを簡単かつ効率的に制御するためのライブラリです。
LEDへの書き込みに加えて、このライブラリには、RGB値を操作するための高性能8ビット計算用の関数や、ピンやSPIハードウェアへのアクセスを抽象化するための低レベルクラスが含まれています。
上記の2つのライブラリは、Arduino IDEのライブラリマネージャでダウンロード、設定ができます。
ライブラリのインストールは、次の記事で紹介しています。
本記事は、Arduino IDE 1.8.xバージョンのライブラリ管理方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。 機能がよりリッチになった「Ardu[…]
今回は、「FastLED」を使用します。
ただし、本記事の執筆時点(2023年3月)で以下の点に注意してください。
Arduino IDEでインストールできる、最新の「FastLED 3.5.0」では、Raspberry Pi PicoのRP2040チップには対応していない。
しかし、GitHub上の最新ソースでは、Raspberry Pi PicoのRP2040 チップへの対応がされています。
以下の手順でライブラリを更新することで、使用できますので安心してください。
FastLEDのRaspberry Pi Pico(RP2040)対応
前提条件
Arduino IDE 2,0のライブラリ管理機能から「FastLED 3.5.0」を一度インストール済みであること
左のボタンを押して、FastLEDのGitHub
へ移動します。
画面右上にある「Code」ボタンを押して、
「Download Zip」をクリックします。
ダウンロードが完了すると
「FastLED-master.zip」というファイルが
保存されます。
「FastLED-master.zip」を右クリックして、
「すべて展開」を選択して解凍します。
「FastLED-master」フォルダが作成され、
その中にソースコードを含むファイルが
配置されます。「FastLED-master」の配下にある
「FastLED」ー「FastLED」の
ファイル、フォルダを全選択し、
「コピー」します。
Arduino IDEのライブラリフォルダを開き
「FastLED」フォルダを開きます。
先ほどコピーした内容を、
「FastLED」フォルダにペーストします。
※ファイルの上書き確認画面が表示されます。
「すべて上書き」をしてください。
※Arduino IDEのライブラリフォルダは通常、
以下の場所にあります。
C:\Users\”ユーザ名”\Documents\Arduino\libraries\FastLED
上書きした「FastLED」フォルダ内の
「Src」フォルダにある
「led_sysdefs.h」を、メモ帳で開きます。
#elif defined(ARDUINO_ARCH_RP2040)
「led_sysdefs.h」に左の記述があることを
確認し、ファイルを閉じます。
Raspberry Pi PicoでLEDストラップを光らせてみる
では実際にLEDストラップを光らせるプログラムを書き込んでいきましょう。
Arduino IDEを起動して、「ファイル」メニューから「新規ファイル」を選択し、表示されるスケッチに以下のように記述します。
Arduino IDE スケッチ例
Raspberry Pi Picoへの書き込み
初回書き込み時
- Raspberry Pi Picoの「BOOT SEL」ボタンを押しながら、パソコンにUSB接続します。
- Arduino IDEで前述のプログラムを記載して、 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
- 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。
「Arduino Mbed OS RP2040 Boards」-「Raspberry Pi Pico」
※今回は、公式のボードマネージャを使います。 - 「シリアルポート」は、認識されていない場合もありますが、その場合は選択はしない状態にします。
- 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。
- 書き込みが完了すると、新しくCOMポートが認識されます。
次からはそのCOMポートを選択します。
2回目以降
- Raspberry Pi PicoをパソコンにUSB接続します。
- Arduino IDEで前述のプログラムを記載して、 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
- 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。
「Arduino Mbed OS RP2040 Boards」-「Raspberry Pi Pico」
※今回は、公式のボードマネージャを使います。 - 「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
- 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。(転送速度は「9600」です)
- 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。
プログラム実行結果
書き込みが完了すると、以下のようにLEDストラップが光ります。
編集後記
いかがだったでしょうか。
「Raspberry Pi Pico」のプログラミングといえば、「microPython」と考えていましたが、Arduino IDEでプログラムできるとうれしいですね。
LEDストラップも無事光らせることができました。
これで、他のマイコンと同じArduino IDEでLEDを使ったプログラムの開発ができます!
「Raspberry Pi Pico」と同じRP2040というチップを搭載している機器にも使えるので応用ができそうです。
記事は、以上になります。
最後までご覧いただきありがとうございました。
記事内でご紹介するRaspberry Pi Picoはこちら!
正確なタイマ機能を搭載しています。ディスプレイ等がないため、消費電力を抑えた構成をとることができます。いろいろ遊べますよ
10㎝の長さのLEDストラップです。LEDが15個実装されています。
商品には10㎝の他にも、20㎝、50㎝、100㎝、200㎝があります。10㎝のものはかなり短めのものです。両端にGroveコネクタ(HY2.04P)のメスがついているものになります。
(写真は10㎝以上の長さの商品のイメージです。)
電圧の違う回路を扱う場合に便利なブレッドボードです。
最初はこれが一枚あるとよいと思います。
オス(pin)ーオス(pin)、オス(pin)ーメス(コネクタ)、メス(コネクタ)ーメス(コネクタ)がセットになっています。100mmの線になります。いろいろな色があるので配線をわかりやすく分けられます。
いろんな長さのものがセットになり、保管用のボックスもついています。
PSE認証付きのものを購入しましょう!