こんにちは、ENGかぴです。
Raspberry Pi PicoはRP2040マイコンを搭載したモジュールです。C、C++、MicroPythonだけでなくArduinoに対応しているためArduino環境で開発したソフトを流用したりと使いやすい開発環境が整っています。
Arduino環境はスケッチ例(ソフトの例)が準備されていたりとソフト開発に対して苦手意識があり敷居が高く感じていた方でも簡単に動作確認ができるため趣味や業務で簡単なアプリを作りたい場合にお勧めの開発環境です。
私が動作確認しているライブラリなどのプログラムを動作させてみたり改造したりと有効利用していただき少しでも興味を持っていただけたのなら幸いです。
ソフト開発と標準ライブラリの使い方
Raspberry Pi Picoはラズベリーパイ財団が独自に開発したRP2040デュアルコアARM Cortex M0+プロセッサを搭載したモジュールです。、最大133MHzで動作し、2Mバイトのオンボードフラッシュメモリを搭載しておりUART、I2C、SPIといった周辺ユニットを備えています。
Paspberry Piは500円を2枚並べたくらいの小サイズですがUSBをつなけるだけでソフト開発ができるため使い勝手のよいモジュールです。詳細は下記リンクを参照してください。
Raspberry Pi Pico – Raspberry Pi
以下ではPaspberry PiをArduino IDEを使って動作確認したことをまとめています。
Arduinoの開発環境を作る
Arduinoの開発環境であるArduino IDEのダウンロードからインストールまでの手順をまとめていきます。Raspberry Pi Picoの開発環境をArduino IDEに追加する手順と動作確認を行った方法についてまとめています。
PR:わからないを放置せず、あなたにあった最低限のスキルを身に着けるコツを教える テックジム 「書けるが先で、理解が後」を体験しよう!
Wireライブラリ(I2C)を使用する
Wireライブラリを使って温湿度センサーのAHT21Bから温湿度のデータを取得する方法をまとめました。Wireライブラリの使用例として送信例と受信例をまとめています。
AHT21BはGrove Temperature&Humidity Sensor(DHT20モジュール)に使用されているセンサーなのでDHT20モジュールと同等な方法でデータが取得できます。記事内にDHT20ライブラリを使用使用する方法のリンクを紹介しています。
SPIライブラリを使用する
SPIライブラリを使用して音声合成ICであるATP3012(アクエスト)とSPI通信を行い、音声を再生する方法をまとめました。SPIライブラリの使用例として送信例と受信例をまとめています。また音声を再生するための周辺回路についても回路例をまとめています。
SDカードライブラリを使用する
SDカードライブラリを使用するとSDカードにファイルを作成することができます。SDカードとの通信はSPI通信を使用するためSPIのデフォルトピンが使用状態になります。
SPIカードライブラリの使用例としてファイルの生成方法、データの書き込み、ファイルの削除の例をまとめました。
Serialライブラリを使用する
Serialライブラリを使用すると外部機器とシリアル通信することができます。外部機器のPICマイコンとPaspberry Pi Picoをシリアル通信で双方向通信させて動作確認を行いました。
PR:スキマ時間で自己啓発!スマホで学べる人気のオンライン資格講座【スタディング】まずは気になる講座を無料で体験しよう!
Raspberry Pi Picoとスターターキットを紹介
Raspberry Pi Picoだけでは動作確認するには部品が足りないのでスタータキットもしくは拡張ボードをお勧めします。
Arduino環境でGroveモジュールを使用する場合は上記の拡張ボードを使用して接続すると実装がしやすくて便利です。
これからRaspberry Pi Picoを使って遊んでみたい方や豊富な機能を使いこなしてみたい方に向けて参考になる書籍です。
まとめ:まずは感覚を掴むことが大切です。
Arduinoはライブラリを使用することでSPIやI2C通信などが簡単に実現できるためマイコンの動作を勉強するには最適な環境です。ソフト開発に対して苦手意識があり敷居が高く感じていた方でも簡単に動作確認ができるため苦手意識をなくせることがメリットと言えます。
Arduinoはライブラリを使って各種機能を実現するためライブラリにない動作を組み込みたい場合は自作する必要があります。ライブラリは有志が作成したものであるためバグがある可能性もあり動作の保証はないのがデメリットです。
実際にセンサー情報を取得したりシリアルモニタに表示したりと動作確認しながら1つ1つの技術の成功を積み重ねていけばできることが増えていき自信がつくことでソフト開発に対する苦手意識がなくなっていくことは間違いありません。
自信がつきマイコンの機能をフル活用してみようとレジスタの操作についてデータシートを見てみようと興味が湧いてくれば、あっという間に脱初心者となるでしょう。
私は業務に追われながらも独学していたためソフト開発に慣れるまでに10年程度かかってしまいました。ArduinoだけでなくPICマイコンやRXマイコン最近はIoTモジュールのソフト開発などをしていますが、早い段階でプログラミングを教養として身に着けておけば10年もかからなかったと感じています。
PR:企業で求められる即戦力技術を身に付ける テックキャンプエンジニア転職
PR:RUNTEQ(ランテック )- マイベスト4年連続1位を獲得した実績を持つWebエンジニア養成プログラミングスクール
PR:わからないを放置せず、あなたにあった最低限のスキルを身に着けるコツを教える テックジム 「書けるが先で、理解が後」を体験しよう!
最近では無料体験できるプログラミングスクールも増えてきており、あなたに合った学習プランによって短期集中してプログラミングに親しめる環境があります。無料体験でもプログラミングに対する感覚を掴めておけばソフト開発に対するハードルが下がることは間違いありません。
関連リンク
Arduinoのライブラリを使って動作確認を行ったことを下記リンクにまとめています。
Arduinoで学べるマイコンのソフト開発と標準ライブラリの使い方
ESP32-WROOM-32Eで学べるソフト開発と標準ライブラリの使い方
Seeeduino XIAOで学べるソフト開発と標準ライブラリの使い方
Arduinoのようにソフト開発したり周辺回路と組み合わせてデータを取得させたりして電子製品を開発するエンジニアは組み込みエンジニアといいます。IoT社会実現と組み込みエンジニアの職種との関係についてまとめています。
ZigBeeモジュールであるトワイライトでソフト開発と無線通信を行い動作確認したことについてリンクをまとめています。
トワイライト(TWELITE)のソフト開発と無線通信でできること
最後まで、読んでいただきありがとうございました。
I2C通信を持つセンサーモジュールが増えてきているためWireライブラリでI2C通信で動作確認ができることはセンサーの性能が検討しやすいのは良い点だと思います。